Index: /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/Makefile.kmk
===================================================================
--- /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/Makefile.kmk	(revision 66167)
+++ /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/Makefile.kmk	(revision 66168)
@@ -56,4 +56,5 @@
 	bs3-cmn-A20Enable.asm \
 	bs3-cmn-GetModeName.c \
+	bs3-cmn-GetModeNameShortLower.c \
 	bs3-cmn-KbdRead.asm \
 	bs3-cmn-KbdWait.asm \
@@ -265,4 +266,5 @@
 VBOX_BS3KIT_MODE_SOURCES = \
 	bs3-mode-Name.asm \
+	bs3-mode-NameShortLower.asm \
 	bs3-mode-SwitchToRM.asm \
 	bs3-mode-SwitchToPE16.asm \
Index: /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-GetModeNameShortLower.c
===================================================================
--- /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-GetModeNameShortLower.c	(revision 66168)
+++ /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-GetModeNameShortLower.c	(revision 66168)
@@ -0,0 +1,62 @@
+/* $Id$ */
+/** @file
+ * BS3Kit - Bs3GetModeNameShortLower
+ */
+
+/*
+ * Copyright (C) 2007-2016 Oracle Corporation
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ *
+ * The contents of this file may alternatively be used under the terms
+ * of the Common Development and Distribution License Version 1.0
+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
+ * VirtualBox OSE distribution, in which case the provisions of the
+ * CDDL are applicable instead of those of the GPL.
+ *
+ * You may elect to license modified versions of this file under the
+ * terms and conditions of either the GPL or the CDDL or both.
+ */
+
+#include "bs3kit-template-header.h"
+
+
+
+#undef Bs3GetModeNameShortLower
+BS3_CMN_DEF(const char BS3_FAR *, Bs3GetModeNameShortLower,(uint8_t bMode))
+{
+    switch (bMode)
+    {
+        case BS3_MODE_RM:           return g_szBs3ModeNameShortLower_rm;
+        case BS3_MODE_PE16:         return g_szBs3ModeNameShortLower_pe16;
+        case BS3_MODE_PE16_32:      return g_szBs3ModeNameShortLower_pe16_32;
+        case BS3_MODE_PE16_V86:     return g_szBs3ModeNameShortLower_pe16_v86;
+        case BS3_MODE_PE32:         return g_szBs3ModeNameShortLower_pe32;
+        case BS3_MODE_PE32_16:      return g_szBs3ModeNameShortLower_pe32_16;
+        case BS3_MODE_PEV86:        return g_szBs3ModeNameShortLower_pev86;
+        case BS3_MODE_PP16:         return g_szBs3ModeNameShortLower_pp16;
+        case BS3_MODE_PP16_32:      return g_szBs3ModeNameShortLower_pp16_32;
+        case BS3_MODE_PP16_V86:     return g_szBs3ModeNameShortLower_pp16_v86;
+        case BS3_MODE_PP32:         return g_szBs3ModeNameShortLower_pp32;
+        case BS3_MODE_PP32_16:      return g_szBs3ModeNameShortLower_pp32_16;
+        case BS3_MODE_PPV86:        return g_szBs3ModeNameShortLower_ppv86;
+        case BS3_MODE_PAE16:        return g_szBs3ModeNameShortLower_pae16;
+        case BS3_MODE_PAE16_32:     return g_szBs3ModeNameShortLower_pae16_32;
+        case BS3_MODE_PAE16_V86:    return g_szBs3ModeNameShortLower_pae16_v86;
+        case BS3_MODE_PAE32:        return g_szBs3ModeNameShortLower_pae32;
+        case BS3_MODE_PAE32_16:     return g_szBs3ModeNameShortLower_pae32_16;
+        case BS3_MODE_PAEV86:       return g_szBs3ModeNameShortLower_paev86;
+        case BS3_MODE_LM16:         return g_szBs3ModeNameShortLower_lm16;
+        case BS3_MODE_LM32:         return g_szBs3ModeNameShortLower_lm32;
+        case BS3_MODE_LM64:         return g_szBs3ModeNameShortLower_lm64;
+        case BS3_MODE_INVALID:      return "inv";
+        default:                    return "unk";
+    }
+}
+
Index: /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-mode-NameShortLower.asm
===================================================================
--- /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-mode-NameShortLower.asm	(revision 66168)
+++ /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-mode-NameShortLower.asm	(revision 66168)
@@ -0,0 +1,36 @@
+; $Id$
+;; @file
+; BS3Kit - g_szBs3ModeName_xxx
+;
+
+;
+; Copyright (C) 2007-2016 Oracle Corporation
+;
+; This file is part of VirtualBox Open Source Edition (OSE), as
+; available from http://www.virtualbox.org. This file is free software;
+; you can redistribute it and/or modify it under the terms of the GNU
+; General Public License (GPL) as published by the Free Software
+; Foundation, in version 2 as it comes in the "COPYING" file of the
+; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+;
+; The contents of this file may alternatively be used under the terms
+; of the Common Development and Distribution License Version 1.0
+; (CDDL) only, as it comes in the "COPYING.CDDL" file of the
+; VirtualBox OSE distribution, in which case the provisions of the
+; CDDL are applicable instead of those of the GPL.
+;
+; You may elect to license modified versions of this file under the
+; terms and conditions of either the GPL or the CDDL or both.
+;
+
+%include "bs3kit-template-header.mac"
+
+
+BS3_BEGIN_DATA16
+%undef  MY_MODE_NAME_STR
+%defstr MY_MODE_NAME_STR TMPL_MODE_LNAME
+BS3_GLOBAL_NAME_EX RT_CONCAT3(g_szBs3ModeNameShortLower, _, TMPL_MODE_LNAME), , %strlen(MY_MODE_NAME_STR)
+BS3_GLOBAL_NAME_EX RT_CONCAT3(_g_szBs3ModeNameShortLower, _, TMPL_MODE_LNAME), , %strlen(MY_MODE_NAME_STR)
+        db MY_MODE_NAME_STR, 0
+
Index: /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-autostubs.kmk
===================================================================
--- /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-autostubs.kmk	(revision 66167)
+++ /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-autostubs.kmk	(revision 66168)
@@ -35,6 +35,10 @@
 $(call BS3KIT_FN_GEN_CMN_FARSTUB,bs3kit-common-16,Bs3RegCtxSaveEx,8)
 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TestCheckRegCtxEx)
+$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TestFailed)
+$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TestFailedF)
+$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TestFailedV)
 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3StrCpy)
 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3GetModeName)
+$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3GetModeNameShortLower)
 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3PagingAlias)
 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3PagingInitRootForLM)
@@ -93,7 +97,4 @@
 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3SlabListFree)
 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3SlabListInit)
-$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TestFailed)
-$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TestFailedF)
-$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TestFailedV)
 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TestInit)
 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TestPrintf)
Index: /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-define.h
===================================================================
--- /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-define.h	(revision 66167)
+++ /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-define.h	(revision 66168)
@@ -32,4 +32,5 @@
 #define Bs3A20EnableViaPortA BS3_CMN_MANGLER(Bs3A20EnableViaPortA)
 #define Bs3GetModeName BS3_CMN_MANGLER(Bs3GetModeName)
+#define Bs3GetModeNameShortLower BS3_CMN_MANGLER(Bs3GetModeNameShortLower)
 #define Bs3KbdRead BS3_CMN_MANGLER(Bs3KbdRead)
 #define Bs3KbdWait BS3_CMN_MANGLER(Bs3KbdWait)
Index: /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-undef.h
===================================================================
--- /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-undef.h	(revision 66167)
+++ /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-undef.h	(revision 66168)
@@ -32,4 +32,5 @@
 #undef Bs3A20EnableViaPortA
 #undef Bs3GetModeName
+#undef Bs3GetModeNameShortLower
 #undef Bs3KbdRead
 #undef Bs3KbdWait
Index: /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.h
===================================================================
--- /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.h	(revision 66167)
+++ /trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.h	(revision 66168)
@@ -1494,4 +1494,12 @@
 
 /**
+ * Translate a mode into a short lower case string.
+ *
+ * @returns Pointer to read-only short mode name string.
+ * @param   bMode       The mode value (BS3_MODE_XXX).
+ */
+BS3_CMN_PROTO_STUB(const char BS3_FAR *, Bs3GetModeNameShortLower,(uint8_t bMode));
+
+/**
  * Shutdown the system, never returns.
  *
@@ -3414,4 +3422,8 @@
  * These are all in DATA16 so they can be accessed from any code.  */
 BS3_MODE_EXPAND_EXTERN_DATA16(const char, g_szBs3ModeName, []);
+/** The TMPL_MODE_LNAME value for each mode.
+ * These are all in DATA16 so they can be accessed from any code.  */
+BS3_MODE_EXPAND_EXTERN_DATA16(const char, g_szBs3ModeNameShortLower, []);
+
 
 /**
