Volker Ruppert
cc3020ab53
Added support for connecting USB floppy without media present.
...
Fixed status indicator activity.
TODO: add media change support without disconnect.
2015-08-24 20:26:08 +00:00
Volker Ruppert
38fbdaa7e8
Added runtime config handler for the USB cdrom and modified parameter handling
...
similar to the ATAPI implementation (including locked tray case).
Fixed status indicator activity and minor other changes.
2015-08-23 16:09:24 +00:00
Volker Ruppert
1df014a8ae
Implemented unregister mechanism for runtime config handlers.
...
TODO: use it for removable devices with removable media (USB floppy / cdrom).
2015-08-23 07:04:56 +00:00
Volker Ruppert
f7726990f2
Fixed MTRR setup for memory size > 4 GB.
2015-08-22 06:19:13 +00:00
Volker Ruppert
22c674ef7a
Fixed MTRR setup for memory size > 4 GB.
2015-08-22 06:18:38 +00:00
Volker Ruppert
9596717f3c
Fixed MTRR setup for memory size > 4 GB.
2015-08-22 06:17:39 +00:00
Volker Ruppert
1ac159ba52
Modified sleep rate in conversion thread to get more continuous output.
2015-08-18 17:26:25 +00:00
Volker Ruppert
792c5bdec2
Set default device speed for floppy, cdrom and disk to 'full'.
2015-08-16 16:15:46 +00:00
Volker Ruppert
823ba769fb
Some work on the USB floppy emulation.
...
- Removed USB device type handling from constructor and init code, since we
only the 'floppy' type here.
- Write commands now using the device buffer for one sector.
TODO: support for starting without media and runtime media change.
2015-08-16 06:44:16 +00:00
Volker Ruppert
5bc1717adc
Removed the data tranfer limit for read/write commands.
...
- The read buffer is now limited to 16 sectors and the read commands can fill
it multiple times until all sectors have been read.
- The write commands are currently not using the device buffer, so no panic
should happen here.
2015-08-14 17:43:25 +00:00
Volker Ruppert
639f361d02
Fix the fix: force a status bar update after registering an item, too.
2015-08-11 17:48:18 +00:00
Volker Ruppert
16fb8317bd
Fixed parameter handler issues found with runtime changes while cdrom tray locked.
...
- bx_param_num_c: set the value returned from the handler.
- bx_param_string_c: set the new value after processing the handler.
- harddrv param handler: check lock state of cdrom and modify value if true.
2015-08-10 18:44:16 +00:00
Volker Ruppert
8a1e31ef08
Added common USB device option "debug" to turn on BX_DEBUG reporting at
...
connection time.
Fixed USB floppy capacity entries for 1.44 MB (last LBA, not LBA count).
2015-07-31 19:01:09 +00:00
Volker Ruppert
46d2c0adad
Started implementing save/restore support for the USB floppy.
...
Fixed status indicator handling in case of connect failure.
2015-07-28 18:44:08 +00:00
Stanislav Shwartsman
250cf02981
x86-64: Fixed bug in OR_EqGqM handler used with FS or GS segment
2015-07-26 19:20:21 +00:00
Volker Ruppert
5e714cdd34
Handle illegal and unimplemented cases of the 'verify' command.
2015-07-26 06:48:55 +00:00
Volker Ruppert
fa5353698d
CMOS boot setup moved to the floppy init code to make Bochs BIOS boot work in
...
case no harddrv plugin is loaded (no ata controller enabled). The floppy and
boot parameters are only set up if no CMOS image is enabled.
2015-07-26 06:48:33 +00:00
Volker Ruppert
20aeed208b
Fixed some panics when Bochs is used without the harddrv plugin (ata* disabled).
...
TODO: Fix Bochs BIOS for that case (SeaBIOS is okay).
2015-07-15 10:20:22 +00:00
Volker Ruppert
87d40fe673
Some work on the status LED support for removable devices.
...
- Force a status bar update after unregistering an item.
- Added status indicators for USB disk and cdrom.
- Handle USB device disconnect in the runtime config handler, too.
2015-07-13 21:57:09 +00:00
Stanislav Shwartsman
f6af0443bb
small optimization and elimination of several defines from cpu.h - replace by inline functions and const variables
2015-07-13 20:24:14 +00:00
Volker Ruppert
3986a0b703
Extended status bar LED feature to support dynamic indicators for removable
...
devices like USB disk, cdrom or floppy. Using this feature for the new USB
floppy. Removed static indicators for port activity from the USB HC code.
TODO: Implement status LEDs for USB disk and cdrom.
2015-07-13 16:56:06 +00:00
Volker Ruppert
6161ffea73
Added initial version of UFI/CBI floppy disk storage device support written
...
by Ben Lunt. To connect a USB floppy you can use the 'floppy' device with the
path to the image separated with a colon. VVFAT is also supported.
FIXME: The device detection fails on some recent Linux distributions.
FIXME: Only 1.44M media format is currently supported.
TODO: Media change without disconnect is not implemented yet.
2015-07-13 08:37:45 +00:00
Stanislav Shwartsman
ea255b5bf7
fixed VMCS memory type calculation
2015-07-12 20:10:43 +00:00
Stanislav Shwartsman
129db3bfaf
fixed typo in the list of the vmcs exits
2015-07-12 15:26:34 +00:00
Volker Ruppert
9b0af67606
Added static variable 'vvfat_count' for generating a unique FAT ID.
2015-07-12 14:46:00 +00:00
Volker Ruppert
16358f9c54
Added missing hdimage->close() in destructor.
2015-07-12 14:45:34 +00:00
Volker Ruppert
98bc3bdf16
Small OHCI fix by Ben Lunt.
2015-07-12 06:53:01 +00:00
Stanislav Shwartsman
9315742f3d
cleanups of vmcs mapping related stuff
2015-07-07 21:06:56 +00:00
Stanislav Shwartsman
e9f9f824be
return value from clear/set_mapping functions
2015-07-06 20:16:34 +00:00
Stanislav Shwartsman
28c19ecec7
more interfaces to VMCS Mapping class
2015-07-06 20:14:56 +00:00
Stanislav Shwartsman
5fe1423ab6
introducr new class for VMCS mapping so it can be customized per cpuid
2015-07-06 18:46:57 +00:00
Volker Ruppert
3b87e71346
Minor bugfix and small additions by Ben Lunt.
2015-06-29 20:32:56 +00:00
Stanislav Shwartsman
b86f01d410
update TODO
2015-06-29 19:57:04 +00:00
Stanislav Shwartsman
3fef7f32f6
added new bits definitions recently published
2015-06-29 19:53:56 +00:00
Stanislav Shwartsman
bc25883087
add new definitions from most recent AMD Software Developers Manual update. TODO: implement new AMD's MONITORX/MWAITX extensions
2015-06-22 21:46:50 +00:00
Volker Ruppert
dcae254157
The Device Qualifier request must fail on non high-speed devices (patch by Ben Lunt).
2015-06-17 20:15:53 +00:00
Stanislav Shwartsman
91086d0627
remove not relevant comments
2015-06-14 20:36:16 +00:00
Stanislav Shwartsman
3a0dff9b36
fixed Bochs compiled for 386 with FPU enabled
2015-06-10 20:36:46 +00:00
Volker Ruppert
ee6bfaa4c4
Added separate thread for the PCM data conversion. Only in case of dual output
...
sendwavepacket() directly calls the conversion method and output(). In all other
cases it puts the unmodified data into a buffer and the conversion thread is
doing the main job and puts the data into the output buffer chain.
TODO: resampling could also be done by the new thread.
2015-06-04 08:58:02 +00:00
Volker Ruppert
7be46cda6a
Fixed SF bug #1376 (this change was missing in rev. 12473).
2015-05-25 12:33:39 +00:00
Stanislav Shwartsman
c43ea147bf
~1% emulation speedup by skipping pageWriteStamp check for stack writes.
...
For now the optimization is supported only when no SMP is compiled in because it doesn't handle cross-modifying code.
The current stack page will cache also current pageWriteStamp for that page and could skip pageWriteStamp access if possible.
Any code fetch access missing trace cache will invalidate current stack page.
Code fetch accesses from another SMP threads should do the same to support SMP.
Next step:
- support SMP
- support pageWriteStamp access skipping for all other memory writes from all segments
2015-05-23 19:34:59 +00:00
Stanislav Shwartsman
745d843c88
change BX_INFO message to BX_DEBUG because it floods log
2015-05-19 20:21:17 +00:00
Stanislav Shwartsman
280a773323
fix vmexit qualification for some instructions after previous code reorg and inlining of resolve_modrm methods
2015-05-16 21:25:43 +00:00
Stanislav Shwartsman
b468316250
re-style old resolve macros after resolve function inlining
2015-05-16 21:06:59 +00:00
Stanislav Shwartsman
29585cae72
delete resolver.cc
2015-05-16 20:30:26 +00:00
Stanislav Shwartsman
f0d7379908
remove BxResolveModrm member in BxInstruction_c class and inline resolve functions into instruction handlers instead. helps to remove indirect branch mispredictions (suggested by Vtune). measured speedup on Win7-64 boot is 5%, on other guests it might vary between 1% and 5%
2015-05-16 20:29:49 +00:00
Volker Ruppert
377d920956
Created a new class for the audio buffer handling to make multiple buffers
...
chains possible.
TODO: the lowlevel sound code should bbe rewritten with an additional
conversion thread.
2015-05-15 20:18:47 +00:00
Stanislav Shwartsman
1268d8c14a
deprecated configure options cleanup in configure.in
2015-05-14 11:56:23 +00:00
Stanislav Shwartsman
8804fb624b
Clear definition of BX_CPP_INLINE in Visual Studio case
2015-05-14 11:49:28 +00:00
Stanislav Shwartsman
cf4b3f2542
optimize code duplication
2015-05-12 21:33:06 +00:00