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
Stanislav Shwartsman
9f18573740
Rename BX_CPU_CALL_METHODR to BX_CPU_RESOLVE_ADDR and introduce special cases BX_CPU_RESOLVE_ADDR_64 (for 64-bit mode only) and BX_CPU_RESOLVE_ADDR_32 (for 32-bit mode only)
2015-05-11 19:23:09 +00:00
Stanislav Shwartsman
b9b45f0d0d
convert some defines to typed consts
2015-05-10 19:54:57 +00:00
Volker Ruppert
b449f2a723
Prepared Bochs logfile output fur the usage in a multi-threaded environment.
2015-05-10 06:55:16 +00:00
Volker Ruppert
f838b04dd1
Attempt to fix the compilation failure on OpenBSD with debugger enabled
...
(stdin and stdout cannot be modified on this platform).
2015-05-09 17:01:24 +00:00
Volker Ruppert
119971182b
Include pthreads library header in soundlow.h (fixes SF bug #1373 ).
2015-05-09 08:31:49 +00:00
Volker Ruppert
2bfee2aeb2
Added new log function for the ATAPI CDROM and macro BX_DEBUG_ATAPI to avoid
...
flooding logfile with hard disk messages when only the cdrom ones are wanted.
ATAPI DMA: don't copy more data than actually present in buffer.
2015-05-09 07:44:36 +00:00
Stanislav Shwartsman
0d79c5f986
Implemented Page Modification Logging VMX feature
2015-05-06 19:55:44 +00:00
Volker Ruppert
7e86e7956f
Fixed PCI IDE controller DMA start (found with a recent Linux version:
...
"mode sense" command executed in DMA mode).
Updated output of "mode sense" page 0x2a (still reporting CD-ROM drive).
2015-05-05 20:10:43 +00:00
Stanislav Shwartsman
2185d21eb7
fixed comments for PML acronym
2015-05-05 19:52:05 +00:00
Stanislav Shwartsman
a197977682
fixed typo
2015-05-05 19:37:01 +00:00
Stanislav Shwartsman
c9fba73a69
added defines about new VMX bits and controls related to Page Miss Logging (PML) EPT feature
2015-05-05 19:35:39 +00:00
Stanislav Shwartsman
16ab385e1d
added cpuid/creg bits definition announced in recent 054 update of Intel SDM
2015-05-05 19:28:25 +00:00
Volker Ruppert
fd690a3a31
Fixed compilation errors found on Cygwin64
...
- The 'Bits' type used in the opl files is incompatible with Bit64s. Modified
typedef to fix this issue.
- On Windows use Sleep() directly, since msleep() doesn't exist in Cygwin.
2015-05-05 18:06:05 +00:00
Stanislav Shwartsman
24538e3162
allow to set IPS (and as side effect any other non-hex number param) in scaled form, for example ips=100M
2015-05-04 20:25:10 +00:00