- patch from Dave Poirier, sent to list Nov 27

This commit is contained in:
Bryce Denney 2001-11-28 18:13:30 +00:00
parent 6a03773831
commit c95bdd6a35
1 changed files with 99 additions and 0 deletions

View File

@ -0,0 +1,99 @@
Index: debug/dbg_main.cc
===================================================================
RCS file: /cvsroot/bochs/bochs/debug/dbg_main.cc,v
retrieving revision 1.35
diff -u -r1.35 dbg_main.cc
--- debug/dbg_main.cc 2001/11/11 04:55:14 1.35
+++ debug/dbg_main.cc 2001/11/28 18:11:26
@@ -682,6 +682,20 @@
}
void
+bx_dbg_trace_reg_on_command(void)
+{
+ BX_CPU(dbg_cpu)->trace_reg = 1;
+ fprintf (stderr, "Register-Tracing enabled for %s\n", BX_CPU(dbg_cpu)->name);
+}
+
+void
+bx_dbg_trace_reg_off_command(void)
+{
+ BX_CPU(dbg_cpu)->trace_reg = 0;
+ fprintf (stderr, "Register-Tracing disabled for %s\n", BX_CPU(dbg_cpu)->name);
+}
+
+void
bx_dbg_ptime_command(void)
{
fprintf(stderr, "ptime: %lld\n", bx_pc_system.time_ticks());
Index: debug/debug.h
===================================================================
RCS file: /cvsroot/bochs/bochs/debug/debug.h,v
retrieving revision 1.9
diff -u -r1.9 debug.h
--- debug/debug.h 2001/10/05 21:03:53 1.9
+++ debug/debug.h 2001/11/28 18:11:27
@@ -77,6 +77,8 @@
void bx_dbg_symbol_command(char* filename, Boolean global, Bit32u offset);
void bx_dbg_trace_on_command(void);
void bx_dbg_trace_off_command(void);
+void bx_dbg_trace_reg_on_command(void);
+void bx_dbg_trace_reg_off_command(void);
void bx_dbg_ptime_command(void);
void bx_dbg_timebp_command(Boolean absolute, Bit64u time);
void bx_dbg_diff_memory(void);
Index: debug/lexer.l
===================================================================
RCS file: /cvsroot/bochs/bochs/debug/lexer.l,v
retrieving revision 1.7
diff -u -r1.7 lexer.l
--- debug/lexer.l 2001/10/03 13:10:37 1.7
+++ debug/lexer.l 2001/11/28 18:11:28
@@ -84,6 +84,8 @@
doit { bxlval.sval = strdup(bxtext); return(BX_TOKEN_DOIT); }
trace-on { bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEON); }
trace-off { bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEOFF); }
+trace-reg-on { bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEREGON); }
+trace-reg-off { bxlval.sval = strdup(bxtext); return(BX_TOKEN_TRACEREGOFF); }
ptime { bxlval.sval = strdup(bxtext); return(BX_TOKEN_PTIME); }
sb { bxlval.sval = strdup(bxtext); return(BX_TOKEN_TIMEBP); }
sba { bxlval.sval = strdup(bxtext); return(BX_TOKEN_TIMEBP_ABSOLUTE); }
Index: debug/parser.y
===================================================================
RCS file: /cvsroot/bochs/bochs/debug/parser.y,v
retrieving revision 1.5
diff -u -r1.5 parser.y
--- debug/parser.y 2001/10/03 13:10:37 1.5
+++ debug/parser.y 2001/11/28 18:11:29
@@ -106,6 +106,8 @@
%token <sval> BX_TOKEN_SUB
%token <sval> BX_TOKEN_MUL
%token <sval> BX_TOKEN_DIV
+%token <sval> BX_TOKEN_TRACEREGON
+%token <sval> BX_TOKEN_TRACEREGOFF
%token <sval> BX_TOKEN_V2L
%type <uval> segment_register
%type <uval> optional_numeric
@@ -762,6 +764,22 @@
bx_dbg_v2l_command($2, $4);
free($1);
}
+ ;
+
+trace_reg_on_command:
+ BX_TOKEN_TRACEREGON '\n'
+ {
+ bx_dbg_trace_reg_on_command();
+ free($1);
+ }
+ ;
+
+trace_reg_off_command:
+ BX_TOKEN_TRACEREGOFF '\n'
+ {
+ bx_dbg_trace_reg_off_command();
+ free($1);
+ }
;
%%