Commit Graph

3388 Commits

Author SHA1 Message Date
Peter Tattam
4cc7139c3a fix for BX_CPU_LEVEL < 4 2003-02-26 02:35:11 +00:00
Peter Tattam
3aa1b591c1 add some debugging info for 64 bit mode. 2003-02-26 02:24:15 +00:00
Peter Tattam
0f94706c80 minor tweak to 64 bit stack push to ignore segmentation checks. Not required in 64 bit mode so is
a minor optimization.  Also in transition from compat mode to 64 bit mode (e.g. interrupt to inner
privelege with mode change), SS may not be properly defined - this avoids other messiness.
2003-02-26 00:59:31 +00:00
Peter Tattam
131bbb54c5 When external debugger enabled, change INT1 to be
transparent (i.e. not call the guest int1 ISR)
2003-02-26 00:53:38 +00:00
Volker Ruppert
14ca0d2550 - added stubs for the SB16 gameport 2003-02-24 18:35:48 +00:00
Christophe Bothamy
86f5aeb877 - fix compiling if BX_SCHEDULED_DIE_TIME is defined 2003-02-23 22:55:50 +00:00
Christophe Bothamy
fd280a300a - autoconf'ed from configure.in rev1.201 2003-02-21 20:20:52 +00:00
Gregory Alexander
ef16df4f69 Fixed a few warnings. 2003-02-21 17:45:20 +00:00
Gregory Alexander
c96ae6360e Stupid overzealous copy-and-paste. 2003-02-21 17:37:55 +00:00
Gregory Alexander
1ea6ff74dd Return correct values from unregisterTimer. 2003-02-21 17:30:09 +00:00
Sigbjrrn Skjcret
c9afc1f65d Updated to latest changes... 2003-02-21 15:06:18 +00:00
Sigbjrrn Skjcret
7adae75957 Updated to latest changes... 2003-02-21 14:51:12 +00:00
Sigbjrrn Skjcret
dfd0aa9fd2 Fixed configure.in for AmigaOS/MorphOS, unfortunately, I don't have a working autoconf, can someone please regen configure? 2003-02-21 14:40:59 +00:00
Sigbjrrn Skjcret
e63746370a Updated to the latest config files to support more hosts/targets (including MorphOS). 2003-02-21 14:37:44 +00:00
Sigbjrrn Skjcret
ff1fad9da0 Some more options which makes sense for AmigaOS/MorphOS build. 2003-02-21 14:24:24 +00:00
Gregory Alexander
f195d3fa6d Oops, stupid debug thing. 2003-02-21 03:49:27 +00:00
Gregory Alexander
de1b90d978 pit_wrap.cc never uses the realtime stuff anymore. 2003-02-18 16:57:44 +00:00
Gregory Alexander
b77b477bfa The PIT is going to start using virtual timers instead
of having its own realtime mechanism.  The old PIT
realtime mechanism will be removed next.
2003-02-18 16:54:48 +00:00
Gregory Alexander
25fb7ad86e Linked virtual timer type to the realtime PIT option. 2003-02-18 16:52:40 +00:00
Gregory Alexander
4ea5f058f5 This is a hideously ugly hack that removes some of the
speed throddling.  However, it keep up with real time now.
2003-02-18 04:07:42 +00:00
Gregory Alexander
6946666f71 Added init for bx_virt_timer 2003-02-18 03:38:03 +00:00
Gregory Alexander
f844486d08 Fixed some basic runtime problems.
Stuff runs now, but I'm working on getting it to behave properly.
2003-02-18 03:36:01 +00:00
Volker Ruppert
7cdea60d53 - key event handling of the win32 gui fixed. Now the function
DEV_kbd_gen_scancode() is called instead of DEV_kbd_put_scancode(). This
  change enables the support for different scancode sets. The win32 scancodes
  are now converted to bx_key values.
2003-02-17 19:08:12 +00:00
Gregory Alexander
2f451da125 Move configuration defines to .cc file instead of .h one. 2003-02-17 05:08:48 +00:00
Gregory Alexander
640ec800fb Fixed a few minor compile problems and updated initialization code. 2003-02-17 04:51:07 +00:00
Gregory Alexander
c0fa2db674 Add the virtual timers to the main compile. 2003-02-17 03:58:29 +00:00
Gregory Alexander
fa9b8fb363 Added a log option for the virtual timer. 2003-02-17 03:21:45 +00:00
Gregory Alexander
d9e1b2c8b7 Compiles now. I need to add some more stuff to test it. 2003-02-17 03:20:13 +00:00
Volker Ruppert
163c6be18d - fixed some warnings in the lowlevel networking code 2003-02-16 19:35:57 +00:00
Volker Ruppert
e26ceddd65 - patch updated and status line added 2003-02-16 18:08:28 +00:00
Volker Ruppert
aea91de8d3 - patch for win32 key handling 2003-02-16 12:10:32 +00:00
Gregory Alexander
a0070f6c69 Lots of updates. Doesn't sync with real time yet. 2003-02-16 04:58:43 +00:00
Gregory Alexander
b0e7f6d0c6 Working on timer part. 2003-02-15 23:39:41 +00:00
Gregory Alexander
c0d7138924 Working on a general-purpose virtual timer interface. This should allow
more consistent time interfaces once it's finished.
2003-02-14 21:05:36 +00:00
Gregory Alexander
f12a510b8b Added a strictly increasing timer.
This is only somewhat useful here, but will be more
useful when the general timer interface is available.
2003-02-14 04:22:16 +00:00
Stanislav Shwartsman
3d39bc3276 Fixed missed update 2003-02-13 15:53:21 +00:00
Stanislav Shwartsman
7fa75388a1 Added bx_cpuid value to the BX_CPU class to avoid any problems with BX_CPU_ID implementation 2003-02-13 15:51:22 +00:00
Stanislav Shwartsman
cdfc3cbce4 instrumentation enchancements:
* renamed CPU_ID to BX_CPU_ID.
  with this new name there is no possibility for name contentions and BX_CPU_ID
  definition could be moved out to NEED_CPU_REG_SHORTCUTS block

* returned back `unsigned BX_CPU::which_cpu(void)` function

* added BX_CPU_ID parameter for
	BX_INSTR_PHY_READ(a20addr, len);
	BX_INSTR_PHY_WRITE(a20addr, len);
    now it will be
	BX_INSTR_PHY_READ(cpu_id, a20addr, len);
	BX_INSTR_PHY_WRITE(cpu_id, a20addr, len);
2003-02-13 15:04:11 +00:00
Christophe Bothamy
d4575083a7 - add performance patch contributed by Conn Clark.
It uses special gcc attribute regparm, available on gcc3.2 on x86.
  I get about 7% increase when booting windows 95.
  The patch still need some integration work before being included
  in the main code.
2003-02-13 01:31:38 +00:00
Volker Ruppert
b716dafbcc - user_shortcut feature: new key name "bksp" (backspace) added
- function userbutton_handler(): stop parsing the shortcut string if the
  key name is invalid
- function userbutton_handler(): incrementing variable 'len' simplified
- function snapshot_checker(): fixed a warning
2003-02-09 18:59:19 +00:00
Bryce Denney
7336c891ee - CPU_ID fix from Shai Fultheim, who writes:
> CPU_ID is defined as
  > #define CPU_ID (BX_CPU_THIS_PTR local_apic.get_id())
  > This is not true when the APIC name is changed (true in Linux). Please
  > change this to:
  > #define CPU_ID (BX_CPU_THIS - BX_CPU(0))
2003-02-09 13:30:39 +00:00
Volker Ruppert
e492acd792 - VBE 4 bpp modes are using the default vga read/write/update code (for VESA
mode 0x102 = SVGA mode 0x6a)
- function redraw_area() now uses the old screen dimensions for redrawing
2003-02-09 08:25:22 +00:00
Peter Tattam
22d855a6c0 Fixed wrong RETF instructions for 64 bit mode. 2003-02-08 05:51:38 +00:00
Peter Tattam
c4bf554432 Fixed wrong increment for enter where level > 0 2003-02-08 05:48:01 +00:00
Christophe Bothamy
f5fb4bb839 - add not about translation when using a block device as hard disk 2003-02-07 22:01:23 +00:00
Christophe Bothamy
dd2618a315 - compile rombios.c rev1.91 2003-02-06 23:19:23 +00:00
Christophe Bothamy
579f3c0539 - apply Ben Lunt's 160k, 180k, 320k floppy patch 2003-02-06 23:16:56 +00:00
Volker Ruppert
322b428cec - don't register i/o port address base+0x14 (comparison fixed) 2003-02-06 19:09:24 +00:00
Christophe Bothamy
efdefaec76 - upload 160k, 180k, 320k floppies patch from Ben Lunt 2003-02-06 18:02:12 +00:00
Christophe Bothamy
cc33fb689c - add status on patches 2003-02-06 17:28:22 +00:00
Christophe Bothamy
513e1dacd6 - add status 2003-02-05 18:22:30 +00:00
Christophe Bothamy
6db442d12a - add Status: line so we can track patch status (proposed change, applied to cvs) 2003-02-05 18:21:24 +00:00
Christophe Bothamy
ecbbd25411 - add to log file:
. Bochs version
  . System configuration
  . CPU configuration
  . Optimization configuration
This might be helpful information for bug reports
2003-02-05 18:19:03 +00:00
Volker Ruppert
7911dd0c4f - background color changed from white to "none" (button color is used now) 2003-02-03 18:42:56 +00:00
Christophe Bothamy
d03abccf6f - apply anonymous patch [ 678117 ] build fail due to bad SGML punctuation 2003-02-03 17:10:05 +00:00
Volker Ruppert
4e75ccea04 - moved declaration of variable 'i' to the top of the reset() function
(multiple usage of localized variables is okay for gcc, but not for MSVC)
2003-02-02 10:24:26 +00:00
Volker Ruppert
9f1464768c - simplified the port number search in the read and write handler
- fixed port adresses in BX_* messages
2003-02-01 12:21:43 +00:00
Volker Ruppert
ea2b756d43 - use the return value of ReadFile() to determine the presence of the cdrom media
- replaced tabs by spaces in this section
2003-01-30 20:44:32 +00:00
Christophe Bothamy
7ebce64e8d - exit method does nothing unless specific_init was done 2003-01-30 18:41:00 +00:00
Christophe Bothamy
a774fc7df5 - autoconf configure.in rev1.200 2003-01-30 18:38:41 +00:00
Christophe Bothamy
a5081ba6d6 - macos does not have hashmaps 2003-01-30 18:37:05 +00:00
Christophe Bothamy
9505a80b7e - add "sparse hard drive" patch by justinsb 2003-01-29 18:20:19 +00:00
Volker Ruppert
ed976e4728 - dependencies updated after adding the pciusb device 2003-01-29 17:27:51 +00:00
Christophe Bothamy
b2dbcdb993 - apply Zwane's patch.highmem patch
It can be easily removed if things go wrong on win32
2003-01-29 15:01:16 +00:00
Volker Ruppert
f25a3df39b - added minimal USB support (patch from Ben Lunt <fys@cybertrails.com>, updated
and improved by Christophe Bothamy and Volker Ruppert)

Comment from the author:

Attached is a "patch" file detailing what you need to do
to add USB support (UHCI only for now) to your existing
Bochs (2.0.xx) source code.

I use Win32 and VC++ but the source and modifications
should be platform and compiler independant.

Please let me know if this patch some how breaks the
build process of your compilation (Bochs 2.0.0 or above
only).

I would also like any feedback on how this code works
(or doesn't work) on your platform and within your
images. If you explain in as much detail as you can on
how it did or did not work, I will try to add to the source
to help it work on all platforms and images.
2003-01-28 16:58:10 +00:00
Christophe Bothamy
fbe235a904 - clear up the --enable-sb16 configure option 2003-01-28 00:37:11 +00:00
Christophe Bothamy
81c1268d75 - add MacOS-X DMG install guide, courtesy of Aard Vark 2003-01-27 23:56:34 +00:00
Volker Ruppert
35580e4539 - changed BX_USE_P2I_SMF to BX_USE_PCIVGA_SMF 2003-01-27 21:11:55 +00:00
Volker Ruppert
7d5716516a - patch updated for current CVS 2003-01-26 09:48:38 +00:00
Volker Ruppert
0fe3cabe10 - more PCI register behaviour fixes
- added "ioaddr" and "irq" to the "usb1" bochsrc option
- number of ports is limited to 2 for a USB UHCI root hub
- the PCI configuration space is now a part of the usb hub structure
2003-01-25 16:04:48 +00:00
Volker Ruppert
2a5b04afb5 - behaviour of some PCI registers fixed 2003-01-24 15:14:15 +00:00
Bryce Denney
558b0c3aa0 - copy latest 2.0.2 changes into cvs trunk 2003-01-24 14:53:34 +00:00
Volker Ruppert
3c178c951b - new version of the USB patch from Ben Lunt with updates from Christophe
Bothamy and Volker Ruppert.
2003-01-23 20:13:23 +00:00
Volker Ruppert
0e847ccd13 - new macro BX_PCI_DEV() for the PCI register function
- new symbol BX_USE_PCIVGA_SMF for the experimental PCI VGA device
- pcivga.cc: removed unnecessary include statement
- pcivga.cc: fixed two warnings
- pcivga.h: removed unnecessary symbol BX_IODEV_PCIVGA_H
2003-01-23 19:31:28 +00:00
Stanislav Shwartsman
5991599dca Added BX_INFO messages when execution FXSAVE/FXRSTOR instructions 2003-01-23 18:50:37 +00:00
Stanislav Shwartsman
5222261080 Save/Restore FPU TOP-OF-STACK in FXSAVE/FXRSTOR instructions 2003-01-23 18:33:35 +00:00
Stanislav Shwartsman
e1b8e5b9f9 Fixed FTW save/restore in FXSAVE/FXRSTOR opcodes 2003-01-23 17:53:11 +00:00
Christophe Bothamy
77e33ccf26 - fix a "too many arguments for format" warning 2003-01-22 21:43:34 +00:00
Christophe Bothamy
6972e8b965 - add usb patch from Ben Lunt, reworked a little bit 2003-01-22 18:29:23 +00:00
Bryce Denney
1801fe85f8 - remove sse2.cpp, add sse_move.cpp and sse_pfp.cpp in trunk 2003-01-22 13:09:22 +00:00
Christophe Bothamy
acd7f00b11 - fix Makefile so it renames index.html to book1.html, if necessary.
Some stylesheets create an index.html file, others a book1.html file.
  Debian default creates index.html.
2003-01-21 23:07:29 +00:00
Christophe Bothamy
f0f3707fae - update "Using Bochs internal debugger" section :
* explain the format of the argument of the "sb" and "sba" command
  * remove Resource file extensions
2003-01-21 22:59:35 +00:00
Christophe Bothamy
8d30d44ae1 - backport typo found by Stanislav to patch file 2003-01-21 20:22:03 +00:00
Volker Ruppert
047699cc6a - VBE: update the variables for the old screen dimensions after redrawing 2003-01-21 17:39:47 +00:00
Christophe Bothamy
c4782d5e9c - apply patches/patch.disasm-luizshiguno from Luiz Henrique Shigunov.
From the author:

  I've implemented functions ALOb(), ObAL(), YbAL(),
  ALXb() and eAXXv() from dis_groups.cc.

  I've also changed dis_decode.cc to print cmpsd if code
  is 32 bits and cmpsw if code is 16 bits. The same with
  stosd, lodsd and scasd.
2003-01-21 13:23:47 +00:00
Christophe Bothamy
dc01227a03 - update patch so it apply cleanly. I will commit it to the cvs,
so we can easily revert it.
2003-01-21 13:21:17 +00:00
Christophe Bothamy
c6abf1d0d1 - fix old #if BX_SUPPORT_SYSENTEREXIT found by Stanislav. The sysenter/exit code was not called at all! 2003-01-20 21:30:00 +00:00
Christophe Bothamy
e90aeaef08 - autoconfed from configure.in rev1.197 2003-01-20 20:12:59 +00:00
Christophe Bothamy
939b558fdf - apply patch.sysenterexit-mrieker:
- adds sysenter/sysexit support for cpu-level>=6
  - enabled by ./configure --enable-sep
2003-01-20 20:10:31 +00:00
Christophe Bothamy
298903fbed - update patch so it apply cleanly 2003-01-20 19:56:03 +00:00
Christophe Bothamy
44502c00dc - compile rombios.c rev1.90 2003-01-18 19:23:14 +00:00
Christophe Bothamy
5e509b80c9 - add int15 function 86 support 2003-01-18 19:20:52 +00:00
Volker Ruppert
6ff44748da - font size hack in function dimension_update() removed. The X11 window now
appears with the right dimensions. Font sizes other than 16 are working now.
  The maximum font height in text mode is 32.
- the text mode cursor is now drawn with the right colors
2003-01-18 12:05:46 +00:00
Christophe Bothamy
8904c62b90 - add vga charmap change support 2003-01-17 18:16:02 +00:00
Christophe Bothamy
eb56579a71 - add patch.x11-charmap in case we want to revert it 2003-01-17 18:15:18 +00:00
Christophe Bothamy
ed57d3d45d - add changes requested by ams, sgdt and sidt in v8086 mode 2003-01-17 18:08:13 +00:00
Christophe Bothamy
febe279bba - fix link to http://www.winimage.com 2003-01-17 10:02:18 +00:00
Christophe Bothamy
d6301eb0cc - add some information about cd boot error codes 2003-01-16 21:41:00 +00:00
Christophe Bothamy
090fb80a35 - apply patch.x11-internal-vgafont
We don't need the vga.pcf font anymore.
  This will save some install troubles to many users.
2003-01-16 21:14:11 +00:00
Christophe Bothamy
758258c3da - add patch that remove the need for an external X11 vgafont 2003-01-16 17:13:31 +00:00
Christophe Bothamy
2bf8c6ab80 - update with latest current-cvs version. It fixes, at least the WinNT4 install bug 2003-01-15 17:44:57 +00:00
Christophe Bothamy
cfdcae68ca - compile rombios.c rev 1.89 2003-01-14 18:06:59 +00:00
Christophe Bothamy
152900c758 - move the extended key check in int09, now int15/4f is empty.
I did not see any bug, but maybe some code hooking int15/4f could be
  disoriented when receiving extented E0 scancode.
2003-01-14 18:03:31 +00:00
Christophe Bothamy
e42eee68e5 - add support for ElTorito Harddisk emulation. Darwin iso boots now.
The Harddisk emulation still needs some polish though.
2003-01-14 17:59:52 +00:00
Stanislav Shwartsman
d1edcde9ed Cleanup Peter's change in MOVNTI instruction 2003-01-14 14:58:56 +00:00
Peter Tattam
24d4a5003c patches to CPUID required to get latest x86-64 linux kernel (2.4.20) to run.
I believe this patch is ok, however it should be regression tested to make sure
nothing is broken.
2003-01-14 07:46:05 +00:00
Peter Tattam
6e359d62ed disable calling external debugger when jumping in & out of 64 bit mode. 2003-01-14 07:40:21 +00:00
Peter Tattam
b2622c5d04 Temporary tweak to reinstate a change that disappeared when sse2.cc was removed.
The 64 bit variant of MOVNTI was not decoded.  The proper fix for this is to work on
fetchdecode64.cc to call a 64 bit variant of SSE instructions or fail it with a
invalid op.  A careful check needs to be done with the AMD manuals to determine if
there are any other SSE instructions that have a special 64 bit decoding.
2003-01-14 06:50:01 +00:00
Christophe Bothamy
04888a1039 - fix [ 661010 ] cannot override ata-settings from cmdline 2003-01-13 17:55:12 +00:00
Christophe Bothamy
d007a8e93b - compile rombios.c rev 1.87 2003-01-13 12:55:59 +00:00
Christophe Bothamy
04809a2258 - fix NetBSD not booting from cdrom. AH was not set to 0 after a
successful read through int13/AH=2 when emulation floppy from cdrom.
2003-01-13 12:51:17 +00:00
Christophe Bothamy
712af448b4 - add a default #else case when include system specific includes and defining BX_CD_FRAMESIZE.
This should fix the compile problems on Irix and Tru64.
  I'd like to backport those changes to 2.0.2, when I'll be confirmed it works ok.
2003-01-12 15:04:52 +00:00
Volker Ruppert
61f1fcd679 - fixed the behaviour of the vga emulation after changing a palette entry
* removed the unnecessary screen resize code (caused lots of resizes when
    booting the DLX linux demo)
  * force a redraw of the screen in text mode
2003-01-11 21:41:20 +00:00
Volker Ruppert
2c93eb7600 - port 0x03c7 returns the DAC state (read = 11b, write = 00b)
- pel data register returns 0x3f if the DAC is not in read mode
2003-01-11 11:18:04 +00:00
Christophe Bothamy
d18476b4ae - apply [ 661590 ] Fix read_toc() method in *BSD. Patch from Keith Matthew Jones 2003-01-10 22:59:44 +00:00
Christophe Bothamy
cfd2c2f923 - add experimental PCI VGA card (patch from Mike Nordell)
Modified Files:
 	bochs.h plugin.h iodev/Makefile.in iodev/devices.cc
 	iodev/iodev.h
 Added Files:
 	iodev/pcivga.cc iodev/pcivga.h
2003-01-10 22:43:54 +00:00
Christophe Bothamy
e6ff0a8560 - add check for strrev and implementation if not found 2003-01-10 22:32:46 +00:00
Volker Ruppert
5840618ceb - function parse_line_unformatted(): stop parsing at the comment sign (#) 2003-01-10 20:33:12 +00:00
Kevin Lawton
87d648682e Code cleanup. Moved the interrupt redirection instrumentation
into the host-specific files and wrapped access to them
  with atomic operations since that's a structure global to
  all the VMs.  I think all the other globals are SMP clean
  since they are only written once during module init time,
  and read thereafter my all VMs.
Renamed all host OS specific functions to hostOS*().  All host
  independent functions to host*().
I'd like to rename all monitor space functions to mon*() next.
2003-01-10 04:27:51 +00:00
Christophe Bothamy
6d58bed135 - apply [ 665198 ] corrected vga.pcf to work on Solaris 2003-01-09 22:10:14 +00:00
Christophe Bothamy
31628c80b3 - remove outdated patch.
bablokb says in [ 664926 ]
please remove the patch patches/patch.bochs.sh. This
patch was developed for 1.4.x and does not work
anymore with 2.0.x.
It has been superseded by bxtstart in Bochs-Tools (see
http://www.bablokb.de/bochs-tools/).
2003-01-09 21:55:48 +00:00
Volker Ruppert
366188e67a - more accurate emulation of port 0x61 bit #4. This bit toggles with every
refresh request (15 usec). This fixes SF bug #644042.
2003-01-09 20:43:32 +00:00
Volker Ruppert
8f88ab3b1b - plugin name for register function fixed 2003-01-09 17:14:20 +00:00
Bryce Denney
bb261822ec - change it to say version 2.0 instead of 2.0.pre4. 2003-01-09 05:36:47 +00:00
Stanislav Shwartsman
513db033ab fixed compilation error and a logic bug together 2003-01-09 05:21:22 +00:00
Kevin Lawton
c15abe90f2 Updated host-null (a stubs-only compilation test) to reflect
a few new callout functions.
2003-01-09 04:49:04 +00:00
Kevin Lawton
387dcf520f Modified to comply with new way of mapping user space pages
into the plex86 kernel module and VM.  mmap() is not used
  any more.
2003-01-09 04:03:36 +00:00
Kevin Lawton
f45a747e59 Got rid of use of mmap() altogether. User space (bochs) allocates
all the memory it needs, and the plex86 kernel module uses
  get_user_pages() from the Linux kernel to get at them and
  pin the few that are needed statically (and later up to
  a watermark of pages that are needed dynamically).
Guest physical memory pages are now dynamically pinned/unpinned.
  For now, I use a hard limit of 4Megs of pinned pages and
  a really primitive algorithm to decide which one to unpin
  when the limit is reached and one needs to be bumped.  Seems
  to work.  Though I haven't run into the limit yet since I'm using
  just a small test program.
2003-01-09 04:02:31 +00:00
Jeroen Janssen
c518ebe945 added extra note about LGPL'ed VGABIOS 2003-01-08 21:37:00 +00:00
Stanislav Shwartsman
e6eacd984f Implemented MOVD 64bit extensions 2003-01-08 20:33:28 +00:00
Kevin Lawton
3fdba77f4e Fixes these files to comply with the new method of getting
and pinning user pages from the plex86 kernel module.  The
  guest physical memory array is no longer mmap()'d from kernel
  space where it used to be allocated.
2003-01-08 17:22:07 +00:00
Kevin Lawton
6b2c7ef341 Changed over from allocating the the guest physical memory area
in the plex86 module and mmap()'ing it into user space (bochs),
  to letting bochs malloc() it normally and using the
  Linux kernel facility get_user_pages() to get the associated
  physical pages and pin them in memory.  I only have code for
  Linux kernel 2.4.20 and up, as that's the first version to
  export the get_user_pages() symbol so modules can use it.
2003-01-08 17:20:01 +00:00
Christophe Bothamy
d22c0f0764 - remove read handler, on Volker advice 2003-01-07 08:17:15 +00:00
Volker Ruppert
954cdeb6e0 - FPU error register stub removed. It is now handled by a separate device 2003-01-06 18:18:21 +00:00
Bryce Denney
a926cdfd54 - there are no longer any *.htm files, but the installer was still
expecting to find something.  Remove references to *.htm.
2003-01-06 03:26:55 +00:00
Bryce Denney
d4cb5060af - this info is out of date. Better to say nothing than give misleading
information at the top of a README file.
2003-01-06 03:17:56 +00:00
Christophe Bothamy
7648bd0f11 - add cvs tags for 2.0s versions 2003-01-06 02:49:45 +00:00
Christophe Bothamy
eb47a8bf01 - add msdos compatibility FPU exception support (irq 13). The IGNNE pin is no handled yet.
Modified Files:
 	bochs.h config.h.in plugin.h fpu/wmFPUemu_glue.cc
 	iodev/Makefile.in iodev/devices.cc iodev/iodev.h
 Added Files:
 	iodev/extfpuirq.cc iodev/extfpuirq.h
2003-01-06 02:20:47 +00:00
Christophe Bothamy
8b6b4db7cc - This patch adds msdos compatibility FPU exception support. (irq 13). The IGNNE pin is no handled yet. 2003-01-06 02:17:24 +00:00
Christophe Bothamy
56eb9dfe7a - compile from rombios rev1.86 2003-01-06 02:03:57 +00:00
Christophe Bothamy
fd02f4ac05 - create two new asm functions to send eoi to the master pic and to both pics
- add int75_handler, for msdos compatbility fpu exception
  This handler calls int 2 (nmi). The NMI handler should really be aware
  of this and should iret in case of FPU exception (to be implemented)
2003-01-06 02:02:46 +00:00
Volker Ruppert
3c604136a5 - removed unnecessary BX_INFOs 2003-01-05 21:40:07 +00:00
Volker Ruppert
946bd288f8 - fixed the conversion from bcd to binary values in function update_timeval() 2003-01-05 19:43:09 +00:00
Christophe Bothamy
f5ae12bfe8 - Update the mode sense command, cdrom capabillities.
This enables readinf some kind of cdroms.
  (patch from Hartmut Birr, bug submitted by Ben Lunt)
2003-01-05 03:22:03 +00:00
Christophe Bothamy
b4ba046f62 - add patch for CPUID function 0x80000001 for x86-64 emulation 2003-01-05 02:16:38 +00:00
Christophe Bothamy
c6d3735a47 - fix compile warnings (patch from HJ) 2003-01-05 01:37:21 +00:00
Christophe Bothamy
5edbc1ca0a - fix typo 2003-01-05 00:59:52 +00:00
Christophe Bothamy
3c7920ff31 - update Changes with 2.0.1 Changelog 2003-01-04 23:08:53 +00:00
Stanislav Shwartsman
36a39707be Removed the patch because it already in CVS 2003-01-04 19:42:48 +00:00
Bryce Denney
abdf3ef751 - show something reasonable in the version string, instead of showing 2.0.pre4. 2003-01-04 19:22:47 +00:00
Volker Ruppert
9b57ad6ca8 - fixed segfault in log action dialogs - the new log type "pass" was missing 2003-01-04 11:47:00 +00:00
Kevin Lawton
90a0749716 Unified the routines to retrieve physical page addresses underlying
a region of virtual memory.  Now the same one works for getting
  the pages of the kernel driver and memory objects allocated via
  vmalloc().
Converted to using Linux interfaces to walk the page tables to
  get at the physical memory addresses above.  The old code was
  digging up this info starting with looking at CR3.  Linux has
  functions/macros to do this, which can handle 2/3-level cases.
Wrapped the page table walk with proper locks.  A spin lock
  for new Linuxes, a big kernel lock for old ones.
2003-01-04 01:21:18 +00:00
Volker Ruppert
aefd5c6441 - implementation of the date and time change support
- implementation of the UIP bit using a new timer handler. The one_second_timer()
  function only sets the UIP bit and starts the UIP timer. The uip_timer()
  function handles the date / time update, the alarm check and finally clears
  the UIP bit.
- writing to control register A doesn't change the UIP bit
2003-01-04 00:02:07 +00:00
Jeroen Janssen
9286ce7dd6 removed leftover vbe bios patch
(this was used when working on the lfb vbe and there was no 'updated' vgabios in the bios directory yet).
2003-01-03 21:03:56 +00:00
Kevin Lawton
d4a8cf56d6 Cleaned up host-linux.c.
Moved more logic into monitor-host, which is host neutral.
2003-01-03 20:02:54 +00:00
Volker Ruppert
9ca28db2ab - CMOS checksum must be generated after bx_init_plugins() (bug found with amidiag) 2003-01-03 11:43:24 +00:00
Christophe Bothamy
b514c71079 - apply patch [ 658950 ] Bug in FPU
Here are comments from the anonymous patch author :
  I found bug when using the FPU in 16 bit protected
  mode. When using the fsave command the 32bit
  structures were used instead of the 16bit ones.

  It now distinguishes between 16 and 32 bit protected mode
  which wasn't the case before.

  Now Ultima8 runs fine:)
2003-01-03 00:20:05 +00:00
Kevin Lawton
ae92b55818 More code cleanups. 2003-01-02 17:05:47 +00:00
Volker Ruppert
31a4a389a1 - dimension_update(): the toolbar window must be resized too (important for
SVGA and VBE graphics modes)
2003-01-02 09:49:48 +00:00
Kevin Lawton
28c0100e7d Some cleanup. 2003-01-02 02:11:40 +00:00
Kevin Lawton
077a40c248 Renamed file. 2003-01-02 02:10:44 +00:00
Kevin Lawton
523fe341f8 Mods to pass the guest CPUID info from bochs to plex86. 2003-01-02 01:09:50 +00:00
Christophe Bothamy
dae4e3133e - fix irc server name 2003-01-01 22:25:51 +00:00
Christophe Bothamy
fdcb7a000e - fix typo 2003-01-01 21:33:48 +00:00
Volker Ruppert
5e09a0a3f8 - in modeX use the screen width in pixels stored in the CRT controller.
The pixels are horizontally doubled now.
2003-01-01 21:21:29 +00:00
Kevin Lawton
ac964e019a These files constitute the interface between bochs and the plex86
kernel driver.  I'll upload the minor mods for bochs to use
  this interface after we pull out of the 2.0 release mode.
2003-01-01 17:34:09 +00:00
Kevin Lawton
0768d01522 Added plex86 directory to bochs. This directory contains the
new experimental stripped-down version of plex86, which is now
  a user-code-only VM.  I ripped out all the fancy stuff in plex86,
  such that under that right conditions, user-code (protection level 3)
  can run at near native speeds inside the plex86 VM.
The general idea is that bochs emulates all the initial real-mode code,
  and guest kernel code (protection level 0).  When it senses the
  right conditions (like the context switches to user-code), a shim
  is called to execute the guest inside the plex86 VM.  All guest-generated
  faults/exceptions are then forwarded back to bochs to be handled in
  the emulator.
Actually, I'm not yet adding the mods to the bochs code (other than
  the shim code which is in a separate file), until I hear that we're
  back in a more development mode with bochs after the 2.0 release.
The plex86 subdirectory is really a separate project.  It's just more
  convenient to co-develop it with bochs for now.  Both projects are
  currently LGPL, but each should be taken to be a separate project,
  and have their own license file.  Plex86 (it's only a kernel driver
  now) could ultimately be used with other projects, as it's modular.
  I talked with Bryce, and we both agreed it's OK to keep plex86 as
  a subdir in bochs for now.
2003-01-01 17:32:06 +00:00
Volker Ruppert
1cfe6c248a - function determine_screen_dimensions() prepared for SVGA mode 0x6A (800x600x4) 2002-12-31 16:58:02 +00:00
Stanislav Shwartsman
633d0b59fb clean up of error messages 2002-12-30 18:51:09 +00:00
Stanislav Shwartsman
7dcd9ab8ec * implemented MOVLHS/MOVHPS/MOVHLPS/MOVLHPS opcodes
* another reorganization of SSE code
2002-12-30 18:10:10 +00:00
Christophe Bothamy
afc06f0296 - implement atapi command 0xA8 read (12) 2002-12-30 17:12:16 +00:00
Volker Ruppert
96c03a93ca - only enabled ATA channels with a cdrom connected are available in the "Edit"
menu at runtime
2002-12-30 17:04:43 +00:00
Volker Ruppert
b78b65b845 - new application icon for the X11 gui using 'icon_bochs.xpm' 2002-12-30 13:17:39 +00:00
Stanislav Shwartsman
7e41d08620 Fixed problem with shift imm instructions 2002-12-30 08:03:34 +00:00
Stanislav Shwartsman
e1d5cddc6d Fixed a problem with zero-count shift in following instructions:
PSRAW_PqQq    (MMX)
PSRAD_PqQq    (MMX)
PSRAW_PqIb    (MMX)
PSRAD_PqIb    (MMX)

PSRAW_VdqWdq  (SSE)
PSRAD_VdqWdq  (SSE)
PSRAW_PdqIb   (SSE)
PSRAD_PdqIb   (SSE)

When register was shifted by 0 bits the result produced was incorrect.

Now Bochs fully passes MMX test provided by
Hentai Yagi [hentai_yagi@yahoo.com.au] !
2002-12-29 21:14:25 +00:00
Stanislav Shwartsman
f594989f5b Removed the patches because thay are already in the CVS 2002-12-29 18:57:34 +00:00
Volker Ruppert
4078aba5f0 - replaced window register call RegisterClassEx() by RegisterClass(). This fixes
the icon problem on Win2000. RegisterClassEx() would be required if we want
  to specify a special mini icon.
- the win32 gui now uses the new function/macro DEV_vga_actl_pal_idx() to
  determine the text mode colors.
2002-12-29 18:39:21 +00:00
Stanislav Shwartsman
ef279cefc1 This patch fixes the failure on Win2000 related
to Bochs new icon problem.
2002-12-29 18:13:52 +00:00
Stanislav Shwartsman
8909ce442c Fixed problem in PSRLD_PqIb instruction 2002-12-28 20:18:56 +00:00
Stanislav Shwartsman
6ccd2fb7fa Fixed bug in following MMX instructions:
void BX_CPU_C::PUNPCKLBW_PqQd(bxInstruction_c *i)
void BX_CPU_C::PUNPCKLWD_PqQd(bxInstruction_c *i)
void BX_CPU_C::PUNPCKLDQ_PqQd(bxInstruction_c *i)

Thanks to Hentai Yagi [hentai_yagi@yahoo.com.au]
that provided nessesary test application.
2002-12-28 19:06:29 +00:00
Volker Ruppert
51c9c6c83a - bugfix for the textmode colors: the color value is not an index to the DAC
palette - it's an index to the attribute controller palette index.
  The new function get_actl_palette_idx() now returns the real DAC index.
  The guis sdl, wx and x11 are using the new function. TODO: Fix this bug in
  all other guis.
2002-12-28 11:49:17 +00:00
Volker Ruppert
c92385620c - updated guest section for GNU/Hurd (SF patch #658370)
- vga font section: improved note for the xset command
- renamed guest sections to "guest-*" (e.g. "guest-win95")
2002-12-27 12:44:39 +00:00
Volker Ruppert
a9007a6b63 - gcc 3.2 warnings fixed ("trigraph ??- ignored") 2002-12-27 10:20:53 +00:00
Volker Ruppert
2155da04ce - the current paste operation now stops on hardware reset 2002-12-26 22:19:44 +00:00
Stanislav Shwartsman
9c5c40e8ce Fixed BX_INSTR_OPCODE call when instruction was found in the ICache 2002-12-26 20:22:35 +00:00
Volker Ruppert
ef8a7b1dc6 - new application icon for the win32 gui using 'bochs.ico' 2002-12-26 18:24:41 +00:00
Volker Ruppert
475a3e7fb6 - reg_ld_str.c: fixed an integer load bug found by 'amidiag'
- poly.h: fixed gcc 3.2 warnings
2002-12-26 14:47:02 +00:00
Volker Ruppert
9f8e541a4f - new application icon for wxMSW using 'bochs.ico'
- new application icon for wxGTK using new icon 'icon_bochs.xpm' (converted from 'bochs.ico')
2002-12-25 17:13:45 +00:00
Christophe Bothamy
2398f0f215 - fix [ 651158 ] rombios does not build with make -j2
don't let each rombios compile overwrite temporary file of another
2002-12-25 12:25:55 +00:00
Volker Ruppert
0f2add7f50 - URL of plex86 updated
- FAQ - sound question: added FreeBSD to the list of supported platforms
- list of configure shortcut files updated
- compiling footnote: file locations updated
- replaced reference to sound.html (old docs) by a reference to the
  "sb16-emulation" section
- compiling instructions for BeOS updated
- keyboard mapping: supported guis added
2002-12-25 10:08:24 +00:00
Volker Ruppert
7f35a5287b - exclude CVS subdirectories and *.dbk files when creating bochsdoc.tar.gz 2002-12-25 10:07:42 +00:00
Stanislav Shwartsman
b08f208b9f Fixed compilation error 2002-12-24 20:59:55 +00:00
Stanislav Shwartsman
6acff47112 Implemented the following SSE instructions (sse_move.cc):
MOVSS_VssWss
MOVSS_WssVss
MOVSD_VsdWsd
MOVSD_WsdVsd
MOVMSKPS_GdVRps
MOVMSKPD_EdVRpd
MOVQ_VqWq
MOVQ_WqVq
SHUFPS_VpsWpsIb
SHUFPD_VpdWpdIb
2002-12-24 20:19:35 +00:00
Bryce Denney
8613eee5e2 - add known bugs list for 2.0, which will become a changes list for 2.0.1. 2002-12-24 15:58:38 +00:00
Bryce Denney
26a6d3350c - "make clean" cleans only the top directory. So why did we have
rm */*.o in here?
2002-12-24 15:01:12 +00:00
Volker Ruppert
8b4d0fd629 - added check for symbol FreeBSD (makes the soundlnx.* files work on FreeBSD) 2002-12-24 10:12:26 +00:00
Christophe Bothamy
2ed89620af - fix bug reported many times on irc and on the ml. The "pass" log was
mistakenly written as "debug" when the configuration file was saved.
2002-12-24 09:14:54 +00:00
Christophe Bothamy
4be6048bb4 - add comment about multi-bytes IO accesses 2002-12-24 08:20:13 +00:00
Bryce Denney
0534c6531c - the preprocessor symbol BX_USE_REALTIME_PIT is obsolete. Greg has
already made the realtime PIT option into a bochsrc option.
2002-12-24 04:03:15 +00:00
Volker Ruppert
01953c9caa - added id="name" to all chapters and sections. Now all generated html files
have real names instead of c*.html or x*.html.
2002-12-23 22:15:31 +00:00
Christophe Bothamy
2b396ed2da - fix [ 657404 ] realtime_pit bug in 2.0 config. 2002-12-23 10:30:13 +00:00
Kevin Lawton
d136a8f43e * Fixed the line which compares the current fetchMode against
the current code page's mode.  It was &'ing against fetchModeMask:

  ((pageWriteStamp & fetchModeMask) == fetchModeMask)

  instead of against a constant mask which populates all the
  relevant bits:

  ((pageWriteStamp & ICacheFetchModeMask) == fetchModeMask)

* Moved the check above to ::prefetch(), since nothing should change
  between calls to that function.  I added some code to functions
  which load CS to make sure that is the case.

* Commented out several calls to invalidate_prefetch_q() in
  ctrl_xfer{16,32,64}.cc.  Changes to only EIP (i.e. CS is not
  modified) don't matter any more.  If EIP lands outside the
  window of the current code page, ::prefetch() is called.

* These changes add a few percent of performance.
2002-12-23 02:51:17 +00:00
Stanislav Shwartsman
4b59ecbc62 Implemented SSE/SSE2 duplicate opcodes in more intellegent way ... 2002-12-22 21:48:23 +00:00
Stanislav Shwartsman
29ab05b4da Removed duplicate SSE opcodes 2002-12-22 20:48:45 +00:00
Stanislav Shwartsman
e73df72525 implementation of additional SSE/SSE2 instructions 2002-12-22 20:42:56 +00:00
Stanislav Shwartsman
1cd38bb7dd Recommitted SSE code reorganization.
Fix in FXSAVE/FXRESTOR opcodes -> If the OSFXSR bitCR4 is not set, the FXRSTOR instruction does not restore the states of the XMM and MXCSR registers.
2002-12-22 20:13:00 +00:00
Bryce Denney
90d711e5d1 - add missing break stmts, pointed out by Shai Fultheim 2002-12-22 15:15:56 +00:00
Bryce Denney
0a2012202f - x86-64 status changed after Peter sent me the changelog entry. v2.0
has been able to run a 64-bit user application, "sash".
2002-12-22 15:02:00 +00:00
Bryce Denney
98ec281e28 - don't install DOC-win32.html. it's out of date and I don't have time
to fix it.
2002-12-21 19:23:08 +00:00
Bryce Denney
792b8283aa - misc updates, e.g. mention that Kevin has been helping out with Bochs again 2002-12-21 19:18:56 +00:00
Bryce Denney
e790d65e8f - document $BXSHARE and $LTDL_LIBRARY_PATH 2002-12-21 18:58:28 +00:00
Bryce Denney
a6f24a6587 - add missing --enable-* and --with-* for 2.0
- move configure options section right after Standard Compile.  It
  was buried at the end of the section and hard to find before.
- fix section issue for sb16
- fix typo in pit description
2002-12-21 18:37:40 +00:00
Christophe Bothamy
306da8a074 - add time0 and i440fxsupport .bochsrc option description 2002-12-21 17:37:35 +00:00
Christophe Bothamy
a5fad9e5cb - add time0 and i440fssupport .bochsrc option description
- fix formatting problem on keyboard_serial_delay and keyboard_paste_delay
- move examples of pit: realtime on top of the section
2002-12-21 17:36:43 +00:00
Bryce Denney
91b95cafaf - change pit syntax to "pit: realtime=1" 2002-12-21 17:27:42 +00:00
Bryce Denney
adf5b443ba - add PIT section 2002-12-21 17:20:27 +00:00
Christophe Bothamy
3c295cd01e - added Bryce's description of the realtime pit 2002-12-21 17:17:29 +00:00
Bryce Denney
7e1603fabd - mention the PIT option in .bochsrc
- note: I'm about to change main.cc to match this syntax
2002-12-21 17:10:08 +00:00
Bryce Denney
505dc8325e - mention beos resource fix 2002-12-21 16:37:15 +00:00
Bryce Denney
8bdffcbe46 - apply patch from Peter Tattam. x86-64 requires SSE2 or it fails without
any indiciation of what went wrong.
2002-12-21 16:36:07 +00:00
Bryce Denney
675335904c - rewrite header to describe what's in this file.
- marked one thing as done
- remove the remnants of the v1.4 readme
2002-12-21 16:23:52 +00:00
Bryce Denney
cfba32103e - update 2002-12-21 16:13:11 +00:00
Bryce Denney
a090c04e57 - add first names to first reference of each developer
- fix some FIXMEs
- move documentation section to the top
- move wxWindows after config interface and display library sections
- remove the massive list of SF bugs,features,etc. since they have
  (mostly) been covered above
- erase to-do list since it's done
2002-12-21 15:54:39 +00:00
Bryce Denney
bc72fcefa9 - BeBochs.rsrc cannot be checked into CVS directly because that damages
its resources.  So now we will distribute a .zip file which will only
  be unzipped on the target BeOS machine.
2002-12-21 15:51:41 +00:00
Bryce Denney
6d3d96e182 - replace link to changelog in docs-html with a link to the anonymous
CVS browser on source forge.  This will display the most recent version
  of the CHANGELOG file.
2002-12-21 15:12:12 +00:00
Bryce Denney
3414fbb792 - minor tweaks 2002-12-21 14:42:37 +00:00
Bryce Denney
e3548a3708 - fix a broken configure subst variable @EXE@ 2002-12-21 14:41:49 +00:00
Bryce Denney
9780ad2ad8 - correct BeBochs.rc path 2002-12-21 14:32:10 +00:00
Bryce Denney
8bacd82133 - add BeOS target which builds the binary and then runs "copyattr"
to copy the resources into the binary
2002-12-21 14:31:30 +00:00
Bryce Denney
c64cd2f39a -Wno-multichar is already added by the configure script for beos, so
take it back out of this file (added in previous rev)
2002-12-21 14:28:24 +00:00
Bryce Denney
a5b68f934f - suggested changes from Bernd Korz 2002-12-21 14:18:49 +00:00
Bryce Denney
c245a51c46 - add BeOS resources file from Bernd Korz 2002-12-21 14:16:30 +00:00
Christophe Bothamy
ef605f6e84 - add gui changes 2002-12-20 20:23:16 +00:00
Volker Ruppert
42b4833e64 - FAQ (network question): fixed a typo
- list of files in RPM package: LGPL'd VGABIOS added, location of manpages updated
2002-12-20 15:17:27 +00:00
Stanislav Shwartsman
f2f976d736 Add BX_INSTR_FETCH_DECODE_COMPLETED call even if an instruction hitten in ICache 2002-12-20 13:36:50 +00:00
Stanislav Shwartsman
4906ffef7c Clean Peter's commit with MOVNTDQ instruction implementation 2002-12-20 09:11:39 +00:00
Peter Tattam
c173034663 Patches to round off the x86-64 emulation to get the Linux x86-64 kernel and
sash to run.

1) fixed fetchdecode64.cc to fix the operand size at 64 bits in long mode for moves
   to/from CRx

2) minor patches to sse2.cc to fix unimplemented and 64 bit variants of sse2
instructions.
2002-12-20 07:11:29 +00:00
Christophe Bothamy
18bceefb93 - complete the io devices changes 2002-12-19 22:40:32 +00:00
Christophe Bothamy
923e637cda - add changes io devices ne2k to pic 2002-12-19 21:32:35 +00:00
Bryce Denney
c44472d27e - add missing comma between "PANIC" and "PASS" 2002-12-19 06:05:18 +00:00
Bryce Denney
9b2914fd1d - Temporarily revert Stanislav's changes between 2002-12-18 and 2002-12-19.
Because source files were added/removed it would require an update
  of the windows and macos project files, so I want to wait until after 2.0.
    M Makefile.in         1.51 back to 1.50
    M cpu.h               1.121 back to 1.120
    M fetchdecode.cc      1.37 back to 1.36
    M fetchdecode64.cc    1.33 back to 1.32
    M sse.cc              1.17 back to 1.16
    A sse2.cc             1.27 back to 1.26  (added back)
    R sse_move.cc         removed
    R sse_pfp.cc          removed
- to bring these changes back again, all we have to do is
  "cvs update -j tmp-before1 -j tmp-after1"
2002-12-19 05:53:18 +00:00
Bryce Denney
61c768015e - remove "unset echo" at the end. That's the command that actually
returned 1.  Now the configure is the last command so the script
  should return whatever configure returns.
2002-12-19 03:13:15 +00:00
Bryce Denney
ed46802335 - exit 0 at the end. With /bin/sh it seems to be returning a nonzero
code and causing my make-dmg script to think that configure failed.
2002-12-19 03:12:03 +00:00
Bryce Denney
d1b711164a - make install for MacOSX should not produce a disk image too. Now
disk image creation is handled by build/macosx/make-dmg.sh.
2002-12-19 03:02:37 +00:00
Bryce Denney
cce63e2f8d - shell script to make a Bochs DMG using diskimage.pl. To use it
go to the top of the source tree and run "build/macosx/make-dmg.sh"
2002-12-19 03:01:44 +00:00
Bryce Denney
9477f991c4 - add a little summary at the top 2002-12-19 01:33:24 +00:00
Christophe Bothamy
0f6bf51f00 - add changes for io device floppy to keyboard 2002-12-19 01:01:25 +00:00
Stanislav Shwartsman
aa361badf2 Reorganized SSE/SSE2 code
sse.cc -> general SSE stuff and SSE integer (MMX extensions)
sse_move.cc -> memory transfer and shuffle opcodes
sse_pfp.cc -> packed floating point operations
2002-12-18 22:33:44 +00:00
Christophe Bothamy
15cf6acddc - update so debugger can compile (missing fileno function) 2002-12-18 19:00:24 +00:00
Christophe Bothamy
47569f5ee1 - set version to 2.0 2002-12-18 18:59:22 +00:00