From 38814b24c9534bd92617ff477f8b3014511868f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 20 Dec 2015 02:53:30 +0000 Subject: [PATCH] [NTOS:KDBG]: Sync back the code that I copied in FreeLdr (r70403) for COM port selection. svn path=/trunk/; revision=70404 --- reactos/ntoskrnl/kd/i386/kdbg.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/reactos/ntoskrnl/kd/i386/kdbg.c b/reactos/ntoskrnl/kd/i386/kdbg.c index eef683623c3..11c9efeede8 100644 --- a/reactos/ntoskrnl/kd/i386/kdbg.c +++ b/reactos/ntoskrnl/kd/i386/kdbg.c @@ -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; } }