cleanup cpu.h of x86
This commit is contained in:
parent
6b457f23ba
commit
d685bedac4
@ -1352,8 +1352,6 @@ void do_interrupt_x86_hardirq(CPUX86State *env, int intno, int is_hw);
|
|||||||
|
|
||||||
void do_smm_enter(X86CPU *cpu);
|
void do_smm_enter(X86CPU *cpu);
|
||||||
|
|
||||||
void cpu_report_tpr_access(CPUX86State *env, TPRAccess access);
|
|
||||||
|
|
||||||
void x86_cpu_compat_set_features(const char *cpu_model, FeatureWord w,
|
void x86_cpu_compat_set_features(const char *cpu_model, FeatureWord w,
|
||||||
uint32_t feat_add, uint32_t feat_remove);
|
uint32_t feat_add, uint32_t feat_remove);
|
||||||
|
|
||||||
|
@ -50,132 +50,6 @@ int cpu_x86_support_mca_broadcast(CPUX86State *env)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************/
|
|
||||||
/* x86 debug */
|
|
||||||
|
|
||||||
static const char *cc_op_str[CC_OP_NB] = {
|
|
||||||
"DYNAMIC",
|
|
||||||
"EFLAGS",
|
|
||||||
|
|
||||||
"MULB",
|
|
||||||
"MULW",
|
|
||||||
"MULL",
|
|
||||||
"MULQ",
|
|
||||||
|
|
||||||
"ADDB",
|
|
||||||
"ADDW",
|
|
||||||
"ADDL",
|
|
||||||
"ADDQ",
|
|
||||||
|
|
||||||
"ADCB",
|
|
||||||
"ADCW",
|
|
||||||
"ADCL",
|
|
||||||
"ADCQ",
|
|
||||||
|
|
||||||
"SUBB",
|
|
||||||
"SUBW",
|
|
||||||
"SUBL",
|
|
||||||
"SUBQ",
|
|
||||||
|
|
||||||
"SBBB",
|
|
||||||
"SBBW",
|
|
||||||
"SBBL",
|
|
||||||
"SBBQ",
|
|
||||||
|
|
||||||
"LOGICB",
|
|
||||||
"LOGICW",
|
|
||||||
"LOGICL",
|
|
||||||
"LOGICQ",
|
|
||||||
|
|
||||||
"INCB",
|
|
||||||
"INCW",
|
|
||||||
"INCL",
|
|
||||||
"INCQ",
|
|
||||||
|
|
||||||
"DECB",
|
|
||||||
"DECW",
|
|
||||||
"DECL",
|
|
||||||
"DECQ",
|
|
||||||
|
|
||||||
"SHLB",
|
|
||||||
"SHLW",
|
|
||||||
"SHLL",
|
|
||||||
"SHLQ",
|
|
||||||
|
|
||||||
"SARB",
|
|
||||||
"SARW",
|
|
||||||
"SARL",
|
|
||||||
"SARQ",
|
|
||||||
|
|
||||||
"BMILGB",
|
|
||||||
"BMILGW",
|
|
||||||
"BMILGL",
|
|
||||||
"BMILGQ",
|
|
||||||
|
|
||||||
"ADCX",
|
|
||||||
"ADOX",
|
|
||||||
"ADCOX",
|
|
||||||
|
|
||||||
"CLR",
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
|
||||||
cpu_x86_dump_seg_cache(CPUX86State *env, FILE *f, fprintf_function cpu_fprintf,
|
|
||||||
const char *name, struct SegmentCache *sc)
|
|
||||||
{
|
|
||||||
#ifdef TARGET_X86_64
|
|
||||||
if (env->hflags & HF_CS64_MASK) {
|
|
||||||
cpu_fprintf(f, "%-3s=%04x %016" PRIx64 " %08x %08x", name,
|
|
||||||
sc->selector, sc->base, sc->limit, sc->flags & 0x00ffff00);
|
|
||||||
} else
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
cpu_fprintf(f, "%-3s=%04x %08x %08x %08x", name, sc->selector,
|
|
||||||
(uint32_t)sc->base, sc->limit, sc->flags & 0x00ffff00);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(env->hflags & HF_PE_MASK) || !(sc->flags & DESC_P_MASK))
|
|
||||||
goto done;
|
|
||||||
|
|
||||||
cpu_fprintf(f, " DPL=%d ", (sc->flags & DESC_DPL_MASK) >> DESC_DPL_SHIFT);
|
|
||||||
if (sc->flags & DESC_S_MASK) {
|
|
||||||
if (sc->flags & DESC_CS_MASK) {
|
|
||||||
cpu_fprintf(f, (sc->flags & DESC_L_MASK) ? "CS64" :
|
|
||||||
((sc->flags & DESC_B_MASK) ? "CS32" : "CS16"));
|
|
||||||
cpu_fprintf(f, " [%c%c", (sc->flags & DESC_C_MASK) ? 'C' : '-',
|
|
||||||
(sc->flags & DESC_R_MASK) ? 'R' : '-');
|
|
||||||
} else {
|
|
||||||
cpu_fprintf(f,
|
|
||||||
(sc->flags & DESC_B_MASK || env->hflags & HF_LMA_MASK)
|
|
||||||
? "DS " : "DS16");
|
|
||||||
cpu_fprintf(f, " [%c%c", (sc->flags & DESC_E_MASK) ? 'E' : '-',
|
|
||||||
(sc->flags & DESC_W_MASK) ? 'W' : '-');
|
|
||||||
}
|
|
||||||
cpu_fprintf(f, "%c]", (sc->flags & DESC_A_MASK) ? 'A' : '-');
|
|
||||||
} else {
|
|
||||||
static const char *sys_type_name[2][16] = {
|
|
||||||
{ /* 32 bit mode */
|
|
||||||
"Reserved", "TSS16-avl", "LDT", "TSS16-busy",
|
|
||||||
"CallGate16", "TaskGate", "IntGate16", "TrapGate16",
|
|
||||||
"Reserved", "TSS32-avl", "Reserved", "TSS32-busy",
|
|
||||||
"CallGate32", "Reserved", "IntGate32", "TrapGate32"
|
|
||||||
},
|
|
||||||
{ /* 64 bit mode */
|
|
||||||
"<hiword>", "Reserved", "LDT", "Reserved", "Reserved",
|
|
||||||
"Reserved", "Reserved", "Reserved", "Reserved",
|
|
||||||
"TSS64-avl", "Reserved", "TSS64-busy", "CallGate64",
|
|
||||||
"Reserved", "IntGate64", "TrapGate64"
|
|
||||||
}
|
|
||||||
};
|
|
||||||
cpu_fprintf(f, "%s",
|
|
||||||
sys_type_name[(env->hflags & HF_LMA_MASK) ? 1 : 0]
|
|
||||||
[(sc->flags & DESC_TYPE_MASK)
|
|
||||||
>> DESC_TYPE_SHIFT]);
|
|
||||||
}
|
|
||||||
done:
|
|
||||||
cpu_fprintf(f, "\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************/
|
/***********************************************************/
|
||||||
/* x86 mmu */
|
/* x86 mmu */
|
||||||
/* XXX: add PGE support */
|
/* XXX: add PGE support */
|
||||||
@ -846,29 +720,6 @@ void breakpoint_handler(CPUState *cs)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef struct MCEInjectionParams {
|
|
||||||
X86CPU *cpu;
|
|
||||||
int bank;
|
|
||||||
uint64_t status;
|
|
||||||
uint64_t mcg_status;
|
|
||||||
uint64_t addr;
|
|
||||||
uint64_t misc;
|
|
||||||
int flags;
|
|
||||||
} MCEInjectionParams;
|
|
||||||
|
|
||||||
void cpu_report_tpr_access(CPUX86State *env, TPRAccess access)
|
|
||||||
{
|
|
||||||
X86CPU *cpu = x86_env_get_cpu(env);
|
|
||||||
CPUState *cs = CPU(cpu);
|
|
||||||
|
|
||||||
cpu_restore_state(cs, cs->mem_io_pc);
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* do nothing */
|
|
||||||
apic_handle_tpr_access_report(cpu->apic_state, env->eip, access);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
#endif /* !CONFIG_USER_ONLY */
|
#endif /* !CONFIG_USER_ONLY */
|
||||||
|
|
||||||
int cpu_x86_get_descr_debug(CPUX86State *env, unsigned int selector,
|
int cpu_x86_get_descr_debug(CPUX86State *env, unsigned int selector,
|
||||||
|
Loading…
Reference in New Issue
Block a user