Commit Graph

130 Commits

Author SHA1 Message Date
Stanislav Shwartsman
ae35b0276e white space cleanups and coding style changes 2008-01-26 22:24:03 +00:00
Stanislav Shwartsman
1b8988f698 warnings fixed 2007-10-24 23:17:42 +00:00
Stanislav Shwartsman
071c5c1a26 A lot of changes but everything is really trivial.
Make save/restore default feature, the configure option for save/restore removed from configure script and save/restore made available forever. All code now assume it is exists. Bochs save/restore tree previosly called "save_restore" renamed to "bochs" tree and it will be havily used everywhere, starting from save/restore and ending by various bochs debugger functions. I am going to rework debugger code to get rid of debug CPU access functions and use this "bochs" param tree instead
2007-09-28 19:52:08 +00:00
Stanislav Shwartsman
9d907b5f65 Try to specify everywhere the list size in bx_list_c constructor 2007-04-03 22:38:49 +00:00
Volker Ruppert
d7c627fdc1 - added support for serial 3-button mouse with Mousesystems protocol 2006-12-31 11:56:14 +00:00
Volker Ruppert
f8f01db46a - replaced call of obsolete bcopy() by memcpy()
- the cfmakeraw() function is not available on all platforms (now using code
  that does the same job)
- removed useless strcpy() call
2006-10-08 10:59:21 +00:00
Volker Ruppert
4cf2f745d1 - some fixes to avoid segfaults after early panics
- fixed gameport log type
- wx: store mouse capture mode in the gui code (only access the mouse parameter
  when the capture mode changes)
- wx: don't initialize wxScreen if already done and clear screen on exit
2006-09-12 13:05:07 +00:00
Volker Ruppert
190b9391cf - delete the device object in the plugin_fini() function of each plugin device
(TODO: find a way to call plugin_fini() for non-core devices if plugins are
   disabled)
- set the device pointers back to stubs after unloading plugins
- added debug message "Exit" in all device plugin destructors
2006-09-10 17:18:44 +00:00
Volker Ruppert
2c67881253 - don't modify the 'dev' parameter with strtok() in 'socket' mode
- removed unnecessary spaces
2006-08-18 16:57:39 +00:00
Stanislav Shwartsman
fee48d74e0 Avoid doing strdup for param name field - most of the strdups elliminated ! 2006-05-29 22:33:38 +00:00
Stanislav Shwartsman
8b0df8e99b Merge SAVE_RESTORE branch to CVS 2006-05-27 15:54:49 +00:00
Volker Ruppert
154702eaca - serial, parallel and usb options rewritten to a parameter tree
- bx_init_options(): local variables cleanup
- hide floppy devtype parameter (floppy media type change support not yet complete)
- wx: menu order changed
- keyboard.cc: removed obsolete FIXME
- proposed parameter tree updated
2006-03-01 17:14:36 +00:00
Volker Ruppert
c47508bdb1 - keyboard and mouse options rewritten to a parameter tree
- siminterface method ask_param() can now handle new-style parameters
- proposed parameter tree updated
2006-02-22 19:18:29 +00:00
Volker Ruppert
d4d4cbf6dd - display and interface options rewritten to a parameter tree
- new enum parameter method get_selected() returns a pointer to the selected string
- proposed parameter tree updated
2006-02-21 21:35:09 +00:00
Volker Ruppert
89c2554b7c - missing include for FreeBSD and others added
- set member sin_len of struct sockaddr_in if present
2005-07-11 16:24:47 +00:00
Volker Ruppert
bff2c04c5b - com->socket redirection support added (initial SF patch #1107945 by Andrew Backer) 2005-07-10 16:51:09 +00:00
Stanislav Shwartsman
acd1d8f14f Merged patch
[1104695] msvc6 compatibility update (Royce Mitchell III)
2005-01-19 18:21:40 +00:00
Volker Ruppert
c956b5bfea - debug output cleanup (SF patch #1092058 by Ben Lunt) 2005-01-02 10:42:15 +00:00
Volker Ruppert
5ed6a80f69 - mouse type definitions moved to siminterface.h and BX_* prefix added
- mouse type 'ps2' is now the default again
2004-12-09 18:47:36 +00:00
Volker Ruppert
faafc6a93a - mouse type 'none' added (no mouse connected)
- added emulation of the PS/2 mouse port without a mouse connected (some OS's
  still detect a mouse)
- fixes for the mouse type 'serial_wheel' (the wheel still doesn't work in Win98)
2004-12-07 21:06:35 +00:00
Volker Ruppert
202734a5a3 - first attempt to implement a wheel mouse (PS/2 or serial) based on patch
#1079240 by Ben Lunt. There are still some problems:
  - PS/2 mouse is always present (some code to emulate a disconnected mouse needed)
  - PS/2 wheel mouse doesn't work properly
  - serial wheel mouse detected as a standard mouse and doesn't work at all
2004-12-05 20:23:39 +00:00
Volker Ruppert
301ffc2a7f - standard 2-button serial mouse implemented (with mouse option 'type=serial'
and one com port needs setting 'mode=mouse')
2004-12-02 21:34:26 +00:00
Volker Ruppert
24cb20a563 - serial mouse support prepared (TODO: redirect mouse data to serial port) 2004-11-27 10:09:41 +00:00
Volker Ruppert
00bf370db2 - some compilation fixes for the raw serial support 2004-09-05 21:09:46 +00:00
Volker Ruppert
8d585dc813 - removed lowlevel includes from iodev.h and device headers to reduce dependencies
- fixed some warnings
2004-09-05 10:30:19 +00:00
Volker Ruppert
f1a0f56d55 - support for serial port modes added. The mode defines what to do with the
data written to the port and where to get the data read from it. Available
  modes are 'null' (no input/output), 'file' (output to a file specified as
  the 'dev' parameter), 'term' (serial terminal) and 'raw' (use the real serial
  port - under construction for win32).
- descriptions for serial and parallel options in bochsrc sample updated
2004-07-28 19:36:42 +00:00
Stanislav Shwartsman
5873b26a82 Speed up compilation process.
bochs.h already not include iodev.h which reduces compilation dependences for almost all cpu and fpu files, now cpu files will not be recompiled if iodev includes was changed
2004-06-19 15:20:15 +00:00
Volker Ruppert
e14918637a - serial_raw: return value of get_modem_status() changed
- serial_raw: data type of the receive function is now 'int' again (negative
  return values will be serial events)
2004-03-28 12:41:12 +00:00
Volker Ruppert
8a9b4a1429 - cleaned up rx_timer() (raw serial support doesn't need the select function 2004-03-13 17:17:16 +00:00
Volker Ruppert
87853190b5 - bit number of the loopback switch fixed 2004-03-09 22:17:33 +00:00
Volker Ruppert
677574bfa8 - break signal handling in loopback mode added
- change the raw serial settings when entering or leaving loopback mode
- write handler: new bit values now stored in local variables
- serial_raw: fixed a warning
2004-03-09 21:58:37 +00:00
Volker Ruppert
2243d9a612 - serial_raw: new methods set_modem_control(), get_modem_status() and setup_port()
- serial_raw for win32: set/clear break, set modem control and get modem status implemented
2004-03-08 21:51:19 +00:00
Volker Ruppert
7fc70c8327 - fixed compile error in serial destructor 2004-02-28 22:06:36 +00:00
Volker Ruppert
8ba9c91d55 - prepared raw serial support for win32 (DCB settings)
- serial_raw: new method set_break()
- delete raw serials object in destructor
2004-02-28 21:28:28 +00:00
Volker Ruppert
9c9aebcf3d - serial port code now compiles on Linux with USE_RAW_SERIAL = 1
- LCR write code rewritten
- only call set_baudrate() when DLAB has changed to 0
2004-02-28 13:10:57 +00:00
Volker Ruppert
b2b9d5bd53 - com port number added to all debug/info/error/panic messages 2004-01-25 13:01:29 +00:00
Volker Ruppert
264029fdee - raw serial support prepared for 4 ports
- fixes for compiling on win32
- unnecessary includes removed
- description updated
- converted tabs to spaces
2004-01-18 11:58:07 +00:00
Volker Ruppert
24bee7ee43 - multiple serial port support completed (4 port are available now)
- rx_fifo_enq() call fixed
- unnecessary BX_INFO removed
2004-01-18 00:18:44 +00:00
Volker Ruppert
8b640bface - serial read/write and timer handlers prepared for 4 ports
- new function triggeredTimerID() returns the active ID in timer handler
2004-01-17 15:51:09 +00:00
Volker Ruppert
6866ca21d6 - serial FIFO support (UART type 16550A) implemented 2003-11-09 00:14:43 +00:00
Volker Ruppert
2ef7ec8973 - new function raise_interrupt() manages the serial interrupt reasons
- the line status register only causes an interrupt if an error occurs
- missing initial baurate value added (using 115200)
- baudrate divisor value checks fixed
2003-10-31 17:23:56 +00:00
Volker Ruppert
2fc0b134ed - interrupt and i/o port initialization moved into the initialization loop
- new function lower_interrupt() lowers the irq line if no interrupts are pending
- IER write code: missing conditions for lower_interrupt() added
- symbol BX_SERIAL_CONFDEV removed (now using BX_N_SERIAL_PORTS)
2003-10-29 21:00:04 +00:00
Volker Ruppert
fbba69380b - MCR bit 3 (OUT2) controls the serial interrupt generation, but has no effect
on the IIR (only depends on the IER).
- IER write code rewritten. The "THR empty" interrupt will be generated immediately
  after enabling this interrupt reason.
2003-10-28 18:40:00 +00:00
Daniel Gimpelevich
5586f6054b *** empty log message *** 2003-10-24 11:16:25 +00:00
Volker Ruppert
33847825a2 - TTY_HACK feature removed. It no longer compiles and it has been replaced by
the SERIAL_ENABLE feature.
- rx_timer value for data sizes other than 8 fixed
- initial comment updated
2003-10-12 10:51:58 +00:00
Volker Ruppert
d04a74c7a2 - more accurate emulation of the serial transmit registers (THR/TSR)
- tx_timer value for data sizes other than 8 fixed
- MCR bit 3 (OUT2) controls the serial interrupt generation
2003-09-14 20:16:25 +00:00
Christophe Bothamy
832ef1209f - apply .bochsrc, cdrom, serial and ethernet patches for NetBSD
(patches by fredb, uebayasi and david laight)
2003-08-19 00:37:03 +00:00
Volker Ruppert
df2d388fa4 - io_len mask fixed and unnecessary io_len checks removed from the remaining
devices except pciusb
2003-07-31 19:51:42 +00:00
Bryce Denney
cec9135e9f - Apply patch.replace-Boolean rev 1.3. Every "Boolean" is now changed to a
"bx_bool" which is always defined as Bit32u on all platforms.  In Carbon
  specific code, Boolean is still used because the Carbon header files
  define it to unsigned char.
- this fixes bug [ 623152 ] MacOSX: Triple Exception Booting win95.
  The bug was that some code in Bochs depends on Boolean to be a
  32 bit value.  (This should be fixed, but I don't know all the places
  where it needs to be fixed yet.)  Because Carbon defined Boolean as
  an unsigned char, Bochs just followed along and used the unsigned char
  definition to avoid compile problems.  This exposed the dependency
  on 32 bit Boolean on MacOS X only and led to major simulation problems,
  that could only be reproduced and debugged on that platform.
- On the mailing list we debated whether to make all Booleans into "bool" or
  our own type.  I chose bx_bool for several reasons.
  1. Unlike C++'s bool, we can guarantee that bx_bool is the same size on all
     platforms, which makes it much less likely to have more platform-specific
     simulation differences in the future.  (I spent hours on a borrowed
     MacOSX machine chasing bug 618388 before discovering that different sized
     Booleans were the problem, and I don't want to repeat that.)
  2. We still have at least one dependency on 32 bit Booleans which must be
     fixed some time, but I don't want to risk introducing new bugs into the
     simulation just before the 2.0 release.

Modified Files:
    bochs.h config.h.in gdbstub.cc logio.cc main.cc pc_system.cc
    pc_system.h plugin.cc plugin.h bios/rombios.c cpu/apic.cc
    cpu/arith16.cc cpu/arith32.cc cpu/arith64.cc cpu/arith8.cc
    cpu/cpu.cc cpu/cpu.h cpu/ctrl_xfer16.cc cpu/ctrl_xfer32.cc
    cpu/ctrl_xfer64.cc cpu/data_xfer16.cc cpu/data_xfer32.cc
    cpu/data_xfer64.cc cpu/debugstuff.cc cpu/exception.cc
    cpu/fetchdecode.cc cpu/flag_ctrl_pro.cc cpu/init.cc
    cpu/io_pro.cc cpu/lazy_flags.cc cpu/lazy_flags.h cpu/mult16.cc
    cpu/mult32.cc cpu/mult64.cc cpu/mult8.cc cpu/paging.cc
    cpu/proc_ctrl.cc cpu/segment_ctrl_pro.cc cpu/stack_pro.cc
    cpu/tasking.cc debug/dbg_main.cc debug/debug.h debug/sim2.cc
    disasm/dis_decode.cc disasm/disasm.h doc/docbook/Makefile
    docs-html/cosimulation.html fpu/wmFPUemu_glue.cc
    gui/amigaos.cc gui/beos.cc gui/carbon.cc gui/gui.cc gui/gui.h
    gui/keymap.cc gui/keymap.h gui/macintosh.cc gui/nogui.cc
    gui/rfb.cc gui/sdl.cc gui/siminterface.cc gui/siminterface.h
    gui/term.cc gui/win32.cc gui/wx.cc gui/wxmain.cc gui/wxmain.h
    gui/x.cc instrument/example0/instrument.cc
    instrument/example0/instrument.h
    instrument/example1/instrument.cc
    instrument/example1/instrument.h
    instrument/stubs/instrument.cc instrument/stubs/instrument.h
    iodev/cdrom.cc iodev/cdrom.h iodev/cdrom_osx.cc iodev/cmos.cc
    iodev/devices.cc iodev/dma.cc iodev/dma.h iodev/eth_arpback.cc
    iodev/eth_packetmaker.cc iodev/eth_packetmaker.h
    iodev/floppy.cc iodev/floppy.h iodev/guest2host.h
    iodev/harddrv.cc iodev/harddrv.h iodev/ioapic.cc
    iodev/ioapic.h iodev/iodebug.cc iodev/iodev.h
    iodev/keyboard.cc iodev/keyboard.h iodev/ne2k.h
    iodev/parallel.h iodev/pci.cc iodev/pci.h iodev/pic.h
    iodev/pit.cc iodev/pit.h iodev/pit_wrap.cc iodev/pit_wrap.h
    iodev/sb16.cc iodev/sb16.h iodev/serial.cc iodev/serial.h
    iodev/vga.cc iodev/vga.h memory/memory.h memory/misc_mem.cc
2002-10-25 11:44:41 +00:00
Bryce Denney
5e520261db Add plugin support to Bochs by merging all the changes from the
BRANCH_PLUGINS branch!

Authors:
  Bryce Denney
  Christophe Bothamy
  Kevin Lawton (we grabbed a lot of plugin code from plex86)
Testing help from:
  Volker Ruppert
  Don Becker (Psyon)
  Jeremy Parsons (Br'fin)

The change log is too long to paste in here.  To read the change log, do
  cvs log patches/patch.final-from-BRANCH_PLUGINS.gz

All the changes and a detailed description are contained in a patch
called patch.final-from-BRANCH_PLUGINS.gz.  To look at the complete
patch, do
  cvs upd -r1.1 patches/patch.final-from-BRANCH_PLUGINS.gz

Then you will have a local copy of the patch, which you can gunzip and
play with however you want.

Modified Files:
    .bochsrc Makefile.in aclocal.m4 bochs.h config.h.in configure
    configure.in gdbstub.cc logio.cc main.cc pc_system.cc
    pc_system.h state_file.h bios/Makefile.in bios/rombios.c
    cpu/Makefile.in cpu/access.cc cpu/apic.cc cpu/arith16.cc
    cpu/arith32.cc cpu/arith8.cc cpu/cpu.cc cpu/cpu.h
    cpu/ctrl_xfer32.cc cpu/exception.cc cpu/fetchdecode.cc
    cpu/fetchdecode64.cc cpu/flag_ctrl.cc cpu/flag_ctrl_pro.cc
    cpu/init.cc cpu/io.cc cpu/logical16.cc cpu/logical32.cc
    cpu/logical8.cc cpu/paging.cc cpu/proc_ctrl.cc
    cpu/protect_ctrl.cc cpu/segment_ctrl_pro.cc cpu/shift16.cc
    cpu/shift32.cc cpu/stack64.cc cpu/string.cc cpu/tasking.cc
    debug/Makefile.in debug/dbg_main.cc disasm/Makefile.in
    doc/docbook/user/user.dbk dynamic/Makefile.in fpu/Makefile.in
    gui/Makefile.in gui/amigaos.cc gui/beos.cc gui/carbon.cc
    gui/control.cc gui/control.h gui/gui.cc gui/gui.h
    gui/keymap.cc gui/keymap.h gui/macintosh.cc gui/nogui.cc
    gui/rfb.cc gui/sdl.cc gui/sdlkeys.h gui/siminterface.cc
    gui/siminterface.h gui/term.cc gui/win32.cc gui/wx.cc
    gui/wxdialog.cc gui/wxdialog.h gui/wxmain.cc gui/wxmain.h
    gui/x.cc gui/keymaps/sdl-pc-de.map gui/keymaps/sdl-pc-us.map
    gui/keymaps/x11-pc-de.map instrument/example0/instrument.h
    instrument/example1/instrument.h
    instrument/stubs/instrument.cc instrument/stubs/instrument.h
    iodev/Makefile.in iodev/biosdev.cc iodev/biosdev.h
    iodev/cdrom.cc iodev/cmos.cc iodev/cmos.h iodev/devices.cc
    iodev/dma.cc iodev/dma.h iodev/eth_fbsd.cc iodev/eth_linux.cc
    iodev/eth_null.cc iodev/eth_tap.cc iodev/floppy.cc
    iodev/floppy.h iodev/guest2host.cc iodev/guest2host.h
    iodev/harddrv.cc iodev/harddrv.h iodev/iodebug.cc
    iodev/iodebug.h iodev/iodev.h iodev/keyboard.cc
    iodev/keyboard.h iodev/ne2k.cc iodev/ne2k.h iodev/parallel.cc
    iodev/parallel.h iodev/pci.cc iodev/pci.h iodev/pci2isa.cc
    iodev/pci2isa.h iodev/pic.cc iodev/pic.h iodev/pit.cc
    iodev/pit.h iodev/pit_wrap.cc iodev/pit_wrap.h iodev/sb16.cc
    iodev/sb16.h iodev/scancodes.cc iodev/scancodes.h
    iodev/serial.cc iodev/serial.h iodev/slowdown_timer.cc
    iodev/slowdown_timer.h iodev/unmapped.cc iodev/unmapped.h
    iodev/vga.cc iodev/vga.h memory/Makefile.in memory/memory.cc
    memory/memory.h memory/misc_mem.cc misc/bximage.c
    misc/niclist.c
Added Files:
    README-plugins extplugin.h ltdl.c ltdl.h ltdlconf.h.in
    ltmain.sh plugin.cc plugin.h
2002-10-24 21:07:56 +00:00
Bryce Denney
279901987c - extra {}'s no longer needed now that Volker cleaned up the char* mess
in rev 1.29
2002-10-23 18:59:25 +00:00
Volker Ruppert
8eafe97e14 - check for the platform __BEOS__ instead of the gui
- fixed a warning
2002-10-12 13:09:32 +00:00
Volker Ruppert
75ba36cb15 - fixed some warnings at BX_INFO, BX_PANIC, BX_ERROR and BX_DEBUG 2002-10-06 19:38:54 +00:00
Bryce Denney
c818baa0c9 - modified every I/O device so that it will not re-register its timers
if init() is called a second time.  This allows me to restart a
  simulation (wxwindows interface only) without restarting the whole
  application.
- modified: iodev/*.cc
2002-10-06 19:04:47 +00:00
Kevin Lawton
83c9d266d0 Added a field on register_timer() so that a name identifying the
requesting source can be registered as well.  Otherwise, there
  is no way to know which source modules are requesting
  suspect frequencies which are too high.
2002-10-02 05:16:01 +00:00
Bryce Denney
7fdc7303c2 - add "void reset(unsigned type)" method to every I/O device.
Some devices already had one.  Some I had to add an empty one.
  I did a little cleaning of init() methods to make them more uniform
  but generally I left them alone.
- I also put these exact diffs into a patch "patch.iodev-add-reset"
  in case I want to revert these changes for some reason, for example
  if they break an old patch.  It should be deleted after a while.
2002-08-27 19:54:46 +00:00
Volker Ruppert
9985b80617 - fixed hexadecimal format of BX_DEBUG, BX_INFO and BX_PANIC messages 2002-08-27 17:24:36 +00:00
Volker Ruppert
db4c7ca718 - don't try to open a serial connection when the device string is empty
- do read/write operations only when tty_id is valid
2002-08-24 19:03:43 +00:00
Volker Ruppert
eda0dc5c7e - renamed serial and parallel options "Opresent" to "Oenabled" and "*_PRESENT"
to "*_ENABLED"
- bx_serial_options for all 4 ports moved into an array com[4]
- serial port com1 is enabled by default
- detection of com2, com3 and com4 config options disabled for now
- new parameter "enabled" added to the serial bochsrc options
- error handling for serial and parallel bochsrc options changed. The unhandled
  BX_PANICs are replaced by BX_ERRORs.
- new function bx_write_serial_options() added
- serial destructor restores original terminal settings only when serial port
  is enabled and the tty_id is valid
2002-08-24 17:11:33 +00:00
Volker Ruppert
e2772fa94b - destructor restores original terminal settings only when serial port is enabled 2002-06-04 21:35:08 +00:00
Volker Ruppert
52bf2216ca - enable serial port for GNU and GNU/Linux
- use the same port name as in the configuration for BX_INFO ("com1")
2002-05-31 06:54:34 +00:00
Stu Grossman
3f73e3f33e Fix receiver poll frequency to really be 100ms. This actually gives about an
11% speedup to the emulator when serial I/O is enabled.
2002-03-05 15:40:23 +00:00
Bryce Denney
e50a1be21b - commit serial port patch from Stu Grossman <grossman@juniper.net>
Here are the patches (without the serial name fix).  Let me know if you want
  me to change that.  Oh, FYI, my changes also open up the com1 terminal in raw
  mode, which makes the emulation much more accurate.  You'll also notice that
  I added infrastructure for com2->4 in the option parsing.  I didn't add it to
  the serial code, as I think a bunch of things need to be untangled before
  that can work.
2002-03-03 06:03:29 +00:00
Volker Ruppert
ad072e2bc6 - implementation of the edge triggered IRQ mode
- new functions raise_irq() and lower_irq()
- all trigger_irq() / untrigger_irq() calls are replaced by the new functions
- REMARK: timer IRQ handling is not correct but it works
- TODO: IOAPIC IRQ handling needs to be changed
2002-01-29 17:20:12 +00:00
Volker Ruppert
d22d280571 - interrupt handling improved (only loopback works for now)
- interrupt reasons modem status change and receiver line status change added
- number of data bits is considered now
- REMARK: Windows 95 driver still makes trouble
- TODO: real serial communication, FIFO, second serial port
2002-01-20 16:35:32 +00:00
Volker Ruppert
26a2731a19 - return value of MCR fixed
- unnecessary untrigger_irq() calls removed
2002-01-08 20:31:14 +00:00
Volker Ruppert
6333bcd2a4 - changed some panics to errors, register behaviour and messages fixed 2001-11-17 18:10:54 +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
Todd T.Fries
53ae809632 cleanup debug stuff 2001-07-10 17:20:36 +00:00
Todd T.Fries
a06b031dcf setprefix -> put 2001-06-27 19:16:01 +00:00
Todd T.Fries
12985edb26 setprefix now uses a variable length name as a string for an argument 2001-06-19 21:36:09 +00:00
Todd T.Fries
7f18b0c181 serial enable step 1 2001-06-19 17:52:46 +00:00
Bryce Denney
d165585a77 - remove bx_dbg notation, replace with BX_DEBUG. 2001-06-15 12:32:15 +00:00
Gregory Alexander
279acf5e46 Fixed a problem with some systems not having struct timeval.
This is a temporary fix, we really need something in autoconf.
2001-06-10 01:35:10 +00:00
Todd T.Fries
2bbb1ef8eb strip '\n' from BX_{INFO,DEBUG,ERROR,PANIC}
don't need it, moved the output of it into the general io functions.
saves space, as well as removes the confusing output if a '\n' is left off
2001-05-30 18:56:02 +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
416f52f3e8 - comment out 2 lines with IXOFF and TCSAFLUSH for FreeBSD, at request of
Maxim Sobolev who sent me patches.
2001-05-17 06:44:06 +00:00
Todd T.Fries
bdb89cd364 merge in BRANCH-io-cleanup.
To see the commit logs for this use either cvsweb or
cvs update -r BRANCH-io-cleanup and then 'cvs log' the various files.

In general this provides a generic interface for logging.

logfunctions:: is a class that is inherited by some classes, and also
.   allocated as a standalone global called 'genlog'.  All logging uses
.   one of the ::info(), ::error(), ::ldebug(), ::panic() methods of this
.   class through 'BX_INFO(), BX_ERROR(), BX_DEBUG(), BX_PANIC()' macros
.   respectively.
.
.   An example usage:
.     BX_INFO(("Hello, World!\n"));

iofunctions:: is a class that is allocated once by default, and assigned
as the iofunction of each logfunctions instance.  It is this class that
maintains the file descriptor and other output related code, at this
point using vfprintf().  At some future point, someone may choose to
write a gui 'console' for bochs to which messages would be redirected
simply by assigning a different iofunction class to the various logfunctions
objects.

More cleanup is coming, but this works for now.  If you want to see alot
of debugging output, in main.cc, change onoff[LOGLEV_DEBUG]=0 to =1.

Comments, bugs, flames, to me: todd@fries.net
2001-05-15 14:49:57 +00:00
Bryce Denney
a6fef54678 - update copyright dates to 2001 for all mandrake headers
- for bochs files with other header, replaced with current mandrake header
2001-04-10 02:20:02 +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