rdmsr should fault if called with the register not supported by CPU. But until we want to support the full range of CPU specific registers returning zero is probably a better fallback.
Signed-off-by: Paul Gofman pgofman@codeweavers.com --- dlls/ntoskrnl.exe/instr.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/instr.c b/dlls/ntoskrnl.exe/instr.c index 68140c09ef..44f2ed4f51 100644 --- a/dlls/ntoskrnl.exe/instr.c +++ b/dlls/ntoskrnl.exe/instr.c @@ -815,7 +815,11 @@ static DWORD emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context ) context->Rax = (ULONG)syscall_address; break; } - default: return ExceptionContinueSearch; + default: + FIXME("reg %#x, returning 0.\n", reg); + context->Rdx = 0; + context->Rax = 0; + break; } context->Rip += prefixlen + 2; return ExceptionContinueExecution;