Applied the remaining mainline PCem commits.
This commit is contained in:
@@ -91,6 +91,7 @@ int cpu_hasrdtsc;
|
||||
int cpu_hasMMX, cpu_hasMSR;
|
||||
int cpu_hasCR4;
|
||||
int cpu_use_dynarec;
|
||||
int cpu_cyrix_alignment;
|
||||
|
||||
int hasfpu;
|
||||
|
||||
@@ -152,6 +153,7 @@ int timing_iret_rm, timing_iret_v86, timing_iret_pm, timing_iret_pm_outer;
|
||||
int timing_call_rm, timing_call_pm, timing_call_pm_gate, timing_call_pm_gate_inner;
|
||||
int timing_retf_rm, timing_retf_pm, timing_retf_pm_outer;
|
||||
int timing_jmp_rm, timing_jmp_pm, timing_jmp_pm_gate;
|
||||
int timing_misaligned;
|
||||
|
||||
static struct
|
||||
{
|
||||
@@ -203,6 +205,15 @@ CPU cpus_pcjr[] =
|
||||
{"", -1, 0, 0, 0, 0, 0,0,0,0}
|
||||
};
|
||||
|
||||
CPU cpus_europc[] =
|
||||
{
|
||||
/*8088 EuroPC*/
|
||||
{"8088/4.77", CPU_8088, 0, 4772728, 1, 0, 0, 0, 0, 0, 0,0,0,0},
|
||||
{"8088/7.16", CPU_8088, 1, 14318184/2, 1, 0, 0, 0, 0, 0, 0,0,0,0},
|
||||
{"8088/9.54", CPU_8088, 1, 4772728*2, 1, 0, 0, 0, 0, 0, 0,0,0,0},
|
||||
{"", -1, 0, 0, 0, 0}
|
||||
};
|
||||
|
||||
CPU cpus_8086[] =
|
||||
{
|
||||
/*8086 standard*/
|
||||
@@ -746,7 +757,10 @@ void cpu_set()
|
||||
}
|
||||
|
||||
memset(&msr, 0, sizeof(msr));
|
||||
|
||||
|
||||
timing_misaligned = 0;
|
||||
cpu_cyrix_alignment = 0;
|
||||
|
||||
switch (cpu_s->cpu_type)
|
||||
{
|
||||
case CPU_8088:
|
||||
@@ -940,6 +954,7 @@ void cpu_set()
|
||||
timing_jmp_rm = 9;
|
||||
timing_jmp_pm = 26;
|
||||
timing_jmp_pm_gate = 37;
|
||||
timing_misaligned = 3;
|
||||
break;
|
||||
|
||||
case CPU_486DLC:
|
||||
@@ -973,6 +988,7 @@ void cpu_set()
|
||||
timing_jmp_rm = 9;
|
||||
timing_jmp_pm = 26;
|
||||
timing_jmp_pm_gate = 37;
|
||||
timing_misaligned = 3;
|
||||
break;
|
||||
|
||||
case CPU_i486SX:
|
||||
@@ -1006,6 +1022,7 @@ void cpu_set()
|
||||
timing_jmp_rm = 17;
|
||||
timing_jmp_pm = 19;
|
||||
timing_jmp_pm_gate = 32;
|
||||
timing_misaligned = 3;
|
||||
break;
|
||||
|
||||
case CPU_Am486SX:
|
||||
@@ -1040,6 +1057,7 @@ void cpu_set()
|
||||
timing_jmp_rm = 17;
|
||||
timing_jmp_pm = 19;
|
||||
timing_jmp_pm_gate = 32;
|
||||
timing_misaligned = 3;
|
||||
break;
|
||||
|
||||
case CPU_Cx486S:
|
||||
@@ -1073,6 +1091,7 @@ void cpu_set()
|
||||
timing_jmp_rm = 9;
|
||||
timing_jmp_pm = 26;
|
||||
timing_jmp_pm_gate = 37;
|
||||
timing_misaligned = 3;
|
||||
break;
|
||||
|
||||
case CPU_Cx5x86:
|
||||
@@ -1105,6 +1124,8 @@ void cpu_set()
|
||||
timing_jmp_rm = 5;
|
||||
timing_jmp_pm = 7;
|
||||
timing_jmp_pm_gate = 17;
|
||||
timing_misaligned = 2;
|
||||
cpu_cyrix_alignment = 1;
|
||||
break;
|
||||
|
||||
case CPU_WINCHIP:
|
||||
@@ -1143,6 +1164,8 @@ void cpu_set()
|
||||
timing_jmp_pm = 7;
|
||||
timing_jmp_pm_gate = 17;
|
||||
codegen_timing_set(&codegen_timing_winchip);
|
||||
timing_misaligned = 2;
|
||||
cpu_cyrix_alignment = 1;
|
||||
break;
|
||||
|
||||
case CPU_PENTIUM:
|
||||
@@ -1175,6 +1198,7 @@ void cpu_set()
|
||||
timing_jmp_rm = 3;
|
||||
timing_jmp_pm = 3;
|
||||
timing_jmp_pm_gate = 18;
|
||||
timing_misaligned = 3;
|
||||
cpu_hasrdtsc = 1;
|
||||
msr.fcr = (1 << 8) | (1 << 9) | (1 << 12) | (1 << 16) | (1 << 19) | (1 << 21);
|
||||
cpu_hasMMX = 0;
|
||||
@@ -1214,6 +1238,7 @@ void cpu_set()
|
||||
timing_jmp_rm = 3;
|
||||
timing_jmp_pm = 3;
|
||||
timing_jmp_pm_gate = 18;
|
||||
timing_misaligned = 3;
|
||||
cpu_hasrdtsc = 1;
|
||||
msr.fcr = (1 << 8) | (1 << 9) | (1 << 12) | (1 << 16) | (1 << 19) | (1 << 21);
|
||||
cpu_hasMMX = 1;
|
||||
@@ -1252,6 +1277,8 @@ void cpu_set()
|
||||
timing_jmp_rm = 1;
|
||||
timing_jmp_pm = 4;
|
||||
timing_jmp_pm_gate = 14;
|
||||
timing_misaligned = 2;
|
||||
cpu_cyrix_alignment = 1;
|
||||
cpu_hasrdtsc = 1;
|
||||
msr.fcr = (1 << 8) | (1 << 9) | (1 << 12) | (1 << 16) | (1 << 19) | (1 << 21);
|
||||
cpu_hasMMX = 0;
|
||||
@@ -1290,6 +1317,8 @@ void cpu_set()
|
||||
timing_jmp_rm = 1;
|
||||
timing_jmp_pm = 4;
|
||||
timing_jmp_pm_gate = 14;
|
||||
timing_misaligned = 2;
|
||||
cpu_cyrix_alignment = 1;
|
||||
cpu_hasrdtsc = 1;
|
||||
msr.fcr = (1 << 8) | (1 << 9) | (1 << 12) | (1 << 16) | (1 << 19) | (1 << 21);
|
||||
cpu_hasMMX = 0;
|
||||
@@ -1311,6 +1340,8 @@ void cpu_set()
|
||||
timing_mml = 2;
|
||||
timing_bt = 5-1; /*branch taken*/
|
||||
timing_bnt = 1; /*branch not taken*/
|
||||
timing_misaligned = 2;
|
||||
cpu_cyrix_alignment = 1;
|
||||
cpu_hasrdtsc = 1;
|
||||
msr.fcr = (1 << 8) | (1 << 9) | (1 << 12) | (1 << 16) | (1 << 19) | (1 << 21);
|
||||
cpu_hasMMX = 0;
|
||||
@@ -1362,6 +1393,8 @@ void cpu_set()
|
||||
timing_jmp_rm = 1;
|
||||
timing_jmp_pm = 4;
|
||||
timing_jmp_pm_gate = 14;
|
||||
timing_misaligned = 2;
|
||||
cpu_cyrix_alignment = 1;
|
||||
cpu_hasrdtsc = 1;
|
||||
msr.fcr = (1 << 8) | (1 << 9) | (1 << 12) | (1 << 16) | (1 << 19) | (1 << 21);
|
||||
cpu_hasMMX = 1;
|
||||
@@ -1384,6 +1417,7 @@ void cpu_set()
|
||||
timing_mml = 3;
|
||||
timing_bt = 0; /*branch taken*/
|
||||
timing_bnt = 1; /*branch not taken*/
|
||||
timing_misaligned = 3;
|
||||
cpu_hasrdtsc = 1;
|
||||
msr.fcr = (1 << 8) | (1 << 9) | (1 << 12) | (1 << 16) | (1 << 19) | (1 << 21);
|
||||
cpu_hasMMX = 1;
|
||||
@@ -1403,6 +1437,7 @@ void cpu_set()
|
||||
timing_mml = 3;
|
||||
timing_bt = 0; /*branch taken*/
|
||||
timing_bnt = 1; /*branch not taken*/
|
||||
timing_misaligned = 3;
|
||||
cpu_hasrdtsc = 1;
|
||||
msr.fcr = (1 << 8) | (1 << 9) | (1 << 12) | (1 << 16) | (1 << 19) | (1 << 21);
|
||||
cpu_hasMMX = 1;
|
||||
@@ -1435,6 +1470,7 @@ void cpu_set()
|
||||
timing_mml = 1;
|
||||
timing_bt = 0; /*branch taken*/
|
||||
timing_bnt = 1; /*branch not taken*/
|
||||
timing_misaligned = 3;
|
||||
cpu_hasrdtsc = 1;
|
||||
msr.fcr = (1 << 8) | (1 << 9) | (1 << 12) | (1 << 16) | (1 << 19) | (1 << 21);
|
||||
cpu_hasMMX = 0;
|
||||
@@ -1468,6 +1504,7 @@ void cpu_set()
|
||||
timing_mml = 1;
|
||||
timing_bt = 0; /*branch taken*/
|
||||
timing_bnt = 1; /*branch not taken*/
|
||||
timing_misaligned = 3;
|
||||
cpu_hasrdtsc = 1;
|
||||
msr.fcr = (1 << 8) | (1 << 9) | (1 << 12) | (1 << 16) | (1 << 19) | (1 << 21);
|
||||
cpu_hasMMX = 1;
|
||||
@@ -1501,6 +1538,7 @@ void cpu_set()
|
||||
timing_mml = 1;
|
||||
timing_bt = 0; /*branch taken*/
|
||||
timing_bnt = 1; /*branch not taken*/
|
||||
timing_misaligned = 3;
|
||||
cpu_hasrdtsc = 1;
|
||||
msr.fcr = (1 << 8) | (1 << 9) | (1 << 12) | (1 << 16) | (1 << 19) | (1 << 21);
|
||||
cpu_hasMMX = 1;
|
||||
|
||||
Reference in New Issue
Block a user