Commit Graph

11542 Commits

Author SHA1 Message Date
Volker Ruppert
1ffac6a461 Moved method release_keys() to the common devices code to make sure this
feature also affects the removable (USB) keyboard.
2017-04-22 15:32:07 +00:00
Volker Ruppert
4ebe5e6879 If setenv() is present on Windows and variable BXSHARE is not set, use the
function get_builtin_variable() to set it up with either the value of the Bochs
registry key or the BX_SHARE_PATH constant.
2017-04-22 10:17:54 +00:00
Volker Ruppert
ec03c4bb53 Fixes in networking modules for 64-bit Cygwin.
- socket: Define the FIONBIO workaround for 64-bit Cygwin only.
- slirp: Don't mix usage of WIN32 and _WIN32 definitions.
- TODO: The slirp module still fails at UDP socket creation when Bochs is
  compiled in Cygwin64.
2017-04-21 21:07:52 +00:00
Volker Ruppert
89ed58114b Fixed compilation with DEBUG symbol defined. 2017-04-21 15:28:25 +00:00
Volker Ruppert
068795a73f Fixes in networking modules for 64-bit Cygwin.
- slirp: Increment IP packet ID outside of htons() to avoid undefined behaviour.
- socket: Workaround for a bug in the w32api code that generates a constant
  with wrong value. Setting up our own FIONBIO fixes the panic.
- TODO: The slirp module still fails when Bochs is compiled in Cygwin64.
2017-04-20 18:51:18 +00:00
Stanislav Shwartsman
68b9d10b76 reverting latest commit, merged by mistake 2017-04-20 18:31:52 +00:00
Stanislav Shwartsman
e3fdf42225 use std::string in param_tree and gain more robust code with automatic garbage collection 2017-04-20 18:26:45 +00:00
Volker Ruppert
78cce73f8a Fixed error handling on Windows (avoid flooding log file with useless messages). 2017-04-19 21:03:53 +00:00
Stanislav Shwartsman
cfecb7c969 fixed compilation err in cygwin 2017-04-19 18:30:02 +00:00
Volker Ruppert
2fb6263102 Compilation fixes for Cygwin.
NOTE: networking still fails when compiled with Cygwin ('socket' mode fails
to set up non-blocking i/o / 'slirp' doesn't complain, but fails to connect
the internet).
2017-04-18 20:45:28 +00:00
Stanislav Shwartsman
2cae01edea better way of fixing shift of 1 by 64-bit to avoid integer overflow 2017-04-17 20:38:18 +00:00
Volker Ruppert
7f2191c117 Fixed MSVC warnings. 2017-04-17 19:56:41 +00:00
Stanislav Shwartsman
0702901377 fixed gcc specific ULL usage in hpet code 2017-04-17 18:44:16 +00:00
Volker Ruppert
0ee643ad76 Removed gui support auto-detection using --with-all-libs option for the MacOS 9
and SVGAlib specific guis. These guis can still be enabled explicitly with
--with-macos or --with-svga options.
2017-04-17 14:41:02 +00:00
Volker Ruppert
e1d8bedbb5 Added symbol BX_LOAD32BITOSHACK to disable this legacy feature. With the
latest BIOS images 32-bit and even 64-bit guest OS's are known to boot inside
of Bochs without hacking. This legacy hack could be removed after next release
if nobody complains.
2017-04-17 13:26:44 +00:00
Volker Ruppert
e36b3175d1 Missed the new HPET files. 2017-04-17 07:31:08 +00:00
Volker Ruppert
e5370fa2ac Regenerated configure script and recompiled BIOS for HPET support. 2017-04-17 07:28:22 +00:00
Volker Ruppert
1d27d67ccd Added initial version of the High Precision Event Timer (HPET) ported from Qemu.
- Created framework based on our I/O APIC code and ported HPET core from Qemu
  with some required changes for the Bochs timer and IRQ handling.
- Enabled HPET-specific code in the ACPI and rombios32 sources and generated
  new ACPI table with iasl.
- The HPET device plugin is now always loaded if the i440FX chipset is selected
  (same as ACPI). We have to rethink this when we have implemented a more
  modern chipset.
- TODO: Rewrite of the virtual timer code for nanosecond support to make the
  realtime synchronization possible with HPET.
2017-04-17 07:26:00 +00:00
Volker Ruppert
89654a4beb Prepared devices and timer code for HPET support
- PIT / CMOS: added methods to control IRQ generation (for HPET legacy mode).
- Added method for activating timer with nanosecond value.
- Removed unused declaration in the keyboard code.
- TODO: virtual timer code also needs to handle nanosecond values.
2017-04-15 20:31:07 +00:00
Volker Ruppert
73bcd4f8ca Added method to convert cpu ticks to nanoseconds (required for HPET).
I/O APIC: no need to call reset() in init().
2017-04-14 19:35:21 +00:00
Stanislav Shwartsman
3d51439090 fixed compilation err for CPU_LEVEL=5 2017-04-13 05:33:29 +00:00
Stanislav Shwartsman
1a3ff4b438 fixed bogus error message 2017-04-11 18:35:17 +00:00
Volker Ruppert
37b7b303a4 Regenerated after release. 2017-04-09 19:50:07 +00:00
Volker Ruppert
089505a5ac Updated after release 2.6.9. 2017-04-09 19:49:37 +00:00
Volker Ruppert
16e4e2a56c Website updates after release 2017-04-09 13:34:57 +00:00
Volker Ruppert
a1c14b2026 Regenerated for release. 2017-04-09 06:46:13 +00:00
Volker Ruppert
40c007e1fc Preparing release 2.6.9 2017-04-09 06:45:39 +00:00
Volker Ruppert
95f6aacedf Website updates before release. 2017-04-08 13:14:07 +00:00
Volker Ruppert
d828741b5b Fixes for building release packages (added missing 'bxhub' entries). 2017-04-08 10:21:09 +00:00
Volker Ruppert
a07b599304 Documentation updates.
- Added FAQ entry about Bochs on mobile devices.
- Some updates in the SB16 documentation.
2017-04-04 19:56:37 +00:00
Volker Ruppert
fbb94de3a3 SDL/SDL2 guis: Always use SDL specific byteorder macros here. This shouldn't
make a difference, but who knows?
2017-04-04 17:57:44 +00:00
Volker Ruppert
100b097c29 Added symbol BX_GUI_CONFIRM_QUIT to enable showing the dialog after pressing
the power button (disabled by default).
2017-04-02 16:16:53 +00:00
Volker Ruppert
12679aeb13 Updated cpu model list in the docs. 2017-04-02 15:43:48 +00:00
Volker Ruppert
ed92dc4dfd Code cleanup: We don't need to copy data here. 2017-04-02 14:01:40 +00:00
Volker Ruppert
912d104a63 Android updates from lubomyr GIT repository (instructions and app settings). 2017-04-02 09:05:21 +00:00
Volker Ruppert
f7b1d77136 Fixed keypad event reporting.
FIXME: Keypad mouse function fails (cannot enable it as removable mouse yet).
2017-04-02 08:47:14 +00:00
Volker Ruppert
bd77824db6 Store configuration and interface values in the USB device object. 2017-04-01 10:35:38 +00:00
Stanislav Shwartsman
bad84e48cd remove redundant memory access from IRET 2017-04-01 05:49:01 +00:00
Volker Ruppert
e023b5896f Partial rewrite of the optional keyboard handling. Now the BX_KEY_* events are
directly sent to the optional keyboard (USB keypad). It is now independent
from the legacy keyboard and the check for supported keys is simplified. The
legacy keyboard still receives the unhandled key event, but now sent from the
common devices code.
2017-03-31 21:32:58 +00:00
Stanislav Shwartsman
e351aaa28a update (c) for tlb.h 2017-03-31 07:34:44 +00:00
Stanislav Shwartsman
a51eb1cc39 added more debug info for TLB through param tree, update year in the (c) 2017-03-31 07:34:08 +00:00
Stanislav Shwartsman
c9c3672509 allow monitor to UC memory type but not MONITORX 2017-03-31 07:00:36 +00:00
Stanislav Shwartsman
566a7aa82b fixed softfloat FUZ condition. fixed/optimized pmaddwd computing function 2017-03-30 22:11:38 +00:00
Stanislav Shwartsman
a6e7ffb284 implemented undefined flags behavior for SHRD instruction matching HW 2017-03-30 22:03:38 +00:00
Stanislav Shwartsman
097310cd00 fixed integer overflow while computing shift flags, avoid using bx_bool while working with flags for more robust code 2017-03-30 21:53:39 +00:00
Volker Ruppert
c897ffa619 Cleanups in the Bochs system timer code
- Now using macro DEV_register_timer() in all devices and lowlevel modules.
- Removed unused timer stuff from the plugin.cc/.h code.
2017-03-30 18:08:15 +00:00
Volker Ruppert
cb33607004 Split configure options table into 3 tables (general, cpu, devices) and some
other documenation updates.
2017-03-28 21:13:05 +00:00
Stanislav Shwartsman
862e817884 fixed typo caused compilation err 2017-03-28 19:13:20 +00:00
Stanislav Shwartsman
31d29734d6 some comments about more CPUID leaf 80000008.EBX by Ryzen 2017-03-28 19:11:42 +00:00
Stanislav Shwartsman
b7b0165d3c new naming convention for UD opcodes 2017-03-28 19:00:00 +00:00