vmexit handlers are imported mostly unmodified from
https://github.com/zxombie/freebsd/tree/bhyvearm64 . The
bhyverun_machdep.c is also mostly from that branch, though refactored
quite a bit by me.
They could be, yes. This code is simple enough that I opted to keep them here for now, so that it's easy to share info with the FDT builder. This code is not very generic yet, and until ACPI support is done I'd prefer to keep things simple.
I ended up changing it slightly (arm64 doesn't have triple faults).
I have been trying to answer that same question for myself. :)
Indeed, I can't see how we could reach this code. The kernel handles this case, and properly raises an address space fault in the case you pointed out earlier.
It's not recommended to place ACPI tables in memory because it has some constraints. On amd64 we just do that for backward compatibility. It's preferred to use QemuFwCfg to pass ACPI tables to the guest. Afaik, QemuFwCfg isn't supported by aarch64 yet. Nevertheless, it would be better to fix that instead of placing ACPI tables in memory.
Sorry for the slow reply. The defaults were inherited from amd64 from before you changed this setting. It's moot for now since we don't build ACPI tables on arm64 at all currently.