Paul Gofman : ntoskrnl.exe: Return zero for unknown msr registers.
Module: wine Branch: master Commit: 6ceb6c7f47c225c117dd514ffdb15a0cb4317753 URL: https://source.winehq.org/git/wine.git/?a=commit;h=6ceb6c7f47c225c117dd514ff... Author: Paul Gofman <pgofman(a)codeweavers.com> Date: Mon May 25 11:19:30 2020 +0300 ntoskrnl.exe: Return zero for unknown msr registers. 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(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- 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;
participants (1)
-
Alexandre Julliard