id = 1157 title = "aarch64: enabling MMU causes instruction abort" state = "closed" created_at = "2022-08-14T15:27:24.095Z" closed_at = "2022-08-19T17:06:01.555Z" labels = ["workflow::Needs Info"] url = "https://gitlab.com/qemu-project/qemu/-/issues/1157" host-os = "Linux" host-arch = "x86_64" qemu-version = "7.1.0-rc2" guest-os = "[SerenityOS](https://github.com/SerenityOS/serenity)" guest-arch = "aarch64 Raspberry PI3" description = """The title describes the problem pretty accurately, we get an instruction abort when enabling the MMU with a pretty simple set of page tables. This has been regressed from qemu 6.x.""" reproduce = """1. Run the provided Kernel binary with the command line specified above. 2. Notice the hang after 'Initialize MMU'. I traced it down to being an instructions abort after the write to the SCTLR_EL1 register. 3. Try to run with qemu 6.x, and notice that it works.""" additional = """This does work on actual hardware, so it has to be a qemu bug. A binary of the Serenity Kernel has been attached to the issue. The source of that binary can be found at commit ca0e32e59fcf67a662e5d3a994d44cd7c941624a of [SerenityOS](https://github.com/SerenityOS/serenity). [Kernel](/uploads/f731edbf81d8e575035e9693b0a51dbf/Kernel)"""