Commit Graph

625 Commits

Author SHA1 Message Date
Bryce Denney
bce3cd3652 - tweaks to get rid of compile warnings 2001-09-11 16:56:48 +00:00
Bryce Denney
1fd43969a2 - commit patch from David Haslam <dch@sirius.clara.co.uk>
submitted to source forge on 2001-08-27.
  [ #455763 ] Cursor trail with DOS Edit/Minix vi
2001-09-11 16:50:59 +00:00
Bryce Denney
55ed69273b - commit patch from David Haslam <dch@sirius.clara.co.uk>
posted to bochs-developers on Wed, 29 Aug 2001 00:08:45 +0100

  David Haslam wrote:
  > I have been looking at the keyboard problem with Minix, which for
  > those that haven't tried Minix results in every key press giving the
  > response: ^@
  >
  > I am aware of the comments in the changelog that suggest removing 2
  > keyboard ACKs in iodev/keyboard.cc, but this is a bit of a hack,
  > (which is presumably why it was never incorporated).
  >
  > The problem seems to be that the Minix keyboard driver doesn't obey
  > the rules, and Bochs doesn't model the 8042 accurately. When issuing
  > commands to set the LEDs, Minix polls the 8042 output data register
  > waiting for an ACK even though the OBF flag isn't set.
  >
  > Bochs returns zero under these circumstances, which seems to
  > trigger obscure behaviour that messes up the Minix internal
  > keyboard queue. I don't fully understand why Minix breaks, but I
  > think the fact that the ACK generates an interrupt, and Minix treats
  > it as a scan code also has something to do with it.
  >
  > In any case, I believe, the fix is for Bochs to return the output
  > buffer contents, regardless of whether the OBF flag (called outb in
  > Bochs) is set.
  >
  > I expect the real hardware allows the register to be read at anytime,
  > and with this fix we are modelling the behaviour of the hardware more
  > accurately.
  >
  > I have tested it with Minix 2.0.0. Also DOS 6.22 still works after this fix.
  > Does anyone think this will break anything else?
  >
  > This diff is against the latest CVS of iodev/keyboard.cc, version 1.29
  > The last part of the diff is a minor fix to an unrelated debug print.
2001-09-11 16:49:54 +00:00
Bryce Denney
fabdff5a16 - work in progress. I'm in the middle of writing the first section
"What is Bochs?"
2001-09-11 14:01:55 +00:00
Bryce Denney
376f509cd5 - this is the outline that Michael and Bryce passed back and forth when
Michael was first making the docbook skeleton.
2001-09-11 12:56:07 +00:00
Bryce Denney
dcb74396d4 - fix three broken links! 2001-09-10 22:24:39 +00:00
Bryce Denney
c917c66d30 - add <TITLE> tags to everything 2001-09-10 22:12:59 +00:00
Bryce Denney
7c451d057b - add titles 2001-09-10 13:42:03 +00:00
Bryce Denney
5475489bf5 - add nice header with rcsid at the top 2001-09-10 03:59:11 +00:00
Bryce Denney
0319e71eff - teeny adjustments (capitalization, etc.) 2001-09-09 21:54:47 +00:00
Bryce Denney
9ee8a7c540 - describe images and include directories 2001-09-09 21:43:56 +00:00
Bryce Denney
24cbe1e7f6 - fill in lots of blanks! 2001-09-09 20:50:25 +00:00
Bryce Denney
9ad0990fd7 - add small under construction icon 2001-09-09 19:56:08 +00:00
Gregory Alexander
728252e212 Fixed a small problem in the latching code in the new pit.
Personal note: case...BREAK;

This makes OpenBSD and QNX a little happier.

Added debug messages.


 Modified Files:
 	bochs.h iodev/pit82c54.cc
2001-09-05 14:41:55 +00:00
Bryce Denney
c7d44d154b - added missing #define LOG_THIS statement 2001-09-04 14:30:41 +00:00
Todd T.Fries
64ea80c050 more INFO->ERROR/DEBUG cleanups 2001-08-31 22:02:29 +00:00
Todd T.Fries
28885e4973 some INFO->DEBUG/ERROR cleanups 2001-08-31 16:06:32 +00:00
Bryce Denney
baeeb6d99c - give the "struct {} s" a type name 2001-08-30 02:04:42 +00:00
Bryce Denney
b966bf0bab - fix expression that required implicit bool->int which caused havoc on
vc++.  Now it says (boolean expression)?1:0 instead.
2001-08-30 02:02:10 +00:00
Todd T.Fries
cd9733391b AtheOS triggers this, move to debug 2001-08-24 21:02:37 +00:00
Gregory Alexander
03a2ae5bbd Minor theoretical fix for X. I don't see any benefit, but
it may just be that there are other problems afoot.


 Modified Files:
 	x.cc
2001-08-24 13:50:02 +00:00
Gregory Alexander
59d9dbdd98 Another mouse fix. This one changes the model a bit to
act more like a real system.  It has some problems, but
is MUCH better than it was.


 Modified Files:
 	keyboard.cc keyboard.h
2001-08-24 13:48:05 +00:00
Gregory Alexander
6641d17c56 Improve mouse performance/responsiveness.
Modified Files:
 	keyboard.cc slowdown_timer.cc
2001-08-23 13:04:14 +00:00
Gregory Alexander
0539a04e3b Fix a filehandle leak.
Modified Files:
 	floppy.cc
2001-08-23 13:02:50 +00:00
Gregory Alexander
a1556b2495 Oh, and this one too. 2001-08-22 02:03:04 +00:00
Gregory Alexander
3b6f192a30 Remove OpenBSD debug info. 2001-08-22 02:01:23 +00:00
Gregory Alexander
dc7fe22635 Almost working version of slowdown timer. 2001-08-22 01:21:30 +00:00
Bryce Denney
6334f837e2 - now BIOS messages have prefix "BIOS" instead of "UNMP" 2001-08-21 04:10:35 +00:00
Gregory Alexander
d9fd468ff4 Made the new PIT the default. 2001-08-18 14:15:41 +00:00
Gregory Alexander
9aa7a88028 Lots of timer stuff.
Fixed a "feature" in pc_system.cc with setting timers to small values
that can cause bochs to hang.

Significantly improved the performance of the new PIT.
It's probably ready to become the default now.

Added a preliminary implementation of the slowdown timer
that Bryce and I had talked about.
2001-08-18 03:28:23 +00:00
Nicholai Benalal
075578621b ok, now the amiga target on cvs is complete 2001-08-16 12:35:52 +00:00
Bryce Denney
f5e4bfe125 - we adopted the eth_linux.cc from splite@purdue.edu since it was
designed for bochs
2001-08-16 04:37:40 +00:00
Bryce Denney
4ee1c21347 - between debian package work by Rom Lemley and other bug fixes, basically
everything has been covered.
2001-08-16 04:36:37 +00:00
Bryce Denney
72d28e5a87 - add string parameter called screenmode
- put #if BX_USE_AMIGAOS...#endif around fullscreen and screenmode, since
  they only apply to amiga
2001-08-16 02:00:31 +00:00
Bryce Denney
595d6a0132 - now I know that 0xe7 is flush cache so I improved the comments somewhat
- if an unknown command comes along and triggers a BX_PANIC and they
  choose the continue, call command_aborted().
2001-08-15 20:54:36 +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
f0c45a6f0e - make it clear that it's only used for cdrom_amigaos.cc. 2001-08-15 20:32:16 +00:00
Bryce Denney
06a7658f88 - changed #ifdefs to #ifs. Even when the new PIT is unused, there will
still be a definition of BX_USE_NEW_PIT=0 in config.h.
2001-08-15 20:23:58 +00:00
Bryce Denney
eb6a85629e - add option called fullscreen, for Nicholai Benalal's amiga port 2001-08-15 20:17:19 +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
aca0d3fae8 - apply BIOS patch from Barry Allard to check the boot signature
- fiddle with I/O handler for port 0x401 to allow BIOS to write a
  complete panic message
2001-08-15 04:56:00 +00:00
Bryce Denney
c2df8d4f7d - remove newlines from BX_PANIC and similar statements. it is implied. 2001-08-14 06:48:03 +00:00
Bryce Denney
71e8228866 - gcc didn't like the double(N) syntax that worked ok for VC++. It needs
typecast syntax instead, as in "(double)N"
2001-08-14 06:24:12 +00:00
Bryce Denney
af48556aea - add NE2000 support for linux by default 2001-08-14 06:09:28 +00:00
Bryce Denney
eaf4a5f9b6 - remove the include of "type.h" that was added with Psyon's cdrom patch. 2001-08-14 05:01:49 +00:00
Bryce Denney
4f10d657ce - last function never returned a value 2001-08-14 04:56:11 +00:00
Bryce Denney
7432de6de4 - vc++ gripes about conversion from Bit32u to double, so it has to be
converted to Bit32s and then to double.
2001-08-14 04:55:31 +00:00
Bryce Denney
f229ae1afd - a right shift by 12 was accidently written as one greater than instead of two 2001-08-14 04:53:32 +00:00
Bryce Denney
b483593107 - add case for IDE command 0xe7 so that it doesn't panic when installing
win2000
2001-08-13 15:58:35 +00:00
Bryce Denney
1540695f17 - for big endian machines I reversed the bit fields in interrupt_reason.
This was pointed out by Nicholai Benalal.
2001-08-13 15:48:13 +00:00
Bryce Denney
6b6acdc376 - add scsi_commands.h for Amiga CDROM support, from Nicholai Benalal
<nicholai@chello.se>
2001-08-13 15:35:54 +00:00
Bryce Denney
aa671e6e51 - add CDROM support for Amiga, from Nicholai Benalal <nicholai@chello.se> 2001-08-13 15:33:59 +00:00
Bryce Denney
4ef1f45322 - add amiga gui from Nicholai Benalal <nicholai@chello.se> 2001-08-13 15:32:51 +00:00
Bryce Denney
8aa6c07a96 - if log file cannot be fopened, do not allow logfd to become a NULL
pointer.  For now, panic instead to avoid inexplicable segfaults.
2001-08-10 23:03:07 +00:00
Bryce Denney
284178479b - apply patch "patch.ifdef-paging-tlb" 2001-08-10 18:42:24 +00:00
Bryce Denney
80bfb49291 - patch from Thomas Fitzsimmons <fitzsim@cygnus.com> to fix compile
problems when BX_SUPPORT_PAGING and BX_USE_TLB are turned off
2001-08-10 18:31:53 +00:00
Bryce Denney
d3417529f3 - this change was submitted by ecelca@yahoo.com and turned into a patch
by Bryce.  For ecelca@yahoo it fixes ping packet loss, but for Psyon
  it causes 100% packet loss.
2001-08-10 17:19:18 +00:00
Todd T.Fries
53ae809632 cleanup debug stuff 2001-07-10 17:20:36 +00:00
Bryce Denney
c0bd506231 - apply patch [ #439314 ] [Patch] Exception 1 (debug) on HALT
by thomas.petazzoni@meridon.com.  Bryce introduced this bug in
  revision 1.9 when split the code into separate #ifdefs for single
  CPU and multiple CPU.  Comments on the patch are:
  > The following patch addresses a bug concerning the exception 1 (debug)
  > which is being raised during HALT under certain conditions.  It
  > appears only on recent versions (1.2.1 or last CVS), and not on
  > version 2000-0104.
2001-07-08 14:36:36 +00:00
Gregory Alexander
c9d18333c0 More preprocessor controls. 2001-07-05 23:55:22 +00:00
Gregory Alexander
6052b0054b Put the new PIT back in. The whole thing should be ifdef'd
out when not in use.
2001-07-02 01:21:59 +00:00
Gregory Alexander
fc0ee2dc3e Added compiler define to use the new PIT.
Also added a hack to keep the OpenBSD timer problem from filling the log.

The new PIT seems to work, but until some
enhancements are made to the way the timers
and devices.cc work, it'll be slower than
the old one.
2001-07-01 20:49:46 +00:00
Gregory Alexander
0359f17c64 Added a get time function in useconds. 2001-07-01 20:42:56 +00:00
Bryce Denney
04b86b0468 - add new example that logs the PC and I/O reads and writes to
a file called bxevent.txt
2001-06-28 19:48:37 +00:00
Bryce Denney
3f8f6c9a0c - added new macros BX_INSTR_INP2 and BX_INSTR_OUTP2, which report the
values that are being written and read from I/O accesses.
2001-06-28 19:48:04 +00:00
Bryce Denney
43cc565324 - add macros BX_INSTR_START() BX_INSTR_STOP() BX_INSTR_RESET() BX_INSTR_PRINT() 2001-06-28 19:47:29 +00:00
Bryce Denney
b62b7f4bde - use instrumentation macros for
BX_INSTR_START BX_INSTR_STOP BX_INSTR_RESET BX_INSTR_PRINT
  They used to be callback functions, a long time ago.
2001-06-28 19:46:34 +00:00
Bryce Denney
3d29d5d614 - add instrumentation macros for begin and end opcode. These are usually
defined to be empty, so there should be no effect except for instrumentation
2001-06-28 19:45:44 +00:00
Bryce Denney
5188fd30f9 - updated in a few ways: use BX_PANIC and BX_INFO instead of stdio calls
- fixed references to CS
- add prototypes for init and shutdown
2001-06-28 19:43:14 +00:00
Bryce Denney
ab33978151 - add bx_instr_lin_read and bx_instr_lin_write which were missing
- add bx_instr_inp2 and bx_instr_outp2 which actually report the
  values that were used in the I/O operation!  I made new macros
  and functions instead of changing the existing ones on the slight
  chance that somebody already has code that uses the old ones.
2001-06-28 19:05:07 +00:00
Todd T.Fries
a54ef5ad9b add strerror to bpf open error 2001-06-28 14:00:37 +00:00
Bryce Denney
f22aac2100 - Patch from Mike Lerwill <mike@homemjl.freeserve.co.uk>
turn "long long" into Bit64s
2001-06-28 13:51:41 +00:00
Bryce Denney
298d0dff1d - I accidently checked in "panic: action=fatal" with some other things. I
want "panic: action=ask" to be the default.
2001-06-28 02:09:05 +00:00
Bryce Denney
c82a3481e3 - remove patches which have already been committed to the source tree 2001-06-28 01:54:24 +00:00
Bryce Denney
13ff8b1870 - use #undef to avoid name conflicts with OUT. OUT is the name of
part of a pit structure, but is also defined in the system headers
  on some systems.
2001-06-28 01:36:11 +00:00
Gregory Alexander
85b5157a7e Added significant improvements to the new pit. It's about ready for use.
The only big thing it's lacking right now is testing, which is a
little difficult to do, considering the new interface.  Oh, well.
2001-06-27 22:25:24 +00:00
Todd T.Fries
4f1c151520 Move Init $ to ::init() 2001-06-27 20:27:49 +00:00
Todd T.Fries
f833500359 some reformat, various misc stuff with Init, introduce $ 2001-06-27 20:11:10 +00:00
Todd T.Fries
a06b031dcf setprefix -> put 2001-06-27 19:16:01 +00:00
instinc
6af3f5bd9f - Added irq IRR removal when specific EOI is received 2001-06-26 21:55:25 +00:00
Bryce Denney
c718b074db - Another patch from splite@purdue.edu.
The original code for determining the capacity of a disk only worked for
  ATAPI drives, leaving us poor SCSI users in the cold.  The code uses the
  standard Linux CD-ROM driver routines, so it should work on any supported
  drive.  It's basically just a copy of Keith Jones FreeBSD code.
2001-06-26 08:12:21 +00:00
Bryce Denney
ac6f23c3cf - apply ne2k patch from splite@purdue.edu to fix a few problems that
appeared in the guest OS.  Full description:
  > After much grovelling through the 8390 docs, I think this is the
  > correct answer to the odd-length packet problem I was having with
  > the ne2k driver under Linux.
  >
  > According to the datasheet, the 8390 always accesses its buffer
  > memory in word-size chunks if the WTS bit of the DCR is set.  So
  > it will always send a word to the host bus interface if WTS==1.
  > It's up to the host bus interface to deliver the the number of
  > requested bytes to the host.  So disallowing a byte read when the
  > WTS bit is set is wrong (IMO) as the bus interface may allow it,
  > as the NE2000 appears to.
  >
  > The patch to ne2k.h bumps the receive buffer memory size to 32K.
  > This fixes the "out-of-bounds chipmem read" errors I was getting.
  >
  > Can someone with an NE2K datasheet verify these changes?  They
  > jibe with the Linux ne.c driver, anyway.
2001-06-26 07:49:25 +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
d7b6442ad6 - add "configure" diffs to the patch, so that people don't have to
install autoconf to try the patch out.
2001-06-26 06:12:47 +00:00
Bryce Denney
cc5659e9c5 - pic patch from EKS 2001-06-26 02:38:17 +00:00
Bryce Denney
06fb629d85 - backed out patch.kbd-dieter. The patch appears to work on all XFree86
X servers that I've seen, however on other X servers it makes all
  key mappings into absolute junk.  We need to continue to work on this
  patch to support all X servers and all key maps.
2001-06-25 22:57:27 +00:00
Bryce Denney
eb590bbc46 - added 2 patches from splite@purdue.edu 2001-06-25 21:49:19 +00:00
Bryce Denney
f6fcc9f16b - I'm told that the name I chose for this patch was quite misleading. Sorry.
Greg applied the patch and checked it in, see iodev/ne2k.cc rev 1.14.
2001-06-25 21:43:10 +00:00
Bryce Denney
602b054d38 - when key pressed, print both the keysym and keycode with BX_DEBUG 2001-06-25 21:28:00 +00:00
Bryce Denney
4b73c8b284 - include bpf.h header file in the patch 2001-06-25 20:51:43 +00:00
Bryce Denney
ff2d202a5e - add rcs id 2001-06-25 20:47:10 +00:00
Bryce Denney
20f71edea6 - last version was somewhat broken 2001-06-25 18:19:18 +00:00
Bryce Denney
ce59ee3f00 - patch from bochs@sigint.cs.purdue.edu to avoid using BLKGETSIZE which
does not apply to SCSI
2001-06-25 18:06:11 +00:00
Bryce Denney
7bbb3521db Patch name: patch.ethlinux-bogdand
Author: Bogdan Diaconescu <bogdand@rds.ro>
This was submitted to the plex86 mailing list June 25, 2001, and
adapted for Bochs by Bryce Denney <bryce.denney@bigfoot.com>
2001-06-25 17:38:07 +00:00
Bryce Denney
5de15c7352 - added little headers to the .h files 2001-06-25 14:02:29 +00:00
Bryce Denney
7ceb8a99f0 - added left backslash to the patch 2001-06-25 13:44:06 +00:00
Bryce Denney
f6a09136e7 - add left backslash keycode, also suggested by Dieter Mittelmaier 2001-06-25 13:39:10 +00:00
Bryce Denney
c6e98db0fc - commit patches/patch.kbd-dieter by Dieter Mittelmaier
<dieter.mittelmaier@freenet.de> which fixes X11 keyboard mapping
  on German keyboards using Keycodes instead of Keysyms.
  His comments are:
  > I mapped your BX_KEY-defines in gui.h to values from XFree
  > ../keycodes/Xfree86. Keysyms in x.cc would now translated
  > to keycodes. Now I can use german or us keyboard-layout in
  > win95 and all works well.
  > Note: Changing keyboard layout in win95 to en works too
  > Also you must change keyboard setup in win95 to AT-Enhanced 101/102 keyboard
2001-06-25 13:35:51 +00:00
Bryce Denney
87cb58f15f - update patch so it applies cleanly 2001-06-25 13:32:52 +00:00