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
Stanislav Shwartsman
3e4a966a2f
remove floatx80_mul with float128 argument (use float128 instead)
...
this let's to remove completely softfloat-round-pack.cc and softfloatx80.cc
2024-04-23 21:34:29 +03:00
Volker Ruppert
7e3edfe7d9
Continued updating builtin slirp from libslirp code.
...
- Updated arp_table.cc (except debug code).
- Updated bootp.cc (Bochs extensions still present).
- Related changes in other files.
2024-04-21 20:35:27 +02:00
Volker Ruppert
aa529a42f6
Fixed slirp compilation issues related to inet_aton().
2024-04-21 13:13:36 +02:00
Volker Ruppert
f1259413fb
Continued work on builtin slirp networking support.
...
- Modified info / error log message handling.
- Renamed insque / remque functions using "slirp_" prefix.
- Removed useless SVN ID from most file headers and add license specifier instead.
2024-04-21 11:27:51 +02:00
Volker Ruppert
fa5c5ebe88
Started updating builtin slirp from libslirp code (callback support).
...
Added callbacks send_packet() and clock_get_ns().
2024-04-19 22:18:29 +02:00
Volker Ruppert
1d1e15ecb8
Update VS2019 workspace files.
2024-04-19 19:24:27 +02:00
Volker Ruppert
a290ce33e0
Builtin slirp now also returns "local" as the domain name.
...
Some other cleanups in bootp_reply().
2024-04-18 18:08:00 +02:00
Volker Ruppert
4c7e3d6f2f
Fixed size of TFTP option reply.
2024-04-16 20:23:32 +02:00
Volker Ruppert
0f6287b592
Applied suggested fix for slirp TFTP support to fix issue #305 .
2024-04-16 17:54:59 +02:00
Stanislav Shwartsman
c70bcbf5e9
rewrite fprem.cc using functions from softfloat3e
...
preparing to eliminate softfloat2 completely
2024-04-15 13:41:33 +03:00
Torinde
8757c36e1c
Update cpuid.cc - label and abbreviation corrections SMX, MPX ( #301 )
...
Memory Protection Extensions - add MPX abbreviation
SMX: Secure Virtual Machine Technology - bit6 is for SMX, but [it's
meaning](https://en.wikipedia.org/wiki/CPUID ) is Safer Mode Extensions
(part of TXT). Not Secure Virtual Machine Technology (which is already
listed elsewhere as SVM).
2024-04-15 09:00:58 +03:00
Stanislav Shwartsman
42db7b64ce
simplifications in softfloat3e code
2024-04-14 22:14:12 +03:00
Volker Ruppert
e4978addd1
bximage: added simple partition table viewer to the info function.
...
The code is based on parts of the SF patch "bxmount".
2024-04-14 18:15:52 +02:00
Volker Ruppert
5376f129ee
Some work on the slirp networking code.
...
- Added support for optional TFTP server name in builtin slirp and libslirp.
- Added default domain name for libslirp.
2024-04-14 11:04:01 +02:00
Volker Ruppert
55d7488be6
Some work for libslirp networking support on Windows.
...
Added inet_aton() function (missing on Windows) from builtin slirp code.
TODO: update builtin slirp code based on libslirp 4.70 code.
2024-04-14 01:01:20 +02:00
Stanislav Shwartsman
738dfa1a12
move more stuff to softfloat3e style
2024-04-13 19:04:33 +03:00
Volker Ruppert
155fc74d30
Some work on the libslirp networking support.
...
- Added capability to turn on IPv6 support with slirp.conf option (using default
QEMU settings for now / non-Windows platforms only).
- Added some basic timer code required by IPv6 based on example code.
2024-04-13 10:18:38 +02:00
Volker Ruppert
0ff2905998
Added support for using external slirp library instead of builtin one.
...
- Added configure option --enable-using-libslirp to turn on the search for the
library. In config.h BX_HAVE_LIBSLIRP is set to 1 if found. The network Makefile
is set up accordingly. If not enabled or not found, the builtin slirp code is used.
- Moved samba server code and host forwarding code to eth_slirp.cc.
- Modified builtin slirp API to reduce differences.
- NOTE: IPv6 support present in libslirp is not yet enabled (needs more testing).
- TODO: Update builtin slirp code based on libslirp 4.7.0 code.
2024-04-07 19:57:25 +02:00
Biswapriyo Nath
e1d67d9ce0
Fix checking Android platform with __ANDROID__ macro ( #299 )
...
This change fixes compiler errors in Android as following.
../../../iodev/sound/soundoss.cc:43:10: fatal error: 'sys/soundcard.h'
file not found
43 | #include <sys/soundcard.h>
| ^~~~~~~~~~~~~~~~~
../../../iodev/network/slirp/misc.cc:195:12: error: use of undeclared
identifier 'getdtablesize'; did you mean 'getpagesize'?
195 | for (s = getdtablesize() - 1; s >= 3; s--)
| ^~~~~~~~~~~~~
| getpagesize
/data/data/com.termux/files/usr/include/unistd.h:356:5: note:
'getpagesize' declared here
356 | int getpagesize(void) __INTRODUCED_IN(21);
| ^
The official documentation also suggests to use __ANDROID__ macro which
is defined by the compiler irrespective of included headers and build
system.
https://android.googlesource.com/platform/bionic/+/HEAD/docs/defines.md
2024-04-06 23:18:01 +02:00
Volker Ruppert
c1f93f0c94
Added PCM recording support using the PulseAudio simple API.
2024-04-01 21:29:55 +02:00
Volker Ruppert
6e4a4fcef3
Updated VS2019 workspace files.
2024-04-01 14:23:28 +02:00
Volker Ruppert
2979ba4b3a
Lowlevel sound support: Attempt to fix issue #270 .
...
If resampler is not present, flush output before changing PCM parameters.
2024-04-01 10:31:51 +02:00
Volker Ruppert
78ce6be17d
Fixed compilation of vncsrv gui in Cygwin.
2024-04-01 09:01:27 +02:00
Volker Ruppert
d345dc85dd
Enable PulseAudio support for more platforms, but not yet for Windows.
...
On Windows PulseAudio uses pthreads which seem to be in conflict with the native
Windows threads used by Bochs.
2024-04-01 00:23:23 +02:00
Stanislav Shwartsman
3657e40437
convert FSCALE to softfloat3e style
2024-03-31 15:24:12 +03:00
Volker Ruppert
6ac761894c
Added lowlevel sound output support using the PulseAudio simple API.
...
TODO: PulseAudio also supports sound recording and it's portable (Windows).
2024-03-31 13:19:43 +02:00
Stanislav Shwartsman
725aa43b9c
fix extern
2024-03-30 19:44:14 +03:00
Stanislav Shwartsman
7c1a23037a
convert FEXTRACT to softfloat3e style
...
remove more softfloat2 code which is not in use anymore
2024-03-30 19:35:08 +03:00
Volker Ruppert
ba1a0441ab
Setting GTK version number in config.h fixes GTK3 compilation.
...
GTK3 forbids to include gtkversion.h directly.
2024-03-30 16:59:06 +01:00
Stanislav Shwartsman
c91b7bf117
convert float128 uses to softfloat3e
...
remove more now unused softfloat2 stuff
2024-03-30 15:36:43 +03:00
Volker Ruppert
110bb94e3a
Updated VS2019 project files after latest softfloat3e changes.
2024-03-30 12:48:22 +01:00
Volker Ruppert
e58f9b46f6
BXSHARE: For backward compatibility read default value from registry
...
key if BX_SHARE_PATH doesn't exist.
2024-03-30 12:28:25 +01:00
Volker Ruppert
676eb9f37d
Added support for showing X dialog box when parsing options.
...
Changed init order to: XInitThreads(), XOpenDisplay(), SIM->set_notify_callback()
and then parse display library options.
2024-03-30 11:11:07 +01:00
Volker Ruppert
1924cd457e
Gui options parser: Don't panic after showing error message box.
2024-03-30 08:05:53 +01:00
Volker Ruppert
51a73a00e8
Fixed compilation error with minimal configuration.
2024-03-29 20:29:58 +01:00
Volker Ruppert
ed20d44090
Added new gui method parse_common_gui_options().
...
Simplified gui option handling with it in sdl, sdl2, win32 and x11 guis.
The sdl and sdl2 guis now also support "gui_debug:globalini".
2024-03-29 20:12:41 +01:00
Stanislav Shwartsman
6d4f132977
remove now unused function
2024-03-29 20:14:13 +03:00
Stanislav Shwartsman
c372a77392
tab2space
2024-03-29 20:13:57 +03:00
Stanislav Shwartsman
a04ec3716a
better handling of denormal in extF80_rem
2024-03-29 16:23:15 +03:00
Stanislav Shwartsman
af18912529
GTK debugger: Set GTK_DISABLE_DEPRECATED only for GTK 2.
...
The current code fails to compile otherwise with GTK 3.
(was accidentially removed by prev commit)
2024-03-29 16:04:17 +03:00
Stanislav Shwartsman
eef84bbbfc
fixed warnings
2024-03-29 16:02:11 +03:00
Stanislav Shwartsman
446408eb74
remove redundant files from softfloat3e source code
2024-03-29 16:00:22 +03:00
Volker Ruppert
1bbd4ed535
Added gui debugger option extension "globalini" fur the win32 and x11 guis.
...
Use this display library line to read/write ini from BXSHARE path:
display_library: x, options="gui_debug:globalini"
NOTE: Using $BXSHARE at this point doesn't work yet since the common parser code
expands the variable and Bochs finally exits with a panic (needs to be reviewed).
TODO: Add shared parser code for all guis and add this feature for SDL, SDL2 and
wxWidgets guis.
2024-03-29 10:40:59 +01:00
Volker Ruppert
aff2b42203
Added panic for legacy BIOS if there is no VGA ROM at C000:0000h.
...
This is a workaround for issue #155 .
2024-03-28 18:55:04 +01:00
Volker Ruppert
504f68e6bd
Fixed warnings in the GTK debugger code.
2024-03-27 17:33:19 +01:00
Volker Ruppert
44d644c2c2
Some more user doc updates and updating Bochs website URL.
2024-03-26 19:36:12 +01:00
Volker Ruppert
ca8c9936b9
Debugger gui: Added support for using ini file from BXSHARE path.
...
If BXSHARE variable is defined (or BX_SHARE_PATH set in Windows registry)
and an existing ini file is copied to this location, the gui will use it
instead of the local ini file (issue #195 ).
TODO: Specify the ini file priority with an addition to the 'gui_debug'
parameter of the display library option.
2024-03-25 20:08:02 +01:00
Volker Ruppert
187411e25f
In shortcut script .conf.linux added support for enabling debugger.
...
The debugger now can be enabled without setting CONFIGURE_ARGS.
To turn it on use
./.conf.linux normal debugger
or
./.conf.linux plugins debugger
2024-03-25 19:50:06 +01:00
Volker Ruppert
9daf6e9f50
Updated most of the user doc after transition to GIT / GitHub.
2024-03-25 17:53:04 +01:00
Volker Ruppert
e9c66051bd
Fixes from Debian package of Bochs 2.8.
...
- Use macro PKG_PROG_PKG_CONFIG to detect pkg-config.
- Removed obsolete file from Makefile.in.
2024-03-24 19:49:22 +01:00
Volker Ruppert
1fcb27f55d
Don't include links from /usr/lib/.build-id in binary RPM package.
2024-03-24 18:33:20 +01:00
Volker Ruppert
78c5b21313
Some NSIS script additions and developer doc updates.
2024-03-24 16:51:56 +01:00
Volker Ruppert
b9c0cb6d6f
Check for GTK3 if GTK2 is not found.
...
This is required by the GTK-based enhanced debugger gui.
2024-03-24 09:38:12 +01:00
Volker Ruppert
5a129be330
NSIS Makefile fixes.
2024-03-23 17:07:03 +01:00