small fixes

This commit is contained in:
Stanislav Shwartsman 2011-03-19 17:19:41 +00:00
parent 2653ba2fba
commit 1aaf596d79
3 changed files with 27 additions and 24 deletions

View File

@ -707,7 +707,7 @@ void bx_dbg_print_sse_state(void)
if ((isa_extensions_bitmask & BX_CPU_SSE) != 0) { if ((isa_extensions_bitmask & BX_CPU_SSE) != 0) {
Bit32u mxcsr = SIM->get_param_num("SSE.mxcsr", dbg_cpu_list)->get(); Bit32u mxcsr = SIM->get_param_num("SSE.mxcsr", dbg_cpu_list)->get();
dbg_printf("MXCSR: 0x%08x: %s %s RC:%d %s %s %s %s %s %s %s %s %s %s %s %s %s\n", mxcsr, dbg_printf("MXCSR: 0x%05x: %s %s RC:%d %s %s %s %s %s %s %s %s %s %s %s %s %s\n", mxcsr,
(mxcsr & (1<<17)) ? "ULE" : "ule", (mxcsr & (1<<17)) ? "ULE" : "ule",
(mxcsr & (1<<15)) ? "FUZ" : "fuz", (mxcsr & (1<<15)) ? "FUZ" : "fuz",
(mxcsr >> 13) & 3, (mxcsr >> 13) & 3,
@ -731,7 +731,7 @@ void bx_dbg_print_sse_state(void)
Bit64u hi = SIM->get_param_num(param_name, dbg_cpu_list)->get64(); Bit64u hi = SIM->get_param_num(param_name, dbg_cpu_list)->get64();
sprintf(param_name, "SSE.xmm%02d_0", i); sprintf(param_name, "SSE.xmm%02d_0", i);
Bit64u lo = SIM->get_param_num(param_name, dbg_cpu_list)->get64(); Bit64u lo = SIM->get_param_num(param_name, dbg_cpu_list)->get64();
dbg_printf("XMM[%02u]: %08x:%08x:%08x:%08x\n", i, dbg_printf("XMM[%02u]: %08x_%08x_%08x_%08x\n", i,
GET32H(hi), GET32L(hi), GET32H(lo), GET32L(lo)); GET32H(hi), GET32L(hi), GET32H(lo), GET32L(lo));
} }
} }
@ -752,7 +752,7 @@ void bx_dbg_print_mmx_state(void)
for(unsigned i=0;i<8;i++) { for(unsigned i=0;i<8;i++) {
sprintf(param_name, "FPU.st%d.fraction", i); sprintf(param_name, "FPU.st%d.fraction", i);
Bit64u mmreg = SIM->get_param_num(param_name, dbg_cpu_list)->get64(); Bit64u mmreg = SIM->get_param_num(param_name, dbg_cpu_list)->get64();
dbg_printf("MM[%d]: %08x:%08x\n", i, GET32H(mmreg), GET32L(mmreg)); dbg_printf("MM[%d]: %08x_%08x\n", i, GET32H(mmreg), GET32L(mmreg));
} }
} }
else else
@ -955,39 +955,39 @@ void bx_dbg_info_registers_command(int which_regs_mask)
dbg_printf("eip: 0x%08x\n", (unsigned) reg); dbg_printf("eip: 0x%08x\n", (unsigned) reg);
#else #else
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RAX); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RAX);
dbg_printf("rax: 0x%08x:%08x ", GET32H(reg), GET32L(reg)); dbg_printf("rax: 0x%08x_%08x ", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RCX); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RCX);
dbg_printf("rcx: 0x%08x:%08x\n", GET32H(reg), GET32L(reg)); dbg_printf("rcx: 0x%08x_%08x\n", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RDX); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RDX);
dbg_printf("rdx: 0x%08x:%08x ", GET32H(reg), GET32L(reg)); dbg_printf("rdx: 0x%08x_%08x ", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RBX); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RBX);
dbg_printf("rbx: 0x%08x:%08x\n", GET32H(reg), GET32L(reg)); dbg_printf("rbx: 0x%08x_%08x\n", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RSP); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RSP);
dbg_printf("rsp: 0x%08x:%08x ", GET32H(reg), GET32L(reg)); dbg_printf("rsp: 0x%08x_%08x ", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RBP); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RBP);
dbg_printf("rbp: 0x%08x:%08x\n", GET32H(reg), GET32L(reg)); dbg_printf("rbp: 0x%08x_%08x\n", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RSI); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RSI);
dbg_printf("rsi: 0x%08x:%08x ", GET32H(reg), GET32L(reg)); dbg_printf("rsi: 0x%08x_%08x ", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RDI); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_RDI);
dbg_printf("rdi: 0x%08x:%08x\n", GET32H(reg), GET32L(reg)); dbg_printf("rdi: 0x%08x_%08x\n", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R8); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R8);
dbg_printf("r8 : 0x%08x:%08x ", GET32H(reg), GET32L(reg)); dbg_printf("r8 : 0x%08x_%08x ", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R9); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R9);
dbg_printf("r9 : 0x%08x:%08x\n", GET32H(reg), GET32L(reg)); dbg_printf("r9 : 0x%08x_%08x\n", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R10); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R10);
dbg_printf("r10: 0x%08x:%08x ", GET32H(reg), GET32L(reg)); dbg_printf("r10: 0x%08x_%08x ", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R11); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R11);
dbg_printf("r11: 0x%08x:%08x\n", GET32H(reg), GET32L(reg)); dbg_printf("r11: 0x%08x_%08x\n", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R12); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R12);
dbg_printf("r12: 0x%08x:%08x ", GET32H(reg), GET32L(reg)); dbg_printf("r12: 0x%08x_%08x ", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R13); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R13);
dbg_printf("r13: 0x%08x:%08x\n", GET32H(reg), GET32L(reg)); dbg_printf("r13: 0x%08x_%08x\n", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R14); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R14);
dbg_printf("r14: 0x%08x:%08x ", GET32H(reg), GET32L(reg)); dbg_printf("r14: 0x%08x_%08x ", GET32H(reg), GET32L(reg));
reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R15); reg = BX_CPU(dbg_cpu)->get_reg64(BX_64BIT_REG_R15);
dbg_printf("r15: 0x%08x:%08x\n", GET32H(reg), GET32L(reg)); dbg_printf("r15: 0x%08x+%08x\n", GET32H(reg), GET32L(reg));
reg = bx_dbg_get_instruction_pointer(); reg = bx_dbg_get_instruction_pointer();
dbg_printf("rip: 0x%08x:%08x\n", GET32H(reg), GET32L(reg)); dbg_printf("rip: 0x%08x_%08x\n", GET32H(reg), GET32L(reg));
#endif #endif
reg = BX_CPU(dbg_cpu)->read_eflags(); reg = BX_CPU(dbg_cpu)->read_eflags();
dbg_printf("eflags 0x%08x: ", (unsigned) reg); dbg_printf("eflags 0x%08x: ", (unsigned) reg);

View File

@ -258,10 +258,10 @@ int bx_dbg_lbreakpoint_command(BreakpointKind bk, bx_address laddress);
int bx_dbg_pbreakpoint_command(BreakpointKind bk, bx_phy_address paddress); int bx_dbg_pbreakpoint_command(BreakpointKind bk, bx_phy_address paddress);
void bx_dbg_info_bpoints_command(void); void bx_dbg_info_bpoints_command(void);
void bx_dbg_quit_command(void); void bx_dbg_quit_command(void);
#define BX_INFO_GENERAL_PURPOSE_REGS 1 /* bitmasks - choices for bx_dbg_info_registers_command */ #define BX_INFO_GENERAL_PURPOSE_REGS 0x01 /* bitmasks - choices for bx_dbg_info_registers_command */
#define BX_INFO_FPU_REGS 2 #define BX_INFO_FPU_REGS 0x02
#define BX_INFO_MMX_REGS 4 #define BX_INFO_MMX_REGS 0x04
#define BX_INFO_SSE_REGS 8 #define BX_INFO_SSE_REGS 0x08
void bx_dbg_info_registers_command(int); void bx_dbg_info_registers_command(int);
void bx_dbg_info_ivt_command(unsigned from, unsigned to); void bx_dbg_info_ivt_command(unsigned from, unsigned to);
void bx_dbg_info_idt_command(unsigned from, unsigned to); void bx_dbg_info_idt_command(unsigned from, unsigned to);

View File

@ -261,6 +261,9 @@ Bit32u BX_CPU_C::get_std_cpuid_features(void)
if (BX_CPU_SUPPORT_ISA_EXTENSION(BX_CPU_SSE2)) if (BX_CPU_SUPPORT_ISA_EXTENSION(BX_CPU_SSE2))
features |= BX_CPUID_STD_SSE2; features |= BX_CPUID_STD_SSE2;
if (BX_CPU_VENDOR_INTEL)
features |= BX_CPUID_STD_SELF_SNOOP;
#endif #endif
#if BX_SUPPORT_SMP #if BX_SUPPORT_SMP