https://git.reactos.org/?p=reactos.git;a=commitdiff;h=19046a253bc28af7f052e35ccd23c723e5620b64

commit 19046a253bc28af7f052e35ccd23c723e5620b64
Author:     Hervé Poussineau <hpous...@reactos.org>
AuthorDate: Sun Sep 22 21:40:00 2024 +0200
Commit:     Hermès Bélusca-Maïto <hermes.belusca-ma...@reactos.org>
CommitDate: Tue Jan 28 22:00:46 2025 +0100

    [NTOS:KD64] Implement KdSystemDebugControl: SysDbgReadMsr/SysDbgWriteMsr
---
 ntoskrnl/kd64/kdapi.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/ntoskrnl/kd64/kdapi.c b/ntoskrnl/kd64/kdapi.c
index ed1a74e9ee1..2d900336c24 100644
--- a/ntoskrnl/kd64/kdapi.c
+++ b/ntoskrnl/kd64/kdapi.c
@@ -2485,7 +2485,29 @@ KdSystemDebugControl(
             break;
 
         case SysDbgReadMsr:
+            if (InputBufferLength != sizeof(SYSDBG_MSR))
+            {
+                Status = STATUS_INFO_LENGTH_MISMATCH;
+            }
+            else
+            {
+                PSYSDBG_MSR Request = (PSYSDBG_MSR)InputBuffer;
+                Status = KdpSysReadMsr(Request->Address, &Request->Data);
+            }
+            break;
+
         case SysDbgWriteMsr:
+            if (InputBufferLength != sizeof(SYSDBG_MSR))
+            {
+                Status = STATUS_INFO_LENGTH_MISMATCH;
+            }
+            else
+            {
+                PSYSDBG_MSR Request = (PSYSDBG_MSR)InputBuffer;
+                Status = KdpSysWriteMsr(Request->Address, &Request->Data);
+            }
+            break;
+
         case SysDbgReadBusData:
         case SysDbgWriteBusData:
         case SysDbgCheckLowMemory:

Reply via email to