Commit Graph

3436 Commits

Author SHA1 Message Date
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
ac368909cd - add update current version to 2.0.1 2003-01-09 05:54:59 +00:00
Bryce Denney
798f2bce6a - add reference to 2.0.1 2003-01-09 05:53:54 +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