Volker Ruppert
da41022ee2
Builtin slirp: Some more updates from libslirp and warning fixes.
2024-05-20 18:37:24 +02:00
Volker Ruppert
7b2a322d2f
Fixed off-by-one bug when reading from ROM with len > 1.
2024-05-20 17:47:23 +02:00
Volker Ruppert
ccfdb05e29
Builtin slirp: First set of updates from recently released libslirp 4.8.0.
...
- icmpv6: added echo request forwarding support
- tftp: fixed use-after-free and added cleanup code
- eth: pad ethernet frames to 60 bytes
2024-05-20 12:00:59 +02:00
Volker Ruppert
16e5f5828b
Builtin slirp: Added some replacement macros for glib ones.
...
Now slirp_new() checks correctness of config settings.
Some other small additions and cleanups.
2024-05-19 18:32:18 +02:00
Volker Ruppert
b76ead90ed
Builtin slirp: several fixes and additions.
...
The slirplog object must exist before calling slirp_new().
Function slirplog_error() can handle arguments now.
Most of the fprintf() calls replaced by slirplog_error().
Added IPv6 host forwarding feature (not yet used by Bochs).
Added stubs for slirp_connection_info() and slirp_neighbor_info().
Fixed some warnings.
2024-05-18 23:14:45 +02:00
Volker Ruppert
c5435aef15
Improved builtin slirp debug message support.
...
All DEBUG_* messages now ported from libslirp and connected to the Bochs
logfunctions method ldebug().
Function slirp_warning() renamed to slirplog_error() (TODO: it should also be
able to handle arguments and replace the fprintf(stderr, ...) stuff).
2024-05-18 16:00:07 +02:00
Volker Ruppert
9e9e1f5e28
Some additions for the builtin slirp support.
...
Started implementing slirp debug message support. For now DEBUG_CALL messages
can be sent to log file by setting new option 'debug_switches' to 1.
Moved function slirp_warning() to slirp.cc (TODO: change fprintf() to slirp_warning()).
Updated some tcp_emu() stuff from libslirp (not yet used by Bochs).
2024-05-17 20:00:53 +02:00
Volker Ruppert
64e4671c00
Builtin slirp: Added IPv6 support from libslirp code.
...
TODO: replacements for glib function, debug support, code cleanup.
2024-05-16 23:31:47 +02:00
Volker Ruppert
7dd1a7be9e
Big update of builtin slirp networking support (IPv4 only).
...
Update of existing files based on libslirp 4.7.0 code. It compiles and works
on Linux (gcc 10.4) and Windows (mingw/msys with gcc 14 and VS2019).
Functionality tested on both platforms with Linux guest OS (Firefox shows website).
Next step will be the start of the IPv6 integration.
2024-05-14 20:48:17 +02:00
Volker Ruppert
91c7c1c50a
Automatic tab2space changes.
2024-05-13 22:06:12 +02:00
Volker Ruppert
f6d772982e
New attempt to fix issue reported in discussion #318 .
...
New style callbacks code now requires standard C++17.
With this setting VS2019 can compile the iodev_network module.
2024-05-13 17:41:35 +02:00
Volker Ruppert
7dcecf5e57
Attempt to fix issue reported in discussion #318 .
...
Added code compatible with C++11.
2024-05-12 21:11:24 +02:00
Volker Ruppert
f612821c97
Enabled new polling callbacks for builtin slirp.
...
Big slirp update coming soon.
2024-05-12 08:29:07 +02:00
Stanislav Shwartsman
c1472a521a
update MSVCPP project files
2024-05-12 08:09:22 +03:00
Volker Ruppert
eb477d7bb2
Some work on the builtin slirp core.
...
- Updated function arp_input() and related code.
- Updated get_dns_addr() functions for 3 different platforms (Apple code untested).
- Started updating IPv6 header file for C++ compatibilty (to be continued).
- Some other small updates.
2024-05-09 11:29:32 +02:00
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