Stanislav Shwartsman
d766cc8112
implemented SCA (Side-Channel-Attack) Prevention reporting and corresponding MSR registers, enabled for Icelake-U CPU definition
2019-10-26 20:09:30 +00:00
Stanislav Shwartsman
a580b0ccbe
cosmetic change with no logic affected
2019-10-24 20:33:05 +00:00
Stanislav Shwartsman
c97bb62b6c
VMX: Fix RDRAND/RDSEED VMEXIT Instruction-Information Field
2019-10-24 20:12:00 +00:00
Stanislav Shwartsman
330c691367
VMX: Fix RDRAND/RDSEED VMEXIT Instruction-Information Field
2019-10-24 20:10:56 +00:00
Stanislav Shwartsman
27e23ad1eb
give priority for VMX induced #UD in INVPCID and RDTSCP instructions over all other exeptions that could be generated there
2019-10-24 19:49:25 +00:00
Stanislav Shwartsman
72b9d26717
coding style changes, tab2space, macro2function or macro2const
2019-10-17 19:23:27 +00:00
Stanislav Shwartsman
eec720c62b
convert bochs.h macros to inline functions with strong types
2019-10-16 20:46:00 +00:00
Stanislav Shwartsman
64ae3fe1ba
convert bochs.h macros to inline functions with strong types
2019-10-16 20:19:34 +00:00
Stanislav Shwartsman
bb5ccc97c1
remove unused function parameter
2019-10-16 19:53:04 +00:00
Stanislav Shwartsman
9c61e9e9f5
remove unused function parameter
2019-10-16 19:48:21 +00:00
Stanislav Shwartsman
10c23b5d39
implement fasstring for 64-bit mode as well
2019-10-14 19:50:47 +00:00
Stanislav Shwartsman
9d7233a9b5
fixed code duplication in fast string invocaion code
2019-10-14 19:15:01 +00:00
Stanislav Shwartsman
bf16e720f8
add faststring mode for REP MOVSW in 32-bit mode
2019-10-14 18:12:37 +00:00
Stanislav Shwartsman
fe7acbb6a0
more faststring cleanup
2019-10-14 14:54:07 +00:00
Stanislav Shwartsman
ee3f1b91a3
allow fast string only for forward strings and simplify the code
2019-10-14 14:45:01 +00:00
Stanislav Shwartsman
f0245b5f2b
introduce special handlers for zero-idiom instructions - ~1% speedup to simulation. infra for fast string emulation in 64-bit mode
2019-10-14 06:40:19 +00:00
Stanislav Shwartsman
d6e08702e4
add Icelake-U model to CPUDB database. TODO: verify its VMX features
2019-09-24 20:26:14 +00:00
Stanislav Shwartsman
4f0094c472
update CHANGES
2019-08-09 19:59:00 +00:00
Stanislav Shwartsman
2ae332cce8
patch by Luigu.B - significantly speedup multi-threaded guest simulation
2019-08-09 19:57:13 +00:00
Stanislav Shwartsman
2eb47f866f
added minor clarifications based on most recent AMD SDM published
2019-07-30 18:17:21 +00:00
Stanislav Shwartsman
49ebaf8397
typofix: attached MASK_K0 attr to wrong opcode
2019-05-25 19:10:55 +00:00
Stanislav Shwartsman
bc4af1b08d
add missing break statement in disasm.cc
2019-05-25 19:08:39 +00:00
Stanislav Shwartsman
4d10852c04
impemented recently published VP2INTERSECTD/Q instructions
2019-05-25 19:07:09 +00:00
Stanislav Shwartsman
85780d939a
extract MONITOR/MWAIT stuff to separate trsnlation unit
2019-05-25 18:32:17 +00:00
Stanislav Shwartsman
55d2dc6b0c
add some CPUID and VMCS definitions from latest SDM
2019-05-22 18:22:22 +00:00
Stanislav Shwartsman
0c28705b18
fixed compilation under MAC env
2019-05-18 04:50:07 +00:00
Volker Ruppert
64f3339c8d
Added ATAPI command "get event status notification" (patch by Ben Lunt).
2019-04-22 18:54:04 +00:00
Volker Ruppert
dbf7da542f
Check if Xrandr extension is present.
2019-04-21 20:08:32 +00:00
Stanislav Shwartsman
662b252507
added missing endif
2019-04-17 16:04:34 +00:00
Stanislav Shwartsman
a022d71774
fixed compilation
2019-04-14 04:05:04 +00:00
Stanislav Shwartsman
54bdb24e4b
remove MOVDIRI opcode extension for now until fugured out how nicely do MOVDIR64B, they better to be both done with same CPUID feature name
2019-02-22 19:15:53 +00:00
Stanislav Shwartsman
3e007fbdea
fixed copy-pasted issue with decoding
2019-02-17 21:54:38 +00:00
Stanislav Shwartsman
c3f7a34cf5
fixed copy-pasted issue with decoding
2019-02-17 21:41:45 +00:00
Stanislav Shwartsman
3da93728b3
split some opcode reference tables in new decoder between x86-64 and 32 for better perf
2019-02-17 21:22:54 +00:00
Stanislav Shwartsman
cd79d22113
fixes for 32-bit mode only compilation
2019-02-16 19:42:04 +00:00
Stanislav Shwartsman
bfd7bb2c13
remove redundant VL512 runtime check, redundant with new decoder
2019-02-16 19:25:32 +00:00
Stanislav Shwartsman
4f625b23e0
enable yet another Bochs new decoder. It is a bit slower than old one but it is much more extendable so adding new opcode won't be nightmare anymore
2019-02-16 15:23:24 +00:00
Stanislav Shwartsman
93146256f8
disasm updates
2019-02-08 16:28:51 +00:00
Stanislav Shwartsman
4c18ee784f
disasm updates
2019-02-08 16:26:56 +00:00
Stanislav Shwartsman
61dcc4ace7
remove unreferenced decode table
2019-01-29 13:44:39 +00:00
Stanislav Shwartsman
f8ec18acd5
fix decode/disasm of AVX512-VBMI2 VPSH*D* opcodes
2019-01-27 18:52:03 +00:00
Stanislav Shwartsman
0b18a42e4e
fixed decoding of AVX-512 opcodes
2019-01-27 17:35:21 +00:00
Stanislav Shwartsman
5cb4639891
fixed decoding of AVX-512 opcodes
2019-01-27 17:31:28 +00:00
Stanislav Shwartsman
6dc5cfe80b
fixed typo in opcode name
2019-01-24 20:10:46 +00:00
Stanislav Shwartsman
af75c2a81e
fixed comment in the opcode table for EVEX
2019-01-22 18:31:39 +00:00
Stanislav Shwartsman
9bc7faf493
dump all supported CPU fetures into Bochs log from CPUID object
2019-01-05 20:17:39 +00:00
Stanislav Shwartsman
264b797363
fixed compilation without VMX=2
2019-01-03 06:28:15 +00:00
Stanislav Shwartsman
df3ea7b553
fix ambiguous delete[] not matching new
2019-01-02 17:13:36 +00:00
Volker Ruppert
b9aa0de299
Fixed IRQ logic in edge-triggered mode (found in patch by Oleg)
2018-12-03 21:56:23 +00:00
Stanislav Shwartsman
098791bf95
report MONITOR/MWAITX for Ryzen configuration in CPUID
2018-12-01 12:15:57 +00:00
Stanislav Shwartsman
7a183ab520
fixed PDE4M reserved bits checking if physical address wider than 40 bit
2018-11-22 11:51:33 +00:00
Stanislav Shwartsman
eff201773f
convert some defines to enums and const expressions
2018-11-17 12:45:44 +00:00
Stanislav Shwartsman
e387876145
Enable PML VMX feature in Skylake-X
2018-10-26 19:54:22 +00:00
Stanislav Shwartsman
2e192372c0
fixes for CNL CPUID
2018-10-26 19:46:56 +00:00
Stanislav Shwartsman
f8ef87138e
update CHANGES
2018-10-26 09:25:50 +00:00
Stanislav Shwartsman
a9aa1040c1
add Intel Cannonlake CPU model to CPUDB featuring AVF512FMA52 and SHA instructions
2018-10-26 09:23:58 +00:00
Stanislav Shwartsman
9b6e806030
fixed dbg message when stop/continue watchpoints
2018-10-16 18:08:44 +00:00
Stanislav Shwartsman
cf41679b53
closing bug report: Missing TLB_flush on VMX_VMEXIT_EPT_VIOLATION
2018-08-30 20:18:27 +00:00
Stanislav Shwartsman
3995dc13aa
fixed compilation of CLZERO pn cpu-level<6
2018-08-26 18:11:10 +00:00
Volker Ruppert
49d1755557
Fixed typo. Since these bits are reserved, it has no effect on the emulation.
...
TODO: Review HPET code (verify patch by Oleg).
2018-08-19 08:32:19 +00:00
Stanislav Shwartsman
ee62fc83a6
update CHANGES
2018-08-14 08:10:31 +00:00
Stanislav Shwartsman
965bcc2606
support 64-bit in 'info tab' debugger command and also speed it up significantly
2018-08-14 08:09:09 +00:00
Volker Ruppert
91bad8e4b2
Fixed screen flickering in case the hardware cursor is enabled in 3D mode.
2018-07-21 16:14:53 +00:00
Volker Ruppert
d0936f618b
Attempt to fix crash that happens in some cases (suggested by Luigi B.).
2018-06-26 17:58:11 +00:00
Volker Ruppert
67135b4429
Fixed wrong model string caused by typo.
2018-06-18 20:26:51 +00:00
Volker Ruppert
20edb4600b
Fixed mem read/write data conversion (mem_read() could cause segfault / thanks
...
to Luigi B. for pointing out this issue).
2018-06-17 11:27:18 +00:00
Stanislav Shwartsman
eebdb4d63a
avoid gcc 7.3 warning
2018-05-27 19:09:59 +00:00
Stanislav Shwartsman
c830322f4c
fixed cygwin gcc 7.3 warning - look like real bug !
2018-05-27 18:33:07 +00:00
Stanislav Shwartsman
a8413aa838
update comments base on latest AMD spec
2018-05-27 18:13:24 +00:00
Volker Ruppert
04897375bb
Fixed silence detection in DSP-direct (non-DMA) mode.
2018-05-24 16:22:16 +00:00
Volker Ruppert
1f1159013d
Some small additions for the Voodoo3 model.
2018-05-21 18:01:49 +00:00
Volker Ruppert
50dfe4b8de
Some fixes for MSVC.
...
- Fixed compilation failure of MSVC plugin 'speaker'.
- Fixed some MSVC warnings.
2018-05-21 16:11:46 +00:00
Volker Ruppert
e88f14558d
The VSYNC timing is now based on the PIT clock sync mode instead of the VGA
...
screen update timing mode.
2018-05-21 07:31:18 +00:00
Volker Ruppert
bc8ac37c63
Improved BX_INFO message for AGP aperture access. Since the Banshee AGP and
...
Voodoo3 AGP driver I have tested are not using this feature, we don't have a
test case yet to implement it correctly. The GART is used by AGP and the newer
PCIe bus and the specs say that the format is defined by software (driver).
2018-05-19 17:13:51 +00:00
Stanislav Shwartsman
ae004a3ed3
fixed gcc warning
2018-05-19 09:13:47 +00:00
Volker Ruppert
fb60e24859
Fixed compilation error in case the lowlevel sound interface is not present.
2018-05-19 08:07:20 +00:00
Volker Ruppert
e476c0f01a
Two small VGA core changes.
...
- Allow 16-bit reads from address 0x03da.
- Added BX_ERROR for unimplemented bits in CRTC register 0x08.
2018-05-18 18:00:09 +00:00
Volker Ruppert
766089e02d
Some small improvements for the DSP direct output (non-DMA) mode.
...
- Generate output in 16-bit stereo format.
- Stop non-DMA output mode after 0.1 seconds of silence.
2018-05-15 18:51:41 +00:00
Volker Ruppert
bda6a2a6de
Speaker beep methods should only be called in PIT mode 3 (square wave generator).
...
Added speaker handler to send OUT line change to new speaker method set_line().
2018-05-14 18:17:04 +00:00
Volker Ruppert
3962a08d3a
Added support for DSP command 0x10 (Sending 8-bit samples directly to DSP).
2018-05-13 18:10:23 +00:00
Volker Ruppert
74d40805d1
Added support for unlocking disk images (locks leftover from previous Bochs
...
session) with the new command line argument '-unlock'.
2018-05-11 07:44:49 +00:00
Volker Ruppert
9e0a507726
Added stub for the undocumented DSP command 0xE2.
2018-05-10 15:50:25 +00:00
Volker Ruppert
c10e8feea6
Added support for driving the speaker line directly with the speaker gate, but
...
the square wave generator disabled. This feature has been used by old demos and
games to play digitized sound before soundcards with DSP became popular.
2018-05-10 10:50:42 +00:00
Volker Ruppert
53d703f6e1
Documentation updates (i440BX chipset / Voodoo AGP adapters).
2018-05-06 16:31:56 +00:00
Volker Ruppert
3f45d44184
Added subsystem ID for Voodoo3 AGP with an existing VGA ROM.
...
Updated some comments.
TODO: full AGP support, LGPL'd VGABIOS for Banshee / Voodoo3
2018-05-06 06:13:57 +00:00
Volker Ruppert
211eefa8d5
Updated both MSVC workspace files for current SVN (added DDC files).
2018-05-04 21:21:51 +00:00
Volker Ruppert
4462ac7319
Fixed Banshee status reading via MMIO (unaligned access is allowed).
...
The Banshee AGP model is now basicly working (tested with Win98SE).
Started documentation updates about i440BX chipset and Banshee AGP.
2018-05-03 19:46:12 +00:00
Volker Ruppert
9bd54cc380
Some work on the i440BX chipset AGP support in the Bochs BIOS.
...
- rombios.c: return maximum bus number #1 for i440BX.
- Now using different i/o and memory base address regions for PCI and AGP.
- Added some init code for the i440BX PCI/AGP bridge.
- Some code cleanups.
2018-05-03 17:55:17 +00:00
Volker Ruppert
536f9ba094
Some work on the i440BX chipset AGP support in the Bochs BIOS.
...
- rombios.c: return maximum bus number #1 for i440BX.
- Now using different i/o and memory base address regions for PCI and AGP.
- Added some init code for the i440BX PCI/AGP bridge.
- Some code cleanups.
2018-05-03 17:54:31 +00:00
Volker Ruppert
7412ebc07b
Added new macros BX_DEBUG_PCI_READ and BX_DEBUG_PCI_WRITE to unify the debug
...
output of PCI config space handlers.
Banshee: some PCI register fixes.
2018-05-01 15:54:37 +00:00
Volker Ruppert
92ce5c3846
Moved PIR table modification for the i440BX chipset from the memory code to the
...
BIOS init code and some related fixes and cleanups.
2018-05-01 07:05:28 +00:00
Volker Ruppert
e526d6c9d7
Moved PIR table modification for the i440BX chipset from the memory code to the
...
BIOS init code and some related fixes and cleanups.
2018-05-01 07:04:43 +00:00
Volker Ruppert
e781a8f998
Some PCI IRQ roouting changes for i440BX chipset support.
...
- Bochs BIOS: Improved calculating PCI slot number from device number to handle
the i440BX case correctly.
- Memory code: Detect and modify the PCI IRQ roouting table of the Bochs BIOS
for the i440BX chipset (TODO: this could be done by the BIOS itself after
copying to shadow RAM).
2018-04-29 16:22:44 +00:00
Volker Ruppert
eeefe369d7
Some PCI IRQ roouting changes for i440BX chipset support.
...
- Bochs BIOS: Improved calculating PCI slot number from device number to handle
the i440BX case correctly.
- Memory code: Detect and modify the PCI IRQ roouting table of the Bochs BIOS
for the i440BX chipset (TODO: this could be done by the BIOS itself after
copying to shadow RAM).
2018-04-29 16:20:58 +00:00
Volker Ruppert
69be05b2b5
Started preparing the Bochs BIOS for i440BX chipset support.
...
- Added symbols for the i440BX host bridge device ID.
- Probe and search for devices on PCI bus #1 (AGP).
- Set up memory and i/o regions only for header type 0.
- Set AGP aperture size to 64 MB.
- TODO: PCI IRQ routing, i440BX specific register setup.
2018-04-24 21:30:31 +00:00
Volker Ruppert
00ac6013f0
Started preparing the Bochs BIOS for i440BX chipset support.
...
- Added symbols for the i440BX host bridge device ID.
- Probe and search for devices on PCI bus #1 (AGP).
- Set up memory and i/o regions only for header type 0.
- Set AGP aperture size to 64 MB.
- TODO: PCI IRQ routing, i440BX specific register setup.
2018-04-24 21:29:41 +00:00
Stanislav Shwartsman
fcd9ce1634
fix compilation without x86_64
2018-04-15 14:22:16 +00:00
Stanislav Shwartsman
d000e21001
added MOVDIRI opcode implementation
2018-04-06 05:06:36 +00:00
Volker Ruppert
776e8270f6
Started preparing Bochs BIOS for the sector size option.
...
- Function ata_cmd_data_io: using fixed block size 512 only for 'identify'
commands. For read/write commands the hard disk sector size must be used.
- Take account of sector size when calculating hard disk size in MBytes (TODO:
calculation is not correct for not yet existing very big disks).
- updated comment.
2018-04-05 21:35:41 +00:00
Volker Ruppert
6739601a52
Started preparing Bochs BIOS for the sector size option.
...
- Function ata_cmd_data_io: using fixed block size 512 only for 'identify'
commands. For read/write commands the hard disk sector size must be used.
- Take account of sector size when calculating hard disk size in MBytes (TODO:
calculation is not correct for not yet existing very big disks).
- updated comment.
2018-04-05 21:35:24 +00:00