Commit Graph

13533 Commits

Author SHA1 Message Date
Volker Ruppert
4d5d31170c BIOS: Fixed lslul helper function similar to lsrul. 2024-05-09 09:41:06 +02:00
Volker Ruppert
49736ddcf0 More accurate fix for the BIOS issue #268.
- lcmpul needs to preserve EAX and EBX, since the result is read from status flags.
- lsrul should not preserve EBX but ECX. The loword of the argument and result is in AX
  and the hiword in BX. Now doing the shift operation with the 16-bit registers
  (lsr bx / rcr ax).
- TODO: the other helper functions need to be reviewed.
2024-05-09 00:46:11 +02:00
Volker Ruppert
8a30642092 Continued updating builtin slirp code (no functional changes).
- Some variable type name changes.
- DEBUG code changes (not yet usable).
- Comment additions and tab-to-space changes.
2024-05-07 19:47:57 +02:00
Volker Ruppert
e64ec27113 Compilation fix for libslirp on mingw/msys.
Unlike the official release, the mingw* version of libslirp.h doesn't define slirp_ssize_t.
2024-05-06 17:22:47 +02:00
Volker Ruppert
140e2e96ae Bochs BIOS: helper functions lcmpul and lsrul need to preserve EBX.
This fixes issue #268.
2024-05-06 16:28:48 +02:00
Volker Ruppert
5489f18ff2 Some work on builtin slirp header files.
- Get rid of slirp_config.h.
- Added ip6_icmp.h (not yet used).
- Updates in some other headers.
- Added c++ static_assert for structure size checking at compile time.
- Updated Makefile dependencies and VS2019 project files.
2024-05-05 20:00:45 +02:00
Volker Ruppert
a684734975 Next set of updates from libslirp.
- Started implementing guest forwarding feature.
- Updated most of socket.h.
- Added if_mtu / if_mru handling.
- Cleaned up MIN / MAX defines.
2024-05-05 12:27:12 +02:00
Volker Ruppert
b84ebf5dfc Fixed text mode cursor rendering in win32 gui (issue #314). 2024-05-04 11:27:06 +02:00
Volker Ruppert
b18a1e7c48 Fixed text mode cursor blinking (not depending on text blink feature). 2024-05-04 08:40:00 +02:00
Volker Ruppert
94f6336d15 Continued updating builtin slirp from libslirp.
- Cleaned up system includes in slirp.h and removed most of the HAVE_* defines.
- Renamed exec_list to guestfwd_list and removed ex_pty member.
- Using type "char *" instead of "caddr_t".
2024-05-03 20:58:46 +02:00
Volker Ruppert
74df052eea Updated slirp polling functions from libslirp. 2024-05-02 23:30:48 +02:00
Stanislav Shwartsman
f199d64170 reduce further f128 computation precision to get closer to real x87 hw
truncate on 80 bit now
2024-05-01 07:28:05 +03:00
Volker Ruppert
b0f238af76 Continued updating slirp code from libslirp (no functional changes). 2024-04-29 22:38:10 +02:00
Volker Ruppert
47f9e4bc12 Builtin slirp: Continued updating from libslirp code.
Processed chksum.cc and dnssearch.cc.
Removed obsolete / unused stuff from compat.h and slirp_config.h.
2024-04-28 21:05:41 +02:00
Stanislav Shwartsman
a3fd1fef26 fix for double overflow 2024-04-28 16:25:20 +03:00
Volker Ruppert
afba2c932e Builtin slirp: Now util.cc replaces compat.cc completely. 2024-04-28 14:22:51 +02:00
Volker Ruppert
58f44900de Builtin slirp: Removed QTAILQ* stuff and some other cleanups. 2024-04-28 10:43:00 +02:00
Stanislav Shwartsman
2059854e04 rewrite floatx80 bias unmasked overflow handling 2024-04-28 10:16:39 +03:00
Volker Ruppert
89bfe81834 wx: Added support for gui options parser and gui debugger global ini. 2024-04-28 07:37:28 +02:00
Stanislav Shwartsman
632d8780de rewrite code for biasing unmasked underflow for floatx80 in softfloat3e (from hack to clean code) 2024-04-28 06:41:47 +03:00
Volker Ruppert
805bb6b985 Added structure for gui options and zero it out in constructor. 2024-04-27 23:06:02 +02:00
Stanislav Shwartsman
9d84b1086f fixed missing IPS in the status bar
the gui_hide_ips variable was never initialized :(
same for gui_nokeyrepeat and many others, fixed only what I knew ...
2024-04-27 10:00:23 +03:00
Stanislav Shwartsman
247aca0956 implement VMX SUPPORT FOR THE IA32_SPEC_CTRL MSR announced in 319433-052
bugfix: "shadow stack prematurely busy" secondary vmexit control was wrongly mapped into bit2 insetad of bit3
2024-04-27 09:44:48 +03:00
Volker Ruppert
c6b7961799 Some more work on builtin slirp - no functional changes yet.
Added all of the SlirpCb and SlirpConfig structures from libslirp.
2024-04-26 22:40:12 +02:00
Stanislav Shwartsman
ab884f3dd4 fix compilation for AND Ryzen CPUID model 2024-04-26 22:15:34 +03:00
Stanislav Shwartsman
690bae9a12 add fields and bits for newly announced x86 features and vmx state 2024-04-26 22:13:08 +03:00
Stanislav Shwartsman
a565f9a754 implement Flexible UIRET (AKA UIRET_UIF) announced in 319433-052 2024-04-26 21:53:03 +03:00
Stanislav Shwartsman
69fa93e75b implement MONITORLESS MWAIT support (announced in 319433-052)
rework CPUDB classes to avoid code duplication for MONITOR/MWAIT leaf
2024-04-26 21:29:53 +03:00
Volker Ruppert
c5fd56558f Builtin slirp: compilation fixes for VS2019 and Cygwin.
- VS2019 needs C++20 standard to be set.
- Some Cygwin related additions in util.cc.
- slirp_ssize_t definition and usage fixed.
- changed include position of compat.h in slirp.h.
2024-04-25 21:10:48 +02:00
Stanislav Shwartsman
971576e32f FXRSTOR/XRSTOR: do not change x87 state if restore of entire state cannot be completed 2024-04-25 19:57:38 +03:00
Stanislav Shwartsman
2047d6eb7a remove fpu/softfloat16.h 2024-04-25 12:36:27 +03:00
Stanislav Shwartsman
5c90a08af0 fixes for softfloat3e compilation after include reorg 2024-04-25 12:18:44 +03:00
Stanislav Shwartsman
1255a0c585 remove fpu/softfloat.h, reduce include deprendencies, fix warnings
regenerate dep lists in all Makefile.in
2024-04-25 11:50:48 +03:00
Stanislav Shwartsman
7eb5766611 resurrect incorrectly removed variables 2024-04-25 10:14:11 +03:00
Stanislav Shwartsman
f6b12ee71b remove softfloat-macros.h 2024-04-25 10:09:04 +03:00
Stanislav Shwartsman
00810f3054 remove more unused constructs left from softfloat2 2024-04-25 10:00:48 +03:00
Stanislav Shwartsman
9fb4382668 fixed compilation 2024-04-25 08:31:18 +03:00
Volker Ruppert
8c81464156 Updated builtin slirp TFTP support from libslirp code.
Added most of ip6.h, util.c and util.h files (except glib stuff).
Related changes in several files.
2024-04-24 22:55:03 +02:00
Stanislav Shwartsman
0c12c4fd83 move float128 definition to different include file to reduce #include dependencies 2024-04-24 22:52:40 +03:00
Stanislav Shwartsman
c21a2d616f remove old softfloat2 data types, fully transition to new ones 2024-04-24 22:39:29 +03:00
Stanislav Shwartsman
b2d6d34178 fixed compilation with 3dnow enabled 2024-04-24 21:48:53 +03:00
Stanislav Shwartsman
dc7291be75 fix Makefile after renamed include 2024-04-24 21:39:22 +03:00
Stanislav Shwartsman
a1be887ad8 more transition to new softfloat code 2024-04-24 21:35:55 +03:00
Stanislav Shwartsman
744d0b4fc0 more transition to new softfloat code 2024-04-24 20:57:23 +03:00
Stanislav Shwartsman
9778d78494 artificially reduce float128 precision as x86 hardware uses only 67-bit 2024-04-24 16:08:19 +03:00
Stanislav Shwartsman
39237c3eb5 fix compilation - remove deleted include reference from Makefile 2024-04-24 09:49:11 +03:00
Stanislav Shwartsman
807ae1f04c remove f128_sqrt unused for Bochs 2024-04-24 09:25:26 +03:00
Stanislav Shwartsman
0e686801a5 small coding style change 2024-04-24 09:24:10 +03:00
Stanislav Shwartsman
57e44a2d98 fix makefile 2024-04-24 09:23:03 +03:00
Stanislav Shwartsman
8383260781 small fix for performance 2024-04-24 09:03:37 +03:00