Commit Graph

3358 Commits

Author SHA1 Message Date
Volker Ruppert
406bf99e91 - status updated 2003-03-05 18:24:40 +00:00
Christophe Bothamy
4c91b32b33 - fix non detection of hard drives by minix2.
The problem was submitted by Erik van Zijst on the ml.
2003-03-05 10:43:52 +00:00
Christophe Bothamy
4112bc75de - add fix for minix2 not detecting the hard drives.
Use this patch to revert to the previous state in case of trouble.
2003-03-05 10:42:06 +00:00
Christophe Bothamy
a8f7451fd9 - update bximage to handle sparse disk images 2003-03-05 00:31:07 +00:00
Christophe Bothamy
65fe6dbe6f - fix the header size of sparse disks to what it was before 2003-03-04 22:08:52 +00:00
Christophe Bothamy
b2d5fc3e66 - some of the __attribute__((regparm())) were missed in the fpu .c files
when converting to the BX_CPP_AttrRegparm macro.
  Update them.
2003-03-04 21:46:49 +00:00
Christophe Bothamy
39b4388384 - first revision of harddisk modes support. See patch content for details. 2003-03-04 21:08:39 +00:00
Christophe Bothamy
c34745014f - this patch is now in patch.harddisk-modes 2003-03-04 21:05:38 +00:00
Christophe Bothamy
11fc5c716c - update status 2003-03-03 21:56:48 +00:00
Christophe Bothamy
e24ea95e73 - clean up the messed file I checked in yesterday 2003-03-03 17:39:16 +00:00
Christophe Bothamy
50efc3b8c7 - apply Conn Clark's patch.perf-regparm-cclark :
- it works only on x86 with gcc2.95+
  - uses the GCC function atribute "regparm(n)" to declare that certain
    functions use the register calling convention
  - performance improvement is about 6%
2003-03-02 23:59:12 +00:00
Christophe Bothamy
d9ffcf9384 - update with ./configure option 2003-03-02 23:51:48 +00:00
Stanislav Shwartsman
8665979c87 * Fixed behavior of BX_INSTR_MEM_DATA callback for RMW memory accesses
See instrumentation.txt for details
2003-02-28 20:51:08 +00:00
Stanislav Shwartsman
40fb37670a Added known problems and to-do lists 2003-02-28 20:18:18 +00:00
Stanislav Shwartsman
73959bc9f5 Added instrumentation callbacks description file.
Somebody please check it for grammar, spelling and correspondence
with current instrumentation code.
2003-02-28 20:06:43 +00:00
Peter Tattam
94880d1412 Fix guest2host and related optimizations to work on 64 bit host.
1) fixed the type of "hostPageAddr" and associated typecasts.
2) fixed the type of "pages" and associated typecasts (overloaded variable)
3) patch to cpu.cc to calculate "eipPageBias" correctly in 64 bit mode
2003-02-28 02:37:18 +00:00
Christophe Bothamy
e6ed09aa3a - add SCO OpenServer install section, contributed by Carl Sopchak 2003-02-27 14:13:51 +00:00
Peter Tattam
11a12142bc x64-64 emulation updates.
1) fixed some errors running 32 bit compat mode.  IMPORTANT FIX.
2) added IST processing (uses IST1-IST7 in 64 bit TSS)
3) cosmetic - debugging stuff to console.
2003-02-26 02:48:12 +00:00
Peter Tattam
70d752c8c2 external debugger only: fixed ask() to be virtual to let a panic trap into external debugger 2003-02-26 02:41:30 +00:00
Peter Tattam
0c39404940 cosmetic - extra console debugging for 64 bit mode. 2003-02-26 02:37:08 +00:00
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