Commit Graph

609 Commits

Author SHA1 Message Date
Kevin Lawton
a851db3e36 Ooops, cpu/paging.cc was hosed on that last commit. Fixed that. 2002-09-16 21:01:55 +00:00
Kevin Lawton
366e5f78f0 Removed reference to cpu64/Makefile in the last generation stage
of configure.
2002-09-16 20:39:32 +00:00
Kevin Lawton
5eb4e247bc Merged the final filed ("paging.cc") from Peter Tattam's x86-64
enhancement to bochs.  You can now configure with
--enable-guest2host-tlb.

Force the support of big pages (PSE) when x86-64 is configured.

Reverted back to only one kind of TLB entry style, since everything
is ported.

Fixed one bug in io.cc with as_64 and the index registers.
There are others, as noticed by Peter.
2002-09-16 20:23:38 +00:00
Volker Ruppert
19c660a30c - implementation of the PCI-to-ISA bridge started. I/O ports and features are
not present yet.
2002-09-16 19:18:58 +00:00
Bryce Denney
c3e4ccecb3 - I screwed up the BX_USE_CONFIG_INTERFACE variable earlier today; fixed. 2002-09-16 18:36:01 +00:00
Bryce Denney
7619ecfe91 - this rev deals with a configure script bug that appears on cygwin. When
you have AC_DEFINE(var, value) executed more than once, autoconf is
  supposed to use the last AC_DEFINE value, but sometimes it doesn't.
  I haven't been able to figure out why, so I've just worked around it
  instead.
- for BX_SupportGlobalPages, which could call AC_DEFINE twice, I kept the
  value in a shell variable $support_global_pages until the end and then
  did one AC_DEFINE after it had reached its final value.  Same thing
  with BX_USE_CONFIG_INTERFACE.
- also I realized that we are using AC_SUBST() in many cases where it is
  not needed.  AC_SUBST(name) substitutes the string @name@ with a
  value from the configure script.  For preprocessor symbols like
  BX_SupportPAE, we only need the AC_DEFINE; the AC_SUBST has no effect.
2002-09-16 12:37:16 +00:00
Bryce Denney
4d630a139b - print a message when the use_x86_64 flag forces BX_SupportPAE and
BX_SupportGlobalPages so that it's very clear when they are being
  turned on.
2002-09-16 11:53:35 +00:00
Bryce Denney
fb5f2e83a4 - add -pthread flag to CXXFLAGS when compiling --with-rfb 2002-09-16 00:06:16 +00:00
Kevin Lawton
80dd7a07ec Removed references to building libextdb.a. It doesn't seem to
be used at all, and Peter didn't want it.  "extdb.o" is compiled
into libcpu.a, if configured for it.

Removed a few #warnings for x86-64 compile, based on Peter's
line-item comments regarding the warnings I inserted during
the port/merge.
2002-09-15 15:10:21 +00:00
Kevin Lawton
a367d3b742 Force global pages as well as physical address extensions when
x86-64 support is enabled.  Otherwise, CR4 accesses were
tripping a fault.
2002-09-15 13:52:22 +00:00
Kevin Lawton
278e27d5fe Merged proc_ctrl.cc. Also fixed a bug in CR4 reloading; we were
printing a message when a reserved bit was set, but not causing
a #GP(0).  As well, I force a new PAE support option to 1 when
Hammer support is enabled.
2002-09-14 23:17:55 +00:00
Kevin Lawton
aaeeab5850 Reverted back to using "ar" for making libraries. I had to
declare libs from cpu and cpu64 twice to make the linker
pick up all the symbols.
2002-09-14 05:46:57 +00:00
Kevin Lawton
d16fcfce91 (cpu64) Merged fetchdecode.cc. Also, I had some problems with
circular dependencies between 3 cpu related libs that I need
as part of this transition.  I changed the "ar rv" to "ld -i -o"
to do an incremental load instead of an archive.  Hope this
doesn't break any platforms.  We can reset this later.
2002-09-13 23:59:24 +00:00
Kevin Lawton
f05d453b6c Moved 64-bit only files from cpu64 to cpu and modified the Makefiles
accordingly.  These files cause no conflicts at all, since they
are not used in 32-bit compiles.
2002-09-13 15:53:22 +00:00
Kevin Lawton
c520824de5 Changed configure and the cpu + cpu64 dir Makefiles so it's easy
to incrementally merge files.  For a test, shift16.cc is always
compiled in the cpu/ directory regardless of 32/64-bit configure.
Ultimately, all files will migrate from cpu64 to cpu.
2002-09-13 02:56:14 +00:00
Bryce Denney
ccc6ac804c - integrate Peter Tattam's x86-64 emulation code into the main branch!
This adds a whole new directory cpu64 with the new emulation code.
  Very few changes were necessary outside cpu64.  To try it, configure
  with --enable-x86-64 and make.
- also this adds Peter Tattam's external debugger interface.
- modified files: Makefile.in bochs.h config.h.in configure.in
  load32bitOShack.cc logio.cc cpu/Makefile.in cpu/cpu.cc debug/dbg_main.cc
- added files: cpu/extdb.cc cpu/extdb.h and cpu64/*
2002-09-12 07:23:47 +00:00
Kevin Lawton
08576b24be I implemented Global pages. Though, I haven't tested them. :^)
You need to use '--enable-global-pages' to configure in support.
If you have something to boot that uses them, give them a
spin.  Really the were introduced for PPro and above, but
I haven't put in any limits.  CPUID and CR4 report the proper
bits when configured, regardless of --enable-cpu-level at the
moment.
2002-09-10 03:52:32 +00:00
Bryce Denney
9a045c7340 - since wxWindows+debugger+readline is a combination that currently doesn't
work (control-C kills process instead of returning to debugger prompt), give
  a configure-time error if they are enabled together.  If we can fix the
  signal problem in readline, this check can be removed.
2002-09-05 19:59:20 +00:00
Bryce Denney
2c9fcbb147 - somehow I lost one important line in my last checkin that defines WX_CONFIG 2002-09-05 15:49:48 +00:00
Bryce Denney
892eaab88c - in wxwindows compile, only include the wxwindows cflags on the few
files that need them.  This is more in line with the other gui libraries,
  and the compile line is easier to read.
- modified: Makefile.in configure.in configure gui/Makefile.in
2002-09-05 15:12:13 +00:00
Kevin Lawton
746f09b427 There's a bug in the repeated IO & mem copy speedups. I
added --enable-repeat-speedups with default to disabled.
Reconfigure/recompile and the speedup code will be #ifdef'd
out for now.  It manifested as junk written to the VGA screen
while booting/running Windows.

Also made some more mods to the main cpu loop.  Moved the
handling of EXT/errorno outside the main loop, much like
the extra EIP/ESP commits were moved, for a little better
performance.

I changed the fetch_ptr/bytesleft method of fetching to
a slightly different model, which calculates a window
for which EIP will be valid (land on the current page),
and a bias which when applied to EIP will be from
0..upper_page_limit.  Speed is about the same for either
method, but a pseudo-op/threaded-interpreter will plug
in better with this and be faster.
2002-09-02 18:44:35 +00:00
Kevin Lawton
3a5f338419 Integrated patches for:
- Paging code rehash.  You must now use --enable-4meg-pages to
    use 4Meg pages, with the default of disabled, since we don't well
    support 4Meg pages yet.  Paging table walks model a real CPU
    more closely now, and I fixed some bugs in the old logic.
  - Segment check redundancy elimination.  After a segment is loaded,
    reads and writes are marked when a segment type check succeeds, and
    they are skipped thereafter, when possible.
  - Repeated IO and memory string copy acceleration.  Only some variants
    of instructions are available on all platforms, word and dword
    variants only on x86 for the moment due to alignment and endian issues.
    This is compiled in currently with no option - I should add a configure
    option.
  - Added a guest linear address to host TLB.  Actually, I just stick
    the host address (mem.vector[addr] address) in the upper 29 bits
    of the field 'combined_access' since they are unused.  Convenient
    for now.  I'm only storing page frame addresses.  This was the
    simplest for of such a TLB.  We can likely enhance this.  Also,
    I only accelerated the normal read/write routines in access.cc.
    Could also modify the read-modify-write versions too.  You must
    use --enable-guest2host-tlb, to try this out.  Currently speeds
    up Win95 boot time by about 3.5% for me.  More ground to cover...
  - Minor mods to CPUI/MOV_CdRd for CMOV.
  - Integrated enhancements from Volker to getHostMemAddr() for PCI
    being enabled.
2002-09-01 20:12:09 +00:00
Bryce Denney
61ff7bbb06 - fix it so that cpu/mmx.o is compiled in when MMX is enabled. 2002-08-26 16:40:21 +00:00
Bryce Denney
bc78eaaa76 - add configure option --enable-mmx to prepare for Stanislav Shwartsman's
MMX patch
2002-08-26 16:17:10 +00:00
Bryce Denney
26385f2866 - I've added lots of comments in siminterface.h, and tried to clean up
the terminology a bit.  In particular, the term "gui" has started
  to mean different things in different contexts, so I've defined
  some more specific names for the parts of the user interface, and
  updated comments and some variable names to reflect it.  See
  siminterface.h for a more complete description of all of these.

    VGAW: VGA display window and toolbar buttons, the traditional Bochs
      display which is ported to X, win32, MacOS X, etc.  Implemented
      in gui/gui.* and platform dependent gui/*.cc files.
    CI: configuration interface that lets the user change settings such
      as floppy disk image, ne2k settings, log options.  The CI consists
      of two parts: configuration user interface (CUI) which does the
      actual rendering to the screen and handles key/mouse/menu events,
      and the siminterface object.
    CUI: configuration user interface.  This handles the user interactions
      that allow the user to configure Bochs.  To actually change any
      values it talks to the siminterface object.  One implementation of
      the CUI is the text-mode menus in gui/control.cc.  Another
      implementation is (will be) the wxWindows menus and dialogs in
      gui/wxmain.cc.
    siminterface: the glue between the CUI and the simulation code,
      accessible throughout the code by the global variable
        bx_simulator_interface_c *SIM;
      Among other things, siminterface methods allow the simulator to ask the
      CUI to display things or ask for user input, and allows the CUI
      to query and modify variables in the simulation code.


    GUI: Literally, "graphical user interface".  Until the configuration menus
      and wxWindows came along, everyone understood that "gui" referred to the
      VGA display window and the toolbar buttons because that's all there
      was.  Now that we have the wxWindows code, which implements both the VGAW
      and the CUI, while all other platforms implement only the VGAW, it's not
      so clear.  So, I'm trying to use VGAW, CI, and CUI consistently since
      they are more specific.
    control panel: This has been used as another name for the configuration
      interface.  "control panel" is also somewhat unspecific and it sounds
      like it would be graphical with buttons and sliders, but our text-mode
      thing is not graphical at all.  I've replaced "control panel" with
      "configuration interface" wherever I could find it.  In configure script,
      the --disable-control-panel option is still supported, but it politely
      suggests that you use --disable-config-interface instead.
- clean up comments in siminterface,wx* code
- add comments and examples for bx_param_* and BxEvents
- remove some obsolete stuff: notify_*_args,
  bx_simulator_interface_c::[sg]et_enabled() methods
- in siminterface.cc, move a few bx_real_sim_c methods to where they belong,
  with the rest of the methods.  No changes to the actual methods.
- remove some DOS ^M's which crept in and confused my editor.
2002-08-26 15:31:23 +00:00
Christophe Bothamy
65b715a6ed - fixed test for NE2K_OBJ 2002-08-22 22:21:19 +00:00
Christophe Bothamy
099dad0041 - updated with patch from brad@openbsd.org. See bug [ 593340 ]. 2002-08-11 11:42:09 +00:00
Christophe Bothamy
bc6d07a2c9 - generated from configure.in r1.83 2002-07-16 12:10:05 +00:00
Christophe Bothamy
0fc3304a35 - cdrom is enabled by default
- added a --enable-fetchdecode-cache option
2002-06-06 15:42:11 +00:00
Bryce Denney
2f69a74616 - commit TUN/TAP patch, though I can't really test it. I can verify that if
you don't have if_tun.h the configure script does not enable TUN/TAP.
2002-04-18 00:59:20 +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
Bryce Denney
45b49fe35f - this patch from William Lee Irwin III <wli@holomorphy.com> makes it easy to
configure and compile a BIOS for 8 CPUs.
2002-04-08 01:41:59 +00:00
Bryce Denney
8983937e5c - in main branch, change version name back to "1.4.cvs" so that it's not
confused with any release.
2002-03-28 09:43:07 +00:00
Bryce Denney
715becded5 - upgrade version number to 1.4 2002-03-28 01:20:31 +00:00
Bryce Denney
2a63f9d737 - in rev 1.73 enabled the I/O debugger by default when the debugger is on.
But I left out a critical line, that added iodebug.o to the compile list.
  This rev adds it in so that --enable-debugger will actually compile.
2002-03-26 12:47:50 +00:00
Bryce Denney
6347533913 - Fixes bug #534760: buggy detection of ethertap header. 2002-03-26 05:59:12 +00:00
Bryce Denney
5ab4415516 - enable I/O interface to debugger, when the debugger is enabled 2002-03-21 02:14:51 +00:00
Bryce Denney
e73971ba66 - update version number 2002-03-11 17:15:21 +00:00
Bryce Denney
417425b2e8 - when compiling with --with-sdl, add config-sdl --cflags to the
CFLAGS.  This is needed on systems in which the SDL headers are in
  a nonstandard location.
2002-03-10 21:31:52 +00:00
Bryce Denney
9a177ba518 - add configure test for ethertap. On systems which have a header file
called <linux/netlink.h> the ethertap module will be defined.  If other
  OSes turn up that also have ethertap, we can change the test.
- in eth_tap.cc, I replaced the calls to GPL code from maconlinux with
  my own stuff.
2002-03-09 01:04:49 +00:00
Bryce Denney
c2e0e409e7 - add --enable-vbe option in anticipation of Jereon Jannsen's VESA BIOS
extensions.
2002-03-08 22:37:06 +00:00
Bryce Denney
bef9401a16 - fix the check for socklen_t. It is never defined unless you include
sys/socket.h, duh.
2002-03-08 05:45:51 +00:00
Bryce Denney
9b03cd05e5 - update 2002-03-08 04:47:59 +00:00
Bryce Denney
41767f5a5f - add configure check for socklen_t, define as int if not already there. 2002-03-08 04:45:00 +00:00
Bryce Denney
556a8fa8f8 - commit patch.check-platform. For full details, pull up the patch itself
and look at the description at the top.  Here's an intro.

  This patch makes significant changes to the configure script.  It adds the
  lines AC_CANONICAL_HOST and AC_CANONICAL_TARGET which detect the OS and
  processor type.  The configure script, knowing the OS and processor type, can
  then make intelligent decisions about which CFLAGS are needed and what is the
  default GUI for that platform.  One of the goals of this patch is to make it
  so that on all supported platforms, "configure;make" will compile cleanly.
  Configure detects the target platform, but it can be overridden by using
  --target=___.  This is important when using one platform to generate
  Makefiles and header files for another platform.  See config.guess script for
  the exact details of platform naming.

  The defaults that are currently implemented in the modified configure script
  include:
    If platform is windows* or winnt*, use win32 gui.
    If platform is cygwin*, use win32 gui and compile with
       "-mno-cygwin -DWIN32".
    If platform is macosx* or darwin*, use carbon gui and compile
       with "-fpascal-strings -fno-common -arch ppc -Wno-four-char-constants
       -Wno-unknown-pragmas -Dmacintosh"
    If platform is macos, use macos gui.
    If platform is beos, use beos gui.
    If platform is amigaos, use amigaos gui.
    Otherwise, use X windows gui.
2002-03-07 16:00:39 +00:00
Bryce Denney
17e5bfc00b - change version number to 1.4.pre1 to make a snapshot 2002-03-05 15:58:59 +00:00
instinc
4be53d635a Added --with-sdl 2002-02-05 19:21:59 +00:00
Bryce Denney
d7ea373b90 - apparantly freebsd works with linux sound code. Now you can type
configure --enable-sb16=freebsd and it works according to
   Jeroen Ruigrok/asmodai <asmodai@wxs.nl>
2002-01-16 19:52:28 +00:00
Volker Ruppert
7a7bd0779f - version number updated 2002-01-08 18:58:47 +00:00
Bryce Denney
e8bcb173e5 - detect when MacOS X cdrom code can be used: when the header file
"IOKit/storage/IOCDMedia.h" is available.
2001-12-07 22:18:40 +00:00
Bryce Denney
706f0629f8 - Bernd's configure seems to want both cdrom.o and cdrom_beos.o, though I'm
not sure it's required.
2001-12-07 18:51:29 +00:00
Bryce Denney
5fcb69ca3a - to allow configure to be run from other directories, I added some
mkdirs for build and build/linux.  This was working, but then broke
  when I made configure substitute the version number in lots of new
  files.
2001-12-05 16:46:00 +00:00
Bryce Denney
2cd62e75c8 - Dave enabled the E9 hack in config.h.in, but it had no effect. The correct
way is to make the configure.in default to turning it on.  The value in
  config.h.in will be replaced by configure anyway.
2001-12-05 16:25:24 +00:00
Bryce Denney
0bbe088d56 - add beos cdrom .o file, when beos and cdrom are selected. I don't
have the actual cdrom_beos.cc file yet from Bernd.
2001-12-05 03:37:08 +00:00
Bryce Denney
50f84e5947 - add configure switch called --enable-idle-hack that turns on
Roland Mainz's idle patch.
2001-11-12 00:43:59 +00:00
Bryce Denney
7c92e20272 - add test for getenv 2001-11-11 05:43:12 +00:00
Bryce Denney
473e3f1c88 - I have tried to make the --prefix argument to configure control
everything about the installation path.  There should be no more
  hardcoded references to /usr/local/bochs.  Instead, there are
  references to @prefix@ which get replaced by the configure script
  with the real prefix.
2001-11-10 03:48:22 +00:00
Bryce Denney
70069a4ad8 - also compile niclist when NE2000 is enabled 2001-10-09 13:41:01 +00:00
Bryce Denney
cd88c86840 - add configure check for the abort function, which I will use as a
choice when a panic occurs.
2001-10-07 00:10:19 +00:00
Bryce Denney
dbb6d5f821 - remove my ill-conceived configure test for wsprintf. It really is
available in cygwin, and I don't know what I was thinking before.
2001-10-05 13:52:25 +00:00
Bryce Denney
80b669501a - when win32-vcpp is enabled, set HAVE_LIBREADLINE=0 and BX_HAVE_WSPRINTF=1. 2001-10-05 07:45:23 +00:00
Bryce Denney
51bef91d8e - force BX_HAVE_WSPRINTF=1 when configuring for a VC++ compile 2001-10-05 07:04:29 +00:00
Bryce Denney
02f53d023a - add configure check for wsprintf 2001-10-05 06:08:24 +00:00
Bryce Denney
5e2e1b5ae0 - add some substitution variables related to make install for win32 2001-10-05 06:06:21 +00:00
Bryce Denney
85b8c00de0 - clean up error message related to readline 2001-10-04 18:07:06 +00:00
Bryce Denney
5be1416c96 - remove the part that aborts if readline is not found 2001-10-04 18:05:29 +00:00
Bryce Denney
3b6d9ae017 - try to improve the readline test. Now I never use the readline test
generated by autoconf.  Instead I'm using AC_TRY_RUN to actually call
  a readline function before assuming that things are ok.
2001-10-04 18:00:48 +00:00
Bryce Denney
de45620a0d - partial fix for bug #467969, VPATH doesn't quite work. It was failing
when trying to create instrument/stubs/Makefile because the instrument
  directory didn't exist.
2001-10-04 17:54:51 +00:00
Bryce Denney
84f1ebb003 - readline checks still have a few problems, so don't do exit 1 2001-10-04 05:39:12 +00:00
Bryce Denney
57071445e6 - add eth_win32.o to the Makefile when ne2000 is enabled and we're compiling
for win32.
2001-10-03 13:42:24 +00:00
Bryce Denney
49aad8c1b1 - add test for whether -lcurses is required when using readline, to fix
bug #429448.  What is strange about this problem (on OpenBSD) is that the
  compile and link goes fine, but when you execute your first readline library
  function it does a dynamic link and crashes on the spot.  Many autoconf
  tests only compile and sometimes link the test program, but this test
  compiles, links, and runs it.
2001-10-03 12:33:53 +00:00
Bryce Denney
c9e377c4d9 - for MacOSX the primary target is the app, not the bochs. 2001-09-27 02:01:41 +00:00
Bryce Denney
3abf0831a5 - add configure option "--with-carbon" which is used for MacOS X compiles 2001-09-26 00:13:16 +00:00
Bryce Denney
c7a4ac2088 - add test for usleep and nanosleep 2001-09-24 05:28:42 +00:00
Bryce Denney
9454441958 - add --enable-slowdown option to configure, which turns on Greg's
slowdown timer device.
2001-09-24 05:23:55 +00:00
Bryce Denney
4f5bce582f - when configuring for win32, assume you don't have strotull or strtouq. 2001-09-24 03:26:24 +00:00
Bryce Denney
c89f3de147 - move Dave's changes to configure into configure.in so that they don't
get wiped out next time we run autoconf.
2001-09-18 05:25:29 +00:00
instinc
1732a0ea73 Added missing IODEBUG_OBJS 2001-09-14 15:07:49 +00:00
instinc
37fc526317 Added I/O Interface to the debugger check, --enable-iodebug --disable-iodebug 2001-09-14 14:52:27 +00:00
Gregory Alexander
d9fd468ff4 Made the new PIT the default. 2001-08-18 14:15:41 +00:00
Bryce Denney
42aa1fcf46 - I realized that cdrom_amigaos.o is a replacement for cdrom.o, not a
supplement.
2001-08-15 20:39:40 +00:00
Bryce Denney
bf286c20ac - configure and makefile changes for AmigaOS port. Now configure
--with-amigaos is allowed and sets up the makefiles correctly.  It
  defines a symbol called BX_WITH_AMIGAOS, which should be used in
  #if..#endif constructs that are specific to amigaos.
- if --enable-cdrom is used with --with-amigaos, the cdrom_amigaos.o
  object file will be added to CDROM_OBJS in the iodev makefile.
2001-08-15 20:33:47 +00:00
Bryce Denney
4d8a524e81 - add --enable-new-pit option to turn on Greg's PIT model 2001-08-15 17:51:10 +00:00
Bryce Denney
75c87e2113 - apply patch from splite@purdue.edu that add an ethernet packet mover
for Linux!!!  I tested this using host OS kernel 2.2.14, and was able
  to use telnet, ftp, irc, lynx, etc.  Because it is a packet filter
  solution, you aren't able to talk to the host machine, only to other
  machines on the network.  The patch itself is in
  patches/patch.ethlinux-splite.
2001-06-26 07:46:42 +00:00
Bryce Denney
a36d430306 - help message for --enable-control-panel was broken 2001-06-21 15:05:22 +00:00
Bryce Denney
6c7d910459 - bought configure up to date with 1.23 of configure.in 2001-06-20 22:28:43 +00:00
Bryce Denney
19bbda01ca - add test for struct timeval 2001-06-12 03:37:55 +00:00
Bryce Denney
8b7fbca53e - more work on text-mode control panel. Now the control panel starts before
the simulation begins, to give you a chance to choose between bochsrcs,
  choose the boot disk, etc.
2001-06-09 20:01:12 +00:00
Bryce Denney
c681b99d39 - remove --enable-external-device-models
- remove --enable-external-cpu-memory
- Neither of these options were compiling anymore, and Kevin suggested:
  > My advice would be to scrap both of these options.  I hadn't used
  > those in some time.  The way to implement 'external' devices
  > would be via a modular plugin architecture, which both bochs
  > and plex86 should implement.
2001-06-07 16:00:58 +00:00
Bryce Denney
ef907186ef - add messages about external device models and external cpu memory,
no change of any substance here!
2001-06-07 14:11:58 +00:00
Bryce Denney
e8d89eb7eb - allow readline to be disabled if you want, as in
configure --enable-debugger --disable-readline
2001-06-07 02:51:20 +00:00
Bryce Denney
3c9067facf - crash configure if X windows gui selected but no X windows libraries
are found
2001-06-02 03:11:51 +00:00
Bryce Denney
07b92bf6a5 - first test if -pthread arg to compiler causes pthread library to work.
If so, use it.  Otherwise, check if -lpthread works.  If so, us it.
  Otherwise, print an error and fail.
2001-06-02 03:07:28 +00:00
Bryce Denney
4ffec74a29 - only attempt to compile eth_fbsd.o if net/bpf.h is found. 2001-05-31 15:19:32 +00:00
Bryce Denney
5e2d6aba63 - leave optimization on for windows, but make it easy to switch to
debug version by uncommenting stuff.
2001-05-25 02:08:52 +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
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
d9bcb50f94 - enable split hd support by default 2001-05-23 08:47:03 +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
b3ea58afd6 - add search for strtouq support 2001-05-17 06:59:23 +00:00
Bryce Denney
4e6bc5a605 - compile with FPU on by default 2001-05-16 08:00:43 +00:00
Bryce Denney
d2203e662f - added most of Todd's "term mode" patch. I didn't apply all of the signal
handling part, so I need to figure out how control-C's and control-Z's
  will get mapped into keystrokes.
2001-05-08 19:07:26 +00:00
Bryce Denney
a7b7563e3c - add support for split hard disk image, so that it is possible to store
different partitions in separate files.
2001-05-07 05:47:59 +00:00
Bryce Denney
3f7f880427 - set good defaults for win32-vcpp
#define BX_64BIT_CONSTANTS_USE_LL 0
    #define inline __inline
    #define BX_NO_EMPTY_STRUCTS 1
    #define BX_NO_ATTRIBUTES 1
    #define BX_HAVE_HASH_MAP 0
2001-04-10 02:31:24 +00:00
Bryce Denney
fdac0b6e12 - for macos, strdup is not defined. force configure --with-macos to
define BX_HAVE_STRDUP=0.
2001-04-10 02:11:42 +00:00
Bryce Denney
a6ad4c3903 - Applied const64bit patch:
For compilers (such as Microsoft VC++) which don't allow "LL" after a
  constant to make it 64-bit, this patch declares all such constants as
  BX_CONST64(value).  Then in config.in, a switch called
  BX_64BIT_CONSTANTS_USE_LL controls whether the macro puts the
  LL's in or not.  Configure sets the macro, if you're on a platform
  that can run such things.
2001-04-10 02:06:10 +00:00
Bryce Denney
2289674627 - check for strdup; if found define BX_HAVE_STRDUP=1. 2001-04-10 01:59:07 +00:00
Bryce Denney
76bbd83325 - check for sizeof int*
- check for snprintf, strtoull
- check if empty structs allowed
- check for hash_map.h
- check for blank labels as in   void main () { int x=2; label: }
- if debugger, turn on disasm too
2001-04-10 01:50:00 +00:00
cvs
beff63eb32 - entered original Bochs snapshot bochs-2000_0325a.tar.gz from
ftp.bochs.com
2001-04-10 01:04:59 +00:00