VME is for CPU_LEVEL>=5 only
This commit is contained in:
parent
5994d0e100
commit
58dde88887
@ -505,12 +505,15 @@ void BX_CPU_C::prefetch(void)
|
||||
else
|
||||
#endif
|
||||
{
|
||||
|
||||
#if BX_CPU_LEVEL >= 5
|
||||
if (USER_PL && BX_CPU_THIS_PTR get_VIP() && BX_CPU_THIS_PTR get_VIF()) {
|
||||
if (BX_CPU_THIS_PTR cr4.get_PVI() | (v8086_mode() && BX_CPU_THIS_PTR cr4.get_VME())) {
|
||||
BX_ERROR(("prefetch: inconsistent VME state"));
|
||||
exception(BX_GP_EXCEPTION, 0);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
BX_CLEAR_64BIT_HIGH(BX_64BIT_REG_RIP); /* avoid 32-bit EIP wrap */
|
||||
laddr = get_laddr32(BX_SEG_REG_CS, EIP);
|
||||
|
Loading…
Reference in New Issue
Block a user