Index: /trunk/include/VBox/vmm/hm_svm.h
===================================================================
--- /trunk/include/VBox/vmm/hm_svm.h	(revision 81241)
+++ /trunk/include/VBox/vmm/hm_svm.h	(revision 81242)
@@ -286,4 +286,6 @@
 /** XSETBV instruction. */
 # define SVM_EXIT_XSETBV                 0x8d
+/** RDPRU instruction. */
+# define SVM_EXIT_RDPRU                  0x8e
 /** Nested paging: host-level page fault occurred (EXITINFO1 contains fault errorcode; EXITINFO2 contains the guest physical address causing the fault). */
 # define SVM_EXIT_NPF                    0x400
@@ -432,4 +434,6 @@
 /** Intercept XSETBV instruction. */
 #define SVM_CTRL_INTERCEPT_XSETBV             RT_BIT_64(32 + 13)
+/** Intercept RDPRU instruction. */
+#define SVM_CTRL_INTERCEPT_RDPRU              RT_BIT_64(32 + 14)
 /* Bit 14 - Reserved, SBZ. */
 /** Intercept EFER writes after guest instruction finishes. */
Index: /trunk/include/iprt/x86.h
===================================================================
--- /trunk/include/iprt/x86.h	(revision 81241)
+++ /trunk/include/iprt/x86.h	(revision 81242)
@@ -784,4 +784,6 @@
 /** Bit 2 - XSaveErPtr - Always XSAVE* and XRSTR* error pointers. */
 #define X86_CPUID_AMD_EFEID_EBX_XSAVE_ER_PTR RT_BIT_32(2)
+/** Bit 4 - RDPRU - Supports the RDPRU instruction. */
+#define X86_CPUID_AMD_EFEID_EBX_RDPRU        RT_BIT_32(4)
 /* AMD pipeline length: 9 feature bits ;-) */
 /** Bit 12 - IBPB - Supports the IBPB command in IA32_PRED_CMD. */
Index: /trunk/src/VBox/VMM/VMMAll/HMAll.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/HMAll.cpp	(revision 81241)
+++ /trunk/src/VBox/VMM/VMMAll/HMAll.cpp	(revision 81242)
@@ -272,7 +272,8 @@
     EXIT_REASON(SVM_EXIT_MWAIT_ARMED  ,  140, "MWAIT instruction when armed."),
     EXIT_REASON(SVM_EXIT_XSETBV       ,  141, "XSETBV instruction."),
+    EXIT_REASON(SVM_EXIT_RDPRU        ,  142, "RDPRU instruction."),
 };
 /** Array index of the last valid AMD-V exit reason. */
-#define MAX_EXITREASON_AMDV              141
+#define MAX_EXITREASON_AMDV              142
 
 /** Special exit reasons not covered in the array above. */
Index: /trunk/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp	(revision 81241)
+++ /trunk/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp	(revision 81242)
@@ -6347,4 +6347,5 @@
     DBGFREGSUBFIELD_RO("IRPerf\0"       "Instructions retired count support",            1, 1, 0),
     DBGFREGSUBFIELD_RO("XSaveErPtr\0"   "Save/restore error pointers (FXSAVE/RSTOR*)",   2, 1, 0),
+    DBGFREGSUBFIELD_RO("RDPRU\0"        "RDPRU instruction",                             4, 1, 0),
     DBGFREGSUBFIELD_RO("IBPB\0"         "Supports the IBPB command in IA32_PRED_CMD",   12, 1, 0),
     DBGFREGSUBFIELD_TERMINATOR()
