diff --git a/src/cpu_common/cpu.c b/src/cpu_common/cpu.c index bff70e6b1..c77e02ca4 100644 --- a/src/cpu_common/cpu.c +++ b/src/cpu_common/cpu.c @@ -2779,14 +2779,20 @@ void cpu_RDMSR() if (machines[machine].cpu[cpu_manufacturer].cpus[cpu].cpu_type == CPU_PENTIUMPRO) goto i686_invalid_rdmsr; EAX &= 0xFFFF0000; EAX |= cs_msr; + EDX = 0x00000000; break; case 0x175: if (machines[machine].cpu[cpu_manufacturer].cpus[cpu].cpu_type == CPU_PENTIUMPRO) goto i686_invalid_rdmsr; EAX = esp_msr; + EDX = 0x00000000; break; case 0x176: if (machines[machine].cpu[cpu_manufacturer].cpus[cpu].cpu_type == CPU_PENTIUMPRO) goto i686_invalid_rdmsr; EAX = eip_msr; + EDX = 0x00000000; + break; + case 0x179: + EAX = EDX = 0x00000000; break; case 0x186: EAX = ecx186_msr & 0xffffffff; @@ -3212,6 +3218,8 @@ void cpu_WRMSR() if (machines[machine].cpu[cpu_manufacturer].cpus[cpu_effective].cpu_type == CPU_PENTIUMPRO) goto i686_invalid_wrmsr; eip_msr = EAX; break; + case 0x179: + break; case 0x186: ecx186_msr = EAX | ((uint64_t)EDX << 32); break;