Page MenuHomeFreeBSD

arm64/vmm: Handle VM_EXITCODE_SUSPENDED
ClosedPublic

Authored by markj on Apr 24 2024, 10:29 PM.
Tags
None
Referenced Files
F139399197: D44934.diff
Thu, Dec 11, 4:33 PM
F139347748: D44934.id137844.diff
Thu, Dec 11, 2:19 AM
F139319398: D44934.diff
Wed, Dec 10, 7:41 PM
Unknown Object (File)
Sun, Dec 7, 8:03 AM
Unknown Object (File)
Mon, Dec 1, 4:56 PM
Unknown Object (File)
Mon, Dec 1, 4:54 PM
Unknown Object (File)
Mon, Dec 1, 4:40 PM
Unknown Object (File)
Fri, Nov 28, 8:05 PM
Subscribers

Details

Summary

This is required for bhyve reboot to work. In particular, unless we
suspend vcpu threads here, vm_reinit() will fail with EBUSY.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 57336
Build 54224: arc lint + arc unit

Event Timeline

sys/arm64/vmm/vmm.c
1735

Where's the rendezvous handler called?

Can we reuse the function from sys/amd64/vmm/vmm.c? If we can't share code, it might be a good idea to add a comment on top of the function like Copied from sys/amd64/vmm/vmm.c. Keep it in sync!.

sys/arm64/vmm/vmm.c
1735

arm64 doesn't implement a rendezvous operation.

In parallel I am working on merging this code with amd64 into sys/dev/vmm, so for now it is enough to try to minimize differences that appear with diff(1).

This revision is now accepted and ready to land.Apr 29 2024, 6:25 AM
This revision was automatically updated to reflect the committed changes.