Commit Graph

205 Commits

Author SHA1 Message Date
Bryce Denney
49664f7503 - parts of the SMP merge apparantly broke the debugger and this revision
tries to fix it.  The shortcuts to register names such as AX and DL are
  #defines in cpu/cpu.h, and they are defined in terms of BX_CPU_THIS_PTR.
  When BX_USE_CPU_SMF=1, this works fine.  (This is what bochs used for
  a long time, and nobody used the SMF=0 mode at all.)  To make SMP bochs
  work, I had to get SMF=0 mode working for the CPU so that there could
  be an array of cpus.

  When SMF=0 for the CPU, BX_CPU_THIS_PTR is defined to be "this->" which
  only works within methods of BX_CPU_C.  Code outside of BX_CPU_C must
  reference BX_CPU(num) instead.
- to try to enforce the correct use of AL/AX/DL/etc. shortcuts, they are
  now only #defined when "NEED_CPU_REG_SHORTCUTS" is #defined.  This is
  only done in the cpu/*.cc code.
2001-05-24 18:46:34 +00:00
Bryce Denney
5d77c96ef0 - added BX_DEBUG messages here and there to help debug the ne2k code 2001-05-24 18:31:36 +00:00
Bryce Denney
26cf93f455 - fixed stupid bug in my RDTSC code, which made the TSD bit
(time stamp disable) not work correctly
2001-05-24 18:03:14 +00:00
Todd T.Fries
c4b0977231 Kevin said to change to 'bochs' all things 'plex86'.. change this too. 2001-05-24 15:30:30 +00:00
Todd T.Fries
aa8081aff3 cleanup output more 2001-05-24 14:08:54 +00:00
Bryce Denney
5a962a9e9c - some more .bochsrc cleanup with suggestions from Chris Schmidt 2001-05-24 08:59:05 +00:00
Bryce Denney
6f844d8190 - in several cases in the log functions, va_end appeared before the
last use of the varargs variable, which is illegal!
2001-05-24 08:46:17 +00:00
Bryce Denney
db2dd4cbbd - n_logfn was getting used before it was initialized. This was bad because
it determined the index into logfn_list to write to!  Now it is zeroed
  before it can be used.
2001-05-24 07:59:08 +00:00
Bryce Denney
d0365c816b - fix up makefile for VC++: use parens not brackets in variables:
$(VAR) instead of ${VAR}
2001-05-24 05:36:07 +00:00
Bryce Denney
97d681fb89 - integrated Don Becker's RFB gui, added it as a configure option,
and put it in the docs.
2001-05-24 01:07:09 +00:00
Bryce Denney
0368a3e9cf - imported Don Becker's Bochs-RFB version 0.04a 2001-05-24 00:39:34 +00:00
Bryce Denney
f904071622 - imported Don Becker's Bochs-RFB version 0.03a 2001-05-24 00:38:44 +00:00
Bryce Denney
baf7f19446 - imported Don Becker's Bochs-RFB version 0.02a 2001-05-24 00:37:43 +00:00
Bryce Denney
ebdae63e4d - imported Don Becker's Bochs-RFB version 0.01a 2001-05-24 00:36:27 +00:00
Todd T.Fries
c8ef550530 irq9, not irq10, thanks angelos@openbsd.org 2001-05-23 19:47:14 +00:00
Todd T.Fries
cd01453c9d cleanup output 2001-05-23 19:36:55 +00:00
Bryce Denney
a6b3ea4efb - disable cdrom by default
- some comment line used "*" instead of "#" and made the whole thing
  invalid.
2001-05-23 17:04:43 +00:00
Bryce Denney
3503104390 - configure turns on APIC when cpu level > 5
- now the APIC feature bit is really controlled by cpu level and
  BX_APIC_SUPPORT, so it won't go on at the wrong time.
2001-05-23 15:54:05 +00:00
Bryce Denney
38b35b9a48 - recompiled bios with new features (multiple hd, etc.) 2001-05-23 15:38:26 +00:00
Bryce Denney
892f04a2a3 - replaced all the "fprintf(stderr...); exit(1);" lines with BX_PANIC
and BX_INFO calls instead.
2001-05-23 15:13:05 +00:00
Bryce Denney
db2ae479cc - bug fix: zero length line could cause bochs to segfault. (Maybe it only
happened at the end.)
2001-05-23 15:00:10 +00:00
Todd T.Fries
70099281ff tweaks and if(bx_dbg.foo) BX_INFO -> BX_DEBUG .. 2001-05-23 14:31:21 +00:00
Bryce Denney
d9bcb50f94 - enable split hd support by default 2001-05-23 08:47:03 +00:00
Bryce Denney
9ed3cd690f - avoid "redefined AX" warning 2001-05-23 08:44:59 +00:00
Bryce Denney
6ed99e0e43 - fix typo (beward/beware) 2001-05-23 08:27:10 +00:00
Bryce Denney
d72bdeb7b1 - leave version number unspecified until we are really building a particular
release.
2001-05-23 08:22:23 +00:00
Bryce Denney
e61d00351f - merged BRANCH-smp-bochs into main branch. For details see comments
in BRANCH-smp-bochs revisions.
- The general task was to make multiple CPU's which communicate
  through their APICs.  So instead of BX_CPU and BX_MEM, we now have
  BX_CPU(x) and BX_MEM(y).  For an SMP simulation you have several
  processors in a shared memory space, so there might be processors
  BX_CPU(0..3) but only one memory space BX_MEM(0).  For cosimulation,
  you could have BX_CPU(0) with BX_MEM(0), then BX_CPU(1) with
  BX_MEM(1).  WARNING: Cosimulation is almost certainly broken by the
  SMP changes.
- to simulate multiple CPUs, you have to give each CPU time to execute
  in turn.  This is currently implemented using debugger guards.  The
  cpu loop steps one CPU for a few instructions, then steps the
  next CPU for a few instructions, etc.
- there is some limited support in the debugger for two CPUs, for
  example printing information from each CPU when single stepping.
2001-05-23 08:16:07 +00:00
Bryce Denney
564ca0a857 - within BX_MEM_C member functions, use reference to local data instead of
going out to BX_MEM to get it.
- outside of BX_CPU_C, use BX_CPU(n) instead of BX_CPU_THIS_PTR
- add memory-mapped I/O APIC and local APICs.
2001-05-23 08:02:15 +00:00
Bryce Denney
af4ccaae3e - added I/O APIC and local APICs
- for more details, see BRANCH-smp-bochs
2001-05-23 07:48:11 +00:00
Bryce Denney
17f0f589ba - branch .conf.x86 into .conf.linux-x86 2001-05-23 03:16:34 +00:00
Bryce Denney
68492e6573 - fixed stupid I/O bug 2001-05-23 02:45:43 +00:00
Bryce Denney
7f5f5e24ce - g++ gave warning about "class eth_pktmover_c has virtual functions but
a non-virtual destructor" so I gave it a virtual destructor which is
  empty!
2001-05-23 02:44:52 +00:00
Bryce Denney
42bc8f4f2c - extern not needed anymore 2001-05-23 02:42:55 +00:00
Bryce Denney
2afde23073 - don't print release info for CVS version 2001-05-23 02:40:31 +00:00
Bryce Denney
1981d8d5cd - change name of action "crash" to "fatal"
- change Makefile.in to "cvs-snapshot" information rather than printing
  the release number, since in fact it's not the same as the release anymore
- use #defines to give the actions names (ACT_IGNORE, ACT_REPORT, ACT_FATAL)
- register all logfunctions as they call setio, and keep a list so that
  we can change their settings more easily.  I admit I used a static-sized
  array to store them.  Sorry.
- instead of printing a prefix [GEN ] for generic messages, just leave the
  prefix blank [   ].  Otherwise you start wondering what does gen stand
  for.
- avoid reentry into fatal, since fatal can call BX_INFO and friends.
  This avoids a potential infinite recursion.
- now that files other than .bochsrc can be the rc file, print the
  actual name of the file in error messages.
2001-05-23 02:37:52 +00:00
Todd T.Fries
12457577c1 ne2k from angelos@OpenBSD.org 2001-05-23 00:46:47 +00:00
Bryce Denney
2eafaa4d17 - use MAX_LOGLEV as array bounds for log_actions 2001-05-22 20:02:24 +00:00
Bryce Denney
a04c65e642 - new, partially implemented, lines in .bochsrc allow run-time choice of
what action to take on panic, error, info, and debug.  The lines don't
  have any effect quite yet because of an initialization order problem
  with the logfunctions.
2001-05-22 20:01:40 +00:00
Bryce Denney
cbc8c960d2 - more stderr cleanup 2001-05-22 19:07:53 +00:00
Bryce Denney
3f702247d2 - add version information to the bochs binary for a banner message. 2001-05-22 18:49:11 +00:00
Bryce Denney
d7d75a7bdc - changed some messages from BX_INFO to BX_DEBUG so that they wouldn't
show up by default.
2001-05-22 18:48:31 +00:00
Bryce Denney
36b2a8266b - clean up stderr output a lot
- give hints if they type "bochs" with no args and no .bochsrc is found
2001-05-22 18:47:30 +00:00
Bryce Denney
ed1f0c595d - still content free, but a little more descriptive 2001-05-22 17:46:07 +00:00
Bryce Denney
f089182db8 - add RPM make target 2001-05-22 17:20:45 +00:00
Bryce Denney
195e03130c - make an RPM spec template, with @VERSION@ where the version should go 2001-05-22 16:57:23 +00:00
Bryce Denney
6dc5a16f08 - this is the first rpmspec that actually worked 2001-05-22 16:50:15 +00:00
Bryce Denney
b03c2ef6a6 - add install target to make linux binary release 2001-05-22 16:12:01 +00:00
Bryce Denney
015a541daa - add build subdirectory for platform-specific stuff 2001-05-22 16:10:07 +00:00
Bryce Denney
a477f9bbf7 - I got diffs from 1/4/2000 snapshot to 3/15/2000 snapshot, so I filled
in the changelog.
2001-05-20 04:05:18 +00:00
Bryce Denney
a9b282ece5 - BX_WARN doesn't exist any more! Change them all to BX_INFO. 2001-05-20 03:27:05 +00:00