HomeFreeBSD

Correctly maintain the CR0/CR4 shadow registers.

Description

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

Details

Provenance
grehanAuthored on Aug 1 2013, 1:18 AM
Parents
rG6cbd933b3747: Changes to allow using BOOTP_NFSROOT and mounting an nfs root filesystem
Branches
Unknown
Tags
Unknown

Event Timeline