Stanislav Shwartsman
7cf38247e4
fixed warnings and errors which pop up when compiling Bochs with TRUE bool as boolean type instead of Bit32u
2016-06-01 20:29:44 +00:00
Stanislav Shwartsman
8824539630
fix code duplication in segload instr emulation
2016-06-01 20:11:54 +00:00
Volker Ruppert
fc41b20dfe
Applied current state of porting EHCI from Qemu. No functional changes yet.
2016-05-16 17:25:29 +00:00
Stanislav Shwartsman
4dc537259f
smaller block size for host allocate memory management (1MB->128KB(
2016-05-15 19:42:42 +00:00
Volker Ruppert
96ed40f0b6
Updated generated file (fixes bochsdbg.exe compilation on MSVC)
2016-05-13 17:35:23 +00:00
Stanislav Shwartsman
09e6ee3143
compile disasm module when x86-64 is not compiled in
2016-05-12 11:16:05 +00:00
Stanislav Shwartsman
12ece81e19
look only on valid tlb entries in check_addr_in_tlb_buffers and tlb invalidation methods
2016-05-06 06:57:00 +00:00
Stanislav Shwartsman
dff5e9587b
fixed SMP mode compilation err
2016-05-05 14:15:17 +00:00
Stanislav Shwartsman
009bc7388b
implement more correct vmentry to shutdown sanity check
2016-05-03 19:29:22 +00:00
Stanislav Shwartsman
6a35ceb51a
fixed err msg description
2016-05-03 19:24:52 +00:00
Stanislav Shwartsman
405d7776e8
fixed typo
2016-05-03 19:20:26 +00:00
Stanislav Shwartsman
3ffe5d3d87
parse params from string using bx_param method - avoid unnecessary switch walking over param types
2016-05-03 19:15:09 +00:00
Stanislav Shwartsman
e1532260e4
fixe compilation on cpu model missing cr4
2016-05-02 17:33:06 +00:00
Stanislav Shwartsman
b5d1b30f3d
rename variable to avoid conflict with std::string class
2016-04-30 20:44:10 +00:00
Stanislav Shwartsman
e24c7e403a
take a funtion from BX_CPU_C:: into fetchdecode.cc standalone function
2016-04-30 19:13:15 +00:00
Stanislav Shwartsman
712c219688
fixed dbger enabled build
2016-04-29 21:09:18 +00:00
Stanislav Shwartsman
793ceb0d8c
fix massive code dupliction between disasm, debugger and cpu by introducing new cpu decoder.h header
2016-04-29 21:01:28 +00:00
Stanislav Shwartsman
cc49b504b3
fix small issue on the way to Bochs decoder separation into stand-alone module
2016-04-26 12:46:44 +00:00
Stanislav Shwartsman
ca5882b310
fixed compilation with cpu-level < 5
2016-04-21 15:39:49 +00:00
Stanislav Shwartsman
87cb831a37
fixed compilation w/o x86-64 enabled
2016-04-20 14:46:02 +00:00
Stanislav Shwartsman
adc143684b
implemented Intel architecture extensions published in recently published SDM 058:
...
! Implemented UMIP: User Mode Instruction Prevention (don't allow execution of SLDT/SIDT/SGDT/STR/SMSW with CPL>0)
! Implemented RDPID instruction
Bugfixes in RDPKRU/WRPKRU instructions implementation (Protection Keys feature)
2016-04-15 11:35:32 +00:00
Volker Ruppert
45232b1860
Added standard bus mouse support and inproved existing InPort mouse support
...
(Ben Lunt). Added new mouse type choice 'inport' for the existing one and changed
'bus' type to the new standard bus mouse,
2016-03-31 17:24:34 +00:00
Stanislav Shwartsman
e4832af5ab
clean pkeys when not enabled to avoid side-effects
2016-03-19 21:15:56 +00:00
Stanislav Shwartsman
5b481fe34d
correctly set up pkeys when enabling through cr4
2016-03-19 19:48:38 +00:00
Stanislav Shwartsman
956eb6e990
add missing PKEYS define into config.h.in
2016-03-17 19:29:34 +00:00
Volker Ruppert
dca964c119
Some 8-bit register reference macro changes to produce more effective code
...
(SF patch #532 by Yeong-uk Jo).
2016-03-17 17:14:43 +00:00
Volker Ruppert
e7587d25a4
Some 8-bit register reference macro changes to produce more effective code
...
(SF patch #532 by Yeong-uk Jo).
2016-03-17 17:14:27 +00:00
Stanislav Shwartsman
cbe50a9539
enable PKE bit in CR4
2016-03-16 19:44:24 +00:00
Stanislav Shwartsman
8fe26816dc
recalculate protection keys if cr0.wp change
2016-03-04 11:59:32 +00:00
Stanislav Shwartsman
bcb36e81fa
experimental implementation of protection keys paging extension published in SDM rev054. to enable configure with --enable-protection-keys
2016-03-02 20:44:42 +00:00
Stanislav Shwartsman
9308ad31c6
remove unused param from serveIcacheMiss
2016-02-22 19:57:24 +00:00
Stanislav Shwartsman
591039e588
removed debug print
2016-02-21 20:14:15 +00:00
Stanislav Shwartsman
de85547932
update popcnt functions to faster versions
2016-02-21 18:39:10 +00:00
Volker Ruppert
ce7afe050f
Applied current state of porting EHCI from Qemu. No functional changes yet.
2016-02-09 17:11:59 +00:00
Volker Ruppert
60d5aaaacf
Added QEMU queue macros (required for EHCI) as a separate file. Removed already
...
existing defines from the Slirp compatibility header.
2016-01-08 18:58:27 +00:00
Stanislav Shwartsman
18f07937d2
add new cpuid bit announced in sdm rev057 to disasm features list as well
2015-12-29 20:22:33 +00:00
Stanislav Shwartsman
88be61c3d9
add new cpuid bit announced in sdm rev057
2015-12-29 20:21:08 +00:00
Stanislav Shwartsman
9557cafcef
revertng commit #12854 because it broke MT simulation with debugger enabled. Until investigted.
2015-12-20 22:44:54 +00:00
Volker Ruppert
f5d094024d
Started implementing USB EHCI support. The PCI and MMIO register behaviour is
...
almost implemented, the port owner handling and the UHCI companion controllers
are present. High speed devices are not yet supported, since the EHCI scheduler
code has not been written yet (e.g. porting from Qemu). Low and full speed
devices should be detected correctly and work after port ownership change to
UHCI. 6 ports are available and the bochsrc syntax is similar to other HCs.
2015-12-06 20:04:00 +00:00
Volker Ruppert
0ba744b9fe
Started implementing USB EHCI support. The PCI and MMIO register behaviour is
...
almost implemented, the port owner handling and the UHCI companion controllers
are present. High speed devices are not yet supported, since the EHCI scheduler
code has not been written yet (e.g. porting from Qemu). Low and full speed
devices should be detected correctly and work after port ownership change to
UHCI. 6 ports are available and the bochsrc syntax is similar to other HCs.
2015-12-06 20:03:42 +00:00
Volker Ruppert
5e635a87bb
Fixed IRQ sharing for multi-function PCI devices and removed workaround in the
...
UHCI core code.
2015-11-28 10:24:22 +00:00
Volker Ruppert
93f9584b1b
Load USB core plugin before parsing bochsrc, since USB HC devices depend on
...
it's symbols. Unload this plugin in the devices init if unused.
TODO: Similar changes may be required for the networking and sound stuff.
2015-11-20 18:07:27 +00:00
Volker Ruppert
e19f28dad7
Call DEV_pci_set_irq() only if the IRQ level really changes. The Bochs IRQ
...
routing code is possibly buggy, since it can make multiple UHCI devices fail
in a multi-function device (like EHCI).
2015-11-12 21:45:44 +00:00
Volker Ruppert
2f94f55a82
Some work in the UHCI core for the usage as a companion controller of EHCI.
...
- added method to change port ownership.
- fixed UHCI reset and initialized device pointers.
- added symbol UHCI_FULL_DEBUG to reduce debug output if not set.
- renamed connection handling method.
2015-11-08 18:54:30 +00:00
Volker Ruppert
7d56f7d1d5
Split the USB UHCI code in two parts: uhci_core.cc implements the device
...
emulation and usb_uhci.cc implements the setup for the PIIX3 chipset and the
runtime device change code. The UHCI core is required for the EHCI emulation,
since there can be multiple "companion" controllers for USB 1.1 device handling.
2015-11-05 21:21:15 +00:00
Volker Ruppert
d455659bd1
Split the USB UHCI code in two parts: uhci_core.cc implements the device
...
emulation and usb_uhci.cc implements the setup for the PIIX3 chipset and the
runtime device change code. The UHCI core is required for the EHCI emulation,
since there can be multiple "companion" controllers for USB 1.1 device handling.
2015-11-05 21:20:54 +00:00
Volker Ruppert
aefccb14ab
Added support for registering master PCI devices with function > 0 (required
...
for implementing EHCI).
2015-11-04 16:32:16 +00:00
Volker Ruppert
76c065dd89
Fixed usage of MSD device on xHCI hub.
...
- implemented xHCI TRB command "Reset Device".
- fixed SCSI read/write commands in non-async mode.
2015-11-02 21:36:38 +00:00
Volker Ruppert
56a7b11ab5
Align PCI memory regions at 64k boundary to make Bochs memory handlers work
...
correctly (registering small MMIO regions of USB controllers could fail otherwise).
2015-11-02 17:00:24 +00:00
Volker Ruppert
8df02880f8
Align PCI memory regions at 64k boundary to make Bochs memory handlers work
...
correctly (registering small MMIO regions of USB controllers could fail otherwise).
2015-11-02 16:59:50 +00:00
Volker Ruppert
c2b790809d
Simplify xHCI code, since the capability registers are readonly.
...
- Moved initialization from reset_hc() to init().
- Removed save/restore registration.
- Removed extra debug output.
2015-11-01 08:55:03 +00:00
Volker Ruppert
be304bf4af
Definition of maximum nuber of USB ports moved from bochs.h to device.
2015-10-31 15:12:36 +00:00
Volker Ruppert
234f10f159
The OHCI async support works fine in all tests, so some BX_INFO messages
...
can be changed now to BX_DEBUG.
2015-10-26 20:23:33 +00:00
Stanislav Shwartsman
6e5a0c8313
fixed compliation err
2015-10-26 17:49:45 +00:00
Volker Ruppert
7cf7ee8293
Block device detection fixes for Linux.
...
- now using macro S_ISBLK() to detect block device (cdrom/hdimage).
- re-implemented recently removed check for block device in concat mode.
2015-10-25 17:02:12 +00:00
Volker Ruppert
c3a7db7f82
Added support for full silent install.
2015-10-25 12:21:24 +00:00
Volker Ruppert
7c0d93884e
Fixed array size (rfb) and added comment (win32).
2015-10-25 09:22:43 +00:00
Volker Ruppert
cbd147fca3
Fixed and improved text mode CO40.
...
- vgacore: double font and screen width at half dot clock.
- X gui: improved font bitmap generation to support width > 9.
- win32 gui: adjust values to use existing stretching feature.
- guis rfb, sdl, sdl2, vncsrv and wx: double pixels if font width > 9.
2015-10-24 22:03:51 +00:00
Volker Ruppert
1a3bf9419c
SDL/SDL2: increase status item width to show max. 6 characters
2015-10-23 18:39:38 +00:00
Volker Ruppert
fcf9b8285b
Added seek emulation for USB disk write commands (async mode required).
...
Fixed MSD status handling (required for seek emulation).
2015-10-22 18:13:59 +00:00
Volker Ruppert
3c7260a01b
Improved panic message for unavailable image mode.
...
Removed disabled code in the 'sparse' section.
2015-10-18 07:13:56 +00:00
Volker Ruppert
2420ba499e
Fixed 'concat' mode lseek() for whence != SEEK_SET.
2015-10-17 14:08:23 +00:00
Volker Ruppert
141aea5f1b
Fixed and improved 'concat' disk image mode.
2015-10-17 10:06:36 +00:00
Volker Ruppert
c3397b15d7
Fixed read() and write() methods of most disk images modes to support multiple
...
sector transfers (buffer pointer update was missing). Multiple sectors transfers
could for the USB disk emulation and for image conversion with bximage.
2015-10-15 17:21:34 +00:00
Volker Ruppert
708e946cb8
As a workaround for possibly buggy hdimage code, read() and write() calls
...
transfer only one disk sector. Moved disk write code to the seek_complete()
method (seek emulation for write commands is not ready yet).
2015-10-13 19:49:09 +00:00
Volker Ruppert
b22023838c
Completed save/restore support for the USB xHCI device.
...
TODO: reduce size of saved file (find a way to skip unused slots).
2015-10-11 17:07:18 +00:00
Volker Ruppert
3fc71ec131
Now using BXRS_* macros for all USB devices.
...
TODO: This should be used everywhere in register_state() if possible.
2015-10-11 07:33:22 +00:00
Stanislav Shwartsman
a8a325f2f5
#define to enum or inline function convertion
2015-10-09 19:33:36 +00:00
Stanislav Shwartsman
ea3c1c77eb
added vmx consistency checks related to recently implemented support for vm-entering shutdown/wait-for-sipi state
2015-10-09 06:18:14 +00:00
Stanislav Shwartsman
cd2129ec3b
avoid calling prefetch() each time when linking traces cross page
2015-10-09 05:33:44 +00:00
Stanislav Shwartsman
9f77a6c3b0
full debugger support together with handler-chaining speedups optimization enabled (experimental)
...
should speedup emulation with debugger enabled
2015-10-09 05:28:47 +00:00
Volker Ruppert
eed2bb15b8
Simplified register_state() for for small byte arrays in remaining i/o devices.
2015-10-06 18:20:16 +00:00
Volker Ruppert
9bc8651328
Extended functionality of class bx_shadow_data_c to simplify saving small byte
...
arrays. Changed register_state() code in a few devices to use this feature.
TODO: Use this feature in all devices with small byte arrays.
2015-10-05 18:09:58 +00:00
Volker Ruppert
12915a48f2
Added missing update of 'curr_lba' for the harddisk read seek emulation.
...
Added comments to the MSD / SCSI members similar to usb_cbi.
Now using BXRS_* macros for save/restore.
2015-10-04 08:54:36 +00:00
Volker Ruppert
b754d72ab2
Some work on the USB disk/cdrom emulation.
...
- More accurate seek emulation for read commands.
- Moved status indicator code to the SCSI layer.
- Fixed dump size for async packets.
TODO: Seek emulation for disk write commands.
2015-10-03 07:19:48 +00:00
Stanislav Shwartsman
12f6857968
fixed smm restore of segment register's selector
2015-09-30 18:55:21 +00:00
Stanislav Shwartsman
18fced44ae
clean wrongly committed line
2015-09-30 18:45:01 +00:00
Stanislav Shwartsman
8d13b61319
implemented TSC Scaling VMX feature according to timestamp-counter for virtualization whitepaper published by Intel
2015-09-30 18:44:01 +00:00
Stanislav Shwartsman
ad52e15860
added few tlb specific cpustat counters
2015-09-28 19:09:32 +00:00
Stanislav Shwartsman
0e37969e32
stop flooding log by messages which not necesary indicate guest code error
2015-09-28 18:45:26 +00:00
Stanislav Shwartsman
dd1ec977c2
enable vmenter to wait-for-sipi state
2015-09-28 18:42:05 +00:00
Stanislav Shwartsman
3a563a6573
use segment rok4g and wok4g in the fast string optimizations for correctness
2015-09-28 18:37:35 +00:00
Volker Ruppert
256fd99d12
USB floppy "format unit" timing implemented similar to read/write timing.
...
Added latency time for the "implied seek" of read/write/format commands. Both
features can be used when asynchronous packet handling is available. Some
related changes in the non-async read and write code.
2015-09-28 18:15:18 +00:00
Volker Ruppert
71774c57bb
Some work on the USB floppy emulation.
...
- Added support for changing image mode at runtime (flat <-> vvfat).
- Added device buffer to save/restore list.
2015-09-27 15:02:38 +00:00
Volker Ruppert
fa08563adf
Fixed configure script for the MSVC target with 64 bit. Now the configure option
...
'--target=x86_64-windows' can be used to prepare Bochs for WIN64 compiled with
e.g. VS2013.
2015-09-27 11:04:02 +00:00
Volker Ruppert
b22a57d4df
Some work on the USB floppy emulation.
...
- Added missing update of the write protection flag after runtime config.
- Added sense codes for invalid cases of some commands.
- Added buffer pointer save/restore handling and use BXRS macros now.
2015-09-27 08:32:54 +00:00
Volker Ruppert
e8d045ad30
USB floppy sector write timing implemented similar to read timing. It can be
...
used when asynchronous packet handling is available. Some changes in the
non-async read and write code.
TODO: seek timing (similar to legacy floppy).
2015-09-26 09:19:56 +00:00
Stanislav Shwartsman
8232928096
small code optimization and simplification
2015-09-23 19:25:07 +00:00
Stanislav Shwartsman
c44cb6ed81
more cases applicable for BX_TLB_ENTRY_OF
2015-09-22 20:10:22 +00:00
Stanislav Shwartsman
a66ed15d26
added missing tlb.h
2015-09-21 20:07:06 +00:00
Stanislav Shwartsman
be4b73c6d2
extracted tlb specific code to tlb.h; extracted xsave cpuid leaf function to base cpuid class
2015-09-21 13:16:17 +00:00
Volker Ruppert
2232dd23d6
USB floppy sector read timing implemented based on the drive speed 300 RPM.
...
It can be used when asynchronous packet handling is available. Some changes in
the non-async read and write code.
TODO: sector write timing, seek timing (similar to legacy floppy).
2015-09-20 10:53:16 +00:00
Volker Ruppert
6cbd6e247a
USB floppy command FORMAT UNIT implemented and read commands fixed. Formatting
...
media in USB floppy works now with XP guest.
2015-09-19 12:45:54 +00:00
Volker Ruppert
12cace4c5a
Some work on async packet and seek emulation support.
...
- deactivate seek timer when operation is cancelled.
- set async packet mode with a separate method at connection time.
- renamed some variables and prepared seek emulation for USB disk writes.
2015-09-16 17:08:50 +00:00
Volker Ruppert
0b432b313f
Added seek emulation support for USB harddisk reads and cleaned up the
...
MSD / SCSI code.
TODO list (async packet and seek support):
- seek emulation for USB harddisk write commands
- seek emulation for floppy
- async packet support for UHCI and xHCI
- improve and clean up OHCI async packet code
2015-09-15 17:55:32 +00:00
Stanislav Shwartsman
c8cf4f956d
fix halt cpu indication from debugger
2015-09-14 19:17:20 +00:00
Volker Ruppert
491dc311ca
Some work for asynchronus USB packet handling (needed by disk/cdrom seek emulation).
...
- Common USB code prepared for async USB packet handling (ported from an earlier
Qemu version).
- Added simple async packet handling to OHCI (partly ported from earlier Qemu).
- Implemented USB cdrom seek emulation for hubs with async packet support. The
legacy code is still present for hubs without this feature.
- For UHCI and xHCI the callback is set to NULL to force the usage of the
legacy cdrom read code.
TODO: clean up OHCI code, async support for UHCI and xHCI, seek emulation for
USB harddisk and floppy.
2015-09-13 20:04:41 +00:00
Volker Ruppert
8db5305b18
Updated MSVC workspaces after adding USB floppy support.
2015-09-12 08:06:20 +00:00
Stanislav Shwartsman
da39e57196
comment fixes
2015-09-08 19:14:58 +00:00
Volker Ruppert
6dbd4c37a9
Some USB debug output (packet dump) changes
...
- rewrite of usb_dump_packet(), execute code only if debug output is enabled.
- OHCI: removed packet dump, it should be done in the devices code if necessary.
2015-09-06 06:54:07 +00:00
Volker Ruppert
a536aa8286
Fixed format capacities list for the "no medium" case.
2015-09-05 11:35:05 +00:00
Volker Ruppert
f54feb5b91
Some variables should not be handled by the xHCI internal save/restore, moving
...
them out of the hub structure.
Fixed a warning.
2015-09-05 07:23:25 +00:00
Volker Ruppert
b69e40d584
The USB host controllers have no asynchronus packet completion support yet.
...
TODO: implement this feature (useful for cdrom, disk and floppy devices).
2015-09-05 06:30:28 +00:00
Volker Ruppert
4b83f9e899
If the debug mode is enabled for usb_msd, turn it on for the SCSI device, too,
...
Don't try to insert cdrom media if device/image path is empty.
2015-09-03 18:54:51 +00:00
Stanislav Shwartsman
f76b972fed
bugfix in call gate handling from call far instruction - found with rdos
2015-09-02 19:14:47 +00:00
Volker Ruppert
b5355d3ba7
Added infos and example for the USB floppy to the documentation.
2015-09-01 19:01:37 +00:00
Volker Ruppert
44d0e8f911
Added media change support for the USB floppy.
2015-08-31 20:51:54 +00:00
Volker Ruppert
c136fa1618
Added framework for USB floppy media change support based on the USB cdrom
...
code (not yet functional).
Minor related changes in the USB cdrom code.
2015-08-30 08:37:27 +00:00
Volker Ruppert
2dbfae1b1c
Fixes and improvements for the USB cdrom runtime options.
...
- Add a special list to the MSD state and add pointers to the runtime-only
options for the cdrom. The restore handler of this list calls runtime_config()
to make sure the media path and status are correctly updated.
- Registering a runtime config handler for the USB cdrom is not necessary since
runtime_config() is always called from the hub it is connected to.
- Restore a string parameter value only if it's different from the initial one.
2015-08-29 14:02:13 +00:00
Volker Ruppert
946a6bf50e
Fixed USB device disconnect: clear save/restore list before deleting device
...
(bug found with valgrind).
2015-08-28 18:52:54 +00:00
Volker Ruppert
7da8cfa4b0
Fixed save/restore support of the USB subsystem when using an external hub
...
with devices conected at runtime.
- Added restore handler support for the bx_list_c class. If a handler is
registered, it will be called after restoring all of the list's members.
- USB hub: add special lists to the port state and add pointers to the
runtime-only options for each port. The restore handler of this list calls
init_device() to make sure all connected devices can be restored.
- Call restore_logopts() after restoring hardware to make sure all saved
modules have been created.
- TODO: the USB cdrom also needs a fix for it's runtime-only options.
2015-08-28 17:37:38 +00:00
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
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
Stanislav Shwartsman
5edd53186e
optimize for target with no x86-64 support
2015-05-04 19:58:01 +00:00
Stanislav Shwartsman
28fc5083af
remove the victim cache code to resolve assert in proc_ctrl.cc
2015-05-04 19:47:52 +00:00
Stanislav Shwartsman
4c34b97db1
fixed comment
2015-05-03 19:44:24 +00:00
Volker Ruppert
7aab4c561e
Regenerated after release.
2015-05-03 17:04:00 +00:00
Volker Ruppert
3aef6a67af
Enabled pthread library for all configurations on non-Windows targets.
...
Usual updates after release (version strings, release tag).
2015-05-03 17:03:26 +00:00
Volker Ruppert
8dd092050f
Updated version number
2015-05-03 06:39:56 +00:00
Volker Ruppert
783c3e89c2
Regenerated for release
2015-05-03 06:37:18 +00:00
Volker Ruppert
9d4ef351e7
Preparing Bochs release 2.6.8
2015-05-03 06:36:30 +00:00
Stanislav Shwartsman
5ef56d6d79
rename fpu function
2015-05-02 20:08:36 +00:00
Stanislav Shwartsman
4c7a05621c
reorg of code managing MXCSR to softfloat status conversion
2015-05-02 19:54:48 +00:00
Volker Ruppert
84a704e600
Some documentation fixes and updates.
2015-05-02 15:40:11 +00:00
Volker Ruppert
29d54ac8b8
Fixed some compilation errors / warnings found on Mac OSX (SF bug #1371 ).
2015-05-02 08:42:44 +00:00
Volker Ruppert
722274fd09
Enabling non-blocking mode can cause socket connection failures (at least when
...
compiled with VS2013).
TODO: slirp should use separate threads for input and output.
2015-05-01 19:41:08 +00:00
Volker Ruppert
742e919f72
Updated changes
2015-05-01 15:21:24 +00:00
Volker Ruppert
2c836e461e
Some small updates in the developer doc.
2015-05-01 14:58:50 +00:00
Volker Ruppert
a76a232115
Fixed crash on exit caused by physical drive without media present. Now setting
...
fd to -1 if there is no readable media found.
2015-04-28 17:01:41 +00:00
Volker Ruppert
506dd623f6
Using "read toc" to get the media size doesn't work correctly for DVDs on Linux.
...
Now using BLKGETSIZE64 ioctl seems to fix the reported capacity.
2015-04-26 15:59:08 +00:00
Volker Ruppert
9daf8d6673
Documentation for the "waveout" class methods is now complete.
2015-04-25 12:43:48 +00:00
Volker Ruppert
8db4261869
The win32ParamDialog now can handle bx_param_num_c values with full Bit64s size.
2015-04-23 18:44:51 +00:00
Stanislav Shwartsman
9be2f07d54
fix compilation err when SVM is enabled
2015-04-21 08:20:28 +00:00
Stanislav Shwartsman
e72f66ce49
added BX_CPP_AttrRegparmN to xmm/ymmz/zmm read methods matching cpu.h
2015-04-19 20:47:55 +00:00
Volker Ruppert
3bdb1aa555
Some more work on the documentation for the "waveout" class methods (still
...
not complete).
2015-04-19 07:25:17 +00:00
Stanislav Shwartsman
239b1ae684
added missed vmexit reason to debug print
2015-04-18 19:25:58 +00:00
Volker Ruppert
f8264a7b38
The RSDT table may be detected incorrectly within the rombios32 string table.
...
Split copying signature and the check for in to parts to fix this ACPI issue.
2015-04-18 13:19:21 +00:00
Volker Ruppert
f169c68174
The RSDT table may be detected incorrectly within the rombios32 string table.
...
Split copying signature and the check for in to parts to fix this ACPI issue.
2015-04-18 13:18:01 +00:00