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