Index: trunk/include/VBox/VMMDevTesting.h
===================================================================
--- trunk/include/VBox/VMMDevTesting.h	(revision 92257)
+++ trunk/include/VBox/VMMDevTesting.h	(revision 92258)
@@ -142,4 +142,5 @@
 
 /** @name Value units
+ * @note Same as RTTESTUNIT, see rules here for adding new units.
  * @{ */
 #define VMMDEV_TESTING_UNIT_PCT                 UINT8_C(0x01)   /**< Percentage. */
@@ -170,4 +171,15 @@
 #define VMMDEV_TESTING_UNIT_INSTRS_PER_SEC      UINT8_C(0x1a)   /**< Instructions per second. */
 #define VMMDEV_TESTING_UNIT_NONE                UINT8_C(0x1b)   /**< No unit. */
+#define VMMDEV_TESTING_UNIT_PP1K                UINT8_C(0x1c)   /**< Parts per thousand (10^-3). */
+#define VMMDEV_TESTING_UNIT_PP10K               UINT8_C(0x1d)   /**< Parts per ten thousand (10^-4). */
+#define VMMDEV_TESTING_UNIT_PPM                 UINT8_C(0x1e)   /**< Parts per million (10^-6). */
+#define VMMDEV_TESTING_UNIT_PPB                 UINT8_C(0x1f)   /**< Parts per billion (10^-9). */
+#define VMMDEV_TESTING_UNIT_TICKS               UINT8_C(0x20)   /**< CPU ticks. */
+#define VMMDEV_TESTING_UNIT_TICKS_PER_CALL      UINT8_C(0x21)   /**< CPU ticks per call. */
+#define VMMDEV_TESTING_UNIT_TICKS_PER_OCCURENCE UINT8_C(0x22)   /**< CPU ticks per occurence. */
+#define VMMDEV_TESTING_UNIT_PAGES               UINT8_C(0x23)   /**< Page count. */
+#define VMMDEV_TESTING_UNIT_PAGES_PER_SEC       UINT8_C(0x24)   /**< Pages per second. */
+#define VMMDEV_TESTING_UNIT_TICKS_PER_PAGE      UINT8_C(0x25)   /**< CPU ticks per page. */
+#define VMMDEV_TESTING_UNIT_NS_PER_PAGE         UINT8_C(0x26)   /**< Nanoseconds per page. */
 /** @}  */
 
Index: trunk/include/iprt/test.h
===================================================================
--- trunk/include/iprt/test.h	(revision 92257)
+++ trunk/include/iprt/test.h	(revision 92258)
@@ -470,10 +470,10 @@
  *          contant values.
  * @remarks When adding a new item:
- *              - Always add at the end of the list - do NOT group it.
+ *              - Always add at the end of the list.
  *              - Add it to rtTestUnitName in r3/test.cpp.
- *              - include/VBox/VMMDevTesting.h (VMMDEV_TESTING_UNIT_XXX).
+ *              - Add it as VMMDEV_TESTING_UNIT_ in include/VBox/VMMDevTesting.h.
  *              - Add it to g_aszBs2TestUnitNames in
- *                TestSuite/bootsectors/bootsector2-common-routines.mac.
- *
+ *                ValidationKit/bootsectors/bootsector2-common-routines.mac.
+ *              - Add it to g_aszBs3TestUnitNames in bs3kit/bs3-cmn-TestData.c.
  */
 typedef enum RTTESTUNIT
@@ -513,10 +513,18 @@
     RTTESTUNIT_PPM,                             /**< Parts per million (10^-6). */
     RTTESTUNIT_PPB,                             /**< Parts per billion (10^-9). */
+    RTTESTUNIT_TICKS,                           /**< CPU ticks. */
+    RTTESTUNIT_TICKS_PER_CALL,                  /**< CPU ticks per call. */
+    RTTESTUNIT_TICKS_PER_OCCURENCE,             /**< CPU ticks per occurence. */
+    RTTESTUNIT_PAGES,                           /**< Page count. */
+    RTTESTUNIT_PAGES_PER_SEC,                   /**< Pages per second. */
+    RTTESTUNIT_TICKS_PER_PAGE,                  /**< CPU ticks per page. */
+    RTTESTUNIT_NS_PER_PAGE,                     /**< Nanoseconds per page. */
 
     /** The end of valid units. */
     RTTESTUNIT_END
 } RTTESTUNIT;
-AssertCompile(RTTESTUNIT_INSTRS == 0x19);
-AssertCompile(RTTESTUNIT_NONE   == 0x1b);
+AssertCompile(RTTESTUNIT_INSTRS      == 0x19);
+AssertCompile(RTTESTUNIT_NONE        == 0x1b);
+AssertCompile(RTTESTUNIT_NS_PER_PAGE == 0x26);
 
 /**
Index: trunk/src/VBox/Runtime/r3/test.cpp
===================================================================
--- trunk/src/VBox/Runtime/r3/test.cpp	(revision 92257)
+++ trunk/src/VBox/Runtime/r3/test.cpp	(revision 92258)
@@ -1592,4 +1592,11 @@
         case RTTESTUNIT_PPM:                    return "ppm";
         case RTTESTUNIT_PPB:                    return "ppb";
+        case RTTESTUNIT_TICKS:                  return "ticks";
+        case RTTESTUNIT_TICKS_PER_CALL:         return "ticks/call";
+        case RTTESTUNIT_TICKS_PER_OCCURENCE:    return "ticks/occ";
+        case RTTESTUNIT_PAGES:                  return "pages";
+        case RTTESTUNIT_PAGES_PER_SEC:          return "pages/s";
+        case RTTESTUNIT_TICKS_PER_PAGE:         return "ticks/page";
+        case RTTESTUNIT_NS_PER_PAGE:            return "ns/page";
 
         /* No default so gcc helps us keep this up to date. */
Index: trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-TestData.c
===================================================================
--- trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-TestData.c	(revision 92257)
+++ trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-TestData.c	(revision 92258)
@@ -62,5 +62,5 @@
 
 /** VMMDEV_TESTING_UNIT_XXX -> string */
-char const  g_aszBs3TestUnitNames[][16] =
+char const  g_aszBs3TestUnitNames[][12] =
 {
     "inv",
@@ -96,4 +96,11 @@
     "ppm",
     "ppb",
+    "ticks",
+    "ticks/call",
+    "ticks/occ",
+    "pages",
+    "pages/s",
+    "ticks/page",
+    "ns/page",
 };
 
Index: trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-test.h
===================================================================
--- trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-test.h	(revision 92257)
+++ trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-test.h	(revision 92258)
@@ -80,5 +80,5 @@
 # define g_aszBs3TestUnitNames BS3_DATA_NM(g_aszBs3TestUnitNames)
 #endif
-extern char const           g_aszBs3TestUnitNames[][16];
+extern char const           g_aszBs3TestUnitNames[][12];
 
 /** The test name. */
