Index: trunk/include/VBox/dbg.h
===================================================================
--- trunk/include/VBox/dbg.h	(revision 35606)
+++ trunk/include/VBox/dbg.h	(revision 35625)
@@ -101,5 +101,6 @@
     /** Flat HC pointer. */
     DBGCVAR_TYPE_HC_FLAT,
-    /** Segmented HC pointer. */
+    /** Segmented HC pointer.
+     * @todo drop this  */
     DBGCVAR_TYPE_HC_FAR,
     /** Physical HC pointer. */
@@ -109,5 +110,6 @@
     /** Number. */
     DBGCVAR_TYPE_NUMBER,
-    /** Symbol. */
+    /** Symbol.
+     * @todo drop this   */
     DBGCVAR_TYPE_SYMBOL,
     /** Special type used when querying symbols. */
@@ -285,5 +287,5 @@
 
 /**
- * Macro for initializing a DBGC variable with a number
+ * Macro for initializing a DBGC variable with a number.
  */
 #define DBGCVAR_INIT_NUMBER(pVar, Value) \
@@ -293,4 +295,17 @@
             (pVar)->u.u64Number = (Value); \
         } while (0)
+
+/**
+ * Macro for initializing a DBGC variable with a string.
+ */
+#define DBGCVAR_INIT_STRING(pVar, a_pszString) \
+        do { \
+            DBGCVAR_INIT(pVar); \
+            (pVar)->enmType      = DBGCVAR_TYPE_STRING; \
+            (pVar)->enmRangeType = DBGCVAR_RANGE_BYTES; \
+            (pVar)->u.pszString  = (a_pszString); \
+            (pVar)->u64Range     = strlen(a_pszString); \
+        } while (0)
+
 
 
@@ -494,4 +509,14 @@
 
     /**
+     * Converts a DBGC variable to a 64-bit number.
+     *
+     * @returns VBox status code.
+     * @param   pCmdHlp     Pointer to the command callback structure.
+     * @param   pVar        The variable to convert.
+     * @param   pu64Number  Where to store the number.
+     */
+    DECLCALLBACKMEMBER(int, pfnVarToNumber)(PDBGCCMDHLP pCmdHlp, PCDBGCVAR pVar, uint64_t *pu64Number);
+
+    /**
      * Converts a DBGC variable to a boolean.
      *
@@ -517,4 +542,19 @@
 
     /**
+     * Converts a variable to one with the specified type.
+     *
+     * This preserves the range.
+     *
+     * @returns VBox status code.
+     * @param   pCmdHlp     Pointer to the command callback structure.
+     * @param   pVar        The variable to convert.
+     * @param   enmToType   The target type.
+     * @param   fConvSyms   If @c true, then attempt to resolve symbols.
+     * @param   pResult     The output variable. Can be the same as @a pVar.
+     */
+    DECLCALLBACKMEMBER(int, pfnVarConvert)(PDBGCCMDHLP pCmdHlp, PCDBGCVAR pVar, DBGCVARTYPE enmToType, bool fConvSyms,
+                                           PDBGCVAR pResult);
+
+    /**
      * Gets a DBGF output helper that directs the output to the debugger
      * console.
@@ -643,4 +683,20 @@
 
 /**
+ * @copydoc DBGCCMDHLP::pfnVarToNumber
+ */
+DECLINLINE(int) DBGCCmdHlpVarToNumber(PDBGCCMDHLP pCmdHlp, PCDBGCVAR pVar, uint64_t *pu64Number)
+{
+    return pCmdHlp->pfnVarToNumber(pCmdHlp, pVar, pu64Number);
+}
+
+/**
+ * @copydoc DBGCCMDHLP::pfnVarToBool
+ */
+DECLINLINE(int) DBGCCmdHlpVarToBool(PDBGCCMDHLP pCmdHlp, PCDBGCVAR pVar, bool *pf)
+{
+    return pCmdHlp->pfnVarToBool(pCmdHlp, pVar, pf);
+}
+
+/**
  * @copydoc DBGCCMDHLP::pfnVarGetRange
  */
@@ -648,4 +704,12 @@
 {
     return pCmdHlp->pfnVarGetRange(pCmdHlp, pVar, cbElement, cbDefault, pcbRange);
+}
+
+/**
+ * @copydoc DBGCCMDHLP::pfnVarConvert
+ */
+DECLINLINE(int) DBGCCmdHlpConvert(PDBGCCMDHLP pCmdHlp, PCDBGCVAR pVar, DBGCVARTYPE enmToType, bool fConvSyms, PDBGCVAR pResult)
+{
+    return pCmdHlp->pfnVarConvert(pCmdHlp, pVar, enmToType, fConvSyms, pResult);
 }
 
Index: trunk/include/VBox/vmm/dbgf.h
===================================================================
--- trunk/include/VBox/vmm/dbgf.h	(revision 35606)
+++ trunk/include/VBox/vmm/dbgf.h	(revision 35625)
@@ -1462,4 +1462,5 @@
 VMMR3DECL(int) DBGFR3RegNmQueryAll( PVM pVM,                   PDBGFREGENTRYNM paRegs, size_t cRegs);
 
+VMMR3DECL(int) DBGFR3RegNmSet(      PVM pVM, VMCPUID idDefCpu, const char *pszReg, PCDBGFREGVAL pValue, DBGFREGVALTYPE enmType);
 VMMR3DECL(int) DBGFR3RegNmSetU8(    PVM pVM, VMCPUID idDefCpu, const char *pszReg, uint8_t     u8);
 VMMR3DECL(int) DBGFR3RegNmSetU16(   PVM pVM, VMCPUID idDefCpu, const char *pszReg, uint16_t    u16);
