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
F106193694: D40991.diff
Thu, Dec 26, 10:47 PM
Unknown Object (File)
Wed, Dec 25, 7:43 PM
Unknown Object (File)
Fri, Dec 6, 11:55 PM
Unknown Object (File)
Nov 22 2024, 5:45 PM
Unknown Object (File)
Nov 22 2024, 10:40 AM
Unknown Object (File)
Nov 12 2024, 1:18 PM
Unknown Object (File)
Oct 29 2024, 8:13 PM
Unknown Object (File)
Oct 21 2024, 5:34 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 Skipped
Unit
Tests Skipped
Build Status
Buildable 52584
Build 49475: arc lint + arc unit

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.