Commit Graph

6192 Commits

Author SHA1 Message Date
Stanislav Shwartsman
c184a3a2ba Removed redundant mem-only checks - handled in fetchdecode now 2007-03-23 14:50:45 +00:00
Stanislav Shwartsman
ef542b3790 Learn to decode and disassemble VMX opcodes
No fetchdecode support but everything is ready
2007-03-23 14:35:50 +00:00
Stanislav Shwartsman
5c57577f32 Merged Carbon GUI patch by Dave Poirier 2007-03-23 08:30:22 +00:00
Stanislav Shwartsman
1ec33ec518 Correctly #UD on aliased instructions when no SSE2 is configured 2007-03-22 22:51:41 +00:00
Volker Ruppert
859fde3feb - regenerated after adding usb_hid.* files 2007-03-21 18:57:58 +00:00
Volker Ruppert
69e0110c7b - USB HID mouse support ported from Qemu to separate file and C++ object
* removed old-style mouse stuff
  * TODO: implement USB tablet from Qemu and re-implement Bochs USB keypad
- clear out USB hub structures in constructor to avoid segfault
- keyboard: mouse capture flag must affect all mouse types
2007-03-21 18:54:41 +00:00
Stanislav Shwartsman
5e4553500b Do not print address = 0 in BIOS address param. This means deafult value - so kepp it omitted and read te default value. 2007-03-18 22:27:37 +00:00
Stanislav Shwartsman
0436125d60 Some cleanup in lazy flags CF handling 2007-03-18 19:29:17 +00:00
Volker Ruppert
7956e47de8 - removed USB port option parameter and store device and option in one single
string. This is better for devices that need to know all it's options when
  connecting to the port. Device name and option should be separated with a
  colon. The USB device 'disk' now uses this format ('disk:usbdisk.img).
- the pciusb plugin must be linked with cdrom.o
2007-03-18 17:52:15 +00:00
Volker Ruppert
58d12d7136 - SCSI cdrom support added (untested)
- MSVC warnings fixed
- indent mode fixes
2007-03-18 15:18:02 +00:00
Volker Ruppert
71df111f02 - regenerated after adding USB MSD and SCSI emulation support 2007-03-18 11:18:51 +00:00
Volker Ruppert
a70cc33578 - USB MSD support moved to separate files and C++ object
* partial rewrite of the USB device emulation code (TODO: mouse and keypad)
  * configure.in and iodev makefile updates
  * removed old-style data structure for the USB harddisk
  * TODO: save/restore support for removable devices
- PCI USB destructor now resets all runtime parameter handlers
- set log prefix for the SCSI device
- fixed a warning in the SCSI emulation code
2007-03-18 11:17:28 +00:00
Volker Ruppert
e39769a7e8 - SCSI emulation layer moved to separate file and C++ object
(TODO: cdrom support, update workspace files)
- USB mass storage device separation continued
- device qualifier descriptor implemented
2007-03-16 18:23:13 +00:00
Stanislav Shwartsman
b8787fd5a7 Some code cleanups and warning fixes 2007-03-14 21:15:15 +00:00
Volker Ruppert
55d2446fe4 - USB mass storage device support and SCSI emulation layer ported from Qemu.
USB device type 'disk' replaces the 'flash' stubs and uses the corresponding
  port option as the path to the flat image file. Successfully tested with
  OpenSUSE 10.2.
  TODO list:
    * plugging in 2 devices of the same type not supported yet
    * move all USB devices and SCSI emulation layer to separate files and C++
      objects
    * USB port runtime parameter 'optionX' should be handled in the code of the
      connected USB device
    * tests with several other guest platforms
- destructor deletes device buffer only when it exists
- handling of the USB error interrupt status bit fixed
2007-03-14 18:05:46 +00:00
Volker Ruppert
883339c458 - call bx_gui->dimension_update() in after_restore_state() if a VBE mode is
active (standard VGA and Cirrus modes don't need it, since it is handled in
  the normal screen update code)
2007-03-11 09:43:33 +00:00
Volker Ruppert
7ee4eb27af - fixed possible segfault in loopback mode #1 when using a transmit byte count
> memory size (changing variable types makes sanity checks work)
2007-03-10 15:17:31 +00:00
Volker Ruppert
e5dbe40511 - destructors added to fix memory leaks
- indent mode fixes and removed unnecessary spaces
2007-03-10 12:53:54 +00:00
Stanislav Shwartsman
8ce336cad3 Fixed PANIC message 2007-03-10 09:04:39 +00:00
Stanislav Shwartsman
d471dea435 Added trace cache patch 2007-03-07 20:26:02 +00:00
Stanislav Shwartsman
c738d82290 Fix for debugger in SMP binary executing single CPU 2007-03-06 21:18:00 +00:00
Stanislav Shwartsman
40a395a3f4 Improve single threaded simulation speed in SMP binary of Bochs
This is still significantly slower than in native no-SMP binary but faster than before at least
2007-03-06 21:12:20 +00:00
Stanislav Shwartsman
05ea111e1c Clean CPU debug methods in main cpu_loop 2007-03-06 17:47:18 +00:00
Volker Ruppert
9a7930a23f - destructor now deletes the device buffer
- attempt to implement the "get max. LUN" command for mass storage devices
- removed unnecessary spaces
2007-03-05 18:09:57 +00:00
Stanislav Shwartsman
8067503c67 PUSHA/POP instructions rewritten, fixed PANIC message 2007-03-02 21:03:25 +00:00
Volker Ruppert
0be7d6e5e3 - when clearing the run/stop bit, the "host halted" bit in the status register
must be set
- ignore unused bits on i/o writes
- fixed two warnings
2007-03-01 18:29:36 +00:00
Volker Ruppert
a3b352d4fd - don't abort command when setting maximum logical head number to 0 (Linux 2.6.x
kernels use this value when LBA48 support is available)
2007-02-27 18:16:20 +00:00
Volker Ruppert
8beb290f67 - NACK for invalid PS/2 mouse command must be added to the mouse queue 2007-02-25 13:18:33 +00:00
Stanislav Shwartsman
89d33c681f Added closed bugs and applied patches list 2007-02-23 22:09:22 +00:00
Stanislav Shwartsman
d3252fbc1c Removed unneeded invalidate_prefetch_q from RDMSR instruction 2007-02-23 22:08:43 +00:00
Stanislav Shwartsman
696f4fef0f Remove incorrect assertion 2007-02-22 17:43:29 +00:00
Volker Ruppert
252946be66 - initial ACPI SMBus support added (ported from Qemu, TODO: register devices,
bus transactions)
2007-02-20 09:39:06 +00:00
Volker Ruppert
691465ffa6 - reset the memory after 32 bit protected mode init (patch from the Qemu project
by Fabrice Bellard)
2007-02-10 17:05:38 +00:00
Volker Ruppert
4a8996153f - partial support for non-DMA mode (initial patch #1641816 by John Comeau) 2007-02-09 14:23:50 +00:00
Stanislav Shwartsman
0f289751d2 Merge patch from @SF bug tracker 2007-02-07 17:53:06 +00:00
Stanislav Shwartsman
8d2060b855 Replace access_linear by read_virtual_xword when applicable 2007-02-03 21:36:40 +00:00
Stanislav Shwartsman
2f9e1bee68 fixed code duplication and comments 2007-02-03 17:56:35 +00:00
Stanislav Shwartsman
4fecfdebbf Update CHANGES - test of posting to "subscribers only" mailing list 2007-01-29 21:03:37 +00:00
Stanislav Shwartsman
372ac39050 Report some cache info in CPUID - port from QEMU 2007-01-29 17:56:03 +00:00
Stanislav Shwartsman
c24627c00f Implemented CLFLUSH instruction
Set of minor fixes for correctness
2007-01-28 21:27:31 +00:00
Stanislav Shwartsman
82607c4a35 Safety net - comment BX_WRITE_32BIT_REG macro - always use WRITE_32BIT_REGZ instead ! 2007-01-26 22:16:59 +00:00
Stanislav Shwartsman
8221fa6838 - Fixed zero upper 32-bit part of GPR in x86-64 mode
- CMOV_GdEd should zero upper 32-bit part of GPR register even if the
    'cmov' condition was false !
2007-01-26 22:12:05 +00:00
Stanislav Shwartsman
7d4a5ff1b2 Fixed rep prefix printing in disasm 2007-01-25 21:54:05 +00:00
Stanislav Shwartsman
acd1a05f6f Fixed bugs for SSE3E execution and decoding 2007-01-25 21:44:35 +00:00
Stanislav Shwartsman
d54c63e9cb FIxed compilation error 2007-01-25 19:21:20 +00:00
Stanislav Shwartsman
f8003098b1 Rename SSE4 to SSE3E to match intel docs. SSE4 coming later ;)
Fixed "last prefix" for REX in 64-bit mode
2007-01-25 19:09:41 +00:00
Stanislav Shwartsman
3fb402ee15 Forgot to checkin this file 2007-01-16 17:46:30 +00:00
Stanislav Shwartsman
0e991964fd incorrectly committed debug code 2007-01-13 10:45:32 +00:00
Stanislav Shwartsman
dd00bc66d0 Fixed disasm in 64bit mode, added new accessor for printing 64bit values 2007-01-13 10:43:31 +00:00
Stanislav Shwartsman
9db896d100 minor x86_64 fixes and cleanups 2007-01-12 22:47:21 +00:00