Stanislav Shwartsman
a459a64f3e
whispace, tab2space, indent, dos2unix and other cleanups
2008-02-15 22:05:43 +00:00
Stanislav Shwartsman
cdcd7522aa
Added RIP to the GPR register file as lst register
...
This allowed to optimize (read - remove) two more BxResolve methods in 64-bit mode
+ Some white space cleanup
2008-02-15 19:03:54 +00:00
Stanislav Shwartsman
063d896226
Optimization in 16-bit resolve functions
...
Fixes for hosts which can't support misaligned memory access
2008-02-07 20:43:13 +00:00
Stanislav Shwartsman
55ad3e89b6
another whitespace cleanup by Sebastien
2008-02-05 22:57:43 +00:00
Stanislav Shwartsman
b2418742c0
tab2space in unmapped.cc
2008-01-29 17:34:52 +00:00
Stanislav Shwartsman
37fbb82baa
Cleanups. Move bxInstruction_c definition to separate file instr.h
2008-01-29 17:13:10 +00:00
Volker Ruppert
5daa9c5975
- text mode character blinking feature added in the X11 and SDL guis
...
- fixed sdl status bar update after resize
- updated some comments
2008-01-28 21:52:09 +00:00
Stanislav Shwartsman
ae35b0276e
white space cleanups and coding style changes
2008-01-26 22:24:03 +00:00
Volker Ruppert
d770227f8f
- fixed wrong variable type
...
- fixed MSVC warnings
2008-01-26 19:01:31 +00:00
Volker Ruppert
4fd404b622
- get rid of text_update() parameter 'nrows' (updated remaining guis)
...
- text mode cursor blinking implemented
2008-01-26 00:00:31 +00:00
Volker Ruppert
afd6348b36
- implemented screen disable bit in sequencer register #1
2008-01-23 18:10:33 +00:00
Stanislav Shwartsman
08eb75d985
Some workaround for bug report
...
1824189 Qemu hard disk image not reckognized
2008-01-14 20:47:11 +00:00
Volker Ruppert
bf8296f9f4
- ACPI fixes ported from Qemu
...
* set revision number to 3 (older revisions are known to be buggy)
* fixed PM and SMBus base address alignment
2008-01-14 18:39:05 +00:00
Stanislav Shwartsman
72d72c92d4
Fixed warnings of VC2008
2007-12-30 18:02:22 +00:00
Stanislav Shwartsman
917a040cc4
Fixed more VCPP2008 warnings
2007-12-26 18:39:15 +00:00
Volker Ruppert
afbb8fb8d4
- ATA command "execute device diagnostic" raises interrupt at completion
2007-12-17 18:08:27 +00:00
Stanislav Shwartsman
0aaa1629aa
PIC IRQ handling bug fix by Russ Cox
2007-11-30 08:56:34 +00:00
Stanislav Shwartsman
c51888f43f
Split last BxLockable opcodes -> this allows to eliminate mod==0xc0 check from fetchdecode of every instruction
...
reduce ACPU.CC dependencies - now that file doesn't depend of CPU
2007-11-25 20:22:10 +00:00
Stanislav Shwartsman
72af550a0f
Some indent fixes + speed up hardware read by using inline functions
2007-11-12 21:04:17 +00:00
Volker Ruppert
c73f262dc3
- fixed compilation error with raw serial enabled
...
- removed unnecessary spaces
2007-11-03 16:47:49 +00:00
Stanislav Shwartsman
aecf53ac94
Fixed compilation errors
2007-11-01 18:14:28 +00:00
Stanislav Shwartsman
1b8988f698
warnings fixed
2007-10-24 23:17:42 +00:00
Stanislav Shwartsman
42fdd8a3a1
During Bochs benchmarking I figured out that hostasm actually slow down the emulation ... so remove this ugly code which also doesn't help :)
...
speedup flags update for some instructions - idea was taken from DT patch by h.johansson
2007-10-21 22:07:33 +00:00
Stanislav Shwartsman
07739173f5
add --show-ips to all configs for future releases (it is not ON by default ?)
...
Bit32u -> bx_phy_address in debugger and some other places
2007-10-09 19:49:23 +00:00
Stanislav Shwartsman
c8b4b32826
Merged harddrive patch from #SF tracker
2007-10-08 19:33:08 +00:00
Stanislav Shwartsman
071c5c1a26
A lot of changes but everything is really trivial.
...
Make save/restore default feature, the configure option for save/restore removed from configure script and save/restore made available forever. All code now assume it is exists. Bochs save/restore tree previosly called "save_restore" renamed to "bochs" tree and it will be havily used everywhere, starting from save/restore and ending by various bochs debugger functions. I am going to rework debugger code to get rid of debug CPU access functions and use this "bochs" param tree instead
2007-09-28 19:52:08 +00:00
Volker Ruppert
208caf109b
- missing 'datarootdir' variable added (fixed warning from configure script)
2007-09-23 08:45:14 +00:00
Volker Ruppert
cd3f204da9
- removed old BX_SCHEDULED_DIE_TIME code after added new benchmark option
2007-09-23 08:44:30 +00:00
Stanislav Shwartsman
412eeeeb7c
Get crregs definition to separate file from cpu.h
2007-09-10 16:00:15 +00:00
Volker Ruppert
674fbc24ab
- compare disk size with the size calculated from geometry to avoid image
...
corruption (if "mode" is not specified and image is not "flat")
- some message fixes
2007-09-07 10:54:19 +00:00
Volker Ruppert
267d15fc31
- fixed redolog->open() call for z-undoable image type (compressed-hd support
...
still incomplete)
2007-09-04 07:56:09 +00:00
Volker Ruppert
4b599a018a
- tftp_send_optack() was not 64-bit clean (patch from SF bug #1787500 )
2007-09-04 07:45:31 +00:00
Volker Ruppert
8f00ef6907
- evaluate_media() now returns 1 only if the media is valid (total number of
...
sectors > 0) to avoid division by zero error
2007-08-21 14:18:16 +00:00
Volker Ruppert
a2584bd271
- attempt to fix the "Print Screen" key problem
...
* partial fix for bug #1549873 (SF patch #1766536 )
* added keyword "print" to the userbutton shortcut table
* FIXME #1 : CTRL+PRINT and ALT+PRINT not working in Win98 guest
* FIXME #2 : win32 hosts do not generate the "make" code for "Print Screen"
2007-08-18 08:05:33 +00:00
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
Stanislav Shwartsman
c8b3ad52c4
Fixed compilation error reported in mailing list
2007-07-31 19:03:38 +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
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
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
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
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
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
9d907b5f65
Try to specify everywhere the list size in bx_list_c constructor
2007-04-03 22:38:49 +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
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
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
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
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
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
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
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
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
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
4a8996153f
- partial support for non-DMA mode (initial patch #1641816 by John Comeau)
2007-02-09 14:23:50 +00:00
Stanislav Shwartsman
2f9e1bee68
fixed code duplication and comments
2007-02-03 17:56:35 +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
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
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
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
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
Alexander Krisak
5f64f48e51
Additional validation of theCmosDevice is added
2006-12-06 14:27:02 +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
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
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
e1ed0cd384
- register iodebug ports for word access only and simplify code
2006-11-01 15:44:38 +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
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
c9c01954b9
- PM/SM i/o space enable control bits implemented
...
- ACPI debug port added
2006-10-07 08:59:15 +00:00
Stanislav Shwartsman
1aa7ae677d
Small cleanup in he APIC code, removed unused methods
2006-10-02 21:49:49 +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
5d1e848a6a
- SMI generation implemented (needs to be checked for SMP)
2006-10-01 19:51:49 +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
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
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
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
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
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
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
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
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
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
Volker Ruppert
5dd0d64b11
- several changes for restart support in wx (not yet complete)
...
* don't initialize cpu specific parameters for the wx debugger if they already
exist
* separate siminterface method init_save_restore() added
* old wx specific handling in quit_sim() removed
* new bx_list_c method clear() deletes all parameters from the list
* moved devices cleanup code from the pc_system to a new devices method exit()
* pc_system init code now sets ticksTotal to 0
2006-09-07 18:50:51 +00:00
Volker Ruppert
59962a4438
- store current mouse capture state in the device object, so Bochs no longer
...
needs to access the config parameter tree at each mouse move
2006-08-25 18:26:27 +00:00
Volker Ruppert
cb7db12ab2
- missing 32-bit support for the PACKET command added
...
- improved debug messages
2006-08-23 17:19:03 +00:00
Stanislav Shwartsman
8d7919dadd
Only rename bx_pci2isa_c class
2006-08-21 21:29:16 +00:00
Volker Ruppert
1fdd8e9116
- added comment from Ben Lunt
2006-08-20 09:19:59 +00:00
Volker Ruppert
02c94648bd
- kernel module init failure must always cause a panic
...
- unaligned read/write support for base addresses added
- guest side base addresses must always be initialized with 0
- indent mode fixes
2006-08-20 09:12:02 +00:00
Volker Ruppert
2c67881253
- don't modify the 'dev' parameter with strtok() in 'socket' mode
...
- removed unnecessary spaces
2006-08-18 16:57:39 +00:00
Volker Ruppert
d2d7c65e37
- VGA memory is now a part of the common video memory (same as real hardware)
...
- sequencer map mask bit handling simplified
- some save/restore data format changes
2006-08-18 15:43:20 +00:00
Volker Ruppert
e810c83345
- fixed VGA memory read access (correct plane access and read mode in all
...
memory configurations)
2006-08-17 17:06:08 +00:00
Volker Ruppert
c0bee9324d
- VBE 4bpp fixes (line offset + plane address shift)
...
- maximum VBE screen size updated
2006-08-15 16:48:23 +00:00
Volker Ruppert
92c1720e3e
- removed VGA compatibility hack from VBE code (now done in VGABIOS)
2006-08-14 20:31:18 +00:00
Volker Ruppert
cae6fcb365
- report only config control register changes to avoid logfile flooding
2006-08-12 11:22:40 +00:00
Volker Ruppert
6d50341985
- VBE video memory increased to 8 MB (new version of the LGPL'd VGABIOS under
...
construction)
- fixed VBE y offset check to avoid crash before panic
2006-08-09 17:52:06 +00:00
Volker Ruppert
7f3dd3a1b6
- attempt to fix the userspace part of pcidev for the current PCI infrastructure
...
(not tested yet)
2006-08-05 20:04:23 +00:00
Volker Ruppert
1fef72b8be
- compilation fix for MacOSX 10.2 (tested on the SF compile farm)
2006-08-05 15:53:52 +00:00
Volker Ruppert
569a97d99e
- fixed compile error on FreeBSD 5.4 (tested with SF compile farm)
2006-08-05 14:42:47 +00:00
Volker Ruppert
3ef9b08908
- using a unique name for ATAPI 'inquiry' makes Win98 report two cdroms on one
...
controller correctly in the device manager
- ATAPI 'identify' now also uses the 'inquiry' device number for the serial number
2006-08-05 07:49:31 +00:00
Volker Ruppert
f3046ae0cd
- moved OSX beep implementation to the carbon gui code
...
- improved carbon notify callback similar to the x11 implementation
2006-08-03 16:01:23 +00:00
Volker Ruppert
df3fcfd180
- ignore writes to command register with BSY bit set and replaced BX_PANIC by
...
BX_ERROR
- removed duplicate and wrong BSY bit error handling
- init drive params: changed BX_PANIC to BX_ERROR (aborting command is okay here)
2006-08-02 17:47:09 +00:00
Volker Ruppert
d4219e4453
- stop paste operation after pressing a key
...
- removed unnecessary spaces
2006-07-30 14:40:41 +00:00
Volker Ruppert
18df6f6a0e
- the ERR status bit is always cleared when the drive accepts a new command, but
...
not when reading the error register
- the DSC status bit is not cleared in case of an error
- a not existing drive does not set the ERR status bit and the error register
- all messages related to correctly aborted commands on non-disk devices changed
to type BX_INFO
- some other log message output cleanups
2006-07-26 19:09:51 +00:00
Volker Ruppert
c6b080733b
- fixed MSVC warning
2006-07-23 16:31:28 +00:00
Volker Ruppert
d3d8346943
- reset sent to keyboard has no effect on the 8042 (scancode translation mode)
...
- restore status bar indicators for the keyboard based on saved LED status
- don't reset status bar indicators in restore mode
2006-07-21 18:26:53 +00:00
Volker Ruppert
8f8c4db97d
- report selected multiword DMA mode in the 'identify device' block
...
- set initial and reset value of multiple sector count to 0
- abort multi sector read/write commands if multiple sector count is not valid
2006-07-19 19:18:42 +00:00
Volker Ruppert
92412a3fee
- multi sector read/write commands implemented
...
- ATA command 'set multiple mode' fixed (missing interrupt and value check)
- hard disk sector read/write rewritten and simplified
- hard disk now reporting ATA-3 supported
- updated drive buffer size for save/restore
2006-07-17 18:40:26 +00:00
Volker Ruppert
d18be4f084
- ATA command 'read multiple sectors' prepared (not working properly with Linux
...
guest and some work in the hdimage code is required)
2006-07-14 17:23:58 +00:00
Volker Ruppert
10a49f6d1c
- fixed implementation of the ATA command "set multiple mode" (TODO: multi sector
...
read/write commands)
- prepared i/o buffer for multi sector transfers
- power management commands "standby now" and "idle immediate" now returning success
2006-07-13 17:34:44 +00:00
Volker Ruppert
139ea79c70
- fixed VBE y offset check (add x offset to start address after check)
2006-07-11 07:49:23 +00:00
Volker Ruppert
60fab95d08
- fixed calculation of VBE screen height after changing virtual width
...
- setting VBE screen start causes now a panic if the bottom of the screen
would be outside of video memory
- improved VBE debug messages
2006-07-08 13:05:50 +00:00
Volker Ruppert
dbfc8f42c8
- always use geometry detection for 'vmware3' images
...
- updated documentation for hard disk images
- user.dbk: added save/restore config option and removed obsolete one
2006-06-17 07:45:27 +00:00
Volker Ruppert
a2327441ca
- endianness fixed
2006-06-16 08:56:13 +00:00
Volker Ruppert
075ee17ac9
- geometry autodetection for 'sparse' mode hard disk images added
...
- store size of virtual disk in sparse header to simplify geometry detection/check
- enabling geometry autodetection causes a panic if not supported by image
2006-06-16 07:29:33 +00:00
Volker Ruppert
02fbf84630
- geometry autodetection for 'vmware3' mode hard disk images added
...
- simplified geometry detection code
- unsupported ATAPI commands now cause a BX_DEBUG message and no addtional
error code info (avoid flooding log file)
2006-06-15 09:44:37 +00:00
Stanislav Shwartsman
9269288319
Fix SR macros mis-use. Need to add assertion into bxlist_c and check that it has no 2 params with same name inside !
2006-06-14 16:44:33 +00:00
Volker Ruppert
f2f80f7542
- geometry autodetection for 'undoable' and 'volatile' mode hard disk images added
...
- a bunch of image size handling changes
* 'hd_size' contains the size of the virtual hard disk (for geometry check/detection)
* passing the size calculated from the geometry not needed in some cases
- indent mode changes
2006-06-08 20:32:00 +00:00
Volker Ruppert
2018bf864b
- save/restore parameter init rewritten using BXRS_* macros
...
- register parameters for the wx debugger only if present (fixes memory leak)
- removed useless static variable 'first_time'
2006-06-05 18:17:04 +00:00
Volker Ruppert
61448beaa2
- geometry autodetection for 'growing' mode hard disk images added
...
- documentation updates
2006-06-05 08:00:21 +00:00
Stanislav Shwartsman
1aaf19cd09
Support for partial read/write in APIC space
2006-06-05 05:39:21 +00:00
Volker Ruppert
6730922952
- geometry autodetection for 'concat' mode hard disk images added
...
- removed all references to the old 'split-hd' feature (now: 'concat' mode)
- updated documentation for 'concat' images
2006-06-04 21:49:17 +00:00
Stanislav Shwartsman
fee48d74e0
Avoid doing strdup for param name field - most of the strdups elliminated !
2006-05-29 22:33:38 +00:00
Stanislav Shwartsman
bc3cbb49b6
Write Virtual timer save/restore using macroses
2006-05-28 20:24:51 +00:00
Stanislav Shwartsman
74308f7829
Add CMOS and DMA
2006-05-28 18:43:01 +00:00
Stanislav Shwartsman
bccab0ee1c
Clean and simplify save-restore params registration for more devices
2006-05-28 18:14:05 +00:00
Stanislav Shwartsman
286b89d763
Several x86-64 MSRs were not-initilized !
...
Fixed small save-restore bug in dma.cc
First step to make save-restore code look better (only several files processed for example)
2006-05-28 17:07:57 +00:00
Stanislav Shwartsman
8b0df8e99b
Merge SAVE_RESTORE branch to CVS
2006-05-27 15:54:49 +00:00
Stanislav Shwartsman
7c1767d17a
Partial sync with save-restore
2006-05-27 14:02:34 +00:00
Stanislav Shwartsman
8db5723921
Wow, I forgot to commit this change for NullTimer fixes !
2006-05-18 19:57:11 +00:00
Volker Ruppert
817b85045e
- fixed sharing of growing harddisk images between Windows and Linux caused by
...
different data alignment. Added a reserved 32-bit field and changed header
version to 2.0. The hdimage code can still handle version 1.0 images.
2006-05-14 21:15:33 +00:00
Volker Ruppert
6a299e61a7
- get rid of the unused description field of shadow bool and data parameters
...
(new/modified constructor)
- new constructor for bx_list_c objects without title
- shadow parameter bitmasks fixed
- functions bx_sr_before_save_state() and bx_sr_after_restore_state() prepared
- ne2k.cc: reset behaviour fixes
- sb16: some variable types changed
2006-05-14 15:47:37 +00:00
Volker Ruppert
a419ec3423
- fixed busmouse usage (wrong parameter)
2006-05-07 09:34:51 +00:00
Stanislav Shwartsman
ae6c38b202
Style and TAB2SPACE changes
2006-05-06 15:19:57 +00:00
Volker Ruppert
9340f3b3f8
- partial sync with BRANCH_SAVE_RESTORE_3 (hardware save/restore not present yet)
...
* changed data format of text files for save/restore (looks like C/C++ structures,
similar to the format used in old save/restore branches)
* don't set the initial value of shadow bool parameters
* don't set the initial value of bool parameters twice
* cpu/init.cc: missing #undef added
* ne2k.cc: variable tx_timer_active was never set to 1 (type now bx_bool)
* floppy.cc: missing initialization of the 'eot' array in reset() added
* pic.h: type of member 'byte_expected' changed to Bit8u
* pit_wrap.h: unused members removed
2006-05-01 18:24:47 +00:00
Stanislav Shwartsman
f93ab35357
Flush TLB for all CPUs when memory mapping information changed by system (A20 change, PAM write or similar events)
2006-04-29 17:21:49 +00:00
Stanislav Shwartsman
003c2f59e6
Added missed CVS header to several files
2006-04-27 15:11:45 +00:00
Stanislav Shwartsman
252c669841
Remove unused members in vga and svga (Volker)
...
Change PANIC to ERROR in keyboard port 64 handler
2006-04-27 11:58:07 +00:00
Stanislav Shwartsman
891b556fca
Remove duplicate line of code
2006-04-26 16:15:45 +00:00
Michael Brown
0944f2cd3e
Update to cope with bochs API changes
2006-04-26 00:04:49 +00:00
Michael Brown
d6a0708209
Allow for opening of persistent tuntap devices, using a
...
"/dev/net/tun:tap0" syntax for ethdev.
2006-04-25 22:52:38 +00:00
Volker Ruppert
49a642ef39
- forward PIRQ register changes to the I/O APIC inputs 16...19 if present
2006-04-23 08:46:07 +00:00
Volker Ruppert
eb2104d0de
- parameters for the wx debugger moved to a separate subtree to avoid conflicts
...
with the proposed save/restore feature
- fixed a warning in the cpu parameter handler for the wx debugger
2006-04-16 10:12:32 +00:00
Volker Ruppert
36498746c1
- some more work for the save/restore feature in the plugins and devices code
...
* register_state() will be called after init() and registers the device members
required for save/restore
* before_save_state() can do some work before the device state is saved by the
siminterface
* after_restore_state() can do some work after the device state has been
restored (updating dependant stuff)
2006-04-15 17:03:59 +00:00
Stanislav Shwartsman
663eed8cd2
Extend debug message for not-supported APM command register
2006-04-10 19:43:47 +00:00
Stanislav Shwartsman
6aadcd5208
Started implemntation of APM control and status regs
2006-04-07 10:48:54 +00:00
Stanislav Shwartsman
7cc921d1df
Prepare configure support for SSE4 implemntation (coming soon)
...
Rename _GAME configure macro to _GAMEPORT
2006-04-05 18:49:35 +00:00
Stanislav Shwartsman
c2455e7c1e
Fixed warning
2006-04-05 17:23:51 +00:00
Stanislav Shwartsman
c7d142200f
Implement SMRAM conrol register in i440fx chipset and all its functionality in memory class
2006-03-26 22:15:07 +00:00
Volker Ruppert
a63349eac5
- fixed cdrom capacity of ISO image files
...
- ATAPI cdrom read commands: starting block number needs to be checked
2006-03-26 00:38:58 +00:00
Stanislav Shwartsman
6ceac4c788
Fixed compilation error reported in #SF bug tracker
2006-03-25 18:04:15 +00:00
Volker Ruppert
26c67216ed
- check TC on every DMA cycle (partial sector transfers now supported)
2006-03-25 12:14:13 +00:00
Volker Ruppert
4ca0b26b20
- fixed compile error on FreeBSD
2006-03-23 18:28:40 +00:00
Volker Ruppert
912b07fde8
- fixed a memory leak
2006-03-22 18:06:16 +00:00
Stanislav Shwartsman
e85a90a720
Remove cpu.h -> devices.cc dependancy, kill_bochs_request moved from CPU to bx_pc_system
...
Small Icache simplification and speedup
2006-03-14 18:11:22 +00:00
Volker Ruppert
2e144d5862
- changed some function argument and return types from char * to const char *
...
(grabbed from patch included in FC5 Bochs package for wxWidgets 2.6.x)
2006-03-13 18:55:53 +00:00
Stanislav Shwartsman
4c3f229ff1
This should fix problem with non-PCI ne2k device
2006-03-08 19:28:37 +00:00
Stanislav Shwartsman
77653bcf3d
More indent and C++ style changes (explicitly write virtual before virtual desctructors).
...
The PCI read/write handlers written in new C++ - more flexible and easy-to-understand
2006-03-07 21:11:20 +00:00
Stanislav Shwartsman
242c2fa51c
Style and indent changes
2006-03-07 18:16:41 +00:00
Volker Ruppert
c66191bd13
- prepared save/restore subtree to make the conversion of the cpu and keyboard
...
parameters of the wx debugger possible
- started rewrite of shadow parameters and converted keyboard parameter stuff
- test function print_tree() now shows raw byte strings correctly
- removed unnecessary spaces
2006-03-07 17:54:27 +00:00
Stanislav Shwartsman
da0b2ac377
Update dependencies for iodev and root project folders.
...
Fixed compilation errors for 386 case
Added file header for slowdown_timer.h
2006-03-06 22:32:03 +00:00
Stanislav Shwartsman
7b6c2587a9
Now devices could be compiled separatelly from CPU
...
Averything that required cpu.h include now has it explicitly and there are a lot of files not dependant by CPU at all which will compile a lot faster now ...
2006-03-06 22:03:16 +00:00
Stanislav Shwartsman
c0aeb1b073
Substitute NULL to BX_CPU_C parameter instead of BX_CPU(0) for memory ops originated by devices
2006-03-06 19:23:13 +00:00
Volker Ruppert
e1b42d183a
- sb16 options rewritten to a parameter tree
...
- sb16 parameters stored in the device class and runtime parameter handler added
- wx: ParamDialog can currently handle only dependency lists of bool parameters
correctly (TODO: add support for numeric parameters)
2006-03-03 20:29:50 +00:00
Stanislav Shwartsman
b3420e7e56
Only indent and style changes
2006-03-03 20:15:07 +00:00
Stanislav Shwartsman
7ed117f0e0
Add 8-byte memory access support, all 8-byte memory accesses executed byte-byte before.
2006-03-03 12:55:37 +00:00
Volker Ruppert
dafe33fc84
- network options rewritten to a parameter tree
...
- disable usb options if not compiled with usb support
- usb and network dependency list created with menu->clone()
- load usb plugin only if at least one hub is present
- remaining options prepared for rewrite
- proposed parameter tree updated
2006-03-02 20:13:14 +00:00
Stanislav Shwartsman
5fad793989
move local apic handling to the access_linear function for the memory class.
...
speedup the whole simulation by 2% !
2006-03-01 22:32:24 +00:00
Volker Ruppert
154702eaca
- serial, parallel and usb options rewritten to a parameter tree
...
- bx_init_options(): local variables cleanup
- hide floppy devtype parameter (floppy media type change support not yet complete)
- wx: menu order changed
- keyboard.cc: removed obsolete FIXME
- proposed parameter tree updated
2006-03-01 17:14:36 +00:00
Stanislav Shwartsman
dfeaf141f0
Register I/O APIC as memory handler, optimize memory handlers array
2006-02-27 19:04:01 +00:00
Volker Ruppert
15efba10dd
- ata/atapi options rewritten to a parameter tree
...
- siminterface get_param_*() methods num support a base parameter like the generic
get_param() method
- new parameter lists now also have a generated id
- test function print_tree() now handles enum parameters correctly
- proposed parameter tree updated
2006-02-26 19:11:20 +00:00
Volker Ruppert
6cd4ffff28
- floppy options rewritten to a parameter tree
...
- enum parameter type method set_by_name() fixed
2006-02-24 22:35:46 +00:00
Volker Ruppert
4ef1a50a35
- new method get_param_path() returns the full path of new-style parameters
...
- keyboard type option handling simplified
- wx: show the list title as the group box title of pcidev options
2006-02-24 12:05:24 +00:00
Stanislav Shwartsman
2755fb02dd
Different was to implement bx_io_redirect_entry_t.
...
Should be fastr (elliminate redundant parse_entry calls) and more correct (aware of R/O fields)
2006-02-24 09:46:10 +00:00
Volker Ruppert
a4f412d3e8
- boot and loader options rewritten to a parameter tree
...
- wx: ParamDialog method EnableParam can now handle new-style parameters
- saving of pcidev options fixed
2006-02-23 22:48:57 +00:00
Volker Ruppert
c47508bdb1
- keyboard and mouse options rewritten to a parameter tree
...
- siminterface method ask_param() can now handle new-style parameters
- proposed parameter tree updated
2006-02-22 19:18:29 +00:00
Volker Ruppert
d4d4cbf6dd
- display and interface options rewritten to a parameter tree
...
- new enum parameter method get_selected() returns a pointer to the selected string
- proposed parameter tree updated
2006-02-21 21:35:09 +00:00
Volker Ruppert
0d4e34d124
- fixed parameter list for function read_toc()
...
- minor cleanups
2006-02-20 21:58:05 +00:00
Volker Ruppert
d364481bed
- pcidev options rewritten to a subtree of parameter "pci"
...
- save pcidev config line if enabled
- load pcidev plugin if requested
- pci parameter dependencies improved
- textconfig: show the title of a disabled submenu
2006-02-20 21:29:13 +00:00
Volker Ruppert
6311fface8
- pci options rewritten to a parameter tree
...
- proposed parameter tree updated
- pci presence flag stored in the memory code
2006-02-19 21:35:50 +00:00
Volker Ruppert
509900dff4
- clock and cmos options rewritten to a parameter tree
...
- clock/cmos menu added in textconfig and wx
- enum parameter type now supports new parameter handling
- long text format for numeric parameters added (useful when both textconfig and
wx are present)
- wx: handling of list flag USE_BOX_TITLE fixed
- textconfig: optional memory features moved to submenus
- siminterface generates a unique id for new parameters (used for wx dependencies)
- proposed parameter tree updated
- floppy options init code cleanup (still using old-style parameters)
2006-02-19 15:43:03 +00:00
Volker Ruppert
2a6261fba7
- cpu options rewritten to a parameter tree
...
- boolean parameter type now supports new parameter handling
- new parameter object constructors now supports label initialization
- bx_list_c constructor now supports title initialization
- textconfig: initial support for new parameter handling
- wx: missing CPU config dialog added
- wx: ParamDialog now handles disabled parameters correctly
- removed unnecessary spaces from function calls
2006-02-18 16:53:18 +00:00
Volker Ruppert
409e18127b
- DSP DMA timer and count now using more accurate values for 16-bit mode
...
- wave buffer size increased
- log messages improved
2006-02-09 21:59:42 +00:00
Volker Ruppert
e69a129d01
- fixed IDE register behaviour in case of a channel with one drive connected
...
* ports for error register, sector count and sector number are shared between
both drives
* status register always returns the values of the selected drive (0x00 if
not present
* set correct signature for both drives in case of reset
2006-02-06 21:27:34 +00:00
Volker Ruppert
f2de4e5d70
- some fixes in the (currently disabled) sndPlaySound feature (TODO: wave output
...
device / method should be controlled by sb16 parameter "wave=")
2006-02-05 17:13:54 +00:00
Volker Ruppert
a9a64fe3fc
- implemented readable packet log file support similar to other networking modules
...
(disabled by default)
2006-02-02 18:49:30 +00:00
Stanislav Shwartsman
6ca296de8b
Move --enable-reset-on-triple-fault option to runtime CPU::reste_on_triple-fault option in .bocshrc
...
Cleanup and optimize parser for debugger
2006-02-01 18:12:08 +00:00
Volker Ruppert
28e36a2671
- the CR start bit has no meaning in the PCI version
...
- set CR TXP bit during transmit operation
- improved various debug and error messages
2006-01-28 20:18:18 +00:00
Volker Ruppert
1e0467c8ff
- Cirrus SVGA detection fixed on OS/2 guest (from SF patch #1400358 )
2006-01-28 10:28:25 +00:00
Volker Ruppert
621a212e5a
- gcc 4.0 warning fixed
2006-01-28 08:52:16 +00:00
Stanislav Shwartsman
2c8f6f7720
Merged patch: determine number of processors to emulate through .bochsrc
2006-01-18 18:35:38 +00:00
Volker Ruppert
3e9ed43413
- code cleanup in the devices code
2006-01-17 20:16:59 +00:00
Stanislav Shwartsman
504081f282
dos2unix, add licence header
2006-01-15 19:34:03 +00:00
Volker Ruppert
373ed723ee
- any command sent to the keyboard enables the keyboard clock
2006-01-14 12:34:14 +00:00
Volker Ruppert
e939a43b3d
- invalid read/write operations now cause an error instead of a panic
...
- byte reads from port registers now supported
- report USB revision 1.0
2006-01-11 21:39:34 +00:00
Stanislav Shwartsman
5899932f0c
Merge APIC patch to the CVS.
...
- Fix lowest priority interrupt delivery from I/O APIC
- XAPIC support
- Implemented APIC bus functionality
- cleanup APIC code
2006-01-10 06:13:26 +00:00
Volker Ruppert
e662318422
- fixed timer IRQ handler with a callback function for the OUT pin (OUT pin of
...
the first timer is connected to IRQ line 0)
- code cleanup (indent mode, bool types, reset function, unused stuff)
2006-01-08 20:39:08 +00:00
Volker Ruppert
76ce7f2b22
- MSVC warnings fixed
2006-01-08 15:23:25 +00:00
Volker Ruppert
a7df662814
- only a change of the INTIN level should be handled by the I/O APIC
...
- removed I/O APIC IRQ0 hack from the PIC code
2006-01-08 12:01:25 +00:00
Volker Ruppert
ae96159f62
- fixed timer frequency reporting of the old PIT
...
- small cleanups (removed unused stuff, BX_DEBUG message for control register)
2006-01-08 09:45:11 +00:00
Volker Ruppert
886522349d
- spurious interrupt detection added
2006-01-07 18:02:16 +00:00
Volker Ruppert
b9e46e8cf4
- don't panic at unknown commands (aborting the command is okay here)
2006-01-07 12:52:05 +00:00
Volker Ruppert
3d7ddc90a5
- fixed possible division by zero error if the line offset value is 0
...
- VGA enable register implemented (enabled by default)
2006-01-07 12:10:59 +00:00
Volker Ruppert
682fd2ffdb
- fixed PIC IRQ signal handling
2006-01-05 21:57:58 +00:00
Volker Ruppert
54b9499e58
- ELCR setup was sent to wrong PIC
2006-01-02 22:26:27 +00:00
Volker Ruppert
97e1f39d8f
- I/O APIC signal handling rewritten ("backported" from qemu)
...
- don't flood the logfile if APIC EOI has no effect
- fixed a warning in the APIC code
- TODO: fix IRQ 0 handling, implement ExtINT
2006-01-01 11:33:06 +00:00
Volker Ruppert
ff7f41541f
- first attempt to fix the I/O APIC code
...
* IRQ 0, 2 and 13 are usually not connected to the I/O APIC INTIN pins
* if the IRQ line is set to inactive, clear IRR bit (same as PIC, but that
needs to be checked)
* added symbols for I/O APIC input types according to the specs
* TODO: PIC INTR is connected to INTIN0, edge/level handling in I/O APIC and
APIC code, ...
2005-12-31 14:46:21 +00:00
Volker Ruppert
00eabeb2de
- seek function added in lowlevel cdrom code (reads a block at specified address)
2005-12-27 13:21:25 +00:00
Stanislav Shwartsman
9e4a3675d3
Cleanup APIC code
...
Fixed APIC timer problem (too many registered timers) reported by Brendan
2005-12-26 19:42:09 +00:00
Volker Ruppert
682895ca77
- fixed error handling for the read ID command (bad drive, media not present)
...
- the seek command is always executed (doesn't set the EC bit)
2005-12-25 12:03:14 +00:00
Volker Ruppert
7f714b568a
- read support for 8029 ID and config registers added
2005-12-24 22:35:04 +00:00
Volker Ruppert
520da21dcf
- fixed device type checks (must be compared with FDRIVE_NONE now)
...
- fixed motor off condition for recalibrate and seek
2005-12-23 12:21:09 +00:00
Stanislav Shwartsman
90059c8faa
Non-functional changes, little bit optimize ioapic code
2005-12-13 20:27:23 +00:00
Volker Ruppert
83a799bca8
- don't include the device headers in networking/sound lowlevel code, virtual
...
and slowdown timers, hdimage and vmware3 code
- updated makefile dependencies
2005-12-10 18:37:35 +00:00
Volker Ruppert
751c0f8ea5
- splitted ATA/ATAPI emulation and image handling code. Now it is possible to use
...
the hdimage.* stuff with other mass storage interfaces (e.g. SCSI, USB)
2005-12-10 15:02:26 +00:00
Volker Ruppert
ef51fd3595
- if cmos image is enabled, save it on exit
2005-12-04 17:43:09 +00:00
Volker Ruppert
b59b3aed31
- fixed floppy media type check
...
- fixed result values after trying to access a not existing sector
2005-12-03 18:22:18 +00:00
Volker Ruppert
531c75c002
- keyboard/mouse runtime parameter handlers moved into the device code
...
- minor code cleanups
2005-12-02 17:27:19 +00:00
Volker Ruppert
f92a666e70
- minor USB updates from Ben Lunt
2005-11-30 18:34:59 +00:00
Volker Ruppert
c227c822b8
- USB runtime parameter handling prepared in the device code
2005-11-29 20:46:17 +00:00
Volker Ruppert
e753570e1f
- enable VDE networking module on Linux (same conditions as ethertap)
...
- eth_vde.cc compilation fix and TUN/TAP hack removed
- mentioned VDE and added example in documentation
2005-11-29 19:28:43 +00:00
Volker Ruppert
fd687a06c2
- fixed sparse type hd image larger than 4GB compiled with MSVC
2005-11-29 18:03:39 +00:00
Stanislav Shwartsman
ff015089b1
Fix get_EIP references in iodebug
2005-11-29 17:38:57 +00:00
Volker Ruppert
cef74b528a
- moved runtime handler for 'vga_update_interval' into the device (TODO: this could
...
be done with some parameters, e.g. mouse, keyboard, usb)
2005-11-27 17:49:59 +00:00
Volker Ruppert
e51c248aaa
- fixed size of debug message for the result of a floppy command
2005-11-25 22:29:20 +00:00
Volker Ruppert
31c23fc102
- floppy media type check added (prevents inserting of invalid media in drive,
...
e.g. 1.2MB 5.25" media in 1.44MB 3.5" drive)
2005-11-22 18:34:51 +00:00
Volker Ruppert
cbf474f7d3
- disk change line behaviour fixed (set at media removal and hardware reset,
...
cleared at the first step pulse)
2005-11-20 14:15:28 +00:00
Volker Ruppert
8fd02e184b
- floppy controller type changed to 82077AA and added a few commands to make
...
Linux detect it correctly. This changes has no effect on r/w operations.
- data rate select register partially implemented
- register reset fixes and additions
2005-11-16 21:21:35 +00:00
Volker Ruppert
fa996ca9de
- don't register i/o and memory address ranges during PCI probe
...
- PCI devices now report real base address changes only
- writes to the high word of i/o base addresses now permitted (for PCI probe)
2005-11-15 17:19:28 +00:00
Stanislav Shwartsman
5cf5aaef42
Fix compilation warnings
2005-11-14 19:03:12 +00:00
Volker Ruppert
e0f02463f9
- the step delay for the recalibrate and seek commands is now calculated from the
...
number of steps to do, the step rate time and the date rate
- the option floppy_command_delay is obsolete now, since all floppy delays are
based on the hardware specs. The usage of this option caused a warning now.
2005-11-12 10:38:51 +00:00
Volker Ruppert
3e00c16800
- define IOCTL_DISK_GET_LENGTH_INFO only if necessary
...
- fixed UPC flag in ATAPI command 'read subchannel'
- ATAPI command 'read subchannel' now returns "ISRC not recorded"
2005-11-11 22:52:57 +00:00
Volker Ruppert
902b8ec684
- better floppy write timing implementation (TC pulse is only available in DMA
...
r/w functions and must be stored in a variable)
2005-11-10 18:56:45 +00:00
Volker Ruppert
23776bab81
- more accurate timimg for floppy commands 'write normal data' and 'read ID' based
...
on a motor speed of 300 RPM
2005-11-09 19:13:32 +00:00
Volker Ruppert
611acd047c
- some more usb fixes by Ben Lunt
...
- small hack for debug messages from the start added (disabled by default)
2005-11-08 18:49:45 +00:00
Volker Ruppert
9934d3b46b
- prepared USB flash stick implementation (patch by Ben Lunt - not yet complete)
2005-11-07 19:06:05 +00:00
Volker Ruppert
3c4b32f9a4
- splitted image headers from hard drive header (TODO: split emulation and image
...
code for non-IDE interfaces)
- fixed bximage error messages
2005-11-06 11:07:01 +00:00
Volker Ruppert
9e57072f28
- ATAPI command "read subchannel format 2" now returns "UPC not recorded"
...
- changed bool types to bx_bool, false and true to 0 and 1
- some indent mode fixes
2005-11-06 08:21:38 +00:00
Volker Ruppert
82d009c632
- some more usb fixes by Ben Lunt
...
- missing interrupt on resume added
2005-11-05 12:57:18 +00:00
Volker Ruppert
355e656dd5
- ATAPI command 'read cd': Packet-DMA and raw read support added
2005-11-04 19:03:46 +00:00
Volker Ruppert
5109a7e679
- fixed toc size returned by IOCTL_CDROM_READ_TOC_EX using the size field of toc data
...
- prepared read_block() function for block size 2352
- report block number at cdrom read block panic
2005-11-02 20:26:24 +00:00
Volker Ruppert
fbd3bc709c
- missing closing bracket added
2005-11-02 16:44:00 +00:00
Volker Ruppert
107d68f385
- fixed capacity function on Windows XP using IOCTL_DISK_GET_LENGTH_INFO
2005-11-01 21:43:47 +00:00
Volker Ruppert
6d1e5d6d05
- SET FEATURES subcommands now returning success
...
- read raw toc for image files and platforms other than Windows XP implemented (ported from qemu)
- several cdrom capacity fixes / report capacity only on Bochs init and cdrom change
- flag 'using_file' must be set to 0 for WIN32 ASPI or direct access
- multisession format handling removed from harddrv.cc (now handled in cdrom code)
- ATAPI error messages improved
- prepared ATAPI buffer for block size 2352
2005-11-01 19:10:24 +00:00
Volker Ruppert
5addd3c8c6
- reply with NACK (resend) to unknown/unsupported keyboard mouse commands
...
- unnecessary return statements removed
- some messages changed
2005-10-31 15:32:18 +00:00
Volker Ruppert
71185561ad
- IDE busmaster DMA for cdroms fixed and enabled
...
- more accurate DMA timing depending on the transfer size
2005-10-30 19:18:59 +00:00
Volker Ruppert
13bfb46cdc
- IDE busmaster DMA for cdroms (packet DMA) prepared, but not enabled yet
2005-10-30 14:14:03 +00:00
Volker Ruppert
afd665f369
- some more usb fixes by Ben Lunt
2005-10-30 10:02:51 +00:00
Volker Ruppert
04d33f73fe
- PCI IDE busmaster DMA feature fixed and enabled (Win98 guest can use it without
...
errors, WinXP guest cannot enable it yet)
2005-10-29 12:35:01 +00:00
Volker Ruppert
0784eac61c
- some fixes to usb support from SF patch #1340111 by Ben Lunt
2005-10-29 09:12:39 +00:00
Volker Ruppert
d7807a9841
- allocate vbe memory dynamicly (saves memory if extension Bochs VBE is not selected)
2005-10-27 17:53:41 +00:00
Volker Ruppert
2bbf61deed
- read_block() now tries 3 times before giving up
...
- read_block() now returns a bx_bool value and panic moved to hard drive code
- insert_cdrom() now uses read_block() to test the media presence
- small code cleanups
2005-10-27 17:01:11 +00:00
Volker Ruppert
87e7dd3434
- don't allocate video memory if already done (this was wasting memory)
...
- don't init / reset Cirrus extension if disabled
- store last active BPP value independent from selected vga extension (fixes possible
panic when switching from a Cirrus 640x480 mode to standard VGA)
2005-10-27 09:32:02 +00:00
Volker Ruppert
906062fb01
- load pcivga plugin only if assigned to a pci slot and Bochs VBE is selected
2005-10-27 08:20:16 +00:00
Volker Ruppert
7b8ed58815
- end-of-track (EOT) condition implemented
...
- set valid EOT value in BIOS floppy read/write functions
- added hack to make older Bochs BIOS version work with EOT feature
2005-10-27 07:38:20 +00:00
Stanislav Shwartsman
34ec2c532a
Change BX_INFO to BX_DEBUG, it floods the log with a lots of messages
2005-10-23 20:42:20 +00:00
Volker Ruppert
d964eb58ad
- the Bochs BIOS and the LGPL'd VGABIOS never cause a panic at line number 0
2005-10-23 13:23:49 +00:00
Volker Ruppert
ca3ccdc096
- fixed typos in manpages, user documentation and others
...
- clock sync setting "both" was missing in the docs
2005-10-23 07:17:01 +00:00
Volker Ruppert
36187fe1ba
- fixed the slowdown timer sleep rate on platforms that don't support the usleep()
...
function. Now using the value 1 msec on all platforms.
- slowdown timer doesn't need the reset() function (it's not hardware)
2005-10-22 17:31:02 +00:00
Volker Ruppert
0a57b7360c
- the polling initiated interrupt occurs 250 usec after leaving reset state
...
- the main status register returns 0 when in reset state
- improved a panic message
2005-10-09 17:58:37 +00:00
Volker Ruppert
6a290014f6
- ATAPI command 'read cd' partially implemented
...
- cdrom name returned by ATAPI command 'inquiry' changed
- some more indent mode fixes
2005-10-02 15:44:10 +00:00
Volker Ruppert
0cacb9af0c
- deprecated option 'newharddrivesupport' removed from hard drive code
...
- sense code ASC_ILLEGAL_OPCODE added for unimplemented/unknown ATAPI commands
- some panics changed to errors
- unsupported bits message in drive and head register changed to BX_DEBUG
- improved info about not existing drive
- indent mode fixed in ATAPI packet command section
2005-10-02 10:16:54 +00:00
Volker Ruppert
9b264e8830
- don't report read/write accesses to the PCI host controller with wrong io_len
...
(guest PCI probe can flood the logfile)
- fixed indent mode in some functions
2005-10-01 17:40:07 +00:00
Volker Ruppert
9e0089fb9e
- floppy commands 0x04 and 0x4A do not reset the disk change line (SF patch
...
#1294930 by Ben Lunt)
- disk change line can be active only when the motor is on
2005-09-28 17:36:01 +00:00
Volker Ruppert
a434503a02
- PCI command register behaviour fixes in some devices
2005-09-23 19:31:12 +00:00
Volker Ruppert
ae3621fb5f
- removed temporary PCI base address initialization in the reset() functions
...
- removed obsolete parameters for usb1 and pnic (now assigned by the PCI BIOS)
- PCI base address register mechanism now leaves the flags untouched
- missing reset of pnic options added
2005-09-22 21:12:26 +00:00
Volker Ruppert
edd430d573
- base address area set to read-only (TODO: implement framebuffer base at 0x10)
...
- unnecessary io_len check removed
2005-09-18 13:02:56 +00:00
Volker Ruppert
9bc26a67d5
- PCI IDE: base address area must be read-only except BM-DMA base
...
- PCI devices: debug messages fixed
2005-09-18 09:01:05 +00:00
Volker Ruppert
0706c5bcfb
- renamed cmos image parameter to 'rtc_init'
...
- bochsrc sample: example for serial mode 'socket' added
2005-09-18 07:16:28 +00:00
Volker Ruppert
fb44fe9ed1
- removed disabled code for obsolete split-HD support
...
- missing return value added
- fixed indent mode in modified section
- fixed some typos
2005-09-14 19:52:41 +00:00
Volker Ruppert
6d56565092
- ignore the clock line until after the BAT completion code has been sent
...
- input port now reports 'keyboard not inhibited'
- output port now reports IRQ1/IRQ12 levels (PS/2 mode)
2005-09-13 19:35:01 +00:00
Volker Ruppert
c58b8b54c3
- binary RTC mode implemented
...
- cmos image options renamed
- new cmos option controls the usage of the RTC values from image
- report time0 in use after handling the cmos image stuff
- MSVC warning fixed
2005-09-11 20:03:56 +00:00
Volker Ruppert
d0c6b75a70
- number of CMOS registers now set to the fixed value of 128
...
- new functions bcd_to_bin() and bin_to_bcd() to simplify data conversion
- Bochs CMOS map completed
2005-09-11 08:46:09 +00:00
Volker Ruppert
e450b1af53
- removed obsolete configure option --enable-time0. The 'clock' runtime option
...
is already doing the same.
- DCC oscillator disable support added
- fixed indent mode in modified sections
2005-09-10 16:40:59 +00:00
Volker Ruppert
fd427df0d7
- RTC 12-hour mode implemented
...
- unsupported shutdown status values no longer cause a panic
- definition of BX_NUM_CMOS_REGS moved from config.h to cmos.h (TODO: get rid
of this and implement 128 registers)
- indent mode fixed in modified section
2005-09-10 13:22:51 +00:00
Volker Ruppert
feb7f84dd3
- the BM-DMA interrupt flag must be set when the ide controller generates an interrupt
...
- BM-DMA base address set to 0xc000 at reset (shoud be done by the PCI BIOS)
- BM-DMA status register write messages changed to BX_DEBUG
- fixed an MSVC warning in the harddrive code
2005-09-05 18:32:23 +00:00
Volker Ruppert
5f9d527dc0
- more accurate timing for formatting using a motor speed of 300 RPM
...
- indent mode fixed in modified section
2005-09-03 17:20:18 +00:00
Volker Ruppert
b88facfb66
- more accurate timing for reading data using a motor speed of 300 RPM. This is
...
important at boot time if the user wants to control the boot process.
TODO:
* implement timing for write and format commands
* more accurate timing for seek, recalibrate and maybe others
* raw floppy access slows down the emulation, use separate threads (???)
- irq line goes low with when reading the first result byte
- the drive status bits are only modified after reading the first result byte
- handling of floppy command 'sense interrupt status' simplified
- improved debug messages for i/o port reads and writes
2005-08-31 19:48:03 +00:00
Volker Ruppert
246d89d6a3
- SB16: in 16-bit mode the 8-bit DMA channel is used if 16-bit DMA is disabled
...
- SB16: improved some messages and changed some loglevels
- SB16 documentation updates
2005-08-27 08:17:13 +00:00
Volker Ruppert
86c3c68dc4
- fixes for OS/2 in the floppy and rombios code (patch from Robin Kay)
...
* support for XDF images added
* floppy controller should hang if media not present
* rombios has to reset the floppy controller after read/write failure
2005-08-24 20:45:57 +00:00
Volker Ruppert
fec5b4e135
- added new function set_signature() for several ATA/ATAPI commands
...
- ATA command 0x90 (execute drive diagnostics) now supports cdrom (Plan 9 boots now)
- indent mode in modified sections fixed
2005-08-21 17:40:45 +00:00
Volker Ruppert
ea18b29e12
- geometry autodetection for 'flat' hard disk images added. It works with all
...
images created with bximage (heads = 16, sectors per track = 63)
- size check for 'flat' hard disk images added. The image size is now compared
with the size calculated from the geometry.
2005-08-06 18:29:36 +00:00
Volker Ruppert
4f0892a8d4
- assign a unique serial number to each drive (fixes detection problems with
...
Linux kernels 2.6.x: "ignoring undecoded slave")
2005-08-05 18:35:00 +00:00
Stanislav Shwartsman
7f0fc6df78
Change BX_ERROR message to BX_DEBUG (flooding log file and slows down simulation)
2005-08-03 20:59:35 +00:00
Volker Ruppert
2b52b52145
- detection of wget (or equivalent commands) added (based on SF patch #816979 )
...
- fixed compilation with plugins or an alternative gui enabled on win32 (Cygwin,
MinGW/MSYS) after adding serial mode 'socket'
2005-07-30 15:04:26 +00:00
Volker Ruppert
c755483e23
- added simple speaker support for OS X using the default system beep
...
(patch by brianonn@telus.net )
2005-07-27 19:17:29 +00:00
Volker Ruppert
5ec69e8eec
- some fixes for OS X Tiger (10.4.1) by brianonn@telus.net
2005-07-24 07:25:02 +00:00
Volker Ruppert
89c2554b7c
- missing include for FreeBSD and others added
...
- set member sin_len of struct sockaddr_in if present
2005-07-11 16:24:47 +00:00
Volker Ruppert
bff2c04c5b
- com->socket redirection support added (initial SF patch #1107945 by Andrew Backer)
2005-07-10 16:51:09 +00:00
Volker Ruppert
d4871e66a9
- fixes for Solaris 2.9 (tested with the compile farm)
...
* .conf.sparc fixed / cleaned up / new features added
* flag _XOPEN_SOURCE is already defined
* define BX_HAVE_NET_IF_H when <net/if.h> exists
2005-07-03 09:57:41 +00:00
Volker Ruppert
8380541a8f
- replacing uint* types by Bit*u types since they are identical (BeOS code untouched)
2005-06-26 10:54:49 +00:00
Volker Ruppert
048467681c
- fixes for compiling on MorphOS (configure script, cdrom, sdl)
2005-06-23 18:40:35 +00:00
Volker Ruppert
60c7be796c
- added prefix "ataX-Y:" to messages in some more harddisk commands
...
- added missing break statement after command_aborted() call
- fixed indent mode in the modified sections
2005-06-19 07:22:20 +00:00
Volker Ruppert
e23d77f103
- changes in some hard drive commands:
...
* added prefix "ataX-Y:" to panic mesages (X=channel, Y=drive)
* added command_aborted() call after the panic
* fixed indent mode in the modified section
2005-06-18 15:00:11 +00:00
Volker Ruppert
f67552df29
- TFTP write support implemented (doesn't overwrite files)
...
- missing DHCP symbol added
2005-06-12 08:59:32 +00:00
Volker Ruppert
96767b28b6
- C++ strings seem to make trouble on some platforms. Now using standard C strings
...
- prepared TFTP write support
2005-06-08 21:11:54 +00:00
Volker Ruppert
69fe0b00d4
- some more warnings in MSVC fixed
2005-06-07 19:26:21 +00:00
Stanislav Shwartsman
b5514f42de
Merged patch for "compilation outside source directory"
...
Added missed copyrights for APIC.CC
2005-06-07 05:54:57 +00:00
Volker Ruppert
5e75dc3a10
- some more warnings in MSVC fixed
2005-06-06 20:14:50 +00:00
Volker Ruppert
b6fc5768fa
- fixed compilation with x86_64 and gcc4 (SF patch #1211525 by scop)
2005-06-05 07:24:43 +00:00
Volker Ruppert
e98c100f74
- a bunch of warnings in MSVC fixed
...
- name of source file in wxworkspace.zip fixed
2005-06-04 17:44:59 +00:00
Volker Ruppert
2ea23a5f6e
- access to data register fixed (initial patch by Gregory Trubetskoy)
...
- removed unnecessary io_len checks
2005-06-04 07:58:02 +00:00
Volker Ruppert
8bd2d27e29
- update irq level after IMR write
...
- attempt to set IMR bit 7 no longer causes a panic
- fixed multicast/broadcast packet detection
- small code cleanup
2005-05-26 09:24:28 +00:00
Volker Ruppert
e5fb8cd8ba
- reject TFTP read requests until the current session has been completed
...
- silently ignore error packets
- changed symbol name to TFTP_BUFFER_SIZE
2005-05-21 19:33:25 +00:00
Volker Ruppert
c2e53c2d95
- fixed tuntap incompatibility with Linux kernels 2.6.x (SF patch #1203305 )
...
- improved debug message for the received packet
2005-05-21 07:38:29 +00:00
Volker Ruppert
837a46eddc
- applied SF patch #1200515 by easeway <easeway@163.com>
...
* simple read-only TFTP server implemented
* don't discard IPv4 packets larger than the length stored in header
- TFTP server uses ethdev value for the root directory
- removed trailing newlines in messages
2005-05-13 18:10:58 +00:00
Volker Ruppert
4a7d435ba7
- now using GetDiskFreeSpaceEx() and valid arguments to determine the media size
...
- report the cdrom capacity in megabytes instead of bytes
- don't flood the logfile with error messages when the guest OS checks the cdrom
unit periodicly for media presence
2005-05-04 18:19:49 +00:00
Volker Ruppert
7b5d0b53ed
- fixed horizontal pel panning handling in text mode
2005-04-30 21:22:26 +00:00
Stanislav Shwartsman
19750b0324
Fixed highest_priority_int calculation function
...
Fixed I/O APIC ID for 8CPU configuration to match BIOS tables
Remove I/O APIC initialization when INIT IPI received
2005-04-27 18:09:27 +00:00
Volker Ruppert
4c6478d6dd
- use the 6th byte of the guest mac address if the source and destination address
...
of the received packet are identical
2005-04-24 11:06:49 +00:00
Volker Ruppert
eaf492de82
- destination write mask handling fixed in 24 bpp modes
2005-04-21 18:31:58 +00:00
Volker Ruppert
34653048ef
- optimizations in function redraw_area()
...
- if a screen update is needed after i/o writes, now redraw_area() is called instead
of duplicating the code
2005-04-15 17:33:54 +00:00
Volker Ruppert
53a99cc3b2
- hack added to make the hardware cursor visible on indexed displays (e.g. win32
...
display library in 8 bpp mode). FIXME: find nearest match in DAC table
- optimizations in function redraw_area()
- removed unnecessary code in colorexpand functions
2005-04-14 18:59:46 +00:00
Volker Ruppert
301b491a3f
- fixes for colorexpand with destination write mask values > 0
2005-04-13 20:38:09 +00:00
Volker Ruppert
6ce17bbc2e
- cpu-to-video transparent colorexpand function renamed and implementation completed
...
- some other code cleanups
2005-04-13 18:39:26 +00:00
Volker Ruppert
7e6ea7c1ee
- fixes for patterncopy with destination write mask values > 0
...
- some comments updated
2005-04-12 21:26:55 +00:00
Stanislav Shwartsman
8191e3f577
Rolled back mistakely committed I/O APIC experiment
2005-04-11 16:51:09 +00:00
Stanislav Shwartsman
1755589376
Separate pageWriteStamp from ICACHE. The pageWriteStamp has totally independant structure and could be used in future with icache structure. Also it could be significantly speeded up using BX_SMF analog constructions.
2005-04-10 19:42:48 +00:00