Commit Graph

3093 Commits

Author SHA1 Message Date
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