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.
Details
- Reviewers
jhb corvink andrew - Group Reviewers
bhyve - Commits
- rGff50e9d53ff8: bhyve: Add bhyverun and vmexit handlers for arm64
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 54892 Build 51781: arc lint + arc unit
Event Timeline
Presumably the arm64-specific bits of this series depend on sys/arm64/include/vmm_dev.h being added?
usr.sbin/bhyve/aarch64/bhyverun_machdep.c | ||
---|---|---|
123 | 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. | |
usr.sbin/bhyve/aarch64/vmexit.c | ||
88 | I ended up changing it slightly (arm64 doesn't have triple faults). |
usr.sbin/bhyve/aarch64/vmexit.c | ||
---|---|---|
253 | Is this needed? I though I moved it to the kernel as we don't have all the needed information here. |
usr.sbin/bhyve/aarch64/vmexit.c | ||
---|---|---|
253 | 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. |
usr.sbin/bhyve/aarch64/bhyverun_machdep.c | ||
---|---|---|
5 | Should this get an additional copyright line? Even when mostly copied from existing amd64 it seems odd to have no extra copyright line. |
usr.sbin/bhyve/aarch64/bhyverun_machdep.c | ||
---|---|---|
74 | 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. |
usr.sbin/bhyve/aarch64/bhyverun_machdep.c | ||
---|---|---|
74 | 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. |