Commit Graph

94 Commits

Author SHA1 Message Date
Bryce Denney
1403a59ec4 - apply patch from Zwane Mwaikambo <zwane@linuxpower.ca> posted to
mailing list.
2002-07-25 13:30:07 +00:00
Bryce Denney
eb0974f0ce - if misaligned or wrong size write, print the address and length! 2002-07-23 15:32:14 +00:00
Bryce Denney
7dd83e2140 - removed my antisocial asserts from the apic code, and changed them to
BX_PANICs.
2002-07-21 13:56:49 +00:00
Volker Ruppert
27fedb5aba - AAM can generate an exception (divide by 0)
- AAM: modification of flags depends on AL, not AX
- AAM always clears CF and AF
- AAD can also modify AF, CF and OF
- DAA can also clear the CF
2002-07-06 11:02:35 +00:00
Christophe Bothamy
badef8cec8 - included instinc's patch.stack-return-from-v86 2002-06-27 13:31:54 +00:00
Bryce Denney
7e04c23d2f - check in Mike Reiker's 4meg page code from a patch that he submitted last
November 17.
2002-06-19 15:49:07 +00:00
Gregory Alexander
5d7c6627fd I botched the linked list implementation pretty badly.
Kudos to TLD for fixing it for me.
2002-06-06 23:03:09 +00:00
Gregory Alexander
1be5b1d46c Added a linked list to further speed up icache invalidates.
These should be pretty snappy now.  It's time to generate
some actual statistics.

 Modified Files:
 	cpu/cpu.cc cpu/cpu.h cpu/init.cc memory/memory.cc
2002-06-05 21:51:30 +00:00
Gregory Alexander
c41505e342 Added a RPN directory for the cache to help make invalidates
faster.  Hopefully this won't slow things down too much.

 	config.h.in cpu/cpu.cc cpu/cpu.h memory/memory.cc
2002-06-05 03:59:31 +00:00
Gregory Alexander
fda1b874e9 Check in FETCHDECODE Caching, with changes.
Specific changes from the patch:

1.) renamed fdcache_eip to fdcache_ip, as it is using
the RIP instead of the EIP.

2.) added a Boolean array fdcache_is32 which uses is32
to determine icache hits.  Otherwise we could run 32-bit
code as 16-bit or vice versa.


 Modified Files:
 	config.h.in cpu/cpu.cc cpu/cpu.h memory/memory.cc
2002-06-03 22:39:11 +00:00
Bryce Denney
30aaf4088e - commit patch.wxwindows.gz in the main branch. Now you can try out
the wxwindows interface by just "configure --with-wx; make"

  Modified Files:
    Makefile.in bochs.h config.h.in configure configure.in
    load32bitOShack.cc logio.cc main.cc cpu/cpu.cc cpu/cpu.h
    debug/dbg_main.cc gui/Makefile.in gui/control.cc gui/gui.cc
    gui/siminterface.cc gui/siminterface.h gui/x.cc iodev/cdrom.cc
    iodev/keyboard.cc memory/misc_mem.cc
  Added Files:
    README-wxWindows wxbochs.rc gui/wx.cc gui/wxmain.cc
    gui/wxmain.h gui/bitmaps/cdromd.xpm
    gui/bitmaps/configbutton.xpm gui/bitmaps/copy.xpm
    gui/bitmaps/floppya.xpm gui/bitmaps/floppyb.xpm
    gui/bitmaps/mouse.xpm gui/bitmaps/paste.xpm
    gui/bitmaps/power.xpm gui/bitmaps/reset.xpm
    gui/bitmaps/snapshot.xpm
  Removed Files:
    patches/patch.wxwindows.gz
2002-04-18 00:22:20 +00:00
instinc
1e7cc13b04 reversed the changes done to exception() 2002-04-11 01:19:24 +00:00
instinc
01b699af16 as per bug report 498386, line 550 was causing a panic which has been disabled 2002-04-11 00:36:02 +00:00
Bryce Denney
49decc485c - when merging EDX and EAX to create the apic base address, add
a typecast to Bit64u before shifting left by 32.  Otherwise
  the EDX<<32 would overflow on 32 bit machines and the address would
  be wrong.
2002-04-03 15:12:22 +00:00
instinc
748ccdef95 put bx_guard under #if/#endif BX_DEBUGGER 2002-04-01 13:14:37 +00:00
instinc
22dc1c4f96 added address of the caught watchpoint 2002-04-01 04:42:43 +00:00
instinc
18c79cee9c check if CTRL+C is pressed while in a HLT instruction 2002-04-01 04:02:02 +00:00
Bryce Denney
640d71d017 - check in Zwane Mwaikambo's MSR patch: patch.msr. 2002-03-27 16:04:05 +00:00
Bryce Denney
6881dbd848 - only print the first 10 copies of "WARNING: Local APIC Processor Priority not
implemented" to avoid slowing sim down to a crawl.
2002-03-27 03:47:45 +00:00
Bryce Denney
b8ecf5b118 - apply patch.smp-sync-arb-ids. This patch adds a local APIC behavior
that was missing before, the special "INIT Level Deassert" synchronize
  arbitration ID trick.
2002-03-25 01:58:34 +00:00
Bryce Denney
ae6094c268 - change lots of "if (bx_dbg.apic) BX_INFO(...)" into "BX_DEBUG(...)".
This allows you to turn on debug msgs at runtime.  The old BX_INFOs
  were created before BX_DEBUG existed.
2002-03-23 00:54:37 +00:00
Bryce Denney
0fef43eeb6 - in debugger, fix instruction tracing for SMP simulation. This was
fixed in patch.smp-instr-trace for Bochs 1.3, but the patch conflicted
  with the latest source.  It was simple enough to just make the changes by
  hand.  This should fix bug [ #532321 ] SMP debug: trace-on fails
2002-03-20 23:50:23 +00:00
Bryce Denney
687e8bcfb4 - clean up lines related to disassembly that Greg left. This patch makes no
changes of importance...I just removed commented out lines.
2002-03-20 23:45:31 +00:00
Bryce Denney
5d2667b345 - set dest format to 0xf by default. I'm just modeling bits 31-28, so 0xff is
invalid.  This fixes the misleading panic message:
  bx_local_apic_c::match_logical_addr: cluster model addressing not
  implemented, which was printed even if the OS did not request cluster
  addressing.
2002-03-20 23:32:43 +00:00
Bryce Denney
571ac50d1c - apply patch.smp-eio-readable-wli from William Lee Irwin III.
My code did a panic if you tried to read the EOI register (the panic
  message was wrong but the concept was right).  However it turns out
  some OSes do actually read this register--hopefully they ignore the
  result.  So it should not panic.
2002-03-20 02:51:47 +00:00
Bryce Denney
a6d20bb03e - add #if BX_DEBUGGER around a few more things. :) 2002-03-12 19:00:44 +00:00
Bryce Denney
7a6b013101 - the new code I added in patch.triple-fault-recover needed to be
conditional on BX_DEBUGGER==1.
2002-03-12 18:59:31 +00:00
Bryce Denney
de51eda5d1 - apply patch.triple-fault-recover 2002-03-12 09:16:41 +00:00
Bryce Denney
95467fa241 - Somebody was convinced that the enter instruction with level>0 was broken,
and they added a panic.  Apparantly this instruction is not used very often
  because it went for a long time before anyone noticed.  Peter Tattam started
  running into the panic while emulating his OS called Petros, and through
  a comparison between vmware and bochs results he believes that enter is
  doing the right thing.  So, I have changed the panic into a BX_ERROR for now,
  and added code to ensure that it only gets printed once per bochs run.
2002-03-05 15:50:17 +00:00
Bryce Denney
e38b1c8f7b - the stack_return_from_v86 error is sometimes printed millions of times
and produces a gigantic log file.  Now, after 100 times, it will no
  longer print any more of this particular error.
2002-03-01 17:27:25 +00:00
Gregory Alexander
2fbcdccb02 Added a comment on iret flag writing. 2002-02-22 05:33:36 +00:00
Gregory Alexander
29ba221c3e Make trace output more meaningful by printing each instruction immediately
BEFORE it is executed.  Print the registers at this time, BEFORE the
instruction, since they are the values BEFORE the instruction is executed.

The important result of this is that in TRACE output, both the instruction
causing an exception and the first instruction of the exception handler
are BOTH printed.

I'm working on getting this behavior in the debugger user-interface.

 Modified Files:
 	cpu/cpu.cc debug/dbg_main.cc
2002-02-15 22:58:06 +00:00
Bryce Denney
976e0b67d9 - clarify panic message. It panics if HLT is executed from segment 0xf000,
in other words from ROM BIOS code.
2001-11-18 16:32:40 +00:00
Bryce Denney
8a00171179 - checked in cmpxchg8b patch from Michael Hohmuth <hohmuth@innocent.com> 2001-11-17 22:22:03 +00:00
Bryce Denney
fea759a204 - apply patch.pci from Volker Ruppert. See
[ #481546 ] pci patch (Volker Ruppert) for any followups.
2001-11-14 01:39:22 +00:00
Bryce Denney
918a32a67a - patch from Mike Rieker <mrieker@o3one.org> associated with this bug rpt:
[ #480422 ] gdt 'accessed' bit
2001-11-13 05:11:41 +00:00
Bryce Denney
e0b4801b1f - commit Roland Mainz's idle hack as a configure option. To try it,
configure with --enable-idle-hack.  I have moved most of the code into
  x.cc since it is X windows specific.
2001-11-12 00:45:09 +00:00
Bryce Denney
c100b382fe - in task_switch when it tried to ensure that the old TSS was paged in,
it actually used the new TSS address, fixed.
- add a debug line that says what CR3 is changed to
2001-11-11 04:57:05 +00:00
Bryce Denney
b4aa45671b - Applied patch from Santiago Bazerque. See this bug report:
[ #463018 ] retf not removing parameters sometimes
2001-11-10 23:00:55 +00:00
Todd T.Fries
0761193c5a remove '^M' chars that somehow showed up
I am reporting and disabling this PANIC.  The report is this commit message,
and the test case is win98.
2001-11-05 17:37:16 +00:00
Bryce Denney
b86dbe1f3c - committed patches/patch.no-busy-in-tr-cache. I'm leaving the patch
lying around for a while in case it needs to be reverted.
2001-10-09 21:15:14 +00:00
Bryce Denney
605a28df66 - add panic to warn people of incomplete IRET32 emulation, and encourage
people to report if they hit this panic.
2001-10-09 13:45:17 +00:00
Bryce Denney
75a1d092f6 - I was dismayed to find that stack_return_from_v86 was terribly incomplete.
It did an exception, and then the real code seemed to be commented out
  with an #if 0...#endif.  I put a panic there, asking people to please
  report how they arrived at that condition, and enabled the #if 0 code.
  This was pointed out by luca abeni <l_abeni@hotmail.com>.
2001-10-09 12:23:15 +00:00
Bryce Denney
c99f9aa8ef - use @CPP_SUFFIX@ substitution to get the dependencies right for nmake too 2001-10-07 20:19:04 +00:00
Bryce Denney
8a21b1a9d6 - apply patches/patch.add-makefile-deps. I have added dependencies
which were generated with gcc -MM to the end of each Makefile.in
  so that make understands which files depend on which.  Basically,
  everything depends on bochs.h, which depends on everything, which
  is not ideal.
2001-10-07 00:33:21 +00:00
Bryce Denney
bd286316a0 - clarify panic message in load_seg_reg, to show what's really being compared 2001-10-06 15:19:17 +00:00
Bryce Denney
7d499adac0 - move trace call before the TICK. Well, there are two different places
that TICK is called so I put a trace call just before each TICK.
  This seems best, since the trace has a chance to print before the tick
  can trigger time-based events elsewhere in the system.
2001-10-06 00:00:22 +00:00
Bryce Denney
b70ae5ccf6 - changed args on disassemble current 2001-10-05 21:05:11 +00:00
instinc
dabe63ef72 added a control variable for debugger to know if register tracing is required or not 2001-10-03 19:53:48 +00:00
Bryce Denney
daf2a9fb55 - add RCS Id to header of every file. This makes it easier to know what's
going on when someone sends in a modified file.
2001-10-03 13:10:38 +00:00