https://git.reactos.org/?p=reactos.git;a=commitdiff;h=19046a253bc28af7f052e…
commit 19046a253bc28af7f052e35ccd23c723e5620b64
Author: Hervé Poussineau <hpoussin(a)reactos.org>
AuthorDate: Sun Sep 22 21:40:00 2024 +0200
Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)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: