about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64run0f.c7
-rw-r--r--src/tools/my_cpuid.c1
2 files changed, 8 insertions, 0 deletions
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