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
Stanislav Shwartsman
c0f5919787
small optimization
2011-09-03 15:36:40 +00:00
Stanislav Shwartsman
8099fd9efd
implemented alternative access to CR8: AMD feature. Lock CR0 -> CR8
2011-09-03 15:22:56 +00:00
Stanislav Shwartsman
c85da98ce5
fixed cpu:avx option crash. fixed handlers-chaining configure option name
2011-09-01 13:59:35 +00:00
Stanislav Shwartsman
cf56ffb6e0
BSF/BSR should stay, only F3 prefix change opcode
2011-08-31 21:13:50 +00:00
Stanislav Shwartsman
9d18af1207
fixed compilation for AVX OFF
2011-08-31 20:52:53 +00:00
Stanislav Shwartsman
1f5e036695
lzcnt/tzcnt bmi instructions implemented
2011-08-31 20:43:47 +00:00
Stanislav Shwartsman
e61da281c0
update cpu-configurable doc
2011-08-31 16:33:12 +00:00
Stanislav Shwartsman
d2f7351be2
cpu.h cleanup + update msdev workspaces cpudb projects
2011-08-30 22:22:07 +00:00
Stanislav Shwartsman
d893ddf5d1
added new entry to cpudb
2011-08-30 22:02:08 +00:00
Stanislav Shwartsman
dfd769a102
- Fixed compilation issue with cpu-level=5
...
- SYSCALL/SYSRET: SYSCALL/SYSRET instructions are not supported in legacy mode for Intel processors
- CPUID: CPUID.0x80000001.EDX[11] SYSCALL/SYSRET support should not be reported outside long64 mode if legacy mode SYSCALL/SYSRET is not supported
- Added new CPUDB entry - AMD K6-2 3D proc3essor (Chomper)
2011-08-30 22:00:27 +00:00
Stanislav Shwartsman
fb9da23f9b
syscall/sysret are not supported outside long64 mode in Intel CPUs
2011-08-30 21:32:40 +00:00
Stanislav Shwartsman
9693bacacb
syscall/sysret in legacy mode is supported in k6-2. preparing code to it ...
2011-08-30 20:41:00 +00:00
Stanislav Shwartsman
0f73ff39df
bug fix
2011-08-30 19:16:08 +00:00
Stanislav Shwartsman
c30275016e
avx2 added broadcast from register
2011-08-29 21:00:25 +00:00
Stanislav Shwartsman
1328861175
typo fix
2011-08-28 21:41:54 +00:00
Stanislav Shwartsman
1dc8f56f06
disasm for AVX2 gather
2011-08-28 21:38:53 +00:00
Stanislav Shwartsman
6bdfbeeffa
fixed for gather VSIB calculation
2011-08-28 20:14:53 +00:00
Stanislav Shwartsman
239c5a449d
added 'locked' information to bxInstruction_c for instrumentation and other future use
2011-08-27 20:09:18 +00:00
Stanislav Shwartsman
acfeed8e31
update msvcpp workspace with new files
2011-08-27 18:48:11 +00:00
Stanislav Shwartsman
67cbb2dac5
fixed typo
2011-08-27 14:29:11 +00:00