From 27745ceebb950edca7a84761a1f8a0fd0768bc39 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Fri, 15 Nov 2024 14:36:42 +0100 Subject: Added support for RDMSR, just in case --- src/emu/x64run0f.c | 7 +++++++ src/tools/my_cpuid.c | 1 + 2 files changed, 8 insertions(+) (limited to 'src') diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c index 0364f4e9..bac642b3 100644 --- a/src/emu/x64run0f.c +++ b/src/emu/x64run0f.c @@ -386,6 +386,13 @@ uintptr_t Run0F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step) R_RDX = tmp64u>>32; R_RAX = tmp64u&0xFFFFFFFF; break; + case 0x32: /* RDMSR */ + // priviledge instruction + #ifndef TEST_INTERPRETER + emit_signal(emu, SIGSEGV, (void*)R_RIP, 0xbad0); + STEP; + #endif + break; case 0x34: /* SYSENTER */ #ifndef TEST_INTERPRETER diff --git a/src/tools/my_cpuid.c b/src/tools/my_cpuid.c index 9a65f677..967d0585 100644 --- a/src/tools/my_cpuid.c +++ b/src/tools/my_cpuid.c @@ -249,6 +249,7 @@ void my_cpuid(x64emu_t* emu, uint32_t tmp32u) R_EDX = 1 // fpu | 1<<2 // debugging extension | 1<<4 // rdtsc + | 1<<5 // msr | 1<<8 // cmpxchg8 | 1<<11 // sep (sysenter & sysexit) | 1<<15 // cmov -- cgit 1.4.1