Index: /trunk/src/VBox/VMM/VMMAll/GIMAllKvm.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/GIMAllKvm.cpp	(revision 64309)
+++ /trunk/src/VBox/VMM/VMMAll/GIMAllKvm.cpp	(revision 64310)
@@ -275,5 +275,4 @@
 
             /* Is the system-time struct. already enabled? If so, get flags that need preserving. */
-            /*uint8_t fFlags = 0; - unused */
             GIMKVMSYSTEMTIME SystemTime;
             RT_ZERO(SystemTime);
@@ -294,5 +293,5 @@
             {
                 pKvmCpu->u64SystemTimeMsr = 0;
-                return VERR_CPUM_RAISE_GP_0;
+                /* We shouldn't throw a #GP(0) here for buggy guests (neither does KVM apparently), see @bugref{8627}. */
             }
             return VINF_SUCCESS;
Index: /trunk/src/VBox/VMM/VMMR3/GIMKvm.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/GIMKvm.cpp	(revision 64309)
+++ /trunk/src/VBox/VMM/VMMR3/GIMKvm.cpp	(revision 64310)
@@ -284,14 +284,4 @@
     {
         PCGIMKVMCPU pKvmCpu = &pVM->aCpus[i].gim.s.u.KvmCpu;
-
-        /* Guest may alter flags (namely GIM_KVM_SYSTEM_TIME_FLAGS_GUEST_PAUSED bit). So re-read them from guest-memory. */
-        GIMKVMSYSTEMTIME SystemTime;
-        RT_ZERO(SystemTime);
-        if (MSR_GIM_KVM_SYSTEM_TIME_IS_ENABLED(pKvmCpu->u64SystemTimeMsr))
-        {
-            int rc = PGMPhysSimpleReadGCPhys(pVM, &SystemTime, pKvmCpu->GCPhysSystemTime, sizeof(GIMKVMSYSTEMTIME));
-            AssertRCReturn(rc, rc);
-        }
-
         SSMR3PutU64(pSSM, pKvmCpu->u64SystemTimeMsr);
         SSMR3PutU64(pSSM, pKvmCpu->uTsc);
@@ -299,5 +289,5 @@
         SSMR3PutGCPhys(pSSM, pKvmCpu->GCPhysSystemTime);
         SSMR3PutU32(pSSM, pKvmCpu->u32SystemTimeVersion);
-        SSMR3PutU8(pSSM, SystemTime.fFlags);
+        SSMR3PutU8(pSSM, pKvmCpu->fSystemTimeFlags);
     }
 
@@ -359,6 +349,5 @@
             Assert(!TMVirtualIsTicking(pVM));       /* paranoia. */
             Assert(!TMCpuTickIsTicking(pVCpu));
-            rc = gimR3KvmEnableSystemTime(pVM, pVCpu);
-            AssertRCReturn(rc, rc);
+            gimR3KvmEnableSystemTime(pVM, pVCpu);
         }
     }
