Fix CPU override feature
This commit is contained in:
@@ -541,6 +541,7 @@ load_machine(void)
|
|||||||
if (machine >= machine_count())
|
if (machine >= machine_count())
|
||||||
machine = machine_count() - 1;
|
machine = machine_count() - 1;
|
||||||
|
|
||||||
|
cpu_override = config_get_int(cat, "cpu_override", 0);
|
||||||
cpu_f = NULL;
|
cpu_f = NULL;
|
||||||
p = config_get_string(cat, "cpu_family", NULL);
|
p = config_get_string(cat, "cpu_family", NULL);
|
||||||
if (p) {
|
if (p) {
|
||||||
@@ -627,7 +628,6 @@ load_machine(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
cpu_s = (CPU *) &cpu_f->cpus[cpu];
|
cpu_s = (CPU *) &cpu_f->cpus[cpu];
|
||||||
cpu_override = config_get_int(cat, "cpu_override", 0);
|
|
||||||
|
|
||||||
cpu_waitstates = config_get_int(cat, "cpu_waitstates", 0);
|
cpu_waitstates = config_get_int(cat, "cpu_waitstates", 0);
|
||||||
|
|
||||||
@@ -1885,7 +1885,7 @@ save_machine(void)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
do {
|
while (cpu_legacy_table[c].tables[legacy_mfg][i].rspeed) {
|
||||||
legacy_table_entry = (cpu_legacy_table_t *) &cpu_legacy_table[c].tables[legacy_mfg][i];
|
legacy_table_entry = (cpu_legacy_table_t *) &cpu_legacy_table[c].tables[legacy_mfg][i];
|
||||||
|
|
||||||
/* Match the family name, speed and multiplier. */
|
/* Match the family name, speed and multiplier. */
|
||||||
@@ -1899,7 +1899,9 @@ save_machine(void)
|
|||||||
closest_legacy_cpu = i;
|
closest_legacy_cpu = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} while (cpu_legacy_table[c].tables[legacy_mfg][++i].family);
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
/* Use the closest speed match if no exact match was found. */
|
/* Use the closest speed match if no exact match was found. */
|
||||||
if ((legacy_cpu == -1) && (closest_legacy_cpu > -1)) {
|
if ((legacy_cpu == -1) && (closest_legacy_cpu > -1)) {
|
||||||
|
|||||||
@@ -1611,40 +1611,40 @@ static const cpu_legacy_table_t cpus_Cyrix3[] = {
|
|||||||
{NULL, 0, 0}
|
{NULL, 0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const cpu_legacy_table_t *cputables_8088[] = {cpus_8088};
|
static const cpu_legacy_table_t *cputables_8088[4] = {cpus_8088};
|
||||||
static const cpu_legacy_table_t *cputables_pcjr[] = {cpus_pcjr};
|
static const cpu_legacy_table_t *cputables_pcjr[4] = {cpus_pcjr};
|
||||||
static const cpu_legacy_table_t *cputables_europc[] = {cpus_europc};
|
static const cpu_legacy_table_t *cputables_europc[4] = {cpus_europc};
|
||||||
static const cpu_legacy_table_t *cputables_pc1512[] = {cpus_pc1512};
|
static const cpu_legacy_table_t *cputables_pc1512[4] = {cpus_pc1512};
|
||||||
static const cpu_legacy_table_t *cputables_8086[] = {cpus_8086};
|
static const cpu_legacy_table_t *cputables_8086[4] = {cpus_8086};
|
||||||
static const cpu_legacy_table_t *cputables_286[] = {cpus_286};
|
static const cpu_legacy_table_t *cputables_286[4] = {cpus_286};
|
||||||
static const cpu_legacy_table_t *cputables_ibmat[] = {cpus_ibmat};
|
static const cpu_legacy_table_t *cputables_ibmat[4] = {cpus_ibmat};
|
||||||
static const cpu_legacy_table_t *cputables_ps1_m2011[] = {cpus_ps1_m2011};
|
static const cpu_legacy_table_t *cputables_ps1_m2011[4] = {cpus_ps1_m2011};
|
||||||
static const cpu_legacy_table_t *cputables_ps2_m30_286_IBM486SLC[] = {cpus_ps2_m30_286, cpus_IBM486SLC};
|
static const cpu_legacy_table_t *cputables_ps2_m30_286_IBM486SLC[4] = {cpus_ps2_m30_286, cpus_IBM486SLC};
|
||||||
static const cpu_legacy_table_t *cputables_ibmxt286[] = {cpus_ibmxt286};
|
static const cpu_legacy_table_t *cputables_ibmxt286[4] = {cpus_ibmxt286};
|
||||||
static const cpu_legacy_table_t *cputables_i386SX_Am386SX_486SLC[] = {cpus_i386SX, cpus_Am386SX, cpus_486SLC};
|
static const cpu_legacy_table_t *cputables_i386SX_Am386SX_486SLC[4] = {cpus_i386SX, cpus_Am386SX, cpus_486SLC};
|
||||||
static const cpu_legacy_table_t *cputables_ALiM6117[] = {cpus_ALiM6117};
|
static const cpu_legacy_table_t *cputables_ALiM6117[4] = {cpus_ALiM6117};
|
||||||
static const cpu_legacy_table_t *cputables_i386SX_Am386SX_486SLC_IBM486SLC[] = {cpus_i386SX, cpus_Am386SX, cpus_486SLC, cpus_IBM486SLC};
|
static const cpu_legacy_table_t *cputables_i386SX_Am386SX_486SLC_IBM486SLC[4] = {cpus_i386SX, cpus_Am386SX, cpus_486SLC, cpus_IBM486SLC};
|
||||||
static const cpu_legacy_table_t *cputables_i386DX_Am386DX_486DLC[] = {cpus_i386DX, cpus_Am386DX, cpus_486DLC};
|
static const cpu_legacy_table_t *cputables_i386DX_Am386DX_486DLC[4] = {cpus_i386DX, cpus_Am386DX, cpus_486DLC};
|
||||||
static const cpu_legacy_table_t *cputables_i386DX_Am386DX_486DLC_IBM486BL[] = {cpus_i386DX, cpus_Am386DX, cpus_486DLC, cpus_IBM486BL};
|
static const cpu_legacy_table_t *cputables_i386DX_Am386DX_486DLC_IBM486BL[4] = {cpus_i386DX, cpus_Am386DX, cpus_486DLC, cpus_IBM486BL};
|
||||||
static const cpu_legacy_table_t *cputables_i486_Am486_Cx486[] = {cpus_i486, cpus_Am486, cpus_Cx486};
|
static const cpu_legacy_table_t *cputables_i486_Am486_Cx486[4] = {cpus_i486, cpus_Am486, cpus_Cx486};
|
||||||
static const cpu_legacy_table_t *cputables_i486S1_Am486S1_Cx486S1[] = {cpus_i486S1, cpus_Am486S1, cpus_Cx486S1};
|
static const cpu_legacy_table_t *cputables_i486S1_Am486S1_Cx486S1[4] = {cpus_i486S1, cpus_Am486S1, cpus_Cx486S1};
|
||||||
static const cpu_legacy_table_t *cputables_IBM486SLC[] = {cpus_IBM486SLC};
|
static const cpu_legacy_table_t *cputables_IBM486SLC[4] = {cpus_IBM486SLC};
|
||||||
static const cpu_legacy_table_t *cputables_i486_PC330[] = {cpus_i486_PC330};
|
static const cpu_legacy_table_t *cputables_i486_PC330[4] = {cpus_i486_PC330};
|
||||||
static const cpu_legacy_table_t *cputables_STPCDX[] = {cpus_STPCDX};
|
static const cpu_legacy_table_t *cputables_STPCDX[4] = {cpus_STPCDX};
|
||||||
static const cpu_legacy_table_t *cputables_STPCDX2[] = {cpus_STPCDX2};
|
static const cpu_legacy_table_t *cputables_STPCDX2[4] = {cpus_STPCDX2};
|
||||||
static const cpu_legacy_table_t *cputables_Pentium5V[] = {cpus_Pentium5V};
|
static const cpu_legacy_table_t *cputables_Pentium5V[4] = {cpus_Pentium5V};
|
||||||
static const cpu_legacy_table_t *cputables_PentiumS5_WinChip_K5[] = {cpus_PentiumS5, cpus_WinChip, cpus_K5};
|
static const cpu_legacy_table_t *cputables_PentiumS5_WinChip_K5[4] = {cpus_PentiumS5, cpus_WinChip, cpus_K5};
|
||||||
static const cpu_legacy_table_t *cputables_Pentium3V_WinChip_K5_6x863V[] = {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V};
|
static const cpu_legacy_table_t *cputables_Pentium3V_WinChip_K5_6x863V[4] = {cpus_Pentium3V, cpus_WinChip, cpus_K5, cpus_6x863V};
|
||||||
static const cpu_legacy_table_t *cputables_Pentium3V_K5[] = {cpus_Pentium3V, cpus_K5};
|
static const cpu_legacy_table_t *cputables_Pentium3V_K5[4] = {cpus_Pentium3V, cpus_K5};
|
||||||
static const cpu_legacy_table_t *cputables_Pentium_WinChip_K56_6x86[] = {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86};
|
static const cpu_legacy_table_t *cputables_Pentium_WinChip_K56_6x86[4] = {cpus_Pentium, cpus_WinChip, cpus_K56, cpus_6x86};
|
||||||
static const cpu_legacy_table_t *cputables_Pentium_WinChip_SS7_K56_SS7_6x86SS7[] = {cpus_Pentium, cpus_WinChip_SS7, cpus_K56_SS7, cpus_6x86SS7};
|
static const cpu_legacy_table_t *cputables_Pentium_WinChip_SS7_K56_SS7_6x86SS7[4] = {cpus_Pentium, cpus_WinChip_SS7, cpus_K56_SS7, cpus_6x86SS7};
|
||||||
static const cpu_legacy_table_t *cputables_PentiumPro[] = {cpus_PentiumPro};
|
static const cpu_legacy_table_t *cputables_PentiumPro[4] = {cpus_PentiumPro};
|
||||||
static const cpu_legacy_table_t *cputables_PentiumII66[] = {cpus_PentiumII66};
|
static const cpu_legacy_table_t *cputables_PentiumII66[4] = {cpus_PentiumII66};
|
||||||
static const cpu_legacy_table_t *cputables_PentiumII_Celeron_Cyrix3[] = {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3};
|
static const cpu_legacy_table_t *cputables_PentiumII_Celeron_Cyrix3[4] = {cpus_PentiumII, cpus_Celeron, cpus_Cyrix3};
|
||||||
static const cpu_legacy_table_t *cputables_Xeon[] = {cpus_Xeon};
|
static const cpu_legacy_table_t *cputables_Xeon[4] = {cpus_Xeon};
|
||||||
static const cpu_legacy_table_t *cputables_Celeron_Cyrix3[] = {cpus_Celeron, cpus_Cyrix3};
|
static const cpu_legacy_table_t *cputables_Celeron_Cyrix3[4] = {cpus_Celeron, cpus_Cyrix3};
|
||||||
static const cpu_legacy_table_t *cputables_Celeron[] = {cpus_Celeron};
|
static const cpu_legacy_table_t *cputables_Celeron[4] = {cpus_Celeron};
|
||||||
static const cpu_legacy_table_t *cputables_PentiumIID_Celeron[] = {cpus_PentiumIID, cpus_Celeron};
|
static const cpu_legacy_table_t *cputables_PentiumIID_Celeron[4] = {cpus_PentiumIID, cpus_Celeron};
|
||||||
|
|
||||||
const cpu_legacy_machine_t cpu_legacy_table[] = {
|
const cpu_legacy_machine_t cpu_legacy_table[] = {
|
||||||
{"ibmpc", cputables_8088},
|
{"ibmpc", cputables_8088},
|
||||||
|
|||||||
Reference in New Issue
Block a user