diff options
author | grehan <grehan@FreeBSD.org> | 2013-08-01 01:18:51 +0000 |
---|---|---|
committer | grehan <grehan@FreeBSD.org> | 2013-08-01 01:18:51 +0000 |
commit | 045ef38328f828a12a923239928c0e5c78ec93d1 (patch) | |
tree | a5e5a8d53cbe23485767c249ff9de1b71063398f /usr.bin | |
parent | 24c5871f5aaf01f006fc71eb30589d12f6f2ecb2 (diff) | |
download | FreeBSD-src-045ef38328f828a12a923239928c0e5c78ec93d1.zip FreeBSD-src-045ef38328f828a12a923239928c0e5c78ec93d1.tar.gz |
Correctly maintain the CR0/CR4 shadow registers.
This was exposed with AP spinup of Linux, and
booting OpenBSD, where the CR0 register is unconditionally
written to prior to the longjump to enter protected
mode. The CR-vmexit handling was not updating CPU state which
resulted in a vmentry failure with invalid guest state.
A follow-on submit will fix the CPU state issue, but this
fix prevents the CR-vmexit prior to entering protected
mode by properly initializing and maintaining CR* state.
Reviewed by: neel
Reported by: Gopakumar.T @ netapp
Diffstat (limited to 'usr.bin')
0 files changed, 0 insertions, 0 deletions