Volker Ruppert
d339332e8c
Fixes for data transfer abort and cleanup on FTP session quit.
...
- Skip special TELNET sequence required for transfer abort to make it work.
- On FTP quit, unregister data port and free data buffer if necessary.
- Some other small FTP code cleanups.
2020-05-24 17:28:56 +00:00
Volker Ruppert
5c436d061b
Partial rewrite of the TCP/IP and FTP host-to-guest data transfer code.
2020-05-24 08:40:35 +00:00
Volker Ruppert
8e7040dddb
Some fixes for the vnet server TCP/IP and FTP support.
...
- TCP and FTP: some connect/disconnect cleanups and fixes.
- FTP: correctly report active transfer mode (no effect on the emulation yet).
2020-05-23 15:49:33 +00:00
Volker Ruppert
d69c7d14dc
Two fixes for the bxhub utility.
...
- Makefile: added missing dependency.
- netutil.cc: removed duplicate include.
2020-05-23 09:04:35 +00:00
Volker Ruppert
ba5a279d61
Some more work on the TCP/IP and FTP support.
...
- TCP: If a connection is active, forward reset to the service handler.
- FTP: Added support to retrieve the file size.
- FTP: Handle the "file not found" case in RETR and SIZE code.
- FTP: Fixed the logout process.
2020-05-22 19:40:59 +00:00
Volker Ruppert
d5a4d1df48
Some more work on the TCP/IP and FTP support.
...
- Added support for browsing directories and download from subdirectories.
- Fixes for empty directories and files.
2020-05-22 07:35:35 +00:00
Stanislav Shwartsman
b891789c3d
implemented (experimental) TSC Adjust MSR
2020-05-21 19:58:16 +00:00
Volker Ruppert
b2b3de60d4
Some more work on the TCP/IP and FTP support.
...
- TCP: added new method tcpipv4_send_buffer() that can send multiple packets
up to window size without waiting for ACK.
- TCP: when receiving ACK, the data transfer continues if necessary.
- FTP: list contents of root directory (tested on Linux and Win 10 host).
- FTP: added support for file download from root directory (RETR).
- TODO #1 : browse directory tree (CWD, CDUP).
- TODO #2 : upload file (STOR).
- TODO #3 : file and directory commands (SIZE, DELE, MKD, RMD).
2020-05-21 16:21:49 +00:00
Volker Ruppert
eabcb9e478
Some work on the vnet server code.
...
- Compilation fixes for MSVC
- TCP: parse option header (not handled yet)
- TCP: RST flag forces disconnect
- FTP: ABOR command stops data transfer
2020-05-21 11:07:38 +00:00
Volker Ruppert
9ff6fddd82
Some work on the TCP/IP and FTP support.
...
- Added packet counter and use it for the IP id field.
- Added support for closing TCP connection from the server side.
- Added FTP passive mode and LIST demo for testing it.
- Some other small changes.
2020-05-20 19:38:33 +00:00
Volker Ruppert
548f9456e8
Packet logging in text format now controlled by option "pktlog" in slirp config.
2020-05-19 17:55:15 +00:00
Stanislav Shwartsman
a136e1c96c
add missing config.h.in
2020-05-19 16:14:03 +00:00
Stanislav Shwartsman
dd3849b9e0
extract Bit128 arithmetic to separate wide_int.cc/wide_int.h compiled independently of long mode emulation
2020-05-19 16:01:23 +00:00
Volker Ruppert
89759dc371
Implemented dynamic packet handling in the vnet server (TCP can send multiple
...
packets up to window size without waiting for ACK).
Some other minor cleanups and improvements in the TCP and FTP code.
2020-05-19 12:10:52 +00:00
Volker Ruppert
614ecd7455
Some fixes for the vnet module found with TCP / FTP testing code.
...
Fixed maximum size of an ethernet packet (1460 bytes TCP user data + headers).
Don't activate timer for a new packet if another is still pending.
2020-05-18 19:25:27 +00:00
Stanislav Shwartsman
e50a3f8169
fixup code duplication in apic code
2020-05-17 19:32:14 +00:00
Stanislav Shwartsman
f97b20ddce
deactivate apic timer when globally disabled
2020-05-17 19:03:39 +00:00
Stanislav Shwartsman
da169c0044
when apic is globally disabled - reset some fields to defaults
2020-05-17 18:57:27 +00:00
Stanislav Shwartsman
7a5fef764b
fix for effcetive TSC compute when TSC multiplier is enabled
2020-05-17 18:39:52 +00:00
Stanislav Shwartsman
6ae26b39b3
fixed Sub-Page-Protection EPT violation (was triggered exactly opposite that excpected due to typo)
2020-05-17 14:12:29 +00:00
Stanislav Shwartsman
8e4a29fb0e
reorg vmcs fields enabling based on their numeric order
2020-05-15 19:27:45 +00:00
Stanislav Shwartsman
499b138227
enable access to XSS_EXITING_BITMAP VMCS field
2020-05-15 19:05:41 +00:00
Volker Ruppert
9c3a99856e
Added basic TCP handling and FTP server stub for testing.
...
- Partly re-implemented host_to_guest methods from legacy eth_vnet.cc.
- Added two dynamic packet buffers for vnet server replies.
- TFTP and FTP servers are only available if root directory is configured.
- Added TCP port handler methods similar to the UDP ones.
- Added basic TCP connection management and 3-way handshake.
- Added FTP server stub for testing TCP (only login/logout for now).
2020-05-12 20:51:26 +00:00
Volker Ruppert
1b0845b48a
Slirp: Added support for logging packets in text format (disabled by default).
2020-05-07 15:49:54 +00:00
Volker Ruppert
df2dd670d8
Extended Italian keymap (patch by Michele Giacomone).
2020-05-06 11:47:41 +00:00
Volker Ruppert
f9da9f9249
Fixed possible buffer overflow (patch by Randy Sommerfeld).
2020-05-06 11:17:34 +00:00
Volker Ruppert
a7325c3a40
Fixed SVN ID tag.
...
M keymaps/x11-pc-sg.map
2020-05-05 18:37:45 +00:00
Volker Ruppert
cdde4dae46
Added Swiss-German keymap (patch by Michele Giacomone).
2020-05-05 18:34:06 +00:00
Volker Ruppert
780517aeca
Added TCP stub to vnet server - returning "Connection refused" for now.
2020-05-03 11:38:16 +00:00
Volker Ruppert
9b844fc341
Some changes in the 'vnet' networking module.
...
- Enable packet logging in text format if file name is specified with the
"script" parameter.
- Don't start RX timer if vnet server returns 0.
- Added TCP header structure for future extensions.
2020-05-02 21:21:53 +00:00
Volker Ruppert
d30dcfdd3c
Added log file support to the 'bxhub' utility. Log output can be sent to file
...
specified with command line option, otherwise stderr is used.
2020-04-13 19:35:56 +00:00
Volker Ruppert
455c28b3da
Fixed compilation error on MSVC (bxhub.exe).
2020-04-12 15:47:11 +00:00
Volker Ruppert
451b60b8a2
Rewrite of the 'vnet' server code used by the vnet networking mode and the bxhub
...
utility to get rid of code duplication. New class vnet_server_c now contains all
of the network emulation including the DNS code from bxhub.cc.
2020-04-12 09:14:01 +00:00
Volker Ruppert
f587ef549f
Added missing Bochs command line in documentation.
2020-04-04 21:41:59 +00:00
Stanislav Shwartsman
355c06e396
add defines for CPUID bits recently announced
2020-04-01 06:15:54 +00:00
Volker Ruppert
48de31f169
If the UHCI controller is in reset mode, all reads are undefined and all writes
...
are invalid, except clearing the reset bit (patch by Ben Lunt).
2020-03-30 17:31:35 +00:00
Stanislav Shwartsman
81edc636d4
remove duplicate opcodes from decoder definitions
2020-03-28 14:36:27 +00:00
Stanislav Shwartsman
b686c8d423
add into ia_opcodes.def disasm field for every instruction
2020-03-28 14:23:54 +00:00
Volker Ruppert
e36217533a
Added support for 256-byte EDID file (e.g. QEMU monitor).
2020-03-25 16:54:50 +00:00
Volker Ruppert
ed223c6499
DDC: changed the "off" case to Bochs default name "disabled" and updated docs.
2020-03-22 12:31:34 +00:00
Volker Ruppert
e23a930864
Added "ddc" parameter to the "vga" option to make it possible either to disable
...
the DDC feature or to read the monitor EDID from file. By the default the
builtin "Bochs Screen" EDID is used.
2020-03-21 18:00:02 +00:00
Volker Ruppert
3626b75791
Added "multiple NICs" documentation to user doc and bochsrc manual page.
2020-03-12 19:45:40 +00:00
Volker Ruppert
324b511862
Started adding documentation for the "multiple NICs" support.
2020-03-09 20:19:30 +00:00
Stanislav Shwartsman
e8bc5ac024
commit small fixes from patch by Ben
2020-03-09 07:27:55 +00:00
Volker Ruppert
762d2a35af
Some work on the "multiple NICs" support.
...
- Added support for the E1000 network card similar to ne2k implementation.
- Define BX_NE2K_MAX_DEVS to make the maximum number of devices variable.
2020-03-08 16:45:52 +00:00
Volker Ruppert
d51f6480a0
Some fixes for the "multiple NICs" support.
...
- Fixed ne2k parameter save function.
- For backward compatibility, card #0 defaults to PCI if the ne2k is assigned
to at least one PCI slot.
- The "bootrom" parameter is only valid for the PCI card type.
2020-03-04 17:37:34 +00:00
Volker Ruppert
835a745215
Added experimental "multiple NICs" support (currently NE2000 only). Unlike the
...
old SF patches this solution is compatible with the plugin architecture. The
ne2k plugin is loaded only once and a new ne2k_main_c object creates up to 4
ne2k device objects depending on the config. The new ne2k parameter "card"
specifies the zero-based card number to configure. If not given, the default
is card #0 for compatibility. The new ne2k parameter "type" specifies the bus
it is connected to ("isa" or "pci"). Card #0 defaults to PCI, the others to
ISA. In the PCI slot configuration the ne2k device can be used multiple times
if more than one card is configured.
Related changes:
- removed SMF stuff for ne2k
- always convert device prefix to uppercase (ne2k uses NE2K0 ... NE2K3)
- removed unused BXPN values
- TODO: add multiple NICs support for the E1000
2020-03-02 22:04:10 +00:00
Stanislav Shwartsman
b63f3b36dc
fixed Erroneous limits calculation in function bx_dbg_get_laddr issue
2020-02-28 18:06:39 +00:00
Stanislav Shwartsman
7d989b34a3
fixed recent segoverride assignment bug in SVN
2020-02-28 15:03:52 +00:00
Stanislav Shwartsman
6e2541daa6
CET: DS Seg override is kept for CET Endranch suppress hint even if overridden by other prefixes later
2020-02-21 19:38:23 +00:00
Stanislav Shwartsman
fb0dafa06c
update CHNAGES post 2.6.11 release
2020-02-21 19:20:04 +00:00
Stanislav Shwartsman
c61d595106
add symbolic info for branch target disasm when available
2020-02-21 19:08:25 +00:00
Stanislav Shwartsman
086f2779f5
fixed compilation with avx but without EVEX
2020-02-20 05:29:13 +00:00
Volker Ruppert
9eb1cf233c
Fixes for compiling on MacOS (bxhub and eth_socket / patch by Yasser Rathore).
2020-02-17 20:49:10 +00:00
Volker Ruppert
185fbd7287
Adding option -march=i386 to GCC32 switches makes BIOS-bochs-latest compiled
...
with gcc 7.5.0 work with Bochs compiled for cpu level 5.
2020-02-16 09:19:01 +00:00
Volker Ruppert
a1b44c72b8
In the plugins case, don't use vncsrv link options for bochs.exe.
...
Removed unused GUI_LINK_OPTS from gui Makefile.
2020-02-07 23:32:27 +00:00
Volker Ruppert
9131b0dfb1
Fixed some more gcc warnings (strncpy() usage in wx gui).
2020-02-07 15:10:55 +00:00
Volker Ruppert
d9297100b1
Fixed some more gcc warnings (SDL and win32 gui debugger).
2020-02-06 21:42:08 +00:00
Volker Ruppert
d1822224a9
Fixed some gcc 9.2 warnings on Windows.
2020-02-06 17:13:01 +00:00
Stanislav Shwartsman
1b208b0e93
fixed compilation under Visual Studio
2020-02-02 07:25:00 +00:00
Volker Ruppert
a6329d4a3e
Some fixes in the build system.
...
- Fixed target name for 32-bit MSVC
- Don't probe for audio conversion libraries when configuring for MSVC
2020-02-01 18:05:54 +00:00
Volker Ruppert
7dd471210f
Configure script fixes for the vncsrv gui.
...
- Added LibVNCServer detection in Cygwin when using --with-all-libs
- If pkg-config is installed, use it to set up variables for LibVNCServer
2020-02-01 15:07:56 +00:00
Volker Ruppert
260d1f68d4
Some fixes for configuration and compilation with MSYS2.
...
- Added case for "*-msys" to the existing "*.mingw*" cases.
- Fixed $JADE value in case the program is not installed.
- Fixed RedirectIOToConsole() function for MSYS with 64-bit gcc 9.2.
2020-01-31 16:43:25 +00:00
Volker Ruppert
cc523e4034
Updated configure helper scripts from automake 1.16 (required for MSYS2).
2020-01-31 13:41:25 +00:00
Volker Ruppert
55ee6a4b85
Regenerated after docbook changes.
2020-01-27 18:23:01 +00:00
Volker Ruppert
79e1dfafcc
Added support for using jade directly if docbook2html is not installed (based
...
on Debian patch). Removed outdated jade specific Makefile.
2020-01-27 18:22:12 +00:00
Volker Ruppert
21e035957d
Don't force a gui display update in bx_vgacore_c::after_restore_state() since it
...
makes trouble with SDL / SDL2. The first timer-based update after restore should
draw the screen correctly.
2020-01-24 19:42:52 +00:00
Volker Ruppert
a088949447
Save / restore fixes
...
- Don't set up and load pre-defined optional plugins in restore mode.
- Remove the save/restore registration in Voodoo destructors.
- TODO: Fix frozen SDL/SDL2 display after restore.
2020-01-24 16:01:00 +00:00
Volker Ruppert
512d54cc5d
Moved internal debugger sections to a new chapter with two main sections:
...
command line debugger and debugger gui. Improved gui debugger section a
little bit. TODO: use some parts of docs-html/enh_dbg_user_man.txt and
remove this file when ready.
2020-01-19 00:11:34 +00:00
Stanislav Shwartsman
6b691257dd
fixed compilation with VMX off
2020-01-17 11:55:59 +00:00
Volker Ruppert
38581dc7ed
Added new configure shortcut script for compiling Bochs WIN64 on MSVC.
2020-01-15 21:42:38 +00:00
Volker Ruppert
48e07bcf7b
Recompiled BIOS image for i586.
2020-01-15 17:55:14 +00:00
Stanislav Shwartsman
a24b562e32
now when bios knows to set msr ia32_feature_ctrl, no need to initialize from reset code
2020-01-15 17:18:10 +00:00
Volker Ruppert
8679542678
Set VMX and LOCK bit in IA32_FEATURE_CONTROL.
2020-01-15 17:06:10 +00:00
Volker Ruppert
23b442e80d
Updated LGPL'd VGABIOS from SVN (some fixes for Bochs VBE).
2020-01-13 20:38:00 +00:00
Stanislav Shwartsman
c4d0001229
Apply SF [patch:#549] Fix snapshot param overflowing 32-bit integers
...
This patch fixed an integer overflow issue when restoring a snapshot whose parameters that are larger than ULONG_MAX.
We run into this issue when restoring a Windows snapshot whose pc_system.ticksTotal exceeds ULONG_MAX, which caused the subsequent confusion in bx_virt_timer_c::timer_handler which relies on pc_system.ticksTotal to function correctly.
2020-01-13 05:23:24 +00:00
Volker Ruppert
c15d3a27ad
Reduce maximum screen height by the height of header bar and status bar.
2020-01-12 19:00:56 +00:00
Stanislav Shwartsman
5620a4968b
set msr IA32_FEATURE_CTRL lock bit to ensure VMX is enabled - normally this should be done in Bios but init.cc can w/a
2020-01-11 07:04:44 +00:00
Stanislav Shwartsman
902ff1ef52
Part of the SF patch #548 : Support Windows Hyper-V in Bochs by Xinyang
...
When BX_SUPPORT_SMP is not defined, clear the bit in CPUID.[EAX=1].Bit[28] to indicate Hyper-Threading is unavailable.
2020-01-11 06:18:13 +00:00
Volker Ruppert
d641af80bb
Removed lfb_enabled switch from Bochs VBE code. Now banked and LFB writes to
...
VRAM are possible at the same time without changing mode. This makes the GRUB
bootloader menu visible when using the Bochs VBE adapter instead of Cirrus.
2020-01-11 06:07:18 +00:00
Stanislav Shwartsman
50bde4a38c
flush TLBs on CR4.CET change
2020-01-10 20:04:22 +00:00
Volker Ruppert
24e3cda7c0
Fixed building ACPI table source with latest iasl version (Debian patch).
2020-01-08 18:15:01 +00:00
Stanislav Shwartsman
72dffd320d
fixed CET fault on task switch when SSP is not 8-byte aligned. Bochs did #GP whiel SDM says #TS
2020-01-07 18:17:34 +00:00
Stanislav Shwartsman
526a565602
fixed compitaion with SMP and debugger enabled (SF bug #1411 )
2020-01-06 13:41:46 +00:00
Volker Ruppert
ef88b43248
Configure script regenerated after release
2020-01-05 12:59:23 +00:00
Volker Ruppert
fa0c6f4be8
Updates after release, added release tag to user doc, fixed BIOS install list
2020-01-05 12:58:25 +00:00
Volker Ruppert
08928b8b0c
Regenerated for release
2020-01-05 07:37:34 +00:00
Volker Ruppert
fc5b1c6e50
Preparing release 2.6.11
2020-01-05 07:36:44 +00:00
Volker Ruppert
70ea45b83d
Moved and updated biossums.txt to the developer doc.
...
Small fix in biossums.c.
2020-01-04 22:46:00 +00:00
Volker Ruppert
ecba5b807e
CHANGES updated
2020-01-04 10:14:05 +00:00
Volker Ruppert
acac6ecf45
Fixed hdimage lock file handling in the USB MSD case.
...
- Store file name string instead of pointer to file name.
- Increased size of the info text to fix a warning,
2020-01-03 21:17:15 +00:00
Stanislav Shwartsman
694112732b
use default base CPUID class method to detemine values of 0x80000008 leaf for IceLake CPUID
2020-01-03 19:53:20 +00:00
Stanislav Shwartsman
b69f2b052a
extract calculation of MSR_IA32_XSS supported bits to a function
2020-01-03 19:33:16 +00:00
Stanislav Shwartsman
45a25a2b67
CET: make sure enbranch64 and enbranch32 do the right thing when mode mismatch
2020-01-03 18:55:17 +00:00
Stanislav Shwartsman
495206650b
fixed CET wrmsr reserved bit checking
2020-01-03 18:44:15 +00:00
Stanislav Shwartsman
ea6b0c766c
added more VMX reasons to enum according to Intel SDM
2020-01-03 17:35:02 +00:00
Volker Ruppert
bce3c28bb5
Temporary fix for Bochs BIOS not working with CPU level < 6. Compiled BIOS on
...
a 32-bit Linux inside of Bochs. Now only i386 fails, newer CPUs are okay.
2020-01-03 15:48:20 +00:00
Volker Ruppert
b23d52ad44
LGPL'd VGABIOS updated to version 0.7b
2020-01-03 09:29:54 +00:00
Stanislav Shwartsman
bac9104f73
fixed compilation of init.cc for old CPU models
2020-01-03 05:29:45 +00:00
Volker Ruppert
2d950105cb
Fixed retrieving release timestamp from README file when compiling from outside
...
of the source tree.
2020-01-02 17:48:18 +00:00
Volker Ruppert
58ebb5819f
Releases (SVN flaG 0) now use the timestamp from README file instead of the
...
compilation time of main.cc for console and log file output.
2020-01-02 16:19:02 +00:00
Volker Ruppert
5cb6392ca4
Added function bx_get_timestamp() to reduce code duplication.
...
TODO: Use special timestamp in the release case (similar to Bochs BIOS).
2020-01-02 09:41:58 +00:00
Volker Ruppert
3146b45f59
Regenerated configure script
2020-01-01 19:03:42 +00:00
Volker Ruppert
4031aea715
Two changes from Debian patches for 2.6.10.
...
- pcidev: added support for recent Linux kernels
- fixed bochsrc manual page table
2020-01-01 19:02:50 +00:00
Volker Ruppert
546b4a78e5
Setting default values for VCLK registers not necessary. They should be set up
...
by the VGABIOS. Happy new year!
2020-01-01 14:16:29 +00:00
Volker Ruppert
8b5586bb79
Small optimization in the TRANSPARENTCOMP code.
2019-12-30 21:40:40 +00:00
Volker Ruppert
b6c1a4a919
Regenerated configure script and recompiled BIOS images.
2019-12-30 13:18:39 +00:00
Volker Ruppert
49a04c1399
Bochs BIOS changes partly based on Debian patches.
...
- Use 'iasl' for building ACPI table if present.
- Use the release date from README file for the BIOS_BUILD_DATE.
- Added Bochs VERSION string to the BIOS banner.
- Fixed the rombios32 delay loop for QEMU build.
- Improvement for rombios32.ld.
2019-12-30 13:16:18 +00:00
Volker Ruppert
30f0877ff8
Fixed compilation with PCI support disabled.
2019-12-30 07:16:46 +00:00
Volker Ruppert
f960acf028
Added missing Cirrus SVGA bitblt feature "tranparent color compare".
2019-12-29 21:38:05 +00:00
Stanislav Shwartsman
9a35c6de79
fix and simplify combined_access handling in EPT page walk
2019-12-29 21:00:35 +00:00
Stanislav Shwartsman
016aa349e5
handle supervisor-shadow-stack protection feature in the EPT
2019-12-29 20:40:18 +00:00
Volker Ruppert
74b9a0f6de
Bochs BIOS fix and update.
...
- Added hack fix to make SeaVGABIOS work: init video mode if not done.
- Update rombios32 release date.
2019-12-29 19:40:42 +00:00
Volker Ruppert
f7629c3896
Bochs BIOS fix and update.
...
- Added hack fix to make SeaVGABIOS work: init video mode if not done.
- Update rombios32 release date.
2019-12-29 19:38:52 +00:00
Volker Ruppert
34e475ec0a
Updated SeaBIOS ROM image to current version and added SeaVGABIOS for Cirrus.
2019-12-29 07:20:50 +00:00
Volker Ruppert
33d6956080
Added GLBCTL register read/write support (no function yet).
2019-12-28 21:04:53 +00:00
Stanislav Shwartsman
4f7aa4bd76
fixed compilation issue
2019-12-28 15:20:38 +00:00
Stanislav Shwartsman
f56e1aab86
VMX: save CET state to VMCS only if CET is supported
2019-12-28 15:18:55 +00:00
Stanislav Shwartsman
bcafd5bb7a
fix non-printable characters and add more verbose error messages
2019-12-28 15:08:53 +00:00
Stanislav Shwartsman
d091e3bda6
simplify XRSTOR* code
2019-12-28 14:03:54 +00:00
Stanislav Shwartsman
126ae0d0b4
more verbose debug print
2019-12-28 13:36:43 +00:00
Stanislav Shwartsman
9458e25486
reverting commit 13737 and doing correct fix
2019-12-28 13:11:13 +00:00
Stanislav Shwartsman
5d7c6d46b0
fixed compilation after prev commit
2019-12-28 13:02:02 +00:00
Stanislav Shwartsman
7f72252223
fixes in XSAVE/XRSTOR handling
2019-12-28 12:57:31 +00:00
Volker Ruppert
295336adfb
Fixed VESA BIOS function 0x4F15 (get EDID) for both the VBE and Cirrus version.
2019-12-27 19:56:37 +00:00
Stanislav Shwartsman
b09126aa34
use enums for assign_srcs error output - help with debugging unexpected #UD cases
2019-12-27 19:34:32 +00:00
Stanislav Shwartsman
6879feebf5
SHA: SHA instructions in 128-bit memory operand require to be explicitly aligned
2019-12-27 14:24:43 +00:00
Stanislav Shwartsman
5c45f6b324
AVX512: EVEX.Z is forbidden for any vector instruction using opmask as source or destination (should cause #UD)
2019-12-27 14:23:53 +00:00
Stanislav Shwartsman
8bd5272591
correctly handle CET Enbranch override prefix 0x3E in 64-bit mode
2019-12-27 13:44:57 +00:00
Stanislav Shwartsman
596c197cea
fix decoder: SHA1RNDS4 instruction should be with no SSE prefix
2019-12-27 13:08:20 +00:00
Stanislav Shwartsman
a2be16873c
VMX: save guest CET state to VMCS on vmexit
2019-12-27 13:02:30 +00:00
Stanislav Shwartsman
8e2391c44b
fixed compilation when compiling without EVEX
2019-12-26 20:12:40 +00:00
Volker Ruppert
70691fa532
Some fixes in the build system based on Debian patches for 2.6.10.
...
- The pthread library is not needed at all by the Windows ports.
- Link the ALSA and SDL sound modules only with required library.
- Fixed curses cross-compilation issue found by Debian.
- slirp/cksum.cc: NOTE for Debian.
2019-12-26 19:17:47 +00:00
Stanislav Shwartsman
ff167d0f65
change a bit more defines to const with type
2019-12-26 16:48:33 +00:00
Volker Ruppert
955a466df0
BX_KEY_* defines replaced by enum list.
2019-12-26 16:14:31 +00:00
Volker Ruppert
0bcc86716d
Operational registers can be accessed as dwords only (from a patch by Ben Lunt).
2019-12-25 09:07:12 +00:00
Stanislav Shwartsman
d6c3dcf033
revert for full vector read until figured out the right behavior for VPSHUFBITQMB
2019-12-24 20:08:33 +00:00
Stanislav Shwartsman
edcdce927c
added ability to configure hidden VMCS field mapping through CPUID
2019-12-22 18:53:07 +00:00
Stanislav Shwartsman
fc1dbe68bc
update dependencies in Mafefile.in
2019-12-21 21:42:35 +00:00
Stanislav Shwartsman
e593bb0084
CPUDB: Allow Icelake-U CPU model to exists without EVEX
2019-12-21 21:06:34 +00:00
Stanislav Shwartsman
e38cca20be
disable fault suppression for VPEXPAND* until fugured out how it should work in real life
2019-12-21 20:54:45 +00:00
Stanislav Shwartsman
f99258a2fd
fixed copy-paste issue
2019-12-21 20:30:15 +00:00
Stanislav Shwartsman
c16816485e
use optimized function for broadcastss
2019-12-21 20:20:33 +00:00
Stanislav Shwartsman
1a0237e9af
make order in AVX512 broadcast handlers, extract them into separate file
2019-12-21 20:07:03 +00:00
Stanislav Shwartsman
11585e4982
AVX512: VPBROADCASTB/W/D/Q with GPR source are only reg/reg
2019-12-21 18:29:51 +00:00
Stanislav Shwartsman
afa3626eb3
AVX512: fixed compressed immediate size (and memory access size) for VPBROADCASTB_Eb form
2019-12-21 18:17:51 +00:00
Stanislav Shwartsman
0169605f79
seems like GFNI VGF2P8AFFINEQB and VGF2P8AFFINEINVQB do not have fault suppression
2019-12-21 18:01:58 +00:00
Stanislav Shwartsman
4ac2122f3a
rename function to correct English, add broadcast and fault suppression support for EVEX encoded GFNI instructions
2019-12-21 16:12:06 +00:00
Stanislav Shwartsman
dd1ab303df
rename function to correct English
2019-12-21 15:54:52 +00:00
Stanislav Shwartsman
723554d535
AVX512: Allow masked fault suppression for many AVX512 instructions - not all cases reviewed yet, more to come
2019-12-21 15:47:29 +00:00
Stanislav Shwartsman
74c73e5a76
AVX512: Allow masked fault suppression for many AVX512 instructions - not all cases reviewed yet, more to come
2019-12-20 15:34:14 +00:00
Stanislav Shwartsman
0e5d843597
AVX512: Allow masked fault suppression for many AVX512 instructions - not all cases reviewed yet, more to come
2019-12-20 14:58:56 +00:00
Stanislav Shwartsman
cff6a67adb
AVX512: Allow masked fault suppression for many AVX512 instructions - not all cases reviewed yet, more to come
2019-12-20 14:57:42 +00:00
Stanislav Shwartsman
9fbf974e6b
AVX512: Allow masked fault suppression for many AVX512 instructions - not all cases reviewed yet, more to come
2019-12-20 13:45:00 +00:00
Stanislav Shwartsman
222185ad11
AVX512: Allow masked fault suppression for many AVX512 instructions - not all cases reviewed yet, more to come
2019-12-20 13:42:59 +00:00
Stanislav Shwartsman
553a9471d1
fixed push error check for VMX injecting event vector 21 on configuration that doesn't support CET
2019-12-20 13:27:18 +00:00
Stanislav Shwartsman
ec5f526ac0
ENBRANCH and RDSSP should remain NOP when CET not enabled, this means they not require an specifical CPU feature to be decoded into the hnadler
2019-12-20 13:16:52 +00:00
Stanislav Shwartsman
96b2cb5825
update lexer/parser for internal debugger after CET additions
2019-12-20 07:57:59 +00:00
Stanislav Shwartsman
b523a202f4
update configure script
2019-12-20 07:46:17 +00:00
Stanislav Shwartsman
70d6cdc418
update CHANGES
2019-12-20 07:43:36 +00:00
Stanislav Shwartsman
f90e5f4f44
Add initial implementation of the CET (Control Flow Enforcement Technology) emulation according to SDM071
...
Only missing items (to be added soon):
- Supervisor Shadow Stack EPT Control is not implemented yet
- SMM placing for SSP
Currently have to be added manually to some CPUID model, for example to ICL-U
To enable configure with --enable-cet
2019-12-20 07:42:07 +00:00
Stanislav Shwartsman
9c98d68f87
AVX512_VBMI2: Fixed shift count from register source for VBMI2 shift instructions (VPSHRDVD/VPSHLDVD/VPSHRDVQ/VPSHLDVQ)
2019-12-19 21:55:46 +00:00
Stanislav Shwartsman
1b9e0081b4
fixed bugs in recently implemented load methods with fault suppression support
2019-12-19 21:36:13 +00:00
Stanislav Shwartsman
39aee8773f
AVX512: Allow masked fault suppression for many AVX512 instructions - not all cases reviewed yet, more to come
2019-12-19 21:21:24 +00:00
Stanislav Shwartsman
682fbda5af
AVX512: Allow masked fault suppression for many AVX512 instructions - not all cases reviewed yet, more to come
2019-12-19 21:12:47 +00:00
Stanislav Shwartsman
59cad2e156
AVX512: Allow masked fault suppression for many AVX512 instructions - not all cases reviewed yet, more to come
2019-12-19 21:12:23 +00:00
Volker Ruppert
d290e5ba93
Changes updated (NSIS + HPET).
2019-12-19 20:36:42 +00:00
Stanislav Shwartsman
b2749a1a18
notify about significant amount of CPU bugs fixed in CHANGES
2019-12-19 20:13:35 +00:00
Stanislav Shwartsman
2df60c3b3f
AVX512: Allow masked fault suppression for many AVX512 instructions - not all cases reviewed yet, more to come
2019-12-19 20:08:49 +00:00
Stanislav Shwartsman
df986a05ca
fixed bug in SHA256RNDS2 instruction - wrong order of dwords in result
2019-12-19 19:20:13 +00:00
Stanislav Shwartsman
9b556d7656
fixed compilation error in crregs.cc xsave method init code - more methods to fix
2019-12-19 19:14:37 +00:00
Stanislav Shwartsman
258679b6dc
fixed compilation error in crregs.cc xsave method init code
2019-12-19 19:12:39 +00:00
Stanislav Shwartsman
bb58ef5548
fixed bug in SHA256RNDS2 instruction (wrong sha transformation used)
2019-12-19 19:08:50 +00:00
Stanislav Shwartsman
019c934cfd
decode GFNI opcodes in 64-bit mode too
2019-12-18 19:55:04 +00:00
Stanislav Shwartsman
6b1992783e
w/a compilation issue in gcc7
2019-12-18 18:19:52 +00:00
Stanislav Shwartsman
26b67c1942
fixed calling for XSAVE methods with BX_USE_SMF=0
2019-12-17 19:14:09 +00:00
Volker Ruppert
75aabad381
Fixed some HPET issues with a patch by Oleg. The following tests are passed now:
...
wraparound test, masked level interrupt test, one shot 32-bit test, periodic
32-bit test, mode change test, long 32-bit one-shot timer test.
2019-12-17 17:40:30 +00:00
Stanislav Shwartsman
eca847c8b3
fixed compilation error
2019-12-16 19:47:41 +00:00
Stanislav Shwartsman
895c4b75df
rewritten xsave/xrestore implementation in generic way to simplify adding new xsave/xrestore extensions
2019-12-16 16:14:51 +00:00
Stanislav Shwartsman
112e61f1c3
coding style: avoid goto, magic constants and defines which could be replaced by enums
2019-12-15 18:45:04 +00:00
Volker Ruppert
2b49ecde3f
Now using different setup file names for each platform.
2019-12-15 12:25:31 +00:00
Stanislav Shwartsman
bcfcaf3958
unify branch_far32 and branhc_far64 methods
2019-12-14 17:20:35 +00:00
Volker Ruppert
a01a0262be
Two small Bochs debugger changes.
...
- Fixed a warning in the enhanced debugger core.
- Update generated file parser.c.
2019-12-14 12:55:08 +00:00
Volker Ruppert
f1cd051748
Added 64-bit support to the NSIS installer script.
2019-12-13 22:25:50 +00:00
Stanislav Shwartsman
c117208bbf
extending fix to AMD SVM
2019-12-13 18:47:51 +00:00
Stanislav Shwartsman
1968cdf248
proposed fix for SF issue #547 vmcshostptr not invalidated after memory swapped out
2019-12-13 18:31:43 +00:00
Stanislav Shwartsman
134b23a809
enable AVX512_CD for Icelake configuration
2019-12-13 16:48:15 +00:00
Stanislav Shwartsman
2ea27f1afb
more correct fix for load with mask and broadcast
2019-12-13 14:57:32 +00:00
Stanislav Shwartsman
6d612df280
AVX512_BITALG: Fixed decoding of VPSHUFBITQMB instruction
2019-12-13 14:11:08 +00:00
Stanislav Shwartsman
abdeea560a
AVX512: fix masked broadcast with mask of all zero corner case - no memory access should be made at all
2019-12-13 13:44:30 +00:00
Stanislav Shwartsman
c9ac9a1e43
AVX512_VBMI: Fixed decoding of VPERMB instruction
2019-12-13 13:24:02 +00:00
Stanislav Shwartsman
fc79466dcb
AVX512_VBMI: Fixed decoding of VPERMI2B/VPERMT2B instructions
2019-12-13 13:08:45 +00:00
Stanislav Shwartsman
eb009ddd00
fixed VPACKSSDW/VPACKUSDW opcodes - allow broadcast
2019-12-13 12:53:48 +00:00
Stanislav Shwartsman
f9d04849b3
fixed decoding for VPSHLDVW/VPSHRDVW/VPSHLDVD/VPSHLDVQ/VPSHRDVD/VPSHRDVQ
2019-12-13 12:34:16 +00:00
Stanislav Shwartsman
9bbf43ed4b
fixed decoding of AVX512_VNNI instructions
2019-12-13 08:39:23 +00:00
Stanislav Shwartsman
27e96c807c
fixed decoding of VPBROADCASTMW2D opcode
2019-12-13 08:09:18 +00:00
Stanislav Shwartsman
49ceb971cd
apply SF patch #1409 usb_msd failing to read/write requests larger than 131k
2019-12-12 18:05:20 +00:00
Volker Ruppert
8945fa4895
Added missing HPET entry in devices tree
2019-12-11 17:06:45 +00:00
Stanislav Shwartsman
7090abe1a1
fix one more place with incorrect detection of x2apic MSR space. use function instead of magic numbers in all places
2019-12-10 21:07:19 +00:00
Stanislav Shwartsman
e35fcd1782
clarify err message
2019-12-10 20:38:45 +00:00