mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-28 06:49:47 +00:00
Clarification in release notes 14.02
Thanks to Udo Steinberg for the notification.
This commit is contained in:
parent
bea9feb362
commit
4092cd1f6e
@ -762,17 +762,19 @@ NOVA microhypervisor
|
|||||||
The port of VirtualBox to Genode prompted us to improve the NOVA platform in
|
The port of VirtualBox to Genode prompted us to improve the NOVA platform in
|
||||||
the following respects.
|
the following respects.
|
||||||
|
|
||||||
NOVA used to omit the saving and restoring of the FPU state of the guest OS
|
NOVA used to omit the propagation of the FPU state of the guest OS to the
|
||||||
during the world switch between the guest OS and the virtual machine monitor
|
virtual machine monitor (VMM) during the world switch between the guest OS and
|
||||||
(VMM). With the Vancouver VMM, which is traditionally used on NOVA, the
|
the VMM. With the Vancouver VMM, which is traditionally used on NOVA, this
|
||||||
omission of FPU context handling did not pose any problem because Vancouver
|
omission did not pose any problem because Vancouver would never touch the FPU
|
||||||
did not touch the FPU. So the FPU context of the guest was always preserved
|
state of the guest. So the FPU context of the guest was always preserved
|
||||||
throughout the handling of virtualization events. However, in contrast to the
|
throughout the handling of virtualization events. However, in contrast to the
|
||||||
Vancouver VMM, VirtualBox relies on the FPU. Without properly saving and
|
Vancouver VMM, VirtualBox relies on the propagation of the FPU state between
|
||||||
restoring the FPU state on each VM-enter/exit, both the guest OS and
|
the guest running in VT-X non-root mode and the guest running within the
|
||||||
VirtualBox would corrupt each other's FPU state. After first implementing an
|
VirtualBox recompiler. Without properly propagating the FPU state between both
|
||||||
|
virtualization back ends, both the guest OS in non-root mode and VirtualBox's
|
||||||
|
recompiler would corrupt each other's FPU state. After first implementing an
|
||||||
interim solution in our custom version of the kernel, the missing FPU context
|
interim solution in our custom version of the kernel, the missing FPU context
|
||||||
handling had been implemented in the upstream version of NOVA as well.
|
propagation had been implemented in the upstream version of NOVA as well.
|
||||||
|
|
||||||
In contrast to most kernels, NOVA did not allow a thread to yield its current
|
In contrast to most kernels, NOVA did not allow a thread to yield its current
|
||||||
time slice to another thread. The only way to yield CPU time was to block on
|
time slice to another thread. The only way to yield CPU time was to block on
|
||||||
|
Loading…
x
Reference in New Issue
Block a user