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)
Fri, Jan 24, 1:23 PM
Unknown Object (File)
Thu, Jan 23, 6:38 PM
Unknown Object (File)
Wed, Jan 22, 3:49 PM
Unknown Object (File)
Tue, Jan 14, 2:42 PM
Unknown Object (File)
Fri, Jan 10, 1:19 AM
Unknown Object (File)
Fri, Jan 10, 1:11 AM
Unknown Object (File)
Dec 27 2024, 3:10 PM
Unknown Object (File)
Dec 26 2024, 10:47 PM
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.