Commit Graph

260 Commits

Author SHA1 Message Date
Bryce Denney
97777b2a81 - first draft, not really very good yet 2001-05-16 06:07:56 +00:00
Todd T.Fries
070bb94215 onoff moved into logfunctions 2001-05-15 20:00:32 +00:00
Todd T.Fries
bc0040367d distinguish panics 2001-05-15 16:32:41 +00:00
Todd T.Fries
87e75dca26 forgot a LOG_THIS 2001-05-15 16:09:51 +00:00
Bryce Denney
0811b08f4b - this was applied in the BRANCH-io-cleanup branch, and then that branch
was merged into the main branch.  The patch has (indirectly) made it
  into the main code, so I'm erasing it now.
2001-05-15 15:41:49 +00:00
Bryce Denney
1d2cd83408 - Double fault patch from Thomas Petazzoni <thomas.petazzoni@ifrance.com>,
sourceforge patch #423726.  He writes:
  > you'll find as attachment a little patch which make
  > bochs support the double fault. currently, when 2 pages
  > fault occur, bochs does not generate a double fault (as
  > the Intel documentation says) but do
  > generate a other page fault, which make a triple fault,
  > and bochs will exit.
  >
  > this very little patch make bochs support this double
  > fault, which is
  > used in our OS in order to dynamically increse kernel
  > level stacks.
2001-05-15 15:29:33 +00:00
Todd T.Fries
a3d6cc1941 have the memory show the sim_id in the prefix, instead of adding (0) to the
log
2001-05-15 15:21:19 +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
1191b8e28d - subdirectory make targets now use :: which causes them to run make in
every subdir every time.
2001-05-14 15:32:43 +00:00
Bryce Denney
25af30b33d - patch that makes SMF=0 work for all but CPU. I didn't want to commit
it until we integrate Todd's I/O code.
2001-05-14 08:43:34 +00:00
Bryce Denney
13c4c0c3af *** empty log message *** 2001-05-14 06:28:44 +00:00
Bryce Denney
aa056d952c - updated Elpin VGA BIOS to version 2.40, same as plex86. Kevin wrote
to plex86 on 5/14/2001 and said that it was okay:
  > Yes, thanks to MandrakeSoft, the Elpin VGA BIOS 2.40 was licensed
  > for use in _both_ plex86 and bochs.  So you can distribute 2.40.
  >
  > Replace the text in 'bios/VGABIOS-elpin-LICENSE', with the
  > same file from the plex86 CVS tree.  Substitute bochs wherever
  > plex86 occurs.
2001-05-14 06:11:03 +00:00
Bryce Denney
64f2cf366b *** empty log message *** 2001-05-14 05:55:49 +00:00
Bryce Denney
801a07288f - remove -fno-builtin which is a gcc-only option. I was getting no
compile warnings with or without it on Linux, so it seems no longer
  necessary.  It may have been introduced to cope with the fabs symbol
  conflict, which was already removed in rev1.3 of fpu_etc.c.
2001-05-12 18:28:31 +00:00
Bryce Denney
331f04d575 - with egcs-2.91.66, bochs did not compile if CXX=egcs. It works fine
if CXX=c++ however.  Bug report at http://sourceforge.net/tracker/index.php?func=detail&aid=423515&group_id=12580&atid=112580
2001-05-12 05:14:13 +00:00
Bryce Denney
c5faabd6b5 - add description of active branches and when they will be merged. 2001-05-11 05:34:33 +00:00
Bryce Denney
091ec7abcc - added target="_top" to link to our home page so that it does not put
the home page into the lower "topper.pl" frame.
2001-05-10 06:18:49 +00:00
Bryce Denney
a2ad2edc83 - move CVS status page into separate file 2001-05-09 05:20:34 +00:00
Bryce Denney
03e27bb170 - add changelogs for bugfix1 and bugfix2 2001-05-09 05:08:08 +00:00
Bryce Denney
ae83d68182 - oops, I mistyped the year. This should be from the year 2001. 2001-05-09 04:52:47 +00:00
Bryce Denney
5b328f44b0 - add BIOS binary that supports 2 hard drive support 2001-05-09 04:51:50 +00:00
Bryce Denney
0966451c1d - add BIOS that supports 2 hard disks 2001-05-09 04:47:44 +00:00
Bryce Denney
bf6c90cb6a - fix links to GNU LGPL page 2001-05-09 01:44:39 +00:00
Bryce Denney
91ad3f3c0c - spell out all of LGPL 2001-05-09 01:38:32 +00:00
Bryce Denney
8b2d3ea550 - it's -> its 2001-05-09 01:36:02 +00:00
Bryce Denney
d6f0e11801 - minor updates to many configure operations, for example CDROM is now
supported on more than just linux.  Also since about half the options
  said "Don't use this" I put the more stable/usable options toward the
  top, and the rest in a separate table below.
2001-05-09 01:35:46 +00:00
Bryce Denney
52b8e150d9 - added note about David Batterham too busy, please volunteer
- added note about testing status page
- added rows to platforms table for Compaq Tru64 UNIX, LinuxPPC
2001-05-09 01:34:24 +00:00
Bryce Denney
eadf8d3a1d - ok, so there are no docs for installing DOS and Windows31. I'm not sure
where they went.
2001-05-09 00:46:32 +00:00
Bryce Denney
25b4f20ba6 - change references to new Sourceforge site 2001-05-09 00:43:07 +00:00
Bryce Denney
d6856713e5 - update FAQs on license, author, maintainers, performaance,
screen shots, cdrom, sound, network card
2001-05-09 00:33:03 +00:00
Bryce Denney
8ca66fd51e - it still said "Bochs is commerical software". Changed to mention the
LGPL instead.
2001-05-09 00:25:47 +00:00
Bryce Denney
9689c0cb18 - remove Kevin's address and email so that he doesn't get lots of
bochs emails.
- point to new SourceForge site.
2001-05-09 00:25:01 +00:00
Bryce Denney
7b00c7e2b5 - change instructions to point to the new mailing list 2001-05-09 00:24:13 +00:00
Todd T.Fries
9709e481da temp fix for panic that causes OpenBSD to not boot 2001-05-08 21:19: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
545355f9b4 - instead of complaining that "the grey delete is not on an 83-key keyboard",
just return the same scancode as the real delete key.
2001-05-08 20:04:13 +00:00
Bryce Denney
dfd58f5a0f - this change should not affect functionality at all. Make IDE_DISK the
default for diskd, but if a cdrom is present change to a cdrom.
2001-05-08 19:55:40 +00:00
Bryce Denney
debed8cc55 - for OpenBSD, remove extern "C" { } around the includes. Apparantly
that is no longer needed.
2001-05-08 19:51:46 +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
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
d9af1b1eb9 - reset patch by Todd Fries 2001-05-08 17:59:38 +00:00
Bryce Denney
5482d42cdd - 2.88M floppy patch by Todd Fries 2001-05-08 17:45:44 +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
19f9bd3ffb - applied patch 5/3/2001 so no longer in patches 2001-05-06 05:18:56 +00:00
Bryce Denney
b20b03b1ca - since dataseghack was checked in with permission 664 (not executable),
run it using "csh dataseghack"
2001-05-04 07:02:04 +00:00
Bryce Denney
a092622712 - applied the patch, with a few changes, so it's no longer needed here. 2001-05-03 21:21:28 +00:00
Bryce Denney
2c60492524 - add comments that vga registers 0x3c7,0x3cb are read regularly by
OpenBSD.  Until I see some documentation, I'd rather not ignore the
  panics just yet.
2001-05-03 21:14:56 +00:00
Bryce Denney
328412aac8 - This revision makes the BIOS code understand that there can be either
1 or 2 hard disks.
- int13: check how many disks first, and only return an error if DL exceeds
  the number of disks (ignoring bit 7 of course)
- added drive number arg to get_hd_geometry, so that get_hd_geometry can
  retrieve the numbers corresponding to hard drive 0 or 1
- hard_drive_post will now set up the EBDA area for drive 0 if it exists,
  then for drive 1 if it exists.
2001-05-03 21:13:20 +00:00
Bryce Denney
ebc315500e - added code to fill in CMOS registers 0x24-0x2c when diskd is present.
- made the code that fills 0x1b-0x23 for diskc conditional on diskc being
  present; this was probably not necessary.
- added some code (still commented out) that will help in supporting a second
  IDE interface.
2001-05-03 21:08:42 +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
10412cdf1e - why restrict when people read the sector count? This was causing
unnecessary panics on openbsd when sector count was read soon after a
  reset.
2001-05-03 20:40:08 +00:00
Bryce Denney
8e9caa8ddb - implement mouse command 0xf6 set defaults
- fix typo in printf message
2001-05-03 17:50:50 +00:00
Bryce Denney
596679b875 - applied patch.xwin-timing by Suboner@aol.com. His comments:
Basicly what it does is, it help VGA16 find the syncing, because of the
  technique it uses, bochs did not help it figure out the timing diffrences
  with its one size fits all timing.
2001-05-03 17:00:38 +00:00
Bryce Denney
ac331dcdb2 - patch that includes all of Goswin Brederlow's mods to the 3/25/2000
snapshot
2001-05-03 16:34:49 +00:00
Bryce Denney
ff450e8ddc - added Suboner@aol.com's xwindows timing patch to patches so I can try it 2001-05-03 16:31:26 +00:00
Bryce Denney
900edff605 - Farid Hajji's patch for 4meg pages. I copied from sourceforge patch
tracker to CVS to make it easier to install.
2001-05-03 16:21:30 +00:00
Bryce Denney
a4aa559789 - add yet another caveat 2001-05-03 16:01:44 +00:00
Bryce Denney
f90086b59f - first draft of patch for 2 hard disks, see description in the file 2001-05-03 15:51:17 +00:00
Bryce Denney
310f1ae948 - make it easy to enable mouse debug output again with macro 2001-05-03 00:42:29 +00:00
Bryce Denney
ad175e9aae - specify where on the hard drive it fails to read or write. 2001-05-03 00:41:36 +00:00
Bryce Denney
5be42586c5 - slap on a version number 0.3
- ask their name and the date
- reorder versions, add choice for CVS checkout
- ask what compiler they used
- add mouse on list of devices tested
2001-05-02 06:41:40 +00:00
Bryce Denney
8643d4fc9f - removed all patches that are already applied in bugfix2, and ones
that have been rejected.
2001-05-02 03:12:55 +00:00
Bryce Denney
5cd42037a1 - used to be specific to bugfix2; made it more generic 2001-05-02 03:11:58 +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
00efacbe13 - don't put each function in a separate file; put them all in osdep.cc. 2001-04-26 02:51:11 +00:00
Bryce Denney
dd5c449cbc - rough draft of testing form, which people can fill out to report
success or failure on different host OS/guest OS combinations.
2001-04-25 17:51:14 +00:00
Gregory Alexander
a9bcd531f2 Added bx_ types to allow compilation on systems that
already define u_char, etc.

This gets it compiling under AIX 4.3.1.
2001-04-11 14:31:45 +00:00
Gregory Alexander
4f381132e1 Added a config file for AIX 4.3.1.
This may not work for everyone, and probably will not work on AIX 4.3.3.
2001-04-11 09:07:55 +00:00
Bryce Denney
417e4c01ec - print which unknown hard drive command causes a panic 2001-04-10 02:33:27 +00:00
Bryce Denney
79bef1a5bf - include bug list for 4/9/2001 snapshot 2001-04-10 02:31:38 +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
431b22c1e8 - from Don Becker: had to typecast &waveformat.wf to (LPWAVEFORMATEX) type 2001-04-10 02:29:45 +00:00
Bryce Denney
995f4878c9 - mistyped my own initials as "bad"! 2001-04-10 02:29:23 +00:00
Bryce Denney
2a1f066514 - include bug list for bugfix-20010406-beta release 2001-04-10 02:23:36 +00:00
Bryce Denney
b29f4c1c78 - added README for bugfix-20010406-beta release 2001-04-10 02:23:10 +00:00
Bryce Denney
d52221b57a - include patches that will be included in bugfix-20010406-beta release 2001-04-10 02:22:19 +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
cf780f13ce - applied patch from Don Becker. Bypass fstat when opening WIN32 raw
floppy disk.
2001-04-10 02:17:43 +00:00
Bryce Denney
955b0a924f - applied patch from Don Becker.
CDROM drive letter for WIN32 is no longer hardcoded.
2001-04-10 02:17:10 +00:00
Bryce Denney
add7fc9a4d - applied patch from Greg Alexander: implement VGA enable register at 0x3c3. 2001-04-10 02:16:18 +00:00
Bryce Denney
43894ea539 - Applied patch from Roland Mainz, 4/1/2001
Support Sun CDROM.
2001-04-10 02:15:31 +00:00
Bryce Denney
d12a76d30b - Applied patch: pit-panic.
The 82c54 model (pit.cc) implements timer modes 0, 2, and 3 in its handler
  functions, without caring which timer number is involved.  However, the
  I/O write code that sets the mode is inconsistent.
    Timer 0 can be set to modes 0,2,3 only.
    Timer 1 can be set to mode 2 only.
    Timer 2 can be set to mode 2,3 only.
  From a quick reading of an 8254 datasheet, I can't see any reason to
  restrict which timer can be in which mode, so I think it's correct to
  allow ALL timers to go into ALL modes that are implemented.
2001-04-10 02:14:37 +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
Bryce Denney
55de7270df - Applied patch from Greg Alexander, 12/27/2000.
Enable writes to the mouse output buffer and enable mouse DATA_READ command.
2001-04-10 02:12:30 +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
4e04f4cb58 - change all inline declarations to one of two macros: BX_C_INLINE or
BX_CPP_INLINE.  Then in config.h.in you can define these two as you
  wish.
2001-04-10 02:10:09 +00:00
Bryce Denney
b05159c112 - Applied patch from Greg Alexander, 12/22/2000.
Implement aborts on a few SET FEATURE commands for ATA.
2001-04-10 02:09:09 +00:00
Bryce Denney
1f545e43d8 - The fpu code creates a static function called fabs, which
unfortunately is the same as the C library function fabs.  Many
  compilers seem to use the static one with no complaint, but others
  don't like it.  Just rename fabs, to eliminate the potential
  conflict.
2001-04-10 02:07:47 +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
9126941a36 - instead of putting each library function in a separate file (dumb),
combine them into osdep.cc.
2001-04-10 02:02:37 +00:00
Bryce Denney
424233384f - added strdup replacement function to osdep
- use Bit64u and other compiler-independent types
- moved contents of macutils.* into osdep.*.
- now in osdep.h, I allow all code to use the real library function name.
  If that function is not available, #define it to point to the
  bx_* replacement function instead.  And cause the bx_* replacement
  function to be compiled in osdep.cc.
2001-04-10 02:02:05 +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
c90f74536d - added informative header 2001-04-10 01:58:07 +00:00
Bryce Denney
96174271f9 - change bx_snprintf back to normal name 2001-04-10 01:57:27 +00:00
Bryce Denney
cfbac2ee2c - change strtoull back to normal name 2001-04-10 01:57:02 +00:00
Bryce Denney
ba2bd6cff9 - forgot to use PTR2INT in reg_add_sub.c and reg_divide.c 2001-04-10 01:55:09 +00:00
Bryce Denney
5bc03e93c4 - include osdep.h 2001-04-10 01:53:28 +00:00
Bryce Denney
2abd482398 - add snprintf.cc and strtoull.cc, with definition of missing libc functions 2001-04-10 01:52:59 +00:00
Bryce Denney
b26bb9d5ec - add snprintf.o and strtoull.o 2001-04-10 01:51:50 +00:00
Bryce Denney
52f569be1c - moved snprintf and strtoull prototypes into osdep.h. See comments on
osdep.h for why they are in a separate file.
2001-04-10 01:51:16 +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
Bryce Denney
4534c19e9e - missing a comma! 2001-04-10 01:47:26 +00:00
Bryce Denney
c7d20d2a91 - call bx_strtoull instead of strtoull 2001-04-10 01:46:37 +00:00
Bryce Denney
91ec229216 - call bx_strtoull instead of strtoull. 2001-04-10 01:46:12 +00:00
Bryce Denney
ff34643472 - include osdep.h
- arg1 of bx_dbg_watch/unwatch is sent -1, 0, and 1 but was declared as
  a Boolean.
2001-04-10 01:45:37 +00:00
Bryce Denney
3adbd8f71b - in bx_dbg_print_string_command there was a zero-length array, which
didn't compile with some compiler.
- put conditional "#if BX_HAVE_HASH_MAP" around code that uses
  <hash_map.h>.
- replace calls to snprintf with bx_snprintf.
- arg1 of bx_dbg_watch is an int, not a Boolean.
2001-04-10 01:45:06 +00:00
Bryce Denney
f850a6df1f These changes are from "portable1" patch.
- put /*comments symbols*/ around any chars after #endif.  Other compilers
  do not get it.
- fix cases in which a pointer is cast to a 32-bit int, then back to a
  pointer.  This breaks on a machine with 64-bit pointers.  Examples:
  FPU_sub arg 2 and FPU_div arg 2.  The int->ptr->int conversions are
  now done more safely by macros REGNO2PTR and PTR2INT.
- use GCC_ATTRIBUTE macro instead of __attribute__.  For compilers that
  do not support __attribute__, the macro can be defined to be nothing.
- in fpu_entry.c, arg1 of FPU_load_int32 is (s32*), but the calls to
  it cast their data to (u32*).
- if compiler does NOT inline functions in poly.h, the "extern inline"
  setting caused duplicate symbols to be created.  Changed them to
  "static inline" so that the mul_32_32 from different .c files do not
  conflict.
- implemented setcc so that it doesn't use curly brackets inside parens
- comment out sigcontext structure definition, which conflicts with
  non-linux or non-intel operating systems.  It's not used by bochs anyway.
2001-04-10 01:43:09 +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