Commit Graph

362 Commits

Author SHA1 Message Date
Todd T.Fries
bc0040367d distinguish panics 2001-05-15 16:32:41 +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
de9528e211 - give the GUI signal handler first priority (before, BX_SHOW_IPS took
precedence).  This allows GUIs which want to take over SIGALRM to do so.
  Presently, no GUI uses this.
2001-05-08 20:18:05 +00:00
Bryce Denney
e363f402ca - This implements a solution that lets any GUI take over handling of any
signal.  First, selection of the GUI should cause BX_GUI_SIGHANDLER to
  be defined in config.h.in.  Then, the GUI should define member functions
    Bit32u get_sighandler_mask ();
    void sighandler (int sig);
  The mask function returns a bitfield where one bit corresponds to each
  signal.  For any signal whose bit is set to 1 in the return value of
  get_sighandler_mask, the gui will control that signal.  When the signal
  arrives, bx_gui.sighandler(sig) will be called by bx_signal_handler,
  instead of the default behavior of that signal.
2001-05-08 20:18:04 +00:00
Bryce Denney
46bc87415a - added dumb debug printf to see when signal handler is set up. 2001-05-08 19:08:28 +00:00
Bryce Denney
5482d42cdd - 2.88M floppy patch by Todd Fries 2001-05-08 17:45:44 +00:00
Bryce Denney
80a0130cd6 - diskd implemented now. Only panic if diskd and cdrom are used together,
since at present there's no way to actually manage this.  To use both,
  we will need to put the cdrom (or diskd) onto second ide controller with
  a different IRQ.
2001-05-03 20:59:38 +00:00
Bryce Denney
3a6b2e929e - fixed bug in panic which allowed it to fail to print the message if the
log file hadn't been opened yet.
2001-05-03 20:58:19 +00:00
Bryce Denney
7027c2780d - if panic is non-fatal, we must return before calling bx_atexit.
This caused trouble when BX_PANIC_IS_FATAL was 0, and a panic occurred.
2001-05-02 02:39:23 +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
Bryce Denney
e2a0ce5c03 - Applied patch based on one by Roland Mainz, 4/1/2001.
Panic-is-fatal patch, allows user to choose whether to crash on bx_panic()
  or just print a warning.  The default behavior is still to crash.
2001-04-10 02:13:25 +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