<p>Elyes HAOUAS has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/26354">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">device/oprom/x86emu/debug.c: Fix coding style<br><br>Change-Id: I7fd57032686de064d3ca6e9323625023eafd646e<br>Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr><br>---<br>M src/device/oprom/x86emu/debug.c<br>1 file changed, 333 insertions(+), 298 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/54/26354/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/device/oprom/x86emu/debug.c b/src/device/oprom/x86emu/debug.c</span><br><span>index 9e216e9..dc9b683 100644</span><br><span>--- a/src/device/oprom/x86emu/debug.c</span><br><span>+++ b/src/device/oprom/x86emu/debug.c</span><br><span>@@ -43,388 +43,423 @@</span><br><span> </span><br><span> #ifdef DEBUG</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void print_encoded_bytes (u16 s, u16 o);</span><br><span style="color: hsl(0, 100%, 40%);">-static void print_decoded_instruction (void);</span><br><span style="color: hsl(0, 100%, 40%);">-int parse_line (char *s, int *ps, int *n);</span><br><span style="color: hsl(120, 100%, 40%);">+static void print_encoded_bytes(u16 s, u16 o);</span><br><span style="color: hsl(120, 100%, 40%);">+static void print_decoded_instruction(void);</span><br><span style="color: hsl(120, 100%, 40%);">+int parse_line(char *s, int *ps, int *n);</span><br><span> </span><br><span> /* should look something like debug's output. */</span><br><span style="color: hsl(0, 100%, 40%);">-void X86EMU_trace_regs (void)</span><br><span style="color: hsl(120, 100%, 40%);">+void X86EMU_trace_regs(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- if (DEBUG_TRACE()) {</span><br><span style="color: hsl(0, 100%, 40%);">- if (M.x86.mode & (SYSMODE_PREFIX_DATA | SYSMODE_PREFIX_ADDR)) {</span><br><span style="color: hsl(0, 100%, 40%);">- x86emu_dump_xregs();</span><br><span style="color: hsl(0, 100%, 40%);">- } else {</span><br><span style="color: hsl(0, 100%, 40%);">- x86emu_dump_regs();</span><br><span style="color: hsl(120, 100%, 40%);">+ if (DEBUG_TRACE()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (M.x86.mode & (SYSMODE_PREFIX_DATA | SYSMODE_PREFIX_ADDR))</span><br><span style="color: hsl(120, 100%, 40%);">+ x86emu_dump_xregs();</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ x86emu_dump_regs();</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- if (DEBUG_DECODE() && ! DEBUG_DECODE_NOPRINT()) {</span><br><span style="color: hsl(0, 100%, 40%);">- printf("%04x:%04x ",M.x86.saved_cs, M.x86.saved_ip);</span><br><span style="color: hsl(0, 100%, 40%);">- print_encoded_bytes( M.x86.saved_cs, M.x86.saved_ip);</span><br><span style="color: hsl(0, 100%, 40%);">- print_decoded_instruction();</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(120, 100%, 40%);">+ if (DEBUG_DECODE() && !DEBUG_DECODE_NOPRINT()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("%04x:%04x ", M.x86.saved_cs, M.x86.saved_ip);</span><br><span style="color: hsl(120, 100%, 40%);">+ print_encoded_bytes(M.x86.saved_cs, M.x86.saved_ip);</span><br><span style="color: hsl(120, 100%, 40%);">+ print_decoded_instruction();</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void X86EMU_trace_xregs (void)</span><br><span style="color: hsl(120, 100%, 40%);">+void X86EMU_trace_xregs(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- if (DEBUG_TRACE()) {</span><br><span style="color: hsl(0, 100%, 40%);">- x86emu_dump_xregs();</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(120, 100%, 40%);">+ if (DEBUG_TRACE())</span><br><span style="color: hsl(120, 100%, 40%);">+ x86emu_dump_xregs();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void x86emu_just_disassemble (void)</span><br><span style="color: hsl(120, 100%, 40%);">+void x86emu_just_disassemble(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- /*</span><br><span style="color: hsl(0, 100%, 40%);">- * This routine called if the flag DEBUG_DISASSEMBLE is set kind</span><br><span style="color: hsl(0, 100%, 40%);">- * of a hack!</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">- printf("%04x:%04x ",M.x86.saved_cs, M.x86.saved_ip);</span><br><span style="color: hsl(0, 100%, 40%);">- print_encoded_bytes( M.x86.saved_cs, M.x86.saved_ip);</span><br><span style="color: hsl(0, 100%, 40%);">- print_decoded_instruction();</span><br><span style="color: hsl(120, 100%, 40%);">+ /*</span><br><span style="color: hsl(120, 100%, 40%);">+ * This routine called if the flag DEBUG_DISASSEMBLE is set kind</span><br><span style="color: hsl(120, 100%, 40%);">+ * of a hack!</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("%04x:%04x ", M.x86.saved_cs, M.x86.saved_ip);</span><br><span style="color: hsl(120, 100%, 40%);">+ print_encoded_bytes(M.x86.saved_cs, M.x86.saved_ip);</span><br><span style="color: hsl(120, 100%, 40%);">+ print_decoded_instruction();</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void disassemble_forward (u16 seg, u16 off, int n)</span><br><span style="color: hsl(120, 100%, 40%);">+void disassemble_forward(u16 seg, u16 off, int n)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- X86EMU_sysEnv tregs;</span><br><span style="color: hsl(0, 100%, 40%);">- int i;</span><br><span style="color: hsl(0, 100%, 40%);">- u8 op1;</span><br><span style="color: hsl(0, 100%, 40%);">- /*</span><br><span style="color: hsl(0, 100%, 40%);">- * hack, hack, hack. What we do is use the exact machinery set up</span><br><span style="color: hsl(0, 100%, 40%);">- * for execution, except that now there is an additional state</span><br><span style="color: hsl(0, 100%, 40%);">- * flag associated with the "execution", and we are using a copy</span><br><span style="color: hsl(0, 100%, 40%);">- * of the register struct. All the major opcodes, once fully</span><br><span style="color: hsl(0, 100%, 40%);">- * decoded, have the following two steps: TRACE_REGS(r,m);</span><br><span style="color: hsl(0, 100%, 40%);">- * SINGLE_STEP(r,m); which disappear if DEBUG is not defined to</span><br><span style="color: hsl(0, 100%, 40%);">- * the preprocessor. The TRACE_REGS macro expands to:</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * if (debug&DEBUG_DISASSEMBLE)</span><br><span style="color: hsl(0, 100%, 40%);">- * {just_disassemble(); goto EndOfInstruction;}</span><br><span style="color: hsl(0, 100%, 40%);">- * if (debug&DEBUG_TRACE) trace_regs(r,m);</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * ...... and at the last line of the routine.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * EndOfInstruction: end_instr();</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * Up to the point where TRACE_REG is expanded, NO modifications</span><br><span style="color: hsl(0, 100%, 40%);">- * are done to any register EXCEPT the IP register, for fetch and</span><br><span style="color: hsl(0, 100%, 40%);">- * decoding purposes.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * This was done for an entirely different reason, but makes a</span><br><span style="color: hsl(0, 100%, 40%);">- * nice way to get the system to help debug codes.</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">- tregs = M;</span><br><span style="color: hsl(0, 100%, 40%);">- tregs.x86.R_IP = off;</span><br><span style="color: hsl(0, 100%, 40%);">- tregs.x86.R_CS = seg;</span><br><span style="color: hsl(120, 100%, 40%);">+ X86EMU_sysEnv tregs;</span><br><span style="color: hsl(120, 100%, 40%);">+ int i;</span><br><span style="color: hsl(120, 100%, 40%);">+ u8 op1;</span><br><span style="color: hsl(120, 100%, 40%);">+ /*</span><br><span style="color: hsl(120, 100%, 40%);">+ * hack, hack, hack. What we do is use the exact machinery set up</span><br><span style="color: hsl(120, 100%, 40%);">+ * for execution, except that now there is an additional state</span><br><span style="color: hsl(120, 100%, 40%);">+ * flag associated with the "execution", and we are using a copy</span><br><span style="color: hsl(120, 100%, 40%);">+ * of the register struct. All the major opcodes, once fully</span><br><span style="color: hsl(120, 100%, 40%);">+ * decoded, have the following two steps: TRACE_REGS(r,m);</span><br><span style="color: hsl(120, 100%, 40%);">+ * SINGLE_STEP(r,m); which disappear if DEBUG is not defined to</span><br><span style="color: hsl(120, 100%, 40%);">+ * the preprocessor. The TRACE_REGS macro expands to:</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * if (debug&DEBUG_DISASSEMBLE)</span><br><span style="color: hsl(120, 100%, 40%);">+ * {just_disassemble(); goto EndOfInstruction;}</span><br><span style="color: hsl(120, 100%, 40%);">+ * if (debug&DEBUG_TRACE) trace_regs(r,m);</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * ...... and at the last line of the routine.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * EndOfInstruction: end_instr();</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * Up to the point where TRACE_REG is expanded, NO modifications</span><br><span style="color: hsl(120, 100%, 40%);">+ * are done to any register EXCEPT the IP register, for fetch and</span><br><span style="color: hsl(120, 100%, 40%);">+ * decoding purposes.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This was done for an entirely different reason, but makes a</span><br><span style="color: hsl(120, 100%, 40%);">+ * nice way to get the system to help debug codes.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+ tregs = M;</span><br><span style="color: hsl(120, 100%, 40%);">+ tregs.x86.R_IP = off;</span><br><span style="color: hsl(120, 100%, 40%);">+ tregs.x86.R_CS = seg;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* reset the decoding buffers */</span><br><span style="color: hsl(0, 100%, 40%);">- tregs.x86.enc_str_pos = 0;</span><br><span style="color: hsl(0, 100%, 40%);">- tregs.x86.enc_pos = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+ /* reset the decoding buffers */</span><br><span style="color: hsl(120, 100%, 40%);">+ tregs.x86.enc_str_pos = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+ tregs.x86.enc_pos = 0;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* turn on the "disassemble only, no execute" flag */</span><br><span style="color: hsl(0, 100%, 40%);">- tregs.x86.debug |= DEBUG_DISASSEMBLE_F;</span><br><span style="color: hsl(120, 100%, 40%);">+ /* turn on the "disassemble only, no execute" flag */</span><br><span style="color: hsl(120, 100%, 40%);">+ tregs.x86.debug |= DEBUG_DISASSEMBLE_F;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* DUMP NEXT n instructions to screen in straight_line fashion */</span><br><span style="color: hsl(0, 100%, 40%);">- /*</span><br><span style="color: hsl(0, 100%, 40%);">- * This looks like the regular instruction fetch stream, except</span><br><span style="color: hsl(0, 100%, 40%);">- * that when this occurs, each fetched opcode, upon seeing the</span><br><span style="color: hsl(0, 100%, 40%);">- * DEBUG_DISASSEMBLE flag set, exits immediately after decoding</span><br><span style="color: hsl(0, 100%, 40%);">- * the instruction. XXX --- CHECK THAT MEM IS NOT AFFECTED!!!</span><br><span style="color: hsl(0, 100%, 40%);">- * Note the use of a copy of the register structure...</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">- for (i=0; i<n; i++) {</span><br><span style="color: hsl(0, 100%, 40%);">- op1 = (*sys_rdb)(((u32)M.x86.R_CS<<4) + (M.x86.R_IP++));</span><br><span style="color: hsl(0, 100%, 40%);">- (x86emu_optab[op1])(op1);</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- /* end major hack mode. */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* DUMP NEXT n instructions to screen in straight_line fashion */</span><br><span style="color: hsl(120, 100%, 40%);">+ /*</span><br><span style="color: hsl(120, 100%, 40%);">+ * This looks like the regular instruction fetch stream, except</span><br><span style="color: hsl(120, 100%, 40%);">+ * that when this occurs, each fetched opcode, upon seeing the</span><br><span style="color: hsl(120, 100%, 40%);">+ * DEBUG_DISASSEMBLE flag set, exits immediately after decoding</span><br><span style="color: hsl(120, 100%, 40%);">+ * the instruction. XXX --- CHECK THAT MEM IS NOT AFFECTED!!!</span><br><span style="color: hsl(120, 100%, 40%);">+ * Note the use of a copy of the register structure...</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+ for (i = 0; i < n; i++) {</span><br><span style="color: hsl(120, 100%, 40%);">+ op1 = (*sys_rdb) (((u32) M.x86.R_CS << 4) + (M.x86.R_IP++));</span><br><span style="color: hsl(120, 100%, 40%);">+ (x86emu_optab[op1]) (op1);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ /* end major hack mode. */</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void x86emu_check_ip_access (void)</span><br><span style="color: hsl(120, 100%, 40%);">+void x86emu_check_ip_access(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- /* NULL as of now */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* NULL as of now */</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void x86emu_check_sp_access (void)</span><br><span style="color: hsl(120, 100%, 40%);">+void x86emu_check_sp_access(void)</span><br><span> {</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void x86emu_check_mem_access (u32 dummy)</span><br><span style="color: hsl(120, 100%, 40%);">+void x86emu_check_mem_access(u32 dummy)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- /* check bounds, etc */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* check bounds, etc */</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void x86emu_check_data_access (uint dummy1, uint dummy2)</span><br><span style="color: hsl(120, 100%, 40%);">+void x86emu_check_data_access(uint dummy1, uint dummy2)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- /* check bounds, etc */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* check bounds, etc */</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void x86emu_inc_decoded_inst_len (int x)</span><br><span style="color: hsl(120, 100%, 40%);">+void x86emu_inc_decoded_inst_len(int x)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.enc_pos += x;</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.enc_pos += x;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void x86emu_decode_printf (const char *x)</span><br><span style="color: hsl(120, 100%, 40%);">+void x86emu_decode_printf(const char *x)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- strcpy(M.x86.decoded_buf+M.x86.enc_str_pos,x);</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.enc_str_pos += strlen(x);</span><br><span style="color: hsl(120, 100%, 40%);">+ strcpy(M.x86.decoded_buf + M.x86.enc_str_pos, x);</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.enc_str_pos += strlen(x);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void x86emu_decode_printf2 (const char *x, int y)</span><br><span style="color: hsl(120, 100%, 40%);">+void x86emu_decode_printf2(const char *x, int y)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- char temp[100];</span><br><span style="color: hsl(0, 100%, 40%);">- snprintf(temp, sizeof (temp), x,y);</span><br><span style="color: hsl(0, 100%, 40%);">- strcpy(M.x86.decoded_buf+M.x86.enc_str_pos,temp);</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.enc_str_pos += strlen(temp);</span><br><span style="color: hsl(120, 100%, 40%);">+ char temp[100];</span><br><span style="color: hsl(120, 100%, 40%);">+ snprintf(temp, sizeof(temp), x, y);</span><br><span style="color: hsl(120, 100%, 40%);">+ strcpy(M.x86.decoded_buf + M.x86.enc_str_pos, temp);</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.enc_str_pos += strlen(temp);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void x86emu_end_instr (void)</span><br><span style="color: hsl(120, 100%, 40%);">+void x86emu_end_instr(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.enc_str_pos = 0;</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.enc_pos = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.enc_str_pos = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.enc_pos = 0;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void print_encoded_bytes (u16 s, u16 o)</span><br><span style="color: hsl(120, 100%, 40%);">+static void print_encoded_bytes(u16 s, u16 o)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- int i;</span><br><span style="color: hsl(0, 100%, 40%);">- char buf1[64];</span><br><span style="color: hsl(0, 100%, 40%);">- for (i=0; i< M.x86.enc_pos; i++) {</span><br><span style="color: hsl(0, 100%, 40%);">- snprintf(buf1+2*i, 64 - 2 * i, "%02x", fetch_data_byte_abs(s,o+i));</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- printf("%-20s ",buf1);</span><br><span style="color: hsl(120, 100%, 40%);">+ int i;</span><br><span style="color: hsl(120, 100%, 40%);">+ char buf1[64];</span><br><span style="color: hsl(120, 100%, 40%);">+ for (i = 0; i < M.x86.enc_pos; i++)</span><br><span style="color: hsl(120, 100%, 40%);">+ snprintf(buf1 + 2 * i, 64 - 2 * i, "%02x",</span><br><span style="color: hsl(120, 100%, 40%);">+ fetch_data_byte_abs(s, o + i));</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("%-20s ", buf1);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static void print_decoded_instruction (void)</span><br><span style="color: hsl(120, 100%, 40%);">+static void print_decoded_instruction(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- printf("%s", M.x86.decoded_buf);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("%s", M.x86.decoded_buf);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void x86emu_print_int_vect (u16 iv)</span><br><span style="color: hsl(120, 100%, 40%);">+void x86emu_print_int_vect(u16 iv)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- u16 seg,off;</span><br><span style="color: hsl(120, 100%, 40%);">+ u16 seg, off;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (iv > 256) return;</span><br><span style="color: hsl(0, 100%, 40%);">- seg = fetch_data_word_abs(0,iv*4);</span><br><span style="color: hsl(0, 100%, 40%);">- off = fetch_data_word_abs(0,iv*4+2);</span><br><span style="color: hsl(0, 100%, 40%);">- printf("%04x:%04x ", seg, off);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (iv > 256)</span><br><span style="color: hsl(120, 100%, 40%);">+ return;</span><br><span style="color: hsl(120, 100%, 40%);">+ seg = fetch_data_word_abs(0, iv * 4);</span><br><span style="color: hsl(120, 100%, 40%);">+ off = fetch_data_word_abs(0, iv * 4 + 2);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("%04x:%04x ", seg, off);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void X86EMU_dump_memory (u16 seg, u16 off, u32 amt)</span><br><span style="color: hsl(120, 100%, 40%);">+void X86EMU_dump_memory(u16 seg, u16 off, u32 amt)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- u32 start = off & 0xfffffff0;</span><br><span style="color: hsl(0, 100%, 40%);">- u32 end = (off+16) & 0xfffffff0;</span><br><span style="color: hsl(0, 100%, 40%);">- u32 i;</span><br><span style="color: hsl(120, 100%, 40%);">+ u32 start = off & 0xfffffff0;</span><br><span style="color: hsl(120, 100%, 40%);">+ u32 end = (off + 16) & 0xfffffff0;</span><br><span style="color: hsl(120, 100%, 40%);">+ u32 i;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- while (end <= off + amt) {</span><br><span style="color: hsl(0, 100%, 40%);">- printf("%04x:%04x ", seg, start);</span><br><span style="color: hsl(0, 100%, 40%);">- for (i=start; i< off; i++)</span><br><span style="color: hsl(0, 100%, 40%);">- printf(" ");</span><br><span style="color: hsl(0, 100%, 40%);">- for ( ; i< end; i++)</span><br><span style="color: hsl(0, 100%, 40%);">- printf("%02x ", fetch_data_byte_abs(seg,i));</span><br><span style="color: hsl(0, 100%, 40%);">- printf("\n");</span><br><span style="color: hsl(0, 100%, 40%);">- start = end;</span><br><span style="color: hsl(0, 100%, 40%);">- end = start + 16;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(120, 100%, 40%);">+ while (end <= off + amt) {</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("%04x:%04x ", seg, start);</span><br><span style="color: hsl(120, 100%, 40%);">+ for (i = start; i < off; i++)</span><br><span style="color: hsl(120, 100%, 40%);">+ printf(" ");</span><br><span style="color: hsl(120, 100%, 40%);">+ for (; i < end; i++)</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("%02x ", fetch_data_byte_abs(seg, i));</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("\n");</span><br><span style="color: hsl(120, 100%, 40%);">+ start = end;</span><br><span style="color: hsl(120, 100%, 40%);">+ end = start + 16;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void x86emu_single_step (void)</span><br><span style="color: hsl(120, 100%, 40%);">+void x86emu_single_step(void)</span><br><span> {</span><br><span> #if 0</span><br><span style="color: hsl(0, 100%, 40%);">- char s[1024];</span><br><span style="color: hsl(0, 100%, 40%);">- int ps[10];</span><br><span style="color: hsl(0, 100%, 40%);">- int ntok;</span><br><span style="color: hsl(0, 100%, 40%);">- int cmd;</span><br><span style="color: hsl(0, 100%, 40%);">- int done;</span><br><span style="color: hsl(0, 100%, 40%);">- int segment;</span><br><span style="color: hsl(0, 100%, 40%);">- int offset;</span><br><span style="color: hsl(0, 100%, 40%);">- static int breakpoint;</span><br><span style="color: hsl(0, 100%, 40%);">- static int noDecode = 1;</span><br><span style="color: hsl(120, 100%, 40%);">+ char s[1024];</span><br><span style="color: hsl(120, 100%, 40%);">+ int ps[10];</span><br><span style="color: hsl(120, 100%, 40%);">+ int ntok;</span><br><span style="color: hsl(120, 100%, 40%);">+ int cmd;</span><br><span style="color: hsl(120, 100%, 40%);">+ int done;</span><br><span style="color: hsl(120, 100%, 40%);">+ int segment;</span><br><span style="color: hsl(120, 100%, 40%);">+ int offset;</span><br><span style="color: hsl(120, 100%, 40%);">+ static int breakpoint;</span><br><span style="color: hsl(120, 100%, 40%);">+ static int noDecode = 1;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (DEBUG_BREAK()) {</span><br><span style="color: hsl(0, 100%, 40%);">- if (M.x86.saved_ip != breakpoint) {</span><br><span style="color: hsl(0, 100%, 40%);">- return;</span><br><span style="color: hsl(0, 100%, 40%);">- } else {</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.debug &= ~DEBUG_DECODE_NOPRINT_F;</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.debug |= DEBUG_TRACE_F;</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.debug &= ~DEBUG_BREAK_F;</span><br><span style="color: hsl(0, 100%, 40%);">- print_decoded_instruction ();</span><br><span style="color: hsl(0, 100%, 40%);">- X86EMU_trace_regs();</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- done=0;</span><br><span style="color: hsl(0, 100%, 40%);">- offset = M.x86.saved_ip;</span><br><span style="color: hsl(0, 100%, 40%);">- while (!done) {</span><br><span style="color: hsl(0, 100%, 40%);">- printf("-");</span><br><span style="color: hsl(0, 100%, 40%);">- (void)fgets(s, 1023, stdin);</span><br><span style="color: hsl(0, 100%, 40%);">- cmd = parse_line(s, ps, &ntok);</span><br><span style="color: hsl(0, 100%, 40%);">- switch(cmd) {</span><br><span style="color: hsl(0, 100%, 40%);">- case 'u':</span><br><span style="color: hsl(0, 100%, 40%);">- disassemble_forward(M.x86.saved_cs,(u16)offset,10);</span><br><span style="color: hsl(0, 100%, 40%);">- break;</span><br><span style="color: hsl(0, 100%, 40%);">- case 'd':</span><br><span style="color: hsl(0, 100%, 40%);">- if (ntok == 2) {</span><br><span style="color: hsl(0, 100%, 40%);">- segment = M.x86.saved_cs;</span><br><span style="color: hsl(0, 100%, 40%);">- offset = ps[1];</span><br><span style="color: hsl(0, 100%, 40%);">- X86EMU_dump_memory(segment,(u16)offset,16);</span><br><span style="color: hsl(0, 100%, 40%);">- offset += 16;</span><br><span style="color: hsl(0, 100%, 40%);">- } else if (ntok == 3) {</span><br><span style="color: hsl(0, 100%, 40%);">- segment = ps[1];</span><br><span style="color: hsl(0, 100%, 40%);">- offset = ps[2];</span><br><span style="color: hsl(0, 100%, 40%);">- X86EMU_dump_memory(segment,(u16)offset,16);</span><br><span style="color: hsl(0, 100%, 40%);">- offset += 16;</span><br><span style="color: hsl(0, 100%, 40%);">- } else {</span><br><span style="color: hsl(0, 100%, 40%);">- segment = M.x86.saved_cs;</span><br><span style="color: hsl(0, 100%, 40%);">- X86EMU_dump_memory(segment,(u16)offset,16);</span><br><span style="color: hsl(0, 100%, 40%);">- offset += 16;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- break;</span><br><span style="color: hsl(0, 100%, 40%);">- case 'c':</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.debug ^= DEBUG_TRACECALL_F;</span><br><span style="color: hsl(0, 100%, 40%);">- break;</span><br><span style="color: hsl(0, 100%, 40%);">- case 's':</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.debug ^= DEBUG_SVC_F | DEBUG_SYS_F | DEBUG_SYSINT_F;</span><br><span style="color: hsl(0, 100%, 40%);">- break;</span><br><span style="color: hsl(0, 100%, 40%);">- case 'r':</span><br><span style="color: hsl(0, 100%, 40%);">- X86EMU_trace_regs();</span><br><span style="color: hsl(0, 100%, 40%);">- break;</span><br><span style="color: hsl(0, 100%, 40%);">- case 'x':</span><br><span style="color: hsl(0, 100%, 40%);">- X86EMU_trace_xregs();</span><br><span style="color: hsl(0, 100%, 40%);">- break;</span><br><span style="color: hsl(0, 100%, 40%);">- case 'g':</span><br><span style="color: hsl(0, 100%, 40%);">- if (ntok == 2) {</span><br><span style="color: hsl(0, 100%, 40%);">- breakpoint = ps[1];</span><br><span style="color: hsl(0, 100%, 40%);">- if (noDecode) {</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.debug |= DEBUG_DECODE_NOPRINT_F;</span><br><span style="color: hsl(0, 100%, 40%);">- } else {</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.debug &= ~DEBUG_DECODE_NOPRINT_F;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.debug &= ~DEBUG_TRACE_F;</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.debug |= DEBUG_BREAK_F;</span><br><span style="color: hsl(0, 100%, 40%);">- done = 1;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- break;</span><br><span style="color: hsl(0, 100%, 40%);">- case 'q':</span><br><span style="color: hsl(0, 100%, 40%);">- M.x86.debug |= DEBUG_EXIT;</span><br><span style="color: hsl(0, 100%, 40%);">- return;</span><br><span style="color: hsl(0, 100%, 40%);">- case 'P':</span><br><span style="color: hsl(0, 100%, 40%);">- noDecode = (noDecode)?0:1;</span><br><span style="color: hsl(0, 100%, 40%);">- printf("Toggled decoding to %s\n",(noDecode)?"FALSE":"TRUE");</span><br><span style="color: hsl(0, 100%, 40%);">- break;</span><br><span style="color: hsl(0, 100%, 40%);">- case 't':</span><br><span style="color: hsl(0, 100%, 40%);">- case 0:</span><br><span style="color: hsl(0, 100%, 40%);">- done = 1;</span><br><span style="color: hsl(0, 100%, 40%);">- break;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(120, 100%, 40%);">+ if (DEBUG_BREAK()) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (M.x86.saved_ip != breakpoint) {</span><br><span style="color: hsl(120, 100%, 40%);">+ return;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.debug &= ~DEBUG_DECODE_NOPRINT_F;</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.debug |= DEBUG_TRACE_F;</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.debug &= ~DEBUG_BREAK_F;</span><br><span style="color: hsl(120, 100%, 40%);">+ print_decoded_instruction();</span><br><span style="color: hsl(120, 100%, 40%);">+ X86EMU_trace_regs();</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ done = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+ offset = M.x86.saved_ip;</span><br><span style="color: hsl(120, 100%, 40%);">+ while (!done) {</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("-");</span><br><span style="color: hsl(120, 100%, 40%);">+ (void)fgets(s, 1023, stdin);</span><br><span style="color: hsl(120, 100%, 40%);">+ cmd = parse_line(s, ps, &ntok);</span><br><span style="color: hsl(120, 100%, 40%);">+ switch (cmd) {</span><br><span style="color: hsl(120, 100%, 40%);">+ case 'u':</span><br><span style="color: hsl(120, 100%, 40%);">+ disassemble_forward(M.x86.saved_cs, (u16) offset, 10);</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case 'd':</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ntok == 2) {</span><br><span style="color: hsl(120, 100%, 40%);">+ segment = M.x86.saved_cs;</span><br><span style="color: hsl(120, 100%, 40%);">+ offset = ps[1];</span><br><span style="color: hsl(120, 100%, 40%);">+ X86EMU_dump_memory(segment, (u16) offset, 16);</span><br><span style="color: hsl(120, 100%, 40%);">+ offset += 16;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (ntok == 3) {</span><br><span style="color: hsl(120, 100%, 40%);">+ segment = ps[1];</span><br><span style="color: hsl(120, 100%, 40%);">+ offset = ps[2];</span><br><span style="color: hsl(120, 100%, 40%);">+ X86EMU_dump_memory(segment, (u16) offset, 16);</span><br><span style="color: hsl(120, 100%, 40%);">+ offset += 16;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ segment = M.x86.saved_cs;</span><br><span style="color: hsl(120, 100%, 40%);">+ X86EMU_dump_memory(segment, (u16) offset, 16);</span><br><span style="color: hsl(120, 100%, 40%);">+ offset += 16;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case 'c':</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.debug ^= DEBUG_TRACECALL_F;</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case 's':</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.debug ^=</span><br><span style="color: hsl(120, 100%, 40%);">+ DEBUG_SVC_F | DEBUG_SYS_F | DEBUG_SYSINT_F;</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case 'r':</span><br><span style="color: hsl(120, 100%, 40%);">+ X86EMU_trace_regs();</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case 'x':</span><br><span style="color: hsl(120, 100%, 40%);">+ X86EMU_trace_xregs();</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case 'g':</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ntok == 2) {</span><br><span style="color: hsl(120, 100%, 40%);">+ breakpoint = ps[1];</span><br><span style="color: hsl(120, 100%, 40%);">+ if (noDecode)</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.debug |= DEBUG_DECODE_NOPRINT_F;</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.debug &= ~DEBUG_DECODE_NOPRINT_F;</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.debug &= ~DEBUG_TRACE_F;</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.debug |= DEBUG_BREAK_F;</span><br><span style="color: hsl(120, 100%, 40%);">+ done = 1;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case 'q':</span><br><span style="color: hsl(120, 100%, 40%);">+ M.x86.debug |= DEBUG_EXIT;</span><br><span style="color: hsl(120, 100%, 40%);">+ return;</span><br><span style="color: hsl(120, 100%, 40%);">+ case 'P':</span><br><span style="color: hsl(120, 100%, 40%);">+ noDecode = (noDecode) ? 0 : 1;</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("Toggled decoding to %s\n",</span><br><span style="color: hsl(120, 100%, 40%);">+ (noDecode) ? "FALSE" : "TRUE");</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ case 't':</span><br><span style="color: hsl(120, 100%, 40%);">+ case 0:</span><br><span style="color: hsl(120, 100%, 40%);">+ done = 1;</span><br><span style="color: hsl(120, 100%, 40%);">+ break;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> #endif</span><br><span> }</span><br><span> </span><br><span> int X86EMU_trace_on(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- return M.x86.debug |= DEBUG_STEP_F | DEBUG_DECODE_F | DEBUG_TRACE_F;</span><br><span style="color: hsl(120, 100%, 40%);">+ return M.x86.debug |= DEBUG_STEP_F | DEBUG_DECODE_F | DEBUG_TRACE_F;</span><br><span> }</span><br><span> </span><br><span> int X86EMU_trace_off(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- return M.x86.debug &= ~(DEBUG_STEP_F | DEBUG_DECODE_F | DEBUG_TRACE_F);</span><br><span style="color: hsl(120, 100%, 40%);">+ return M.x86.debug &= ~(DEBUG_STEP_F | DEBUG_DECODE_F | DEBUG_TRACE_F);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-int parse_line (char *s, int *ps, int *n)</span><br><span style="color: hsl(120, 100%, 40%);">+int parse_line(char *s, int *ps, int *n)</span><br><span> {</span><br><span> #if 0</span><br><span style="color: hsl(0, 100%, 40%);">- int cmd;</span><br><span style="color: hsl(120, 100%, 40%);">+ int cmd;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- *n = 0;</span><br><span style="color: hsl(0, 100%, 40%);">- while(*s == ' ' || *s == '\t') s++;</span><br><span style="color: hsl(0, 100%, 40%);">- ps[*n] = *s;</span><br><span style="color: hsl(0, 100%, 40%);">- switch (*s) {</span><br><span style="color: hsl(0, 100%, 40%);">- case '\n':</span><br><span style="color: hsl(0, 100%, 40%);">- *n += 1;</span><br><span style="color: hsl(0, 100%, 40%);">- return 0;</span><br><span style="color: hsl(0, 100%, 40%);">- default:</span><br><span style="color: hsl(0, 100%, 40%);">- cmd = *s;</span><br><span style="color: hsl(0, 100%, 40%);">- *n += 1;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(120, 100%, 40%);">+ *n = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+ while (*s == ' ' || *s == '\t')</span><br><span style="color: hsl(120, 100%, 40%);">+ s++;</span><br><span style="color: hsl(120, 100%, 40%);">+ ps[*n] = *s;</span><br><span style="color: hsl(120, 100%, 40%);">+ switch (*s) {</span><br><span style="color: hsl(120, 100%, 40%);">+ case '\n':</span><br><span style="color: hsl(120, 100%, 40%);">+ *n += 1;</span><br><span style="color: hsl(120, 100%, 40%);">+ return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+ default:</span><br><span style="color: hsl(120, 100%, 40%);">+ cmd = *s;</span><br><span style="color: hsl(120, 100%, 40%);">+ *n += 1;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- while (1) {</span><br><span style="color: hsl(0, 100%, 40%);">- while (*s != ' ' && *s != '\t' && *s != '\n') s++;</span><br><span style="color: hsl(120, 100%, 40%);">+ while (1) {</span><br><span style="color: hsl(120, 100%, 40%);">+ while (*s != ' ' && *s != '\t' && *s != '\n')</span><br><span style="color: hsl(120, 100%, 40%);">+ s++;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (*s == '\n')</span><br><span style="color: hsl(0, 100%, 40%);">- return cmd;</span><br><span style="color: hsl(120, 100%, 40%);">+ if (*s == '\n')</span><br><span style="color: hsl(120, 100%, 40%);">+ return cmd;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- while(*s == ' ' || *s == '\t') s++;</span><br><span style="color: hsl(120, 100%, 40%);">+ while (*s == ' ' || *s == '\t')</span><br><span style="color: hsl(120, 100%, 40%);">+ s++;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- sscanf(s,"%x",&ps[*n]);</span><br><span style="color: hsl(0, 100%, 40%);">- *n += 1;</span><br><span style="color: hsl(0, 100%, 40%);">- }</span><br><span style="color: hsl(120, 100%, 40%);">+ sscanf(s, "%x", &ps[*n]);</span><br><span style="color: hsl(120, 100%, 40%);">+ *n += 1;</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span> #else</span><br><span style="color: hsl(0, 100%, 40%);">- return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+ return 0;</span><br><span> #endif</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#endif /* DEBUG */</span><br><span style="color: hsl(120, 100%, 40%);">+#endif /* DEBUG */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void x86emu_dump_regs (void)</span><br><span style="color: hsl(120, 100%, 40%);">+void x86emu_dump_regs(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- printf("\tAX=%04x ", M.x86.R_AX );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("BX=%04x ", M.x86.R_BX );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("CX=%04x ", M.x86.R_CX );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("DX=%04x ", M.x86.R_DX );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("SP=%04x ", M.x86.R_SP );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("BP=%04x ", M.x86.R_BP );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("SI=%04x ", M.x86.R_SI );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("DI=%04x\n", M.x86.R_DI );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("\tDS=%04x ", M.x86.R_DS );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("ES=%04x ", M.x86.R_ES );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("SS=%04x ", M.x86.R_SS );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("CS=%04x ", M.x86.R_CS );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("IP=%04x ", M.x86.R_IP );</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_OF)) printf("OV "); /* CHECKED... */</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("NV ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_DF)) printf("DN ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("UP ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_IF)) printf("EI ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("DI ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_SF)) printf("NG ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("PL ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_ZF)) printf("ZR ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("NZ ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_AF)) printf("AC ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("NA ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_PF)) printf("PE ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("PO ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_CF)) printf("CY ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("NC ");</span><br><span style="color: hsl(0, 100%, 40%);">- printf("\n");</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("\tAX=%04x ", M.x86.R_AX);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("BX=%04x ", M.x86.R_BX);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("CX=%04x ", M.x86.R_CX);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("DX=%04x ", M.x86.R_DX);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("SP=%04x ", M.x86.R_SP);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("BP=%04x ", M.x86.R_BP);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("SI=%04x ", M.x86.R_SI);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("DI=%04x\n", M.x86.R_DI);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("\tDS=%04x ", M.x86.R_DS);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("ES=%04x ", M.x86.R_ES);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("SS=%04x ", M.x86.R_SS);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("CS=%04x ", M.x86.R_CS);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("IP=%04x ", M.x86.R_IP);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_OF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("OV "); /* CHECKED... */</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("NV ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_DF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("DN ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("UP ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_IF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("EI ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("DI ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_SF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("NG ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("PL ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_ZF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("ZR ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("NZ ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_AF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("AC ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("NA ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_PF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("PE ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("PO ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_CF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("CY ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("NC ");</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("\n");</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void x86emu_dump_xregs (void)</span><br><span style="color: hsl(120, 100%, 40%);">+void x86emu_dump_xregs(void)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- printf("\tEAX=%08x ", M.x86.R_EAX );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("EBX=%08x ", M.x86.R_EBX );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("ECX=%08x ", M.x86.R_ECX );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("EDX=%08x\n", M.x86.R_EDX );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("\tESP=%08x ", M.x86.R_ESP );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("EBP=%08x ", M.x86.R_EBP );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("ESI=%08x ", M.x86.R_ESI );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("EDI=%08x\n", M.x86.R_EDI );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("\tDS=%04x ", M.x86.R_DS );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("ES=%04x ", M.x86.R_ES );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("SS=%04x ", M.x86.R_SS );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("CS=%04x ", M.x86.R_CS );</span><br><span style="color: hsl(0, 100%, 40%);">- printf("EIP=%08x\n\t", M.x86.R_EIP );</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_OF)) printf("OV "); /* CHECKED... */</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("NV ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_DF)) printf("DN ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("UP ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_IF)) printf("EI ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("DI ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_SF)) printf("NG ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("PL ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_ZF)) printf("ZR ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("NZ ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_AF)) printf("AC ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("NA ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_PF)) printf("PE ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("PO ");</span><br><span style="color: hsl(0, 100%, 40%);">- if (ACCESS_FLAG(F_CF)) printf("CY ");</span><br><span style="color: hsl(0, 100%, 40%);">- else printf("NC ");</span><br><span style="color: hsl(0, 100%, 40%);">- printf("\n");</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("\tEAX=%08x ", M.x86.R_EAX);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("EBX=%08x ", M.x86.R_EBX);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("ECX=%08x ", M.x86.R_ECX);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("EDX=%08x\n", M.x86.R_EDX);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("\tESP=%08x ", M.x86.R_ESP);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("EBP=%08x ", M.x86.R_EBP);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("ESI=%08x ", M.x86.R_ESI);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("EDI=%08x\n", M.x86.R_EDI);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("\tDS=%04x ", M.x86.R_DS);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("ES=%04x ", M.x86.R_ES);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("SS=%04x ", M.x86.R_SS);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("CS=%04x ", M.x86.R_CS);</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("EIP=%08x\n\t", M.x86.R_EIP);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_OF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("OV "); /* CHECKED... */</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("NV ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_DF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("DN ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("UP ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_IF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("EI ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("DI ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_SF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("NG ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("PL ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_ZF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("ZR ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("NZ ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_AF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("AC ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("NA ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_PF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("PE ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("PO ");</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ACCESS_FLAG(F_CF))</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("CY ");</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("NC ");</span><br><span style="color: hsl(120, 100%, 40%);">+ printf("\n");</span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/26354">change 26354</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/26354"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I7fd57032686de064d3ca6e9323625023eafd646e </div>
<div style="display:none"> Gerrit-Change-Number: 26354 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Elyes HAOUAS <ehaouas@noos.fr> </div>