Add missing processor architecture cases
[reactos.git] / reactos / ntoskrnl / kdbg / kdb_expr.c
index e3d2680..737d826 100644 (file)
@@ -35,7 +35,6 @@
 /* INCLUDES ******************************************************************/
 
 #include <ntoskrnl.h>
-#include <internal/kdb.h>
 #define NDEBUG
 #include <internal/debug.h>
 
@@ -94,21 +93,21 @@ STATIC struct { ULONG Size; ULONG Sp; RPN_OP Ops[RPN_OP_STACK_SIZE]; } RpnStack
 STATIC CONST struct { PCHAR Name; UCHAR Offset; UCHAR Size; } RegisterToTrapFrame[] =
 {
    {"eip",     FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Eip),     RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Eip)},
-   {"eflags",  FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Eflags),  RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Eflags)},
+   {"eflags",  FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.EFlags),  RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.EFlags)},
    {"eax",     FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Eax),     RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Eax)},
    {"ebx",     FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Ebx),     RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Ebx)},
    {"ecx",     FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Ecx),     RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Ecx)},
    {"edx",     FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Edx),     RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Edx)},
    {"esi",     FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Esi),     RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Esi)},
    {"edi",     FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Edi),     RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Edi)},
-   {"esp",     FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Esp),     RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Esp)},
+   {"esp",     FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.HardwareEsp),     RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.HardwareEsp)},
    {"ebp",     FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Ebp),     RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Ebp)},
-   {"cs",      FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Cs),      2 }, /* Use only the lower 2 bytes */
-   {"ds",      FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Ds),      RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Ds)},
-   {"es",      FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Es),      RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Es)},
-   {"fs",      FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Fs),      RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Fs)},
-   {"gs",      FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Gs),      RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Gs)},
-   {"ss",      FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Ss),      RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Ss)},
+   {"cs",      FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.SegCs),      2 }, /* Use only the lower 2 bytes */
+   {"ds",      FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.SegDs),      RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.SegDs)},
+   {"es",      FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.SegEs),      RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.SegEs)},
+   {"fs",      FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.SegFs),      RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.SegFs)},
+   {"gs",      FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.SegGs),      RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.SegGs)},
+   {"ss",      FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.HardwareSegSs),      RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.HardwareSegSs)},
    {"dr0",     FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Dr0),     RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Dr0)},
    {"dr1",     FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Dr1),     RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Dr1)},
    {"dr2",     FIELD_OFFSET(KDB_KTRAP_FRAME, Tf.Dr2),     RTL_FIELD_SIZE(KDB_KTRAP_FRAME, Tf.Dr2)},
@@ -212,11 +211,11 @@ RpnpDumpStack(
       case RpnOpNop:
          DbgPrint("NOP,");
          break;
-         
+
       case RpnOpImmediate:
          DbgPrint("0x%I64x,", Op->Data.Immediate);
          break;
-         
+
       case RpnOpBinaryOperator:
          if (Op->Data.BinaryOperator == RpnBinaryOperatorAdd)
             DbgPrint("+,");
@@ -243,11 +242,11 @@ RpnpDumpStack(
          else
             DbgPrint("UNKNOWN OP,");
          break;
-         
+
       case RpnOpRegister:
          DbgPrint("%s,", RegisterToTrapFrame[Op->Data.Register].Name);
          break;
-         
+
       case RpnOpDereference:
          DbgPrint("[%s],",
                 (Op->Data.DerefMemorySize == 1) ? ("byte") :
@@ -256,7 +255,7 @@ RpnpDumpStack(
                 )
                );
          break;
-         
+
       default:
          DbgPrint("\nUnsupported Type: %d\n", Op->Type);
          ul = Stack->Sp;
@@ -401,7 +400,7 @@ RpnpParseExpression(
          p++;
          CharacterOffset++;
       }
-      
+
       /* Check for end of expression */
       if (p[0] == '\0' || p[0] == ')' || p[0] == ']')
          break;
@@ -410,8 +409,8 @@ RpnpParseExpression(
       {
          /* Remember operator */
          Operator = p++;
-         OperatorOffset = CharacterOffset++;;
-      
+         OperatorOffset = CharacterOffset++;
+
          /* Pop operator (to get the right operator precedence) */
          HavePoppedOperator = FALSE;
          if (*Operator == '*' || *Operator == '/' || *Operator == '%')
@@ -486,7 +485,7 @@ get_operand:
 
          /* Copy register name/memory size */
          while (isspace(p[--i2]));
-         i2 = min(i2 + 1, sizeof (Buffer) - 1);
+         i2 = min(i2 + 1, (INT)sizeof (Buffer) - 1);
          strncpy(Buffer, p, i2);
          Buffer[i2] = '\0';
 
@@ -508,7 +507,7 @@ get_operand:
                   *ErrOffset = CharacterOffset;
                return FALSE;
             }
-            
+
             p += i;
             CharacterOffset += i;
             goto get_operand;
@@ -624,7 +623,7 @@ get_operand:
 
             /* Skip closing brace/bracket */
             pend++;
-            
+
             CharacterOffset += pend - p;
             p = pend;
          }
@@ -690,7 +689,7 @@ get_operand:
             IsComparativeOp = TRUE;
             RpnOp.Data.BinaryOperator = RpnBinaryOperatorEquals;
             break;
-            
+
          case '!':
             ASSERT(Operator[1] == '=');
             IsComparativeOp = TRUE;
@@ -749,10 +748,10 @@ get_operand:
             }
          }
       }
-      
+
       First = FALSE;
    }
-   
+
 //end_of_expression:
 
    if (ComparativeOpFilled && !RpnpPushStack(Stack, &ComparativeOp))
@@ -772,7 +771,7 @@ get_operand:
 
    if (End != NULL)
       *End = p;
-   
+
    return TRUE;
 }
 
@@ -825,7 +824,7 @@ RpnpEvaluateStack(
       case RpnOpNop:
          /* No operation */
          break;
-         
+
       case RpnOpImmediate:
          if (ValueStackPointer == RPN_VALUE_STACK_SIZE)
          {
@@ -951,7 +950,7 @@ RpnpEvaluateStack(
          *ErrOffset = -1;
       return FALSE;
    }
-   
+
    *Result = ValueStack[0];
    return TRUE;
 }
@@ -976,7 +975,7 @@ KdbpRpnEvaluateExpression(
    OUT PCHAR ErrMsg  OPTIONAL)
 {
    PRPN_STACK Stack = (PRPN_STACK)&RpnStack;
-   
+
    ASSERT(Expression != NULL);
    ASSERT(TrapFrame != NULL);
    ASSERT(Result != NULL);
@@ -1045,7 +1044,7 @@ KdbpRpnParseExpression(
    }
    memcpy(NewStack, Stack, Size);
    NewStack->Size = NewStack->Sp;
-   
+
    return NewStack;
 }