[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bochs-cvs
Subject:    [Bochs-cvs] [13413] trunk/bochs/cpu/crregs.cc
From:       sshwarts--- via Bochs-cvs <bochs-cvs () lists ! sourceforge ! net>
Date:       2017-12-25 19:49:46
Message-ID: 1514231386.153653.8925 () sfp-scm-8 ! v30 ! ch3 ! sourceforge ! com
[Download RAW message or body]

Revision: 13413
Author:   sshwarts
Date:     2017-12-25 19:49:45 +0000 (Mon, 25 Dec 2017)
Log Message:
-----------
fix for MOV to CR3 in long mode with PCID enabled - patch by Kent Williams

Modified Paths:
--------------
    trunk/bochs/cpu/crregs.cc

Modified: trunk/bochs/cpu/crregs.cc
===================================================================
--- trunk/bochs/cpu/crregs.cc	2017-12-25 09:27:00 UTC (rev 13412)
+++ trunk/bochs/cpu/crregs.cc	2017-12-25 19:49:45 UTC (rev 13413)
@@ -705,7 +705,12 @@
   }
 #endif
 
-  // no PDPTR checks in long mode
+  // allow bit 63 (hint that TLB doesn't need to be cleared) to be set when
+  // PCIDE is set, but ignore the hint if given
+  if (BX_CPU_THIS_PTR cr4.get_PCIDE()) {
+    val_64 &= ~(BX_CONST64(1)<<63);
+  }
+
   if (! SetCR3(val_64))
     exception(BX_GP_EXCEPTION, 0);
 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bochs-cvs mailing list
Bochs-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bochs-cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic