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: