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 cpu_report_tpr_access(CPUX86State *env, TPRAccess access);
|
||||
|
||||
void x86_cpu_compat_set_features(const char *cpu_model, FeatureWord w,
|
||||
uint32_t feat_add, uint32_t feat_remove);
|
||||
|
||||
|
@ -50,132 +50,6 @@ int cpu_x86_support_mca_broadcast(CPUX86State *env)
|
||||
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 */
|
||||
/* 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 */
|
||||
|
||||
int cpu_x86_get_descr_debug(CPUX86State *env, unsigned int selector,
|
||||
|
Loading…
Reference in New Issue
Block a user