Changeset 50866 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Mar 25, 2014 3:47:11 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/EMAll.cpp
r49975 r50866 1447 1447 uint64_t oldval; 1448 1448 uint64_t msrEFER; 1449 uint32_t fValid; 1449 1450 int rc, rc2; 1450 1451 NOREF(pVM); … … 1538 1539 && !(val & X86_CR4_PAE)) 1539 1540 { 1541 return VERR_EM_INTERPRETER; /** @todo generate #GP(0) */ 1542 } 1543 1544 /* From IEM iemCImpl_load_CrX. */ 1545 /** @todo Check guest CPUID bits for determining corresponding valid bits. */ 1546 fValid = X86_CR4_VME | X86_CR4_PVI 1547 | X86_CR4_TSD | X86_CR4_DE 1548 | X86_CR4_PSE | X86_CR4_PAE 1549 | X86_CR4_MCE | X86_CR4_PGE 1550 | X86_CR4_PCE | X86_CR4_OSFSXR 1551 | X86_CR4_OSXMMEEXCPT; 1552 //if (xxx) 1553 // fValid |= X86_CR4_VMXE; 1554 //if (xxx) 1555 // fValid |= X86_CR4_OSXSAVE; 1556 if (val & ~(uint64_t)fValid) 1557 { 1558 Log(("Trying to set reserved CR4 bits: NewCR4=%#llx InvalidBits=%#llx\n", val, val & ~(uint64_t)fValid)); 1540 1559 return VERR_EM_INTERPRETER; /** @todo generate #GP(0) */ 1541 1560 }
Note:
See TracChangeset
for help on using the changeset viewer.