From 19046a253bc28af7f052e35ccd23c723e5620b64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Sun, 22 Sep 2024 21:40:00 +0200 Subject: [PATCH] [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: