Commit Graph

12981 Commits

Author SHA1 Message Date
Stanislav Shwartsman
054767ff8c enable MOVDIRI for TigerLake 2023-11-18 12:35:28 +02:00
Stanislav Shwartsman
a3fe8c2c8d introduce get_efer_allow_mask function to avoid placing that code directly in init.cc 2023-11-17 23:40:28 +02:00
Stanislav Shwartsman
9bda4eba28 introduce GET64_FROM_HI32_LO32 to form 64-bit integer from 2 32-bit 2023-11-17 23:31:38 +02:00
Stanislav Shwartsman
a9625e949d update crregs.h with all known XSAVE/XRESTOR state information
including not implemented state
2023-11-17 23:24:00 +02:00
Stanislav Shwartsman
0730ff4c4a added a comment for future: some memory operations must be done atomically
these are include LOCKed RMW of course and also a lot of others
in the future it will be very hard to find all the cases that must be atomic so better to start marking them already now
try to mark every RMW case for atomicity requirements
no code changes, only comments
2023-11-17 23:18:43 +02:00
Stanislav Shwartsman
1ad2ee6d4c use isReadOK instead of magic arithmetic for system_read_* methods
introduce system_write_qword as well
2023-11-17 23:14:38 +02:00
Stanislav Shwartsman
db17e4a4e2
Revert "reset status bar items at reset" (#137)
Reverts bochs-emu/Bochs#136
2023-11-17 09:37:46 +02:00
Benjamin David Lunt
c247b43718
reset status bar items at reset (#136)
When the user presses the "Reset" button on the gui ribbon, we need to
clear the active status of all statusbar items or they remain set after
the reset occurs.
This is mentioned in issue #123
2023-11-17 09:36:56 +02:00
Stanislav Shwartsman
447f18e53b Merge branch 'master' of https://github.com/bochs-emu/Bochs 2023-11-17 01:35:39 +02:00
Stanislav Shwartsman
01e744b507 bugfix for CET/XSAVE: XSAVE/XRESTOR wrongly determined if CTE.U is in XINIT state 2023-11-17 01:35:32 +02:00
Volker Ruppert
eec7a55c46 Fixed another gcc 13.2 warning (overloaded virtual). 2023-11-16 19:47:59 +01:00
Volker Ruppert
def53a2928 Fixed gui DLL name. 2023-11-15 23:33:27 +01:00
Stanislav Shwartsman
a9d07b5a51 coding style, move variables definition closer to its use, use constants instead of defines 2023-11-14 20:14:38 +02:00
Stanislav Shwartsman
baaaf1b9a7 update CHANGES 2023-11-14 19:31:37 +02:00
Stanislav Shwartsman
4941bb1f07 sync emulated time when linking traces 2023-11-14 19:26:56 +02:00
Stanislav Shwartsman
fde226f31c improve fix for VMCS_GUEST_PENDING_DBG_EXCEPTIONS saved on VMEXIT (should be cleared after most of VMEXITs)
handle some corner cases
2023-11-14 15:59:59 +02:00
Stanislav Shwartsman
60cc8020e8 Fixed VMCS_GUEST_PENDING_DBG_EXCEPTIONS saved on VMEXIT (should be cleared after most of VMEXITs) 2023-11-13 20:02:03 +02:00
Volker Ruppert
413507ee3a Trying to load a 'builtin' plugin twice must cause a BX_PANIC (same as plugin version). 2023-11-12 21:00:14 +01:00
Volker Ruppert
04941fd511 Added support for cross-compiling for win64 with plugins enabled. 2023-11-12 20:15:51 +01:00
Stanislav Shwartsman
b54b135d29 Updated plugins workspace after memory code changes 2023-11-12 20:30:07 +02:00
Stanislav Shwartsman
1401bd50e1 Merge branch 'master' of https://github.com/bochs-emu/Bochs 2023-11-12 20:28:26 +02:00
Stanislav Shwartsman
a9457e466c fixed compilation with debugger 2023-11-12 20:28:12 +02:00
Volker Ruppert
654f8796fb Updated standard workspace after memory code changes. 2023-11-12 17:37:03 +01:00
Shwartsman
cc6f8284ff Merge branch 'master' of https://github.com/bochs-emu/Bochs 2023-11-12 17:17:01 +02:00
Shwartsman
4f739d7e88 simplification: dbg_show_symbolic with no return value 2023-11-12 13:38:59 +02:00
Shwartsman
f8c94e83ff add missing SVM VMEXIT in case of triple fault shutdown 2023-11-12 13:38:16 +02:00
Volker Ruppert
aa8224b14e Added BX_PANIC in case no plugins are found to avoid segfault. 2023-11-12 00:09:42 +01:00
Stanislav Shwartsman
f5b54a4d33
Implemented MOVDIRI instruction (#129)
Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2023-11-11 20:30:12 +02:00
Stanislav Shwartsman
620d091264 update CHANGES 2023-11-11 18:55:29 +02:00
Stanislav Shwartsman
f85c633d3d
preserve original VMCBPTR after SVM VMLOAD/VMSAVE instructions (#128)
Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2023-11-11 17:52:10 +02:00
Stanislav Shwartsman
154896d923 Revert "fix code duplication"
This reverts commit 29c7a84c08.
2023-11-11 12:44:01 +02:00
Stanislav Shwartsman
29c7a84c08 fix code duplication 2023-11-11 12:19:27 +02:00
Stanislav Shwartsman
32cab8f384
introduce memory stub class which manages *only* RAM related logic of… (#127)
… the memory

it is very useful for CPU unit testing without devices or BIOS

Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2023-11-11 10:10:50 +02:00
Stanislav Shwartsman
1e92d9ee4e removed unused defines 2023-11-10 19:14:26 +02:00
Stanislav Shwartsman
db88c6c5bf fixed code duplication in debugger code 2023-11-10 19:10:51 +02:00
Stanislav Shwartsman
676da2e587 update CHANGES 2023-11-09 23:14:01 +02:00
Stanislav Shwartsman
913c8a0ac9 Merge branch 'master' of https://github.com/bochs-emu/Bochs 2023-11-09 19:15:42 +02:00
Stanislav Shwartsman
8594972389 final resolution for issue #2 : address VEXPAND* and VPSHUFBITQMB instructions 2023-11-09 19:15:32 +02:00
Benjamin David Lunt
a354d9aecc
fix ISO status change events (#125)
This allows you to change the CD-ROM via the Bochs Ribbon, as well as
properly "ejecting" a CD from the guest.
Before the CD path would change, but the guest (tested with WinXP and
DOS as guests) would not see the change.
This fix simulates an open tray and then a closed tray for all CD
changes.
2023-11-08 08:16:52 +02:00
Shwartsman
9f27681b54 fix compilation with CPU LEVEL<6 2023-11-08 07:15:39 +02:00
Stanislav Shwartsman
6655fa9a41 fix assertion I added in virt_timer.cc 2023-11-08 07:10:19 +02:00
Stanislav Shwartsman
b78e93c9e3 optimize handling of allowed_to_run_FPU_MMX instructios common block
now checked at decode and not at every instruction
simpler code and also 1% faster winXP boot time as bonus
other x87 and mmx heavy guests may benefit even more
2023-11-08 06:48:53 +02:00
Volker Ruppert
fcaccf0585 Fixed two format warnings. 2023-11-07 22:48:33 +01:00
Shwartsman
5a544197de add to .gitignore instrumentation examples Makefile 2023-11-07 16:12:30 +02:00
Shwartsman
8f30812180 resolve github issue #57 + more clear variable name 2023-11-07 16:10:41 +02:00
Shwartsman
30d285b80f use common method to parse and dump memory params in .bochsrc 2023-11-07 15:40:20 +02:00
Volker Ruppert
75d076b990 Added modeless message box support for the wxWidgets port. 2023-11-05 19:05:24 +01:00
Shwartsman
5bb77620c3 coding style and #define cleanups
avoid using ull modifyer for consts, use BX_CONST64() instead
move definitions from header file to cpp file when possible
add 'const' modifyer for obviosly const methods and pointers
2023-11-05 15:37:39 +02:00
Volker Ruppert
83c71dd7a2 Renaming method fixes gcc 11 warning (overloaded virtual). 2023-11-05 11:01:41 +01:00
Stanislav Shwartsman
7469bcb69a
measure host stack depth during simulation to avoid excessive chainin… (#119)
…g depth

never allow beyong 64K stack
2023-11-05 07:08:36 +02:00