Index: /trunk/include/VBox/sup.h
===================================================================
--- /trunk/include/VBox/sup.h	(revision 81160)
+++ /trunk/include/VBox/sup.h	(revision 81161)
@@ -2000,5 +2000,4 @@
 SUPR0DECL(int) SUPR0GetSvmUsability(bool fInitSvm);
 SUPR0DECL(int) SUPR0GetVmxUsability(bool *pfIsSmxModeAmbiguous);
-SUPR0DECL(int) SUPR0GetRawModeUsability(void);
 SUPR0DECL(int) SUPR0GetCurrentGdtRw(RTHCUINTPTR *pGdtRw);
 SUPR0DECL(int) SUPR0QueryVTCaps(PSUPDRVSESSION pSession, uint32_t *pfCaps);
Index: /trunk/src/VBox/HostDrivers/Support/SUPDrv.cpp
===================================================================
--- /trunk/src/VBox/HostDrivers/Support/SUPDrv.cpp	(revision 81160)
+++ /trunk/src/VBox/HostDrivers/Support/SUPDrv.cpp	(revision 81161)
@@ -206,5 +206,4 @@
     { "SUPR0GetVTSupport",                      (void *)(uintptr_t)SUPR0GetVTSupport },
     { "SUPR0GetVmxUsability",                   (void *)(uintptr_t)SUPR0GetVmxUsability },
-    { "SUPR0GetRawModeUsability",               (void *)(uintptr_t)SUPR0GetRawModeUsability },
     { "SUPR0LdrIsLockOwnerByMod",               (void *)(uintptr_t)SUPR0LdrIsLockOwnerByMod },
     { "SUPR0LdrLock",                           (void *)(uintptr_t)SUPR0LdrLock },
@@ -4111,23 +4110,4 @@
 
 /**
- * Checks if raw-mode is usable on this system.
- *
- * The reasons why raw-mode isn't safe to use are host specific.  For example on
- * Windows the Hyper-V root partition may perhapse not allow important bits in
- * CR4 to be changed, which would make it impossible to do a world switch.
- *
- * @returns VBox status code.
- */
-SUPR0DECL(int) SUPR0GetRawModeUsability(void)
-{
-#ifdef RT_OS_WINDOWS
-    return supdrvOSGetRawModeUsability();
-#else
-    return VINF_SUCCESS;
-#endif
-}
-
-
-/**
  * Gets AMD-V and VT-x support for the calling CPU.
  *
Index: /trunk/src/VBox/HostDrivers/Support/SUPDrvInternal.h
===================================================================
--- /trunk/src/VBox/HostDrivers/Support/SUPDrvInternal.h	(revision 81160)
+++ /trunk/src/VBox/HostDrivers/Support/SUPDrvInternal.h	(revision 81161)
@@ -901,5 +901,4 @@
 void VBOXCALL   supdrvOSResumeVTxOnCpu(bool fSuspended);
 int  VBOXCALL   supdrvOSGetCurrentGdtRw(RTHCUINTPTR *pGdtRw);
-int  VBOXCALL   supdrvOSGetRawModeUsability(void);
 
 /**
Index: /trunk/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp
===================================================================
--- /trunk/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp	(revision 81160)
+++ /trunk/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp	(revision 81161)
@@ -1903,69 +1903,4 @@
 
 
-/**
- * Checks whether we're allowed by Hyper-V to modify CR4.
- */
-int  VBOXCALL supdrvOSGetRawModeUsability(void)
-{
-    int rc = VINF_SUCCESS;
-
-#ifdef RT_ARCH_AMD64
-    /*
-     * Broadwell running W10 17083.100:
-     *        CR4: 0x170678
-     *  Evil mask: 0x170638
-     *      X86_CR4_SMEP        - evil
-     *      X86_CR4_FSGSBASE    - evil
-     *      X86_CR4_PCIDE       - evil
-     *      X86_CR4_OSXSAVE     - evil
-     *      X86_CR4_OSFXSR      - evil
-     *      X86_CR4_OSXMMEEXCPT - evil
-     *      X86_CR4_PSE         - evil
-     *      X86_CR4_PAE         - evil
-     *      X86_CR4_MCE         - okay
-     *      X86_CR4_DE          - evil
-     */
-    if (ASMHasCpuId())
-    {
-        uint32_t cStd = ASMCpuId_EAX(0);
-        if (ASMIsValidStdRange(cStd))
-        {
-            uint32_t uIgn         = 0;
-            uint32_t fEdxFeatures = 0;
-            uint32_t fEcxFeatures = 0;
-            ASMCpuIdExSlow(1, 0, 0, 0, &uIgn, &uIgn, &fEcxFeatures, &fEdxFeatures);
-            if (fEcxFeatures & X86_CPUID_FEATURE_ECX_HVP)
-            {
-                RTCCUINTREG  const fOldFlags    = ASMIntDisableFlags();
-                RTCCUINTXREG const fCr4         = ASMGetCR4();
-
-                RTCCUINTXREG const fSafeToClear = X86_CR4_TSD      | X86_CR4_DE     | X86_CR4_PGE  | X86_CR4_PCE
-                                                | X86_CR4_FSGSBASE | X86_CR4_PCIDE  | X86_CR4_SMEP | X86_CR4_SMAP
-                                                | X86_CR4_OSXSAVE  | X86_CR4_OSFXSR | X86_CR4_OSXMMEEXCPT;
-                RTCCUINTXREG       fLoadCr4     = fCr4 & ~fSafeToClear;
-                RTCCUINTXREG const fCleared     = fCr4 & fSafeToClear;
-                if (!(fCleared & X86_CR4_TSD) && (fEdxFeatures & X86_CPUID_FEATURE_EDX_TSC))
-                    fLoadCr4 |= X86_CR4_TSD;
-                if (!(fCleared & X86_CR4_PGE) && (fEdxFeatures & X86_CPUID_FEATURE_EDX_PGE))
-                    fLoadCr4 |= X86_CR4_PGE;
-                __try
-                {
-                    ASMSetCR4(fLoadCr4);
-                }
-                __except(EXCEPTION_EXECUTE_HANDLER)
-                {
-                    rc = VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT;
-                }
-                if (RT_SUCCESS(rc))
-                    ASMSetCR4(fCr4);
-                ASMSetFlags(fOldFlags);
-            }
-        }
-    }
-#endif
-    return rc;
-}
-
-
 #define MY_SystemLoadGdiDriverInSystemSpaceInformation  54
 #define MY_SystemUnloadGdiDriverInformation             27
Index: /trunk/src/VBox/VMM/VMMR0/VMMR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/VMMR0.cpp	(revision 81160)
+++ /trunk/src/VBox/VMM/VMMR0/VMMR0.cpp	(revision 81161)
@@ -164,7 +164,4 @@
 #endif
 
-/** The result of SUPR0GetRawModeUsability(), set by ModuleInit(). */
-int g_rcRawModeUsability = VINF_SUCCESS;
-
 
 /**
@@ -257,8 +254,4 @@
                                             if (RT_SUCCESS(rc))
                                             {
-                                                g_rcRawModeUsability = SUPR0GetRawModeUsability();
-                                                if (g_rcRawModeUsability != VINF_SUCCESS)
-                                                    SUPR0Printf("VMMR0!ModuleInit: SUPR0GetRawModeUsability -> %Rrc\n",
-                                                                g_rcRawModeUsability);
                                                 LogFlow(("ModuleInit: returns success\n"));
                                                 return VINF_SUCCESS;
