https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5d78952024da9cae29c7b1ecb545ead6ae0c20b4

commit 5d78952024da9cae29c7b1ecb545ead6ae0c20b4
Author:     Hermès Bélusca-Maïto <hermes.belusca-ma...@reactos.org>
AuthorDate: Sun Sep 29 20:45:25 2024 +0200
Commit:     Hermès Bélusca-Maïto <hermes.belusca-ma...@reactos.org>
CommitDate: Tue Jan 28 22:00:34 2025 +0100

    [NTOS:KD64] Simplify some code in debugging helpers
---
 ntoskrnl/include/internal/kd64.h |  4 ++--
 ntoskrnl/kd64/amd64/kdx64.c      |  8 +++----
 ntoskrnl/kd64/arm/kdarm.c        |  4 ++--
 ntoskrnl/kd64/i386/kdx86.c       | 50 ++++++++++++++++++----------------------
 ntoskrnl/kd64/kdapi.c            | 18 +++++----------
 5 files changed, 36 insertions(+), 48 deletions(-)

diff --git a/ntoskrnl/include/internal/kd64.h b/ntoskrnl/include/internal/kd64.h
index 060832423ba..d9be3e72cc3 100644
--- a/ntoskrnl/include/internal/kd64.h
+++ b/ntoskrnl/include/internal/kd64.h
@@ -401,13 +401,13 @@ NTSTATUS
 NTAPI
 KdpSysReadMsr(
     _In_ ULONG Msr,
-    _Out_ PLARGE_INTEGER MsrValue);
+    _Out_ PULONGLONG MsrValue);
 
 NTSTATUS
 NTAPI
 KdpSysWriteMsr(
     _In_ ULONG Msr,
-    _In_ PLARGE_INTEGER MsrValue);
+    _In_ PULONGLONG MsrValue);
 
 //
 // Bus
diff --git a/ntoskrnl/kd64/amd64/kdx64.c b/ntoskrnl/kd64/amd64/kdx64.c
index b403bfa5918..c19505f634a 100644
--- a/ntoskrnl/kd64/amd64/kdx64.c
+++ b/ntoskrnl/kd64/amd64/kdx64.c
@@ -95,12 +95,12 @@ NTSTATUS
 NTAPI
 KdpSysReadMsr(
     _In_ ULONG Msr,
-    _Out_ PLARGE_INTEGER MsrValue)
+    _Out_ PULONGLONG MsrValue)
 {
     /* Use SEH to protect from invalid MSRs */
     _SEH2_TRY
     {
-        MsrValue->QuadPart = __readmsr(Msr);
+        *MsrValue = __readmsr(Msr);
     }
     _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
     {
@@ -115,12 +115,12 @@ NTSTATUS
 NTAPI
 KdpSysWriteMsr(
     _In_ ULONG Msr,
-    _In_ PLARGE_INTEGER MsrValue)
+    _In_ PULONGLONG MsrValue)
 {
     /* Use SEH to protect from invalid MSRs */
     _SEH2_TRY
     {
-        __writemsr(Msr, MsrValue->QuadPart);
+        __writemsr(Msr, *MsrValue);
     }
     _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
     {
diff --git a/ntoskrnl/kd64/arm/kdarm.c b/ntoskrnl/kd64/arm/kdarm.c
index e322726c548..5a8674046a0 100644
--- a/ntoskrnl/kd64/arm/kdarm.c
+++ b/ntoskrnl/kd64/arm/kdarm.c
@@ -37,7 +37,7 @@ NTSTATUS
 NTAPI
 KdpSysReadMsr(
     _In_ ULONG Msr,
-    _Out_ PLARGE_INTEGER MsrValue)
+    _Out_ PULONGLONG MsrValue)
 {
     UNIMPLEMENTED;
     return STATUS_UNSUCCESSFUL;
@@ -47,7 +47,7 @@ NTSTATUS
 NTAPI
 KdpSysWriteMsr(
     _In_ ULONG Msr,
-    _In_ PLARGE_INTEGER MsrValue)
+    _In_ PULONGLONG MsrValue)
 {
     UNIMPLEMENTED;
     return STATUS_UNSUCCESSFUL;
diff --git a/ntoskrnl/kd64/i386/kdx86.c b/ntoskrnl/kd64/i386/kdx86.c
index 64736cc8ef6..8fc77ebcf6e 100644
--- a/ntoskrnl/kd64/i386/kdx86.c
+++ b/ntoskrnl/kd64/i386/kdx86.c
@@ -93,22 +93,19 @@ NTSTATUS
 NTAPI
 KdpSysReadMsr(
     _In_ ULONG Msr,
-    _Out_ PLARGE_INTEGER MsrValue)
+    _Out_ PULONGLONG MsrValue)
 {
-    /* Wrap this in SEH in case the MSR doesn't exist */
+    /* Use SEH to protect from invalid MSRs */
     _SEH2_TRY
     {
-        /* Read from the MSR */
-        MsrValue->QuadPart = __readmsr(Msr);
+        *MsrValue = __readmsr(Msr);
     }
     _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
     {
-        /* Invalid MSR */
         _SEH2_YIELD(return STATUS_NO_SUCH_DEVICE);
     }
     _SEH2_END;
 
-    /* Success */
     return STATUS_SUCCESS;
 }
 
@@ -116,22 +113,19 @@ NTSTATUS
 NTAPI
 KdpSysWriteMsr(
     _In_ ULONG Msr,
-    _In_ PLARGE_INTEGER MsrValue)
+    _In_ PULONGLONG MsrValue)
 {
-    /* Wrap this in SEH in case the MSR doesn't exist */
+    /* Use SEH to protect from invalid MSRs */
     _SEH2_TRY
     {
-        /* Write to the MSR */
-        __writemsr(Msr, MsrValue->QuadPart);
+        __writemsr(Msr, *MsrValue);
     }
     _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
     {
-        /* Invalid MSR */
         _SEH2_YIELD(return STATUS_NO_SUCH_DEVICE);
     }
     _SEH2_END;
 
-    /* Success */
     return STATUS_SUCCESS;
 }
 
@@ -155,7 +149,7 @@ KdpSysReadBusData(
                                           Length);
 
     /* Return status */
-    return *ActualLength != 0 ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL;
+    return (*ActualLength != 0 ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL);
 }
 
 NTSTATUS
@@ -178,7 +172,7 @@ KdpSysWriteBusData(
                                           Length);
 
     /* Return status */
-    return *ActualLength != 0 ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL;
+    return (*ActualLength != 0 ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL);
 }
 
 NTSTATUS
@@ -272,9 +266,7 @@ KdpSysReadIoSpace(
     NTSTATUS Status;
 
     /* Verify parameters */
-    if ((InterfaceType != Isa) ||
-        (BusNumber != 0) ||
-        (AddressSpace != 1))
+    if ((InterfaceType != Isa) || (BusNumber != 0) || (AddressSpace != 1))
     {
         /* Fail, we don't support this */
         *ActualDataSize = 0;
@@ -285,16 +277,17 @@ KdpSysReadIoSpace(
     switch (DataSize)
     {
         case sizeof(UCHAR):
-
+        {
             /* Read 1 byte */
             *(PUCHAR)DataValue =
                 READ_PORT_UCHAR((PUCHAR)(ULONG_PTR)IoAddress);
             *ActualDataSize = sizeof(UCHAR);
             Status = STATUS_SUCCESS;
             break;
+        }
 
         case sizeof(USHORT):
-
+        {
             /* Make sure the address is aligned */
             if ((IoAddress & (sizeof(USHORT) - 1)) != 0)
             {
@@ -310,9 +303,10 @@ KdpSysReadIoSpace(
             *ActualDataSize = sizeof(USHORT);
             Status = STATUS_SUCCESS;
             break;
+        }
 
         case sizeof(ULONG):
-
+        {
             /* Make sure the address is aligned */
             if ((IoAddress & (sizeof(ULONG) - 1)) != 0)
             {
@@ -328,9 +322,9 @@ KdpSysReadIoSpace(
             *ActualDataSize = sizeof(ULONG);
             Status = STATUS_SUCCESS;
             break;
+        }
 
         default:
-
             /* Invalid size, fail */
             *ActualDataSize = 0;
             Status = STATUS_INVALID_PARAMETER;
@@ -354,9 +348,7 @@ KdpSysWriteIoSpace(
     NTSTATUS Status;
 
     /* Verify parameters */
-    if ((InterfaceType != Isa) ||
-        (BusNumber != 0) ||
-        (AddressSpace != 1))
+    if ((InterfaceType != Isa) || (BusNumber != 0) || (AddressSpace != 1))
     {
         /* Fail, we don't support this */
         *ActualDataSize = 0;
@@ -367,16 +359,17 @@ KdpSysWriteIoSpace(
     switch (DataSize)
     {
         case sizeof(UCHAR):
-
+        {
             /* Write 1 byte */
             WRITE_PORT_UCHAR((PUCHAR)(ULONG_PTR)IoAddress,
                              *(PUCHAR)DataValue);
             *ActualDataSize = sizeof(UCHAR);
             Status = STATUS_SUCCESS;
             break;
+        }
 
         case sizeof(USHORT):
-
+        {
             /* Make sure the address is aligned */
             if ((IoAddress & (sizeof(USHORT) - 1)) != 0)
             {
@@ -392,9 +385,10 @@ KdpSysWriteIoSpace(
             *ActualDataSize = sizeof(USHORT);
             Status = STATUS_SUCCESS;
             break;
+        }
 
         case sizeof(ULONG):
-
+        {
             /* Make sure the address is aligned */
             if ((IoAddress & (sizeof(ULONG) - 1)) != 0)
             {
@@ -410,9 +404,9 @@ KdpSysWriteIoSpace(
             *ActualDataSize = sizeof(ULONG);
             Status = STATUS_SUCCESS;
             break;
+        }
 
         default:
-
             /* Invalid size, fail */
             *ActualDataSize = 0;
             Status = STATUS_INVALID_PARAMETER;
diff --git a/ntoskrnl/kd64/kdapi.c b/ntoskrnl/kd64/kdapi.c
index bd27655346b..ba226ce6e17 100644
--- a/ntoskrnl/kd64/kdapi.c
+++ b/ntoskrnl/kd64/kdapi.c
@@ -961,7 +961,7 @@ KdpReadMachineSpecificRegister(IN PDBGKD_MANIPULATE_STATE64 
State,
 {
     STRING Header;
     PDBGKD_READ_WRITE_MSR ReadMsr = &State->u.ReadWriteMsr;
-    LARGE_INTEGER MsrValue;
+    ULARGE_INTEGER MsrValue;
 
     /* Setup the header */
     Header.Length = sizeof(DBGKD_MANIPULATE_STATE64);
@@ -969,8 +969,7 @@ KdpReadMachineSpecificRegister(IN PDBGKD_MANIPULATE_STATE64 
State,
     ASSERT(Data->Length == 0);
 
     /* Call the internal routine */
-    State->ReturnStatus = KdpSysReadMsr(ReadMsr->Msr,
-                                        &MsrValue);
+    State->ReturnStatus = KdpSysReadMsr(ReadMsr->Msr, &MsrValue.QuadPart);
 
     /* Return the data */
     ReadMsr->DataValueLow = MsrValue.LowPart;
@@ -991,7 +990,7 @@ KdpWriteMachineSpecificRegister(IN 
PDBGKD_MANIPULATE_STATE64 State,
 {
     STRING Header;
     PDBGKD_READ_WRITE_MSR WriteMsr = &State->u.ReadWriteMsr;
-    LARGE_INTEGER MsrValue;
+    ULARGE_INTEGER MsrValue;
 
     /* Setup the header */
     Header.Length = sizeof(DBGKD_MANIPULATE_STATE64);
@@ -1001,8 +1000,7 @@ KdpWriteMachineSpecificRegister(IN 
PDBGKD_MANIPULATE_STATE64 State,
     /* Call the internal routine */
     MsrValue.LowPart = WriteMsr->DataValueLow;
     MsrValue.HighPart = WriteMsr->DataValueHigh;
-    State->ReturnStatus = KdpSysWriteMsr(WriteMsr->Msr,
-                                         &MsrValue);
+    State->ReturnStatus = KdpSysWriteMsr(WriteMsr->Msr, &MsrValue.QuadPart);
 
     /* Send the reply */
     KdSendPacket(PACKET_TYPE_KD_STATE_MANIPULATE,
@@ -1062,7 +1060,6 @@ KdpSetBusData(IN PDBGKD_MANIPULATE_STATE64 State,
 {
     STRING Header;
     PDBGKD_GET_SET_BUS_DATA SetBusData = &State->u.GetSetBusData;
-    ULONG Length;
 
     /* Setup the header */
     Header.Length = sizeof(DBGKD_MANIPULATE_STATE64);
@@ -1075,10 +1072,7 @@ KdpSetBusData(IN PDBGKD_MANIPULATE_STATE64 State,
                                              SetBusData->Offset,
                                              Data->Buffer,
                                              SetBusData->Length,
-                                             &Length);
-
-    /* Return the actual length written */
-    SetBusData->Length = Length;
+                                             &SetBusData->Length);
 
     /* Send the reply */
     KdSendPacket(PACKET_TYPE_KD_STATE_MANIPULATE,
@@ -1926,7 +1920,7 @@ KdEnterDebugger(IN PKTRAP_FRAME TrapFrame,
     /* Freeze all CPUs, raising also the IRQL to HIGH_LEVEL */
     Enable = KeFreezeExecution(TrapFrame, ExceptionFrame);
 
-    /* Lock the port, save the state and set debugger entered */
+    /* Lock the port, save its state and set the debugger entered flag */
     KdpPortLocked = KeTryToAcquireSpinLockAtDpcLevel(&KdpDebuggerLock);
     KdSave(FALSE);
     KdEnteredDebugger = TRUE;

Reply via email to