Initial submission of the PCem-Experimental source code.

This commit is contained in:
OBattler
2016-06-26 00:34:39 +02:00
parent 09d7c4384f
commit fd2a5bc9f5
610 changed files with 184352 additions and 0 deletions

30
src/x86_ops_msr.h Normal file
View File

@@ -0,0 +1,30 @@
static int opRDTSC(uint32_t fetchdat)
{
if (!cpu_hasrdtsc)
{
cpu_state.pc = oldpc;
x86illegal();
return 1;
}
if ((cr4 & CR4_TSD) && CPL)
{
x86gpf("RDTSC when TSD set and CPL != 0", 0);
return 1;
}
EAX = tsc & 0xffffffff;
EDX = tsc >> 32;
CLOCK_CYCLES(1);
return 0;
}
static int opRDPMC(uint32_t fetchdat)
{
if (ECX > 1 || (!(cr4 & CR4_PCE) && (cr0 & 1) && CPL))
{
x86gpf("RDPMC not allowed", 0);
return 1;
}
EAX = EDX = 0;
CLOCK_CYCLES(1);
return 0;
}