[NTOSKRNL] Add a raw implementation of !irpfind in kdbg
[reactos.git] / ntoskrnl / kd / i386 / kdbg.c
index 3cfe23a..b87ce56 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS kernel
- * FILE:            drivers/base/kdcom/kdbg.c
+ * FILE:            ntoskrnl/kd/i386/kdbg.c
  * PURPOSE:         Serial i/o functions for the kernel debugger.
  * PROGRAMMER:      Alex Ionescu
  *                  HervĂ© Poussineau
@@ -28,6 +28,8 @@ const ULONG BaseArray[] = {0, 0xF1012000};
 #error Unknown architecture
 #endif
 
+#define MAX_COM_PORTS   (sizeof(BaseArray) / sizeof(BaseArray[0]) - 1)
+
 /* STATIC VARIABLES ***********************************************************/
 
 // static CPPORT DefaultPort = {0, 0, 0};
@@ -35,7 +37,6 @@ const ULONG BaseArray[] = {0, 0xF1012000};
 /* The COM port must only be initialized once! */
 // static BOOLEAN PortInitialized = FALSE;
 
-
 /* REACTOS FUNCTIONS **********************************************************/
 
 NTSTATUS
@@ -58,7 +59,6 @@ KdPortInitializeEx(
     /*
      * Find the port if needed
      */
-    SIZE_T i;
 
     if (!PortInitialized)
     {
@@ -72,12 +72,11 @@ KdPortInitializeEx(
              * If we reach the first element of the list, the invalid COM port,
              * then it means that no valid port was found.
              */
-            for (i = sizeof(BaseArray) / sizeof(BaseArray[0]) - 1; i > 0; i--)
+            for (ComPortNumber = MAX_COM_PORTS; ComPortNumber > 0; ComPortNumber--)
             {
-                if (CpDoesPortExist(UlongToPtr(BaseArray[i])))
+                if (CpDoesPortExist(UlongToPtr(BaseArray[ComPortNumber])))
                 {
-                    PortInformation->Address = DefaultPort.Address = BaseArray[i];
-                    ComPortNumber = (ULONG)i;
+                    PortInformation->Address = DefaultPort.Address = BaseArray[ComPortNumber];
                     break;
                 }
             }
@@ -112,7 +111,7 @@ KdPortInitializeEx(
 
         /* Print message to blue screen */
         sprintf(buffer,
-                "\r\nKernel Debugger: Serial port found: COM%ld (Port 0x%lx) BaudRate %ld\r\n\r\n",
+                "\r\nKernel Debugger: Serial port found: COM%ld (Port 0x%p) BaudRate %ld\r\n\r\n",
                 ComPortNumber,
                 PortInformation->Address,
                 PortInformation->BaudRate);