-
Notifications
You must be signed in to change notification settings - Fork 1
SMP fixup - WIP #14
Copy link
Copy link
Open
Labels
Stage 1Related to the loader (stage 1)Related to the loader (stage 1)Stage 2Related to the monitor (stage 2)Related to the monitor (stage 2)x86_64Specific to x86_64Specific to x86_64
Metadata
Metadata
Assignees
Labels
Stage 1Related to the loader (stage 1)Related to the loader (stage 1)Stage 2Related to the monitor (stage 2)Related to the monitor (stage 2)x86_64Specific to x86_64Specific to x86_64
WIP: do not act on those items yet, the list is evolving (and might be corrected). Plus we will need to prioritize properly.
This issue is a collections of things that will eventually need to be fixed for SMP to properly work on real hardware and to ensure we can reliably debug and develop the hypervisor going forward.
This might not work on a physical machine...
I assume it is the virtual to physical offset, in which case we can either pass it to the struct or find a better way of handling it across the whole project (e.g. using a global value, considering it is initialized only once).
- Same as above in the
apicimplementation? (missing a file currently, but I assume moved from this file: https://github.com/CharlyCst/vmxvmm/blob/c9bd039c5c5b1212305a61c1071f63f6cc0f179a/vmm/first-stage/src/interrupts.rs#L40)https://github.com/CharlyCst/vmxvmm/blob/c3fa691cd70a4d4d6775e4dae5dbb04d532ca63d/vmm/first-stage/src/gdt.rs#L32
This is not that big of a deal because it will only cause bugs if we already have bugs (i.e. a double fault), but sill, better to be aware of it.
print_vmx_infohas any side effect, it performs read-only operations according to my understanding. Investigate why this poses issued in the "smp: setup vmxon environment on APs" commit (e01f565)The implementation proposed, such as https://github.com/CharlyCst/vmxvmm/blob/c527ca71d5fbd0b5019c9700c270e9a69dc9e73b/vmm/second-stage/src/x86_64/guest.rs#L74
Is unsound as it can return multiple mutable references to the same object.