Commit Graph

5989 Commits

Author SHA1 Message Date
Volker Ruppert
63f1d0d07e - now using platform specific code to determine the image size on WIN32 (fstat
on Cygwin and MinGW/MSYS returns only 32-bit values)
2007-08-10 17:34:01 +00:00
Stanislav Shwartsman
752ab9c4ae Woraround for large files problem I used to install Vista
When it PANICs with 8G large disk image file - just press continue and it will work
2007-08-09 14:04:51 +00:00
Volker Ruppert
455e86cbb0 - CL-GD5446 rev. B claims 32 MB PCI memory for VRAM
- fixed and simplified PCI memory access
2007-08-05 10:46:23 +00:00
Volker Ruppert
6606627f4b - fixed harddisk signature (drive select bit must be cleared for devices not
implementing the PACKET command)
2007-08-04 17:01:04 +00:00
Volker Ruppert
5563a18956 - ported ACPI enable/disable support from latest Qemu sources 2007-08-04 08:57:42 +00:00
Volker Ruppert
1332f905ae - change ACPI table revision number to 1 2007-08-03 13:56:52 +00:00
Volker Ruppert
6ea536f95c - fixed floppy boot signature check switch
- added network boot ROM support in the main Bochs code (already present in BIOS)
2007-08-01 17:10:24 +00:00
Stanislav Shwartsman
895891b673 Implemented #AC check under configure option
Fixes in misaligned SSE support
2007-07-31 20:25:52 +00:00
Stanislav Shwartsman
c8b3ad52c4 Fixed compilation error reported in mailing list 2007-07-31 19:03:38 +00:00
Stanislav Shwartsman
6a67c6d6dd update CHANGES 2007-07-29 20:05:23 +00:00
Volker Ruppert
46a4544dd2 - Win98SE uses 0x21FF for mass storage device reset (pointed out Ben Lunt) 2007-07-28 16:11:17 +00:00
Stanislav Shwartsman
58a2595bca Misaligned SSE support 2007-07-15 19:03:39 +00:00
Stanislav Shwartsman
38d1f39c77 Converted CR0 bits to one register similar to CR4 - a bit slower but helps with other features implemntation 2007-07-09 15:16:14 +00:00
Stanislav Shwartsman
8014e4061b Patch from mailing list 2007-07-09 14:57:33 +00:00
Volker Ruppert
1ce5222640 - applied SF patch #1695652 by Duane Voth
* dumps vnet traffic to a .pcap file for use with wireshark et. al.
  * sets the default PXE boot filename to pxelinux.0
  * fills out the TFTP implementation far enough to use an etherboot rom
2007-07-01 07:28:14 +00:00
Volker Ruppert
feb2f45a3e - added expansion-ROM boot support to the ROMBIOS (SF patch #1741153 ported from
the XenSource project)
2007-06-30 07:15:30 +00:00
Volker Ruppert
8f7e6ac2ad - implemented INT15h, fn 0xC2 (mouse), subfn 3, set resolution (SF patch #1734159)
- support for large PCI memory regions (>=64Mb) added (patch by Paul Brook)
2007-06-17 07:38:58 +00:00
Volker Ruppert
fd0ca2b479 - support for large PCI memory regions (>=64Mb) added (patch by Paul Brook) 2007-06-17 07:37:11 +00:00
Volker Ruppert
216fdf36c6 - implemented INT15h, fn 0xC2 (mouse), subfn 3, set resolution (SF patch #1734159) 2007-06-17 07:36:34 +00:00
Stanislav Shwartsman
7c6c2bb520 Removed PANIC message 2007-06-08 09:25:30 +00:00
Volker Ruppert
570ce953a6 *** empty log message *** 2007-05-28 08:09:13 +00:00
Volker Ruppert
45bd4ab269 - bios_printf() fix for %s format (from VirtualBox)
- removed lots of trailing spaces
2007-05-28 08:01:56 +00:00
Volker Ruppert
3dad77a4b5 - bios_printf() fix for %s format (from VirtualBox)
- removed lots of trailing spaces
2007-05-28 07:54:03 +00:00
Volker Ruppert
171f2433f0 - install both default and legacy version of the Bochs BIOS
- updated the BIOS related parts of the documentation
2007-05-17 15:47:35 +00:00
Stanislav Shwartsman
593f9d5f36 Fixed typo 2007-05-15 12:48:59 +00:00
Stanislav Shwartsman
5e97ddb984 Use GDT and IDTR limit in 'info gdt/idt commands 2007-05-12 19:19:15 +00:00
Volker Ruppert
e88a8b48a1 - implementation of save/restore for the SCSI emulation started
- SCSI buffer length fixes ported from the Qemu project
2007-05-05 12:30:23 +00:00
Stanislav Shwartsman
65a99eb736 Change BX_ERROR to BX_DEBUG 2007-04-25 20:14:15 +00:00
Volker Ruppert
25ebf16236 - exclude statements must appear prior to the file list (expected by tar 1.15.1) 2007-04-22 17:11:12 +00:00
Stanislav Shwartsman
55365ba713 Minimize usage of result register 2007-04-19 19:09:52 +00:00
Stanislav Shwartsman
1c3e703394 Fixed DAZ handling by CVT instructions 2007-04-19 18:50:57 +00:00
Stanislav Shwartsman
5189cfbf10 SSE4 support 2007-04-19 16:12:21 +00:00
Stanislav Shwartsman
f6af99dead Some variables renaming + CPU vendor variable defition 2007-04-17 21:38:51 +00:00
Volker Ruppert
70d7a37c55 - prepared after_restore_state() feature for USB devices
- init_device(): removed local variable 'connected'
2007-04-15 09:39:22 +00:00
Stanislav Shwartsman
6c139a9c8c Define LIN and PHY address size in config.h 2007-04-14 10:05:30 +00:00
Stanislav Shwartsman
3886e35bcb Clean code duplication 2007-04-09 21:55:07 +00:00
Stanislav Shwartsman
09360212ad Update CHANGES 2007-04-09 21:32:29 +00:00
Stanislav Shwartsman
223b9fda0e Fixed RIP relative mode when in 32-bit address size 2007-04-09 21:15:00 +00:00
Stanislav Shwartsman
e26609fa97 Support for Intel LSS/LFS/LGS in 64-bit mode
TODO: have both AMD and Intelk versions
2007-04-09 20:28:15 +00:00
Volker Ruppert
bb27085003 - partial save/restore support for USB MSD devices (TODO: buffers and SCSI
emulation status not saved)
- changed type of member 'mode' to simplify save/restore
2007-04-09 09:04:54 +00:00
Volker Ruppert
98acd5ef2e - regenerated after moving --enabled-new-pit to the deprecated section 2007-04-09 08:48:23 +00:00
Volker Ruppert
2a6200040e - removed configure option for the new PIT model from documentation and perl
build script
- added --enable-new-pit to the deprecated section of the configure script
- show DEPRECATED messages in configure script in uppercase letters (most of
  them should be removed before the next major release)
2007-04-09 08:46:24 +00:00
Stanislav Shwartsman
dee9f1b9b5 Update MSDEV workspace 2007-04-08 21:58:00 +00:00
Stanislav Shwartsman
b6c8275cfd remove old PIT model and always use Greg Alexander's new one 2007-04-08 21:57:06 +00:00
Volker Ruppert
16812f0ad2 - fixed some gcc 4.x warnings 2007-04-08 15:02:50 +00:00
Volker Ruppert
f8aec91820 - fixed some MSVC warnings 2007-04-06 15:22:17 +00:00
Volker Ruppert
8792936c44 - fixed ATA channel save/restore list size (no space for 'drive_select') 2007-04-06 07:13:19 +00:00
Stanislav Shwartsman
65b9b46de3 Fix for legacy compilers 2007-04-04 16:55:50 +00:00
Stanislav Shwartsman
9d907b5f65 Try to specify everywhere the list size in bx_list_c constructor 2007-04-03 22:38:49 +00:00
Stanislav Shwartsman
8f02078609 PADDQ is SSE2 instruction 2007-04-03 20:44:25 +00:00
Volker Ruppert
d9edfeec9c - show the line number in the error message when parsing the bochsrc file. The
format of the message is now "filename:line: error".
2007-04-03 15:47:23 +00:00
Volker Ruppert
9478cd9164 - INT 13h: sector number 0 is invalid 2007-04-02 20:35:52 +00:00
Stanislav Shwartsman
bf489aea74 Update CHANGES 2007-04-02 11:00:29 +00:00
Stanislav Shwartsman
2d47748f52 Added instruction set field for opcodes table + few bugfixes 2007-04-02 10:47:48 +00:00
Stanislav Shwartsman
1ab3297115 FCOMI are P6 instructions 2007-04-02 10:46:57 +00:00
Stanislav Shwartsman
bdc4905c8a Correctly detect SSE2 and SSE instructions and #UD when SSE2 is OFF for SSE 2007-04-02 10:46:33 +00:00
Volker Ruppert
abd7cbda87 - implemented specific save/restore method for USB HID devices
- removed USB device buffer from save/restore list (contains temporary data only)
2007-04-01 11:15:48 +00:00
Volker Ruppert
9e6a7231da - basic save/restore support for USB devices (TODO: device-specific state)
- user doc: fixed USB description
2007-03-31 09:24:04 +00:00
Stanislav Shwartsman
4bb19c2dc3 Fixed deciding and disasm of CALL in 64-bit mode (no 16-bit calls allowed) 2007-03-28 21:20:09 +00:00
Volker Ruppert
b1bf1a8bf5 - documentation update after USB devices rewrite
- removed obsolete structures and members from the USB code
- removed mouse type 'usb' (USB mouse and tablet override selected mouse type
  when connected)
- user doc: mention vmware 4 disk image support
2007-03-27 17:47:15 +00:00
Volker Ruppert
e299fd544d - updated workspaces after the USB devices rewrite 2007-03-26 21:02:32 +00:00
Volker Ruppert
22af32e57a - removed obsolete file after USB devices code rewrite 2007-03-25 17:41:19 +00:00
Volker Ruppert
324250ccb4 - code USB device 'keypad' rewritten and old-style USB device handling removed
- makefile dependencies regerated after USB device code rewrite
- improved error reporting in the new USB device code
2007-03-25 17:37:59 +00:00
Volker Ruppert
58ba0172bb - USB tablet emulation ported from the Qemu project (TODO: the Bochs gui should
generate absolute x/y values if tablet connected)
- store device name string in member d.devname
- report unknown/unsupported requests as errors
- usb_msd: removed unnecessary type definition
2007-03-24 11:43:41 +00:00
Stanislav Shwartsman
4f166369a6 Fixes for VMX disasm 2007-03-23 22:07:49 +00:00
Stanislav Shwartsman
26f08fdb2c Change my e-mail to #SF one 2007-03-23 21:27:13 +00:00
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
Stanislav Shwartsman
b0d608da33 Fixed disasm bug in x86-64 mode 2007-01-12 21:53:48 +00:00
Stanislav Shwartsman
9b10f209f3 Fixed typo 2007-01-12 16:09:39 +00:00
Volker Ruppert
d4b9bb45c7 - simple "show cpu" feature for the win32 debugger dialog 2007-01-05 16:53:45 +00:00
Stanislav Shwartsman
5c21f7821f Speed simulation between 3 to 5% by eliminating several checks from cpu loop.
The checks were related to repeat instructions - handle them differently
2007-01-05 13:40:47 +00:00
Stanislav Shwartsman
b7be2eb0b1 Fixed timer breakpoint bug 2007-01-04 20:12:32 +00:00
Volker Ruppert
ef9c6ff8b1 - CMOS RTC index port read message type changed to BX_DEBUG 2007-01-02 16:37:11 +00:00
Volker Ruppert
d7c627fdc1 - added support for serial 3-button mouse with Mousesystems protocol 2006-12-31 11:56:14 +00:00
Stanislav Shwartsman
c63c4429c2 Updated changes after 2.3 2006-12-30 21:13:29 +00:00
Volker Ruppert
377ee8d030 - changes after release 2.3 added 2006-12-30 19:18:38 +00:00
Volker Ruppert
0837438f7f - the int13_harddisk() function modifies the high word of EAX in EDD read/write
functions, but it shouldn't, so it must be saved on stack
2006-12-30 17:13:44 +00:00
Volker Ruppert
edc6a6cf4d - disable ATA device when the path parameter is empty (useful to override bochsrc
settings with the command line)
2006-12-29 18:47:58 +00:00
Volker Ruppert
795d07e90f - hard drive id now reports UDMA supported and ATA version 6
- setting transfer mode to UDMA now supported (no effect on the emulation speed)
- drive id arrays now initialized with memset()
2006-12-29 11:57:04 +00:00
Stanislav Shwartsman
97c0bc40a2 Bochs website tracker patch
shows where write outside of memory occurred
2006-12-29 08:02:35 +00:00
Volker Ruppert
85cf64901b - added remarks about the SB16 driver for DOS and some other improvements in
the SB16 related descriptions
2006-12-28 17:06:37 +00:00
Volker Ruppert
aaa3c153fa - added remark about boot disks of early DOS versions 2006-12-28 08:43:42 +00:00
Volker Ruppert
7213eae1bb - fixed some gcc 4.x warnings 2006-12-27 15:21:03 +00:00
Volker Ruppert
ee6bd95cfc - ATA/ATAPI identify device methods must now be called only one time per device in
a Bochs session unless the configuration (transfer mode) changes. Then the
  "drive id" data is simply copied to the output buffer.
- removed unused "drive id" example (Conner CFA540A)
- added stubs for the ATA flush cache commands
- converted some tabs to spaces
2006-12-26 17:08:12 +00:00
Volker Ruppert
fa43431365 - LBA48 support implemented (tested with Linux - TODO: readback of hob* values) 2006-12-25 09:34:32 +00:00
Volker Ruppert
a6d772caa7 - fixed several MSVC warnings 2006-12-19 16:42:27 +00:00
Volker Ruppert
b60705d7ba - updated workspaces after adding the VMWare 4 image support 2006-12-18 18:00:04 +00:00
Volker Ruppert
f1799211ae - identify_drive() returns max. 16383 cylinders (higher values are usually
calculated using the total number of sectors, heads and sectors per track)
2006-12-18 17:56:05 +00:00
Volker Ruppert
8d8880fd71 - missing semicolon added
- fixed a warning
2006-12-17 18:14:59 +00:00
Volker Ruppert
9c8b9eae6a - support for VMWare version 4 disk image format implemented (patch by Sharvil
Nanavati)
- siminterface + wx code cleanup (removed unused stuff and wx log messages,
  floppy media type name handling simplified)
2006-12-17 08:17:28 +00:00
Volker Ruppert
d363ceef3b - the ATA command "verify without retries" works the same was as the normal
verify command (should fix SVR4/386 installation)
2006-12-13 16:59:29 +00:00
Volker Ruppert
3a6c7b20ea - missing comma added in cpu registers list (DS and ES now visible in dialog)
- debug_get_next_command(): messages changed to BX_DEBUG
2006-12-10 13:03:25 +00:00
Alexander Krisak
65576fc242 Fixed win32 compillation in MSVC 6.0 2006-12-06 15:05:08 +00:00
Alexander Krisak
5f64f48e51 Additional validation of theCmosDevice is added 2006-12-06 14:27:02 +00:00
Volker Ruppert
2ac567e4e2 - implemented fullscreen mode for the special case when the guest resultion is
equal to the Windows desktop size. The hotkey ALT+ENTER can be used to toggle
  the window / fullscreen mode (initial SF patch item #1607793 by John Comeau)
- implemented get_capabilities() method (uses desktop size if valid)
2006-12-05 19:45:56 +00:00
Stanislav Shwartsman
6e8dcbce8b Fixed 64-bit NOP problem
Patch by mvysin in patch tyracker
2006-11-26 12:53:01 +00:00
Volker Ruppert
4314b6a911 - networking modules eth_tap and eth_tuntap fixed for OpenBSD
- removed unnecessary spaces
2006-11-23 17:21:59 +00:00
Volker Ruppert
79afc6dd01 - enable VBE support by default in configure script
- removed unused configure symbol FPU_GLUE_OBJ
- updated configure shortcut scripts (cdrom and VBE support are enabled by default)
2006-11-20 18:55:16 +00:00
Stanislav Shwartsman
2e444bee12 Patch received by e-mail from darkelf 2006-11-19 16:18:41 +00:00
Volker Ruppert
307ca616a2 - enable BPF immediate mode (patch from SF tracker item #1597451) 2006-11-19 16:16:35 +00:00
Volker Ruppert
bf0c76ee75 - fixed remaining type conflicts in vmware lseek() method and the bxcommit utility
- the bximage and bxcommit utilities depend on hdimage.h
- removed unnecessary spaces
2006-11-19 09:55:23 +00:00
Volker Ruppert
0a174516ff - fixed type conflicts in hdimage lseek() methods. Now using always Bit64s for
the lseek() methods and off_t is only used for the lowlevel lseek() function.
- fixed indent mode and removed unnecessary spaces
2006-11-18 11:51:07 +00:00
Volker Ruppert
470e8d8309 - reimplemented debugger gui dialog as a modeless dialog
- debug break support for "continue" and "step N" commands
  - debugger message window shows the last 100 lines of debugger output
  - FIXME: tabstops not working in modeless dialog
  - FIXME: debugger window is always on top
  - TODO: cpu register viewer similar to the wx implementation
2006-11-17 16:50:39 +00:00
Volker Ruppert
ed3a41ac63 - since the print_tree() function is only used by the debugger, it has to use
dbg_printf() to make the redirection of the output to a gui frontend possible
2006-11-12 21:25:06 +00:00
Volker Ruppert
3dd9df62c7 - don't modify display library options parameter when splitting it into a list
of arguments
2006-11-12 18:26:58 +00:00
Volker Ruppert
3063397fd4 - first attempt to implement a debugger gui dialog for win32
- new display library option "windebug" enables the new feature
  - simple dialog box with a command line and a multiline text viever
  - TODO: implement modeless dialog with cpu registers and it should be possible
    to interrupt "continue" and "step N" commands
- win32dialog: fixed function GetBochsWindow()
- textconfig: removed unused save/restore prompt
2006-11-12 10:07:18 +00:00
Stanislav Shwartsman
f19595136b *** empty log message *** 2006-11-07 08:24:22 +00:00
Volker Ruppert
bbc8ad0c49 - Bochs on Solaris 10 needs to be linked with libnsl 2006-11-06 17:00:53 +00:00
Volker Ruppert
8e7bf13c76 - fixed install target for MacOSX (found at http://trac.macports.org) 2006-11-05 10:41:56 +00:00
Volker Ruppert
18a66befd0 - PCI BIOS function 'find class code' implemented for real and protected mode 2006-11-04 18:07:24 +00:00
Volker Ruppert
b69c36ae14 - updated after removing iodebug.html 2006-11-01 17:12:13 +00:00
Volker Ruppert
61e26c372d - moved iodebug documentation to the developer documentation
- added sample to the iodebug section (posted in the ML)
- added description for the 'magic_break' option
- updated gdbstub section
2006-11-01 17:06:03 +00:00
Volker Ruppert
e1ed0cd384 - register iodebug ports for word access only and simplify code 2006-11-01 15:44:38 +00:00
Volker Ruppert
67314b8e1e - attempt to fix the Solaris 10 compilation failure 2006-10-31 19:26:34 +00:00
Volker Ruppert
bb7108c133 - accept GDB connections from any host and report the host IP
- fixed some warnings
2006-10-29 18:44:49 +00:00
Volker Ruppert
e8cd2052c9 - improved gdbstub network efficiency (SF patch #1149659 by Avi Kivity)
- reimplemented "enter debugger" in ask dialog for gdbstub
- X11 and wxWidgets ask dialog now show "Debugger" button for gdbstub
- indent mode changes
2006-10-29 08:48:30 +00:00
Stanislav Shwartsman
905de565a9 Add debug prints for NX bit feature 2006-10-28 12:31:23 +00:00
Volker Ruppert
598c34ed0a - added special logfunction for the gdbstub and set panics to fatal
- removed trailing linefeeds from log messages
- removed command line parameters from init function
- added copyright and CVS ID
2006-10-26 17:27:04 +00:00
Volker Ruppert
7f37a79dc7 - check and adjust emulation window size after dimension update (workaround for
resize failures in wxGTK)
2006-10-25 17:40:56 +00:00
Volker Ruppert
f348c6cf50 - fixed broken debugger "rc file" command line option. Now it is possible to
execute debugger commands from the specified file. This is the command line
  counterpart to the undocumented debugger command "source".
2006-10-24 17:53:47 +00:00
Stanislav Shwartsman
4ceec75181 Print EFER status in 'info cr' command 2006-10-21 22:18:39 +00:00
Stanislav Shwartsman
650086669c Print 64-bit registers in 'info registers' command and in dump_regs 2006-10-21 22:06:39 +00:00
Stanislav Shwartsman
e410fa4a5a Small optimization for debugger parser - avoid using of non-safe "numeric range" param 2006-10-21 21:28:20 +00:00
Volker Ruppert
04d0b0a892 - exclude devices without a prefix in the advanced log options dialog 2006-10-21 15:36:07 +00:00
Volker Ruppert
8312d149eb - stop flooding logfile when using MS-DOS with EMM386. It seems to work correctly,
so I think this message can be changed to BX_DEBUG.
2006-10-20 15:38:39 +00:00
Stanislav Shwartsman
9e3a969239 Fixed lb/pb methods for platforms with BX_HAVE_STRTOULL=0 2006-10-19 17:51:58 +00:00
Stanislav Shwartsman
3329fb32ec Fixed lb/vb commands 2006-10-18 20:07:47 +00:00
Stanislav Shwartsman
d6bcfad065 Fixed lb/vb parsing 2006-10-18 18:23:18 +00:00
Volker Ruppert
b9a70fb502 - added stub for real mode PCIBIOS function 'find class code'
- improved real mode PCIBIOS error reporting
2006-10-17 16:48:41 +00:00
Volker Ruppert
f3b2b64204 - text mode color handling optimized
- fixed some warnings
- updated comments
2006-10-15 16:23:42 +00:00
Volker Ruppert
6c3f92db0b - enable the left "meta" key (left "win" key on win32) 2006-10-15 16:23:09 +00:00
Volker Ruppert
a614b2613e - return early if Windows text console creation fails
- set title of text console for wxWidgets on win32
2006-10-15 10:45:15 +00:00
Volker Ruppert
87d906295f - toggle mouse capture with left control key and the middle mouse button
(or left+right button)
- text update code rewritten (line offset now supported)
2006-10-14 15:53:47 +00:00
Volker Ruppert
9a1efba6d4 - text mode color handling optimized in the 'sdl' and 'x' guis 2006-10-13 17:55:53 +00:00
Volker Ruppert
f3bee13cad - Bochs on Solaris always needs to be linked with the socket library
- serial terminal support now enabled on Solaris
- only complain about the missing wxWidgets library if requested
2006-10-12 17:58:09 +00:00
Alexander Krisak
59c4f3da68 Fixed compillation error under Windows when BX_DEBUGGER is 0 2006-10-11 14:54:40 +00:00
Volker Ruppert
0b2331c1fe - sequencer register 0x07 must be initialized with 0 if cirrus extension is not
selected
- cirrus specific mem write methods don't need to be virtual
2006-10-08 15:21:26 +00:00
Volker Ruppert
f8f01db46a - replaced call of obsolete bcopy() by memcpy()
- the cfmakeraw() function is not available on all platforms (now using code
  that does the same job)
- removed useless strcpy() call
2006-10-08 10:59:21 +00:00
Volker Ruppert
b9352f74fd - moved config interface option to the general options list, since it cannot be
changed after initializing the config interface
- PARAM_TREE.txt updated and cleaned up (TODO: improve developer documentation
  and get rid of this file)
2006-10-08 10:18:51 +00:00
Volker Ruppert
9063b72a6d - don't crash Bochs when closing window (simulation window now stops the
simulation, dialogs treat the event like the ESC button)
2006-10-07 10:01:20 +00:00
Volker Ruppert
c9c01954b9 - PM/SM i/o space enable control bits implemented
- ACPI debug port added
2006-10-07 08:59:15 +00:00
Stanislav Shwartsman
e3da944cd3 Fixed TLB access code duplication 2006-10-04 19:47:24 +00:00
Stanislav Shwartsman
6c63e84d23 Fixed CR3 masking in long mode
Added PANIC assertion of 32-bit physical address in PAE mode
cleanup
2006-10-04 19:08:40 +00:00
Volker Ruppert
4df1ef8af5 - clear registers using the XOR instruction 2006-10-04 19:00:19 +00:00
Stanislav Shwartsman
7dc808e7f9 Removed debug snapshot when entering SMM/RSM 2006-10-03 22:41:02 +00:00
Stanislav Shwartsman
64832bf866 Added enable-acpi configure option 2006-10-03 21:45:17 +00:00
Volker Ruppert
bc9a192668 - clear upper 16 bit of the stack pointer when returning to real mode (fixes
booting of Ubuntu 6.06)
2006-10-03 21:04:44 +00:00
Volker Ruppert
9d0f111995 - build an additional BIOS image without the new 32-bit extensions. It can be
used when the new BIOS fails
- use wbinvd instruction in the 32-bit init code
2006-10-03 20:30:09 +00:00
Volker Ruppert
8c350ca092 - added short description of the "magic breakpoint" feature 2006-10-03 15:06:39 +00:00
Volker Ruppert
2f3ce2de7d - added debugger button to the X11 ask dialog
- fixed memory leaks
2006-10-03 08:13:27 +00:00
Stanislav Shwartsman
1aa7ae677d Small cleanup in he APIC code, removed unused methods 2006-10-02 21:49:49 +00:00
Stanislav Shwartsman
719eb78a25 Fixed dbg_fetch_mem call 2006-10-02 21:27:14 +00:00
Volker Ruppert
f091c7c0ad - SMM must be enabled until all data is read from RAM 2006-10-02 21:22:59 +00:00
Volker Ruppert
7d80118503 - SMRAME bit must be always set for SMRAM access 2006-10-02 20:29:50 +00:00
Stanislav Shwartsman
14afe14a21 New BIOS expects to see 0x64 in smm revision id when in x86-64 mode 2006-10-02 18:50:34 +00:00
Volker Ruppert
0c827dcbf1 - implemented debugger access to SMRAM area 2006-10-02 17:40:20 +00:00
Volker Ruppert
3663992ffd - fixed possible segfault when pressing the power button with debugger enabled
- the textconfig 'quit' option must call bx_dbg_exit() if debugger is present
2006-10-02 17:07:36 +00:00
Volker Ruppert
8dfd8eefa7 - ExtINT implemented (some progress with FreeBSD 5.3 boot cd)
- fixed a warning
2006-10-02 15:08:21 +00:00
Volker Ruppert
815f2a026d - fixed compilation with ACPI disabled 2006-10-02 10:14:07 +00:00
Volker Ruppert
c9d8c75a23 - improved SMM init (Fabrice Bellard) 2006-10-02 06:30:36 +00:00
Volker Ruppert
5d1e848a6a - SMI generation implemented (needs to be checked for SMP) 2006-10-01 19:51:49 +00:00
Volker Ruppert
6276cae023 - applied patch from the Qemu project (Fabrice Bellard)
* use 32 bit pushf/popf in 32 bit PCI bios
  * moved some useful defines in rombios
- minor cleanups
2006-10-01 16:40:30 +00:00
Volker Ruppert
0223ffdc6e - ported most of the ACPI controller capabilities from Qemu (TODO: generate SMI
on APM control port write)
2006-10-01 13:47:26 +00:00
Volker Ruppert
fdc1b75115 - fixed number of MP table entries (caused FreeBSD 5.3 boot failure)
- moved shared defines to new file rombios.h (could be used to show features
  on the screen after detection by rombios32)
2006-09-30 11:23:49 +00:00
Stanislav Shwartsman
c44f619039 Fix example for BIOS address in .bochsrc 2006-09-30 09:56:23 +00:00
Volker Ruppert
5ba61b49c8 - always generate MP tables (WinXP guest needs this)
- new code is now enabled again
2006-09-29 17:37:31 +00:00
Volker Ruppert
518c64b64f - disabled rombios32 call until the critical bugs are fixed
- more accurate delay loop using the port 0x61 refresh clock bit
- fixed capabilties reported in BIOS banner
2006-09-29 12:24:05 +00:00
Volker Ruppert
aacc148f7c - initial revision of the 32-bit init code for the Bochs BIOS
* CPU, PCI, ACPI and SMM init
  * MP and ACPI table generation
- MP table generation hack in the Bochs memory code disabled (should be removed)
- don't test the checksum of large BIOS images (for now)
- existing 16-bit PCIBIOS init disabled for now
2006-09-28 19:01:04 +00:00
Volker Ruppert
b2468a39fd - biossums now supports padding binary files to 64k. This is useful for BIOS
extensions at 0xE0000 to be concatenated with the Bochs BIOS core.
- CR/LF to LF conversion, license and CVS id added
2006-09-28 17:39:25 +00:00
Volker Ruppert
53e237b5b1 - updated workspaces after adding the acpi device 2006-09-27 18:43:50 +00:00
Stanislav Shwartsman
925ae93e22 Reveer back changes for debug.h removal from bochs.h 2006-09-26 19:16:10 +00:00
Volker Ruppert
fb762477fa - some more basic work on the acpi device 2006-09-26 18:43:42 +00:00
Stanislav Shwartsman
aab3feb2e0 Fixed Makefile to compile with ACPI stub disabled
Remove bx_debug.h from bochs.h to reduce compilation dependencies
2006-09-25 20:13:52 +00:00
Stanislav Shwartsman
f37b969d1e Enable save/restore feature by default 2006-09-24 17:15:02 +00:00
Volker Ruppert
5d78bd4d00 - regenerated after adding the acpi device 2006-09-24 17:04:58 +00:00
Volker Ruppert
2cdd6596f1 - implementation of the PIIX4 ACPI controller started. The code is not yet
enabled and the i/o handler only generate info messages.
2006-09-24 16:58:13 +00:00
Volker Ruppert
bf6d61de5e - experimental USB device change support added (some more work in the emulation
code may be required)
- set mouse/keypad connection status to 0 when removing device
- pciusb code now accepts "none" as the device name for an unused port
2006-09-24 10:10:21 +00:00
Volker Ruppert
93534890b0 - the USB mouse connection status no longer depends on the mouse capture status.
The connection status is now only controlled by the USB port options (TODO:
  device change support at runtime)
- a connected USB mouse now has the priority when sending mouse data from the
  gui to the emulated mouse device.
2006-09-23 12:59:57 +00:00
Volker Ruppert
48ed7e1ba6 - fixes for second simulation support with wxBochs
* wxBochsStopSim flag is now reset before starting the SimThread
  * the siminterface 'init_done' flag now controls the execution of the hardware
    cleanup in bx_atexit()
2006-09-23 09:07:15 +00:00
Volker Ruppert
e315eb0fa6 - realloc wxScreen if already used (for 2nd simulation support) 2006-09-21 21:07:17 +00:00
Volker Ruppert
1f5d311ca1 - fixed memory leaks found with valgrind when trying to start a second
simulation with wxBochs:
  * cpu: delete pageWriteStampTable array
  * devices: simplified setup of initial default i/o handlers
  * ne2k: delete ethernet module in destructor
2006-09-20 20:52:23 +00:00
Volker Ruppert
72283f6760 - delete i/o handlers before unloading plugins
- memory for i/o handler name is now dynamicly allocated (strdup's in harddrv
  code removed)
2006-09-20 18:24:17 +00:00
Stanislav Shwartsman
3ab94305a0 1. Fixed bug report
[ bochs-Bugs-1562172 ] TLB_init() fails to initialize priv_check array if USE_TLB 0
2. Paging is always exists for i386+
   To disable paging it is better to use normal model without special code, only by setting cr0.pg=0
2006-09-20 17:02:20 +00:00
Volker Ruppert
fad22265b5 - bx_list_c: after deleting the list entries, the list must be deleted, too 2006-09-18 21:24:27 +00:00
Volker Ruppert
f7d668289d - bx_list_c: fixed deleting of the parameter list 2006-09-18 20:31:37 +00:00
Volker Ruppert
26f7f49b9a - virtual timer method 'reset' renamed to 'setup' (it's doing other things than
the reset methods for devices)
- PCI register dump on exit now done in the destructor
2006-09-18 18:10:49 +00:00
Volker Ruppert
c592b9527c - deactivate device parameter handlers in destructor 2006-09-17 20:39:37 +00:00
Volker Ruppert
f688701592 - cleanup() method added to reset the number of status items (cannot be done in
init() since the floppy indicators are register prior to gui init
- create framebuffer only if it doesn't exist
2006-09-17 20:37:28 +00:00
Stanislav Shwartsman
3111909a64 Merged patch from Bochs-Developers mailing list.
Fixes bp handling.
2006-09-17 19:22:24 +00:00
Volker Ruppert
b8c84baddb - new PIT: exit method added to reset the timer id
- old PIT: exit method stub added and some code cleanup
- virtual timer: reset method added with basic init code from the constructor
2006-09-17 19:19:15 +00:00
Volker Ruppert
fdefdc5b9f - remove logfunction from list when device is deleted
- fixed typos in harddrv code
2006-09-17 18:09:33 +00:00
Volker Ruppert
ec9c361e9c - fixed handling of parameter "debug_running" for restart support
- wx: delete of "debugCommand" fixed
2006-09-17 07:12:50 +00:00
Volker Ruppert
4c1e82f18c - moved some parts of the timer init from the constructor to initialize()
- exit() method sets the number of registered timers back to 1 (or 2 if APIC
  is present)
- fixed some parameter types for save/restore
- debug message for timer registration added
- slowdown timer: exit method added to reset the timer id
2006-09-16 19:30:56 +00:00
Volker Ruppert
647b0e3e6c - removed exit() method from the devmodel object, since all that stuff can be
done by the object destructor (changes in cmos, hard drive and keyboard)
- bx_unload_plugins() now deletes the devmodel object in non-plugin mode
- CMOS device now prints the time on exit in human-readable format
2006-09-16 14:47:40 +00:00
Volker Ruppert
0a804aeb18 - memory cleanup code moved to a separate method (called from bx_atexit())
- fixed memory handler init and cleanup code (memory leaks)
2006-09-15 17:02:52 +00:00
Volker Ruppert
38caf3bf19 - allocate memory for the IRQ handler name in register_irq() and free it in
unregister_irq(). This is required since there are some devices that don't
  use a string constant for the handler name.
- replaced true / false by portable 0 / 1 values.
2006-09-13 18:51:25 +00:00
Volker Ruppert
24e82e2580 - default NE2000 ISA base i/o address changed to 0x300 (probed by most of the
ne2k drivers, DLX Linux cannot detect it at 0x240)
2006-09-12 19:26:12 +00:00
Volker Ruppert
4cf2f745d1 - some fixes to avoid segfaults after early panics
- fixed gameport log type
- wx: store mouse capture mode in the gui code (only access the mouse parameter
  when the capture mode changes)
- wx: don't initialize wxScreen if already done and clear screen on exit
2006-09-12 13:05:07 +00:00
Volker Ruppert
190b9391cf - delete the device object in the plugin_fini() function of each plugin device
(TODO: find a way to call plugin_fini() for non-core devices if plugins are
   disabled)
- set the device pointers back to stubs after unloading plugins
- added debug message "Exit" in all device plugin destructors
2006-09-10 17:18:44 +00:00
Stanislav Shwartsman
02c2fc9e89 Fixed priveledge level checks 2006-09-10 16:56:55 +00:00
Volker Ruppert
c07197758b - plugin unload mechanism implemented in the plugin and devices code
- added exit() method to the devmodel object for devices that need to do special
  cleanups on exit. Device plugins should call this method from their plugin_fini()
  function. If Bochs is compiled without plugin support, for non-core plugins
  the exit() method is called directly from bx_unload_plugins().
- exit() method implemented in the keyboard device
- wx "Show Keyboard" feature now only appear when the wxdebug keyboard subtree
  is not empty
- cpu cleanup must be done before the devices cleanup
- moved PCI chipset dump call to the devices exit method
2006-09-10 09:13:47 +00:00