Stanislav Shwartsman
5847e772a6
set async_event when injecting virq to SVM guest
2012-01-01 21:22:56 +00:00
Stanislav Shwartsman
269d5e3443
more SVM fixes
2012-01-01 20:26:23 +00:00
Stanislav Shwartsman
810aa1b67c
fixes for SVN. also turion64_tyler supports RDTSCP - include it in CPUID
2012-01-01 17:54:41 +00:00
Volker Ruppert
ca09763e89
- documentation.dbk: added some hints for using docbook / jade
...
- updated compilation and installation transcripts
- updated / fixed docs for bxcommit and bximage
2012-01-01 17:32:36 +00:00
Stanislav Shwartsman
30d90c1dc1
more SVM fixes
2011-12-31 20:10:11 +00:00
Volker Ruppert
759f9cb0f0
- don't update the queue head if a short packet is detected (fixes UHCI on XP)
2011-12-31 17:37:30 +00:00
Stanislav Shwartsman
b97a108d93
SVM: allow entering vm8086 and also paged real mode
2011-12-31 16:33:36 +00:00
Stanislav Shwartsman
a0b5ff48ec
more SVM fixes
2011-12-31 14:22:51 +00:00
Stanislav Shwartsman
3c0d712146
SVM fixes
2011-12-31 13:58:55 +00:00
Stanislav Shwartsman
fe6741d84d
fixed SVM bug
2011-12-31 13:26:55 +00:00
Stanislav Shwartsman
fe6328d18c
correctly enable SVM support in internal CPU features list
2011-12-31 12:58:20 +00:00
Volker Ruppert
afef1e621e
- update redolog image position with lseek() if the read/write access is not
...
handled by the volatile redolog (fixes tests with Windows XP)
- allow volatile write to boot sector
2011-12-31 12:51:07 +00:00
Stanislav Shwartsman
46d8a5894e
removed bad RDMSR/WRMSR check which disabled access to AMD extended MSRs
2011-12-31 12:37:35 +00:00
Volker Ruppert
185490c158
- fixed possible segfault when setting up file attributes
...
- some more hidden / system directory fixes
- parse_directory() / write_file(): continue only if next cluster is valid
- TODO: fix VVFAT with Windows XP guest (unmodified FAT ?)
2011-12-30 23:23:34 +00:00
Stanislav Shwartsman
560e3ca254
compilation fix for smp=0
2011-12-30 18:55:19 +00:00
Stanislav Shwartsman
cee8a3b9ef
AMD's core has special 0x80000008.ecx value
2011-12-30 18:53:41 +00:00
Stanislav Shwartsman
088ab4832f
turion64 tyler supports cmpxchg16b
2011-12-30 18:46:46 +00:00
Volker Ruppert
5f0ec6c805
- fixed behaviour of "enable changed" port status bit
...
- improved error message
- TODO: fix UHCI with Windows XP guest (device not recognized)
2011-12-30 17:29:43 +00:00
Stanislav Shwartsman
2a0d989755
fixed compilation err with SVm w/o VMX
2011-12-30 12:24:22 +00:00
Volker Ruppert
223fe998b3
- code for setting up log actions by device rewritten
...
- unknown module names now cause a panic
- added log function names to some more devices
- TODO: find a way to configure log actions by device in the config interface
start menu (most of the devices do not exist at this point)
2011-12-30 11:13:37 +00:00
Stanislav Shwartsman
93523a657d
remove patch that always kept IF set after HLT - not needed anymore
2011-12-30 08:50:01 +00:00
Stanislav Shwartsman
3501eeceaf
updated cpudb list in .bochsrc sample
2011-12-29 22:01:51 +00:00
Volker Ruppert
b130bf671b
- initial "log action by device" implementation added (TODO: check for
...
invalid module names, save log actions to bochsrc)
- added new member 'name' to the logfunctions class for the case the prefix
is too short. Added to some devices with longer names.
2011-12-29 19:51:54 +00:00
Volker Ruppert
32f53b5151
- performance fix for the new status LED code: only call the gui specific code
...
to update the status text if there is really a change
- changed the counter resolution to 5 (auto-off still happens after 0.5 seconds)
- the element value -1 is only used to reset the LEDs, so we have to ignore the
status flags
2011-12-29 16:28:58 +00:00
Volker Ruppert
13506f74ee
- fixed handling of directories with the attributes 'hidden' and 'system'
2011-12-29 15:39:04 +00:00
Stanislav Shwartsman
abda3a967c
added two AMD CPUs to CPUDB
2011-12-29 14:23:22 +00:00
Volker Ruppert
09391fc21a
- prepared "set log action by device" feature in the parameter tree and the
...
bochsrc parser. When read it will be possible to define exceptions from the
default setting like this:
debug: action=ignore, pci=report
- TODO (almost everything)
- add a 'name' member to the logfunctions class, since the prefix might be
too short
- apply special log actions the log modules and panic on unknown modules
- support saving special log action to bochsrc
2011-12-29 12:44:38 +00:00
Stanislav Shwartsman
644c7c6289
undo bxswap change - it breaks build with bx_debugger enabled. error - multiple definition of bx_swap16 in parser.o and lexer.o
2011-12-28 22:43:18 +00:00
Stanislav Shwartsman
7cd72d6f79
remove old garbage from makefile
2011-12-28 22:35:21 +00:00
Stanislav Shwartsman
c62426145a
moved bx_bswap definition into osdep.h so bximage tool can also include them
2011-12-28 22:17:12 +00:00
Stanislav Shwartsman
5da69a6fb4
fixed typo - invalid CPUID leaf should go to max std leaf
2011-12-28 21:59:39 +00:00
Stanislav Shwartsman
2b854cb101
added basic (very basic) SVM CPUID into generic_cpuid module
2011-12-28 21:54:51 +00:00
Stanislav Shwartsman
0a14f08f16
completing SVM coding, missed - CPUID, extended APIC
2011-12-28 16:12:28 +00:00
Volker Ruppert
ea80df55e6
- implemented "auto-off" status LED feature and removed old "iolight" code
2011-12-28 14:53:05 +00:00
Stanislav Shwartsman
864ea23b5b
take events handling logic from cpu.cc to new file event.cc
2011-12-28 12:26:45 +00:00
Stanislav Shwartsman
dcfa57087f
fixed typo in configure script
2011-12-28 12:20:49 +00:00
Volker Ruppert
0b2bec6752
- implemented "auto-off" timer for the status bar LEDs that replaces the
...
existing "iolight timer" code in the hard drive code. If an LED is registered
with the "auto-off" flag, the device only needs to turn on the LED to indicate
data transfer. The LED timer in the gui code turns it off after 0.5 seconds if
it is not actived by another transfer. Added this feature to all network
devices.
- TODO #1 : implement this feature in the USB host controllers
- TODO #2 : the unused timer in the hard drive code could be used for the
emulation of seek functions
2011-12-28 11:51:42 +00:00
Stanislav Shwartsman
2b8371f2b6
implemented SVM_GIF handling
2011-12-27 20:46:15 +00:00
Stanislav Shwartsman
7f5f917a34
more SVM implementation
2011-12-27 19:42:11 +00:00
Volker Ruppert
3e65692e40
- some progress for making the E1000 work with Windows XP
...
- allow to set the PCI busmaster bit
- implement byte read access for the status register
2011-12-27 16:39:31 +00:00
Volker Ruppert
8ef4c8abaa
- removed plugins 'acpi' and 'ioapic' from the optional plugin control to avoid
...
trouble. In the future they may depend on the selected PCI chipset.
2011-12-27 13:02:35 +00:00
Stanislav Shwartsman
c32eaa5d05
added more svm intercepts
2011-12-26 20:51:57 +00:00
Volker Ruppert
0de2516d05
- fixes to avoid crash after unloading plugins before simulation
...
- small cleanups
2011-12-26 20:32:56 +00:00
Stanislav Shwartsman
6ae86a059b
firt cleanup in SVM code. added intercept check for MSR and IO
2011-12-26 19:57:39 +00:00
Volker Ruppert
046b74d94c
- devices 'e1000' and 'es1370': moved config parameter creation and bochsrc
...
option parsing to the plugin device code
- TODO: some more optional device plugins could be modified this way
2011-12-26 17:32:57 +00:00
Stanislav Shwartsman
8b4a2c2034
implemented some more intercepts.
...
fixed compilation without SVM
2011-12-26 16:33:13 +00:00
Volker Ruppert
add7af8c13
- added support for converting growing to flat mode images
...
- added command line arguments and non-interactive (quiet) mode
2011-12-26 12:49:36 +00:00
Stanislav Shwartsman
bfcbb81602
SVM:
...
- IO intercept is not implemented yet
- MSR intercept is not implemented yet
VMX:
Fixed Bochs PANIC crash when doing I/O access crossing VMX I/O permission bitmaps.
This can happen because access_physical_read and access_physical_write cannot access memory cross 4K boundary.
2011-12-25 22:09:31 +00:00
Stanislav Shwartsman
ea6dfe3dc0
added svm files
2011-12-25 20:01:48 +00:00
Stanislav Shwartsman
01080243d4
complation fix
2011-12-25 19:58:21 +00:00
Stanislav Shwartsman
a44c1b8e1e
SVM and VMX share tsc offset code
2011-12-25 19:53:23 +00:00
Stanislav Shwartsman
75bda1d5cd
implemented SVM emulation support for Bochs (incomplete yet)
...
I am merging the code in order to start making shortcuts between VMX emulation and SVM emulation.
Of course SVM emulation is incomplete, completely untested and not expected to work.
But someone could already take a look one the code and give some suggestions.
Also looking for anybody with existing SVM kernels - as simple as possible - for testing.
Status:
- exceptions intercept is not implemented yet
- IO intercept is not implemented yet
- MSR intercept is not implemented yet
- virtual interrupts are not implemented yet
- CPUID is not implemented yet
No advanced SVM featurez planned - I am implementing the very basic 'Pacifica' document from 2005 using QEMU code as reference.
2011-12-25 19:35:29 +00:00
Volker Ruppert
aad2d89c83
- rewrite of the optional plugin control feature. Now the plugins are loaded
...
directly while parsing the bochsrc or command line. If plugin support is enabled,
the option could load all optional plugins, not only the ones supported before.
NOTE #1 : The old option had all plugins enabled by default and gave the user
a chance to diable them. Now the plugins are only loaded if they
appear in the config line and they are set to "1".
NOTE #2 : Loading a plugin that is controlled by a bochsrc option is possible,
but it currently leads to a panic, since the load command is still
present in devices.cc.
NOTE #3 : The plugin init code creates the device object and registers the
optional plugin device. As an option, it can create config parameters
and register an option parser. The device init, register state and
reset is still handled in devices.cc, but in the order the devices
have been loaded with the plugin control.
NOTE #4 : If plugin support is disabled, the plugin control only accepts the
devices listed in plugin.cc.
- plugin init of core plugins now fails if they are not loaded with the expected
type. For core plugins the load order is important and they cannot be handled
with the chained devices list (used for optional and user plugins).
- some additions for calling config.cc functions from a plugin device
2011-12-25 08:52:34 +00:00
Volker Ruppert
c4952b4c84
- E1000 support: updated workspace files and documentation
2011-12-24 15:17:10 +00:00
Volker Ruppert
f9ed249f10
- moved shared NIC config parameter init and parsing code to separate functions
...
(mac, ethmod, ethdev, script and bootrom)
2011-12-23 14:40:43 +00:00
Volker Ruppert
04b0bcb746
- some work for the case the plugin support is turned off
...
- added plugin unload function and improved load function
- use new function in bx_unload_plugins()
- new macro BX_UNREGISTER_DEVICE_DEVMODEL for future enhancements
2011-12-23 12:01:58 +00:00
Volker Ruppert
6df6f4ff76
- renamed 'user options' to 'addon options'. When a load option for optional
...
plugins is implemented in bochsrc, these functions can be used to install
additional options from the devices code. Then the whole init / parse / save
code for this device can be moved from config.cc to the device plugin.
2011-12-23 10:03:10 +00:00
Stanislav Shwartsman
4bb4d29f8c
better report supported CPUID features when not using pre-defined CPUID profile
2011-12-22 19:12:37 +00:00
Stanislav Shwartsman
d613ce554f
added extra CPUID option (VMX) - increase list count
2011-12-22 15:49:16 +00:00
Volker Ruppert
38a797f502
- added function for loading optional plugins in case the plugin support is
...
turned off. Removed workaround code from devices.cc.
- removed 'pci_ide' plugin from the optional plugin control, since it depends
on the presence of 'pci' and 'harddrv'.
- define types for plugin init/fini functions
2011-12-22 10:35:49 +00:00
Volker Ruppert
d070de30dd
- removed BX_INFO (used for testing PCI ROM support)
2011-12-22 08:21:48 +00:00
Volker Ruppert
bfa3a14265
- PCI ROM handling fixes
...
- fixed tmpsize (patch by Sebastian Herbszt)
- disable PCI ROM access after copying to shadow RAM (same as SeaBIOS)
2011-12-22 07:53:51 +00:00
Volker Ruppert
40052509d2
- PCI ROM handling fixes
...
- fixed tmpsize (patch by Sebastian Herbszt)
- disable PCI ROM access after copying to shadow RAM (same as SeaBIOS)
2011-12-22 07:53:25 +00:00
Stanislav Shwartsman
2dee4b12be
added VMX .bochsrc option to ctoggle VMX ON/OFF on runtime
2011-12-21 09:11:51 +00:00
Stanislav Shwartsman
e7ed8aca5c
move inhibit interrrupts functionality to icount interface
2011-12-21 06:17:45 +00:00
Volker Ruppert
e38772006f
- added PCI ROM init code that copies to shadow RAM and use it for both VGA
...
and other boot ROMs
- define and use PCI constants (patch by Sebastian Herbszt)
2011-12-20 19:34:47 +00:00
Volker Ruppert
46d5caa98d
- added PCI ROM init code that copies to shadow RAM and use it for both VGA
...
and other boot ROMs
- define and use PCI constants (patch by Sebastian Herbszt)
2011-12-20 19:34:05 +00:00
Volker Ruppert
e312454851
- several fixes in PCI ROM code of the memory handlers
...
- use 'pci_rom_size - 1' as the mask for the offset address
- ne2k: memory handlers must be disabled if compiled without PCI support
- svga_cirrus: check for the PCI ROM size to make VBE work correctly
- added BX_INFO to the mem write handlers
2011-12-20 19:33:16 +00:00
Stanislav Shwartsman
7cdeecf198
VMX: fixed VirtualBox VMX guest Guru Meditation - FS.BASE get corrupted after saving/restoring unusable selector
2011-12-19 16:06:53 +00:00
Stanislav Shwartsman
6cc03432d9
improve VMX debug print
2011-12-18 21:04:30 +00:00
Volker Ruppert
927d9bb057
- added PCI network boot ROM support to all network adapters. The ISA version
...
of the NE2000 is not supported and it currently requires SeaBIOS to boot.
- TODO: implement PCI network boot ROM support in the Bochs BIOS
2011-12-18 20:26:14 +00:00
Stanislav Shwartsman
f6203dae7d
instrumentation: added special indication for indirect call/jump
2011-12-18 18:11:56 +00:00
Volker Ruppert
e635b86c16
- unload optional and user plugins first to avoid segfault in case of
...
dependencies on core plugins
- added missing core plugins to unload
2011-12-18 10:47:26 +00:00
Volker Ruppert
c9af6d043d
- all networking modules: check device receive status before sending packet
...
- networking modules 'slirp' and 'vnet': use device speed for timing of
emulated replies.
2011-12-18 09:12:38 +00:00
Stanislav Shwartsman
9763643106
VMX: Fixed VMFUNC instruction behavior to align with Intel SDM revision 041
2011-12-17 14:06:23 +00:00
Stanislav Shwartsman
fa7c225405
fixed typo - closing SF bug [3461405] step all command fails in SMP mode
2011-12-17 13:32:08 +00:00
Volker Ruppert
27c857784d
- prepared receive status callback function that returns several flags.
...
For now it returns a flag that indicated that the device can receive data
from the eth module and flags for the device speed. TODO: Use this callback
in the eth modules before sending data to the device.
2011-12-17 08:22:33 +00:00
Stanislav Shwartsman
83cf658361
simplify x87 polinoms evaluation code
2011-12-16 19:22:03 +00:00
Volker Ruppert
982064bc5a
- small cleanups
2011-12-16 19:16:44 +00:00
Volker Ruppert
c1c222f7d0
- some 'pcipnic' device fixes (plugin make rule, PCI BAR number, init message)
2011-12-16 18:34:48 +00:00
Volker Ruppert
dd678424f0
- more work on the new E1000 device
...
- another temporary solution for host from/to little endian conversion
- changed some variable types to bx_bool
- some other small cleanups
- TODO: add boot ROM support to all network devices
2011-12-15 20:57:43 +00:00
Stanislav Shwartsman
50d6ab3a1b
fixed compilation issue under win32 --with-nogui
2011-12-15 19:33:06 +00:00
Volker Ruppert
14256dcc09
- more work on the new E1000 device
...
- added save/restore support
- added description in bochsrc sample
- added to script .conf.everything
2011-12-14 22:48:57 +00:00
Stanislav Shwartsman
352fe5cc29
update devices.txt
2011-12-14 21:39:17 +00:00
Volker Ruppert
89ddc6e049
- regenerated after adding E1000 support
2011-12-14 16:52:13 +00:00
Volker Ruppert
5045a241e8
- ported Intel(R) 82540EM Gigabit Ethernet adapter emulation from Qemu
...
- TODO: add save/restore support, use Bochs function for host to little endian
data conversion, timers of networking modules 'vnet' and 'slirp' should use
the device speed instead of fixed 10 MBit
2011-12-13 20:53:44 +00:00
Volker Ruppert
51cf9faa12
- added missing dependencies for cdrom_osx.o
2011-12-11 12:07:01 +00:00
Stanislav Shwartsman
cbbd8bfd46
fixed some warnings after compilation with msvcpp 2010
2011-12-10 18:58:25 +00:00
Stanislav Shwartsman
76449fa8a5
applied SF patch
2011-12-10 08:20:19 +00:00
Stanislav Shwartsman
ac0ebc9728
added debug prints about vmcs initialization
2011-12-09 19:57:40 +00:00
Stanislav Shwartsman
117333ca8f
fixed SF bug: Crash on WIN2K - ID: 3454214
2011-12-08 06:46:52 +00:00
Volker Ruppert
34644308f7
- added 'nokeyrepeat' option for the win32 gui
2011-12-04 21:15:35 +00:00
Volker Ruppert
eafa122339
- added 'nokeyrepeat' option for the SDL gui
2011-12-04 09:04:16 +00:00
Volker Ruppert
c4e2c080cc
- added multiuser support to the Bochs installer. This fixes SF bug #3018258 .
2011-12-04 08:25:01 +00:00
Stanislav Shwartsman
d3fe5c607e
compilation fix
2011-12-02 20:11:57 +00:00
Stanislav Shwartsman
81f55b5be7
improved the fix for busmaster DMA transfers from device to memory done by Volker
2011-12-02 19:41:54 +00:00
Stanislav Shwartsman
f496e78326
fixed compilation warning
2011-12-02 19:40:31 +00:00
Volker Ruppert
1f18f5831f
- final fix for busmaster DMA transfers from device to memory: new memory method
...
writePhysicalBlock() replaces the buggy code in iodev.h.
Calling pageWriteStampTable.decWriteStamp(addr) is required here to make memcpy() work.
2011-11-30 17:11:43 +00:00
Stanislav Shwartsman
1e3e6ff2af
BMI: fixed EFLAGS after BMI instructions (set EFLAGS while preserving PF was not implemented properly in 2.5 release)
2011-11-29 19:50:26 +00:00
Volker Ruppert
be53c733cf
- temporary fix for the possible failure of busmaster DMA transfers caused by
...
memcpy(). The reason for the failure is unknown. Using writePhysicalPage()
is safe, but slower and it only works on little endian hosts. On big endian
hosts the data block would be copied in reverse order. We have to check
whether or not this behaviour is expected for blocks > 8 bytes.
2011-11-29 19:36:41 +00:00
Stanislav Shwartsman
b8f2d91b9a
fixed compilation err
2011-11-28 21:16:40 +00:00
Stanislav Shwartsman
99bec5155e
fixed compilation err in instrumentation module
2011-11-28 10:08:03 +00:00
Stanislav Shwartsman
f37ec997ba
removed very old deprecated configure options from configure script - they are deprecated for more than 2 releases
2011-11-27 21:45:08 +00:00
Volker Ruppert
57a543bebd
- regenerated after release 2.5
2011-11-27 20:28:38 +00:00
Volker Ruppert
2a227f4381
- updated SVN release instructions and version strings
2011-11-27 20:27:45 +00:00
Volker Ruppert
67ff1d3dfe
- regenerated for release
2011-11-27 15:57:17 +00:00
Volker Ruppert
9fd437d22c
- preparing release 2.5
2011-11-27 15:55:49 +00:00
Stanislav Shwartsman
8cb359fab5
fixed flags handling for BMI instructions
2011-11-27 13:23:26 +00:00
Volker Ruppert
bc3b84e43c
- added 'x' display library option "nokeyrepeat" to documentation
2011-11-27 12:13:22 +00:00
Stanislav Shwartsman
100622e958
fix ULL suffix for 64bit int, use BX_CONST64 instead
2011-11-26 19:01:53 +00:00
Stanislav Shwartsman
06e88c4984
fixed uninitialized var
2011-11-26 18:38:43 +00:00
Stanislav Shwartsman
ea87faad6e
update CHANGES
2011-11-26 17:42:31 +00:00
Volker Ruppert
3029d55f4a
- hdimage 'flat' mode: added support for Linux block devices (part of SF patch #3412431 )
...
- hdimage: renamed 'sectors' to 'spt' (same as the config parameter)
- harddrv: fixed info message
2011-11-26 15:09:00 +00:00
Volker Ruppert
f66a04e7d1
- recompiled BIOS images
2011-11-24 17:24:05 +00:00
Volker Ruppert
58cadd6779
- disabled memory mapping mode check and panic. The vga mem write code seems to
...
handle it properly.
2011-11-24 17:21:17 +00:00
Stanislav Shwartsman
5e2834b69f
update CHANGES with more fixed bug
2011-11-24 16:27:23 +00:00
Stanislav Shwartsman
f09bdf353a
RDMSR can also read TSC so make it end-of-trace as well (same as RDTSC)
2011-11-24 16:03:51 +00:00
Stanislav Shwartsman
f660d3dc68
implemented missed XOP instructions FRCZPS/PD/SS/SD + update CHANGES with fixed bugs
2011-11-24 11:34:26 +00:00
Stanislav Shwartsman
9f5dabf839
added to CHANGES info about internal dbger and GUI dbger fixes
2011-11-23 20:09:21 +00:00
Stanislav Shwartsman
62b811e48f
disasm: correctly handle VEX and XOP based opcodes
2011-11-23 19:43:50 +00:00
Stanislav Shwartsman
7158cf7228
fixed xop opcodes disasm tables
2011-11-23 16:44:38 +00:00
Volker Ruppert
67db6ee123
- disk geometry detection and check code rewritten:
...
* if the image provides a geometry, always use it.
* if the cylinder value is set to 0 and the image supports autodetection,
calculate the cylinder value from disk size, sectors and heads.
* in all other cases the specified geometry is used.
* a panic only occurs if the image size is too small for the geometry.
* extra data past the end of the disk now causes an info message.
- TODO #1 : 'flat' mode hdimage: read disk size of raw devices on Linux
- TODO #2 : 'flat' mode hdimage: use geometry from MBR on image if present
2011-11-21 20:58:35 +00:00
Stanislav Shwartsman
44c3b65961
update CHANGES with fixed bug
2011-11-21 13:21:19 +00:00
Stanislav Shwartsman
c74f590077
implemented TSC-Deadline APIC timer mode
2011-11-21 12:51:50 +00:00
Stanislav Shwartsman
76b742bd93
fixed timer breakpoint handling in internal debugger
2011-11-21 12:50:37 +00:00
Stanislav Shwartsman
e4bd200119
do not report TSC Deadline for Sandy Bridge CPUID - not implemented yet
2011-11-20 18:25:39 +00:00
Volker Ruppert
f5981e0ba2
- turn off the mouse capture when the internal debugger or gdbstub enter the input loop
...
- gdbstub: fixed compilation errors and warnings
2011-11-20 16:21:53 +00:00
Stanislav Shwartsman
25ac87009b
update CHANGES
2011-11-19 14:32:13 +00:00
Volker Ruppert
42e571ab1b
- fix package size in pointing device flags 2 (SF patch #3435049 )
...
- implemented legacy BIOS int13 AL=17/18h diskette functions (patch taken from
comment to SF feature request #3424738 )
2011-11-19 12:38:41 +00:00
Volker Ruppert
e247b0f14d
- fix package size in pointing device flags 2 (SF patch #3435049 )
...
- implemented legacy BIOS int13 AL=17/18h diskette functions (patch taken from
comment to SF feature request #3424738 )
2011-11-19 12:38:12 +00:00
Stanislav Shwartsman
34130cc1ad
clearify about deprecated configure option
2011-11-18 13:15:17 +00:00
Stanislav Shwartsman
d78ff1134d
fix for debugger creg command - correct fix this time
2011-11-18 12:56:33 +00:00
Stanislav Shwartsman
23b7b23d63
automatically turn off handlers chaining if gdb-stub is compiled in at configure time
2011-11-10 19:27:29 +00:00
Stanislav Shwartsman
cf314eb064
update CHANGES with closed bug
2011-11-08 18:01:35 +00:00
Stanislav Shwartsman
801a3f920f
some more docs updates with cvs->svn transition
2011-11-07 19:20:11 +00:00
Stanislav Shwartsman
39ddc75098
update TESTFORM for 2.5 release
2011-11-07 19:04:52 +00:00
Stanislav Shwartsman
c68fdf4223
fixed typo in CHANGES
2011-11-06 21:51:30 +00:00
Volker Ruppert
a4d763d5bc
- regenerated after release
2011-11-06 12:13:45 +00:00
Volker Ruppert
7e253cf7b6
- excluding CVS files no longer required
...
- set SVN flags in version strings after release
2011-11-06 12:11:46 +00:00
Volker Ruppert
d8a5ae0933
- regenerated for pre-release
2011-11-06 09:02:06 +00:00
Volker Ruppert
80be7ef9b1
- preparing Bochs 2.5.pre1
2011-11-06 09:00:41 +00:00
Stanislav Shwartsman
9be8552b80
- Implemented VM Functions support and EPTP-Switching VM Functions
...
- Added VMEXIT conditions for INVPCID instruction
Now Bochs is fully aligned with latest pulished Intel's SDM rev040.
2011-11-05 07:31:51 +00:00
Volker Ruppert
280b82dc0e
- reverted unwanted change (as stated in rev. 10759)
...
- use absolute path to Bochs webspace
2011-11-01 20:40:04 +00:00
Stanislav Shwartsman
5bb7c8dbba
final cvs->svn in docs
2011-11-01 17:44:56 +00:00
Volker Ruppert
fdeb25dde3
- finished CVS -> SVN changes (local website repository is still CVS)
...
- some other small fixes / cleanups
2011-11-01 17:10:58 +00:00
Stanislav Shwartsman
f6396de61e
fixed segfault in debugger creg command when xsave is disabled
2011-11-01 13:24:42 +00:00
Stanislav Shwartsman
ae6513014d
some more cvs -> svn updates in developr's docs
2011-11-01 13:13:24 +00:00
Volker Ruppert
1fd9f1e48c
- added parameter type bx_shadow_filedata_c
2011-11-01 08:38:00 +00:00
Volker Ruppert
85ef8a6705
- SVN instructions replace the CVS ones
2011-10-31 18:30:22 +00:00
Volker Ruppert
dcca9d9a31
- documentation updates (bochsrc options, CVS -> SVN changes)
...
- added FIXME to all CVS-related sections that still need a rewrite
2011-10-31 10:00:32 +00:00
Volker Ruppert
de38d27b99
- changes updated
2011-10-30 17:15:59 +00:00
Volker Ruppert
0d4392fc13
- updated LGPL'd VGABIOS to version 0.7a
2011-10-30 17:03:09 +00:00
Stanislav Shwartsman
42a0a178eb
disasm for XOP instructions
2011-10-30 08:58:49 +00:00
Stanislav Shwartsman
088cb441db
updated user docs - some references to cvs replaced with references to svn instead, removed description about removed options and debugger commands, added description of new handlers chaining optimization
2011-10-29 19:15:54 +00:00
Stanislav Shwartsman
360900d7bd
merge more pic patches
2011-10-23 21:53:56 +00:00
Stanislav Shwartsman
f73cdfaeac
change nickname ('ch100') to realname ('Christian Inci') in CHANGES
2011-10-23 04:47:33 +00:00
Stanislav Shwartsman
ad9bdbe550
fixed compilation failure
2011-10-21 08:06:55 +00:00
Stanislav Shwartsman
60582e2b9d
merge patch [3426460] [PATCH] PIC: remove never-executed code by ch100
2011-10-20 19:19:06 +00:00
Stanislav Shwartsman
21b96a5c8d
fixed compilation err in win64
2011-10-20 19:10:06 +00:00
Stanislav Shwartsman
b1a6b34616
implemented PERMIL2PS/PERMIL2PD XOP instructions
2011-10-20 17:37:57 +00:00
Volker Ruppert
e4b92b55bb
- implemented tooltip feature in win32ParamDialog using the parameter description
2011-10-20 16:09:28 +00:00
Stanislav Shwartsman
ddecc0234a
fixed (c) info
2011-10-20 14:06:12 +00:00
Stanislav Shwartsman
3035fcd0af
implemented XOP FMADCSWD/FMADCSSWD instructions
2011-10-20 13:55:26 +00:00
Stanislav Shwartsman
5d9bbae71c
bugfix: cant use ib2 it is overlap with disp32
2011-10-19 21:28:36 +00:00
Stanislav Shwartsman
5cc04b9955
Implemented AMDs Buldozer XOP and TBM extensions.
...
XOP: few instructions are still missing, coming soon
BX_PANIC(("VPERMILPS_VpsHpsWpsVIbR: not implemented yet"));
BX_PANIC(("VPERMILPD_VpdHpdWpdVIbR: not implemented yet"));
BX_PANIC(("VPMADCSSWD_VdqHdqWdqVIbR: not implemented yet"));
BX_PANIC(("VPMADCSWD_VdqHdqWdqVIbR: not implemented yet"));
BX_PANIC(("VFRCZPS_VpsWpsR: not implemented yet"));
BX_PANIC(("VFRCZPD_VpdWpdR: not implemented yet"));
BX_PANIC(("VFRCZSS_VssWssR: not implemented yet"));
BX_PANIC(("VFRCZSD_VsdWsdR: not implemented yet"));
2011-10-19 20:54:04 +00:00
Stanislav Shwartsman
887aac2a4e
updating CHANGES
2011-10-16 06:27:09 +00:00
Stanislav Shwartsman
01f27e3a0c
this should fix bug report 3422638 large ramfile support broken on anything but Linux
2011-10-15 19:29:42 +00:00
Volker Ruppert
1f7f9bc2ff
- moved OSX specific cdrom code to separate file
2011-10-10 17:33:23 +00:00
Volker Ruppert
515683a237
- moved OSX specific cdrom code to separate file
2011-10-10 17:32:53 +00:00
Stanislav Shwartsman
b16d71175d
Fixed 'show off' command in internal debugger
...
Removed not working record/playback obsolete commands from internal debugger
2011-10-09 19:26:30 +00:00
Stanislav Shwartsman
314171bb56
fixed compilation w/o AVX
2011-10-09 13:56:39 +00:00
Stanislav Shwartsman
71cbff104b
fixing xsave/xrstor flows with AVX
2011-10-09 09:19:49 +00:00
Stanislav Shwartsman
1c0a257b16
change PIT message to BX_DEBUG - it is flooding log too much when playing old MSDOS games
2011-10-09 08:21:12 +00:00
Stanislav Shwartsman
2a31661d83
change beep messages to BX_DEBUG - it is flooding log too much when playing old MSDOS games
2011-10-09 08:20:32 +00:00
Stanislav Shwartsman
03bcf7540a
print xcr0 together with cregs
2011-10-08 21:58:17 +00:00
Stanislav Shwartsman
8ada4ce5e4
added to cpudb: Intel(R) Core(TM) i5 M 520 (Arrandale) - based on Westmere arch
2011-10-07 19:32:44 +00:00
Stanislav Shwartsman
2580d8c46d
added FMA4 AMD instructions support, fixed mem access length for Intel scalar FMA instructions
2011-10-07 14:09:35 +00:00
Stanislav Shwartsman
aad57310c2
disasm for FMA4, better dbg print SSE rounding control with MXCSR
2011-10-06 20:33:10 +00:00
Stanislav Shwartsman
fc2f8f2266
correctly handle unmasked undeflow in SSE
2011-10-04 06:40:19 +00:00
Stanislav Shwartsman
8691ee7747
removed redundant ifdef
2011-10-03 17:41:48 +00:00
Stanislav Shwartsman
8a9b8f4622
MXCSR.FUZ is ignoired for F16 instructions
2011-10-03 15:08:22 +00:00
Volker Ruppert
fc9410ba41
- renamed cdrom.cc to cdrom_misc.cc and created new file cdrom.cc that contains
...
shared code (create TOC from image, seek)
- TODO: create new file cdrom_osx.cc that contains the OSX stuff only
2011-10-03 07:25:23 +00:00
Volker Ruppert
972560b83c
- renamed cdrom.cc to cdrom_misc.cc and created new file cdrom.cc that contains
...
shared code (create TOC from image, seek)
- TODO: create new file cdrom_osx.cc that contains the OSX stuff only
2011-10-03 07:23:44 +00:00
Stanislav Shwartsman
e282b5e88d
Move DAZ handling into softfloat library (for float16, float32 and float64 only) and cleanup SSE and AVX code
...
Fix decoding of opcodes with VEX.W=1 in 32-bit mode (AVX2, FMA)
2011-10-01 15:40:36 +00:00
Volker Ruppert
822eed13fb
- fixes related to the removal of the BX_PASS log level
2011-10-01 12:48:48 +00:00
Stanislav Shwartsman
88768b22a4
optimize FMA functions
2011-10-01 09:05:12 +00:00
Stanislav Shwartsman
f66830d77f
fixed assertion failure in win32dialog when trying to set log options for a device
2011-10-01 07:24:18 +00:00
Stanislav Shwartsman
391b4d9eee
fix more warings
2011-09-30 21:02:09 +00:00
Stanislav Shwartsman
f425400af5
fixed warnings from compilation with mingw-gcc 4.6.1
2011-09-30 20:38:18 +00:00
Stanislav Shwartsman
ea94f4b141
fixup for flush-underflow-to-zero mode
2011-09-30 11:11:03 +00:00
Stanislav Shwartsman
e4560dd814
some comments about usb xhci support
2011-09-29 22:51:33 +00:00
Stanislav Shwartsman
e5d0540365
commit new added files
2011-09-29 22:38:38 +00:00
Stanislav Shwartsman
6751af5d8e
added AVX FMA extensions support. The implementation is based on QEMU patch by Peter Maydell (fixed)
2011-09-29 22:20:56 +00:00
Stanislav Shwartsman
4b9c87513a
added softfloat16.cc to win32 ws files
2011-09-29 21:32:01 +00:00
Stanislav Shwartsman
e3dae7adb1
added disasm for avx fma instructions
2011-09-29 19:50:27 +00:00
Stanislav Shwartsman
275194fb32
#GP on reading VMX_EPT_VPID_CAP MSR when EPT and VPID disabled
2011-09-26 20:36:26 +00:00
Stanislav Shwartsman
f0d9f8fab7
added some comments
2011-09-26 20:10:15 +00:00
Stanislav Shwartsman
7859b011c0
core2_extreme_x9770 removed from cpudb
2011-09-26 19:52:41 +00:00
Stanislav Shwartsman
0547c8823e
compilation w/o x86-64
2011-09-26 19:48:58 +00:00
Stanislav Shwartsman
12ad45395b
enable Penryn VMX capabilities with VMX=1, VMX=2 is required for EPT and heavier stuff
2011-09-26 19:36:20 +00:00
Stanislav Shwartsman
54d1d8aa55
added new assertion to generic cpuid
2011-09-26 18:47:47 +00:00
Stanislav Shwartsman
aa96ecd98a
compilation fix
2011-09-26 18:18:10 +00:00
Stanislav Shwartsman
0aadf88c07
more polishing for vmx configurability
2011-09-26 18:08:31 +00:00
Stanislav Shwartsman
c28c7f6a06
Supply real VMX capabilities together with the CPU MODEL .bochsrc option.
...
So now the same single option will choose not only the CPUID flags but also VMX capabilities matching real HW machine.
Removed cpuid of core2_extreme_x9770 from the cpudb. I don't remember its VMX capabilities anyway.
There is another Penryn model in the cpudb - core2_penryn_t9600.
2011-09-26 12:31:40 +00:00
Stanislav Shwartsman
f7f06aebdf
Updating CHANGES for coming 2.5 release
...
It was a real challenge to summarize all the highlights we have done in past half a year.
Hopefully it looks good and I didn't miss anything important.
2011-09-25 22:15:21 +00:00
Stanislav Shwartsman
2a262977f1
add cdrom_win32.cc to msdev workspace files
2011-09-25 20:07:38 +00:00
Stanislav Shwartsman
3e74d77e90
fixed compilation for win32 host
2011-09-25 19:16:25 +00:00
Stanislav Shwartsman
8d95830562
first step to configuration of VMX through cpuid_t class
2011-09-25 19:04:55 +00:00
Volker Ruppert
b2e0ba0491
- regenerated after adding cdrom_win32.cc
2011-09-25 18:54:02 +00:00
Volker Ruppert
0596437ce7
- moved lowlevel cdrom code for win32 to a separate file
...
- TODO #1 : move shared stuff (e.g. creating TOC for image file) to the base class
to fix the temporary code duplication
- TODO #2 : remove ASPI code for raw cdrom access on Win 98/ME after release
2011-09-25 18:49:20 +00:00
Stanislav Shwartsman
c5b30582d9
cleanup instrumentation
2011-09-25 17:40:41 +00:00
Stanislav Shwartsman
b66feecc86
move common instrumentation constants (valid for all stubs) to cpu.h
2011-09-25 17:38:54 +00:00
Stanislav Shwartsman
62d0c8abf7
- Now you could disable x86-64 from .bochsrc so now it is possible to emulate
...
32-bit CPU using Bochs binary compiled with x86-64 support.
The commit also fixes some init.cc issues with initialization of SYSCALL/SYSRET MSR in AMD hosts and also includes code reorg.
2011-09-25 17:36:20 +00:00
Stanislav Shwartsman
d641efcb0b
fixed last broken merge
2011-09-24 12:55:38 +00:00
Stanislav Shwartsman
89d2532b69
enable cpu with cpu-level=5 also: configure bug
2011-09-24 12:48:47 +00:00
Stanislav Shwartsman
2b7894de7b
fixed dbg print mentioned in SF bug 3029271
2011-09-22 22:08:18 +00:00
Stanislav Shwartsman
c419b2a672
another small smp optimization
2011-09-22 21:48:54 +00:00
Stanislav Shwartsman
1b9f286945
- New way of CPUs scheduling in SMP mode brings up to 50% speedup to the
...
SMP emulation. New implementation uses dynamic CPU quantum value and takes
full advantage of the trace cache. Each emulated processor will execute
the whole trace before switching to the next processor.
* It is also safe to use large (up to 16 instructions) quantum values for
the SMP emulation now and improve performance even further.
The same merge also completely fixes SF bug :
[3312237] stepN command might be not working properly
Handlers chaining speedups are also supported with SMP emulation now.
2011-09-22 19:38:52 +00:00
Stanislav Shwartsman
26c81cb694
adding comments + small cleanup in gdbstub
2011-09-22 18:53:20 +00:00
Stanislav Shwartsman
f81589c5d6
Don't allow traces longer than cpu_loop can execute
2011-09-21 20:28:29 +00:00
Stanislav Shwartsman
8c7a60b3cb
fixed typo in sse4a disasm
2011-09-20 15:15:02 +00:00
Stanislav Shwartsman
c6d07ae1b5
store modrm() for x87 in Ib() byte because x87 have no Ib()
2011-09-20 06:02:27 +00:00
Stanislav Shwartsman
2583f8549a
small code duplication fix
2011-09-19 20:47:59 +00:00
Stanislav Shwartsman
d489ba3d37
generic cpuid: automatically enable lzcnt of bmi is enabled; sse4a support in cpuid
2011-09-18 18:17:34 +00:00
Stanislav Shwartsman
6fb673b9fa
change BX_PANIC to BX_ERROR
2011-09-18 17:36:54 +00:00
Stanislav Shwartsman
b038d43731
fix MONITOR/MWAIT messages
2011-09-18 17:30:36 +00:00
Stanislav Shwartsman
50207eeb90
- Added support for AMD SSE4A emulation, the instructions can be enabled
...
using .bochsrc CPUID option.
2011-09-18 16:18:22 +00:00
Stanislav Shwartsman
efc588cf1e
rename avx2_gather.cc -> gather.cc
2011-09-16 20:59:57 +00:00
Stanislav Shwartsman
ea54f40361
keep global pages when needed in INVPCID/INVVPID
2011-09-16 20:52:38 +00:00
Stanislav Shwartsman
3632340dac
improve bochs exit dump in long64 mode
2011-09-16 20:25:05 +00:00
Stanislav Shwartsman
88a58b3781
fixed compilation with x86-64=0
2011-09-16 20:12:36 +00:00
Stanislav Shwartsman
330bf62f61
added INVPCID instruction support
2011-09-16 20:06:23 +00:00
Stanislav Shwartsman
e2f0880f1c
support more than 32-bit cpu features vector
2011-09-14 20:22:24 +00:00
Stanislav Shwartsman
3f230d115e
clean disasm opcodes.inc
2011-09-13 20:43:15 +00:00
Stanislav Shwartsman
d5fcfabb38
bugfix + update changes
2011-09-13 19:38:09 +00:00
Stanislav Shwartsman
f4dbaf1cd8
re-shuffle macros, no impact in general
2011-09-13 17:55:36 +00:00
Stanislav Shwartsman
02e1a0f23c
Merge lazy flags optimization by Darek Mihocka.
...
I measure slight but consistent speedup of ~1-3% for all guests.
Tested: Windows XP/7 boot 32/64 bit, various Linux live CD
2011-09-12 19:36:53 +00:00
Stanislav Shwartsman
274ca1a2f6
tab2space conversions
2011-09-11 17:15:21 +00:00
Stanislav Shwartsman
cb261c45d3
removed non-working code for z-unodable and z-volatile images.
...
our priority is to implement support for std disk image formats (VMDK, VDI) instead.
2011-09-11 16:27:56 +00:00
Stanislav Shwartsman
0e4eecafba
duplicate macros fix
2011-09-08 17:53:28 +00:00
Volker Ruppert
f18f875c7f
- sparse mode bugfix: initialize parent_image with NULL
2011-09-07 21:34:15 +00:00
Stanislav Shwartsman
9f1f4781b3
fixed Sandy Bridge name in err message - it is Core i7 and not Core2
2011-09-06 19:49:22 +00:00
Stanislav Shwartsman
939aee87c9
handle special case - BSF/BSR vs TZCNT/LZCNT
2011-09-06 19:18:21 +00:00
Stanislav Shwartsman
184837e0ed
fixed compilation err with no handlers chaining enabled
2011-09-06 15:41:52 +00:00
Stanislav Shwartsman
96cedbc756
continue handlers-chaining optimization: update time once per trace and not for every instruction
2011-09-06 15:35:39 +00:00
Stanislav Shwartsman
e000b61cfd
make RDTSC 'end of trace' instruction - guarantee that any pair ot RDTSC/RDTSCP on same CPU do not belong to same trace (and therefore will always update time and etc) - required for Win7 Thin
2011-09-06 14:13:39 +00:00
Stanislav Shwartsman
5a350143a5
bug fixes
2011-09-06 13:09:45 +00:00
Volker Ruppert
9483414f84
- fixed 256-color mode screen update handling. Now the dword, word and byte modes
...
are correctly handled.
- related fixes in the graphics snapshot code
2011-09-05 18:39:02 +00:00
Stanislav Shwartsman
c67338203c
small fixups, code cleanup and reorganization
2011-09-05 17:14:49 +00:00
Stanislav Shwartsman
41f9b25777
fixed avx2 gather instructions
2011-09-04 19:50:18 +00:00