Commit Graph

11823 Commits

Author SHA1 Message Date
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