Page MenuHomeFreeBSD

bhyve: Move the vm_inject_fault() implementation to vmexit.c
ClosedPublic

Authored by markj on Jul 12 2023, 1:51 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Oct 29, 8:13 PM
Unknown Object (File)
Mon, Oct 21, 5:34 PM
Unknown Object (File)
Mon, Oct 21, 5:10 PM
Unknown Object (File)
Sun, Oct 20, 9:34 AM
Unknown Object (File)
Sun, Oct 13, 12:48 AM
Unknown Object (File)
Oct 1 2024, 12:01 AM
Unknown Object (File)
Sep 28 2024, 12:37 PM
Unknown Object (File)
Sep 28 2024, 12:28 AM
Subscribers

Details

Summary

This function isn't generic and has a different signature on arm64. No
functional change intended.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

markj requested review of this revision.Jul 12 2023, 1:51 PM
This revision is now accepted and ready to land.Jul 12 2023, 6:43 PM
corvink added inline comments.
usr.sbin/bhyve/amd64/vmexit.c
60

I'm not familiar with arm64 but this function strongly looks like a generic one. Is it really so different, that it's not worth creating a generic function?

usr.sbin/bhyve/amd64/vmexit.c
60

The difference is that the arguments are all MD. On ARM64 rather than using an IDT vector and error code pushed on the stack you have ESR and FAR register values. The notion of injecting a fault is generic, but the specific status codes and registers involved are all MD.

This revision was automatically updated to reflect the committed changes.
markj marked 2 inline comments as done.