Shwartsman
4a3e1cd545
fixed compilation with SVM and VMX both disabled
2023-11-26 08:23:00 +02:00
Volker Ruppert
6c8a54dcfe
Fixed "no-plugin" code to avoid segfault on Bochs exit.
2023-11-25 21:59:16 +01:00
Volker Ruppert
890a1be2f2
Attempt to fix some memory leaks in the plugins and gui code (discussion #144 ).
...
- Added plugin_cleanup() code for the version with plugins disabled.
- Added PLUGIN_FINI code for the gui plugins (except wx) to delete bx_gui object.
2023-11-25 18:15:47 +01:00
Stanislav Shwartsman
f0bbf25b5d
allow access to VMCS_64BIT_CONTROL_TERTIARY_VMEXEC_CONTROLS VMCS field
2023-11-25 18:02:11 +02:00
Stanislav Shwartsman
14fc5635de
integrate random fixes done during WAITPKG feature development
2023-11-25 16:53:00 +02:00
Stanislav Shwartsman
280303d76c
initial code for UINTR implementation ( #138 )
...
First step into implementing UINTR - User Level Interrupts ISA extension
To be continued
---------
Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2023-11-25 16:43:47 +02:00
Stanislav Shwartsman
c1c391a9c6
fix common code duplication by introducing new method get_Virtual_TSC()
...
it computes TSC as needed for RDTSC(P) and RDMSR TSC taking into account VMX and SVM adjustments
replaces previous get_TSC_VMXAdjust(Bit64u0
2023-11-25 15:00:39 +02:00
Stanislav Shwartsman
1ae23ad935
- MONITORX/MWAITX: It is possible that MWAITX wakeup from timed mwait but APIC timer was still not reset.
...
A corruption would happen if MWAIT is called again to setup the timer while it still running from previous time.
Also spurious wakeup could possibly happen as timer will send wakeup when it stops counting.
2023-11-25 14:55:14 +02:00
Volker Ruppert
86e4675a1d
Fixed some memory leaks in the paramtree code (discussion #144 ).
...
- root_param was never deleted
- modified set_format() and set_long_format() to get rid of strdup()
2023-11-25 13:28:51 +01:00
Volker Ruppert
c525d9e5fc
Consider half dot clock for h-panning (final fix for issue #114 ).
2023-11-24 23:08:17 +01:00
Volker Ruppert
68ff4be0b8
Fixed a memory leak in the slirp code.
2023-11-24 22:35:43 +01:00
Volker Ruppert
a2f7562b30
Fixed two memory leaks in the Voodoo code.
2023-11-24 21:47:41 +01:00
Stanislav Shwartsman
3cad5c3e84
address most of the memory leaks ( #149 )
...
the param tree, siminterface log and SIM were not released handle all
but SIM for now
should reduce the memory leaks list dramatically
2023-11-24 20:34:24 +01:00
Shwartsman
7f04cfd8df
fix for gcc warning
2023-11-24 19:30:00 +02:00
Volker Ruppert
99629f9207
Horizontal pixel panning implemented in VGA graphics mode.
...
This change should fix issue #114 .
Added BX_ERROR for two other unimplemented features.
2023-11-24 16:54:15 +01:00
Volker Ruppert
e9cd258882
Fixed ATAPI device reset.
...
Clearing 'seek complete' bit makes some MS-DOS work again.
2023-11-24 14:43:52 +01:00
Volker Ruppert
63f09e8aae
Fixed cpu makefile dependencies.
2023-11-23 23:38:29 +01:00
Volker Ruppert
32b8edafc5
Fixed some gcc 13.2 warnings.
2023-11-23 20:06:07 +01:00
Shwartsman
62c2c877d0
rename VMEXIT controls in Bochs code to match their actual names and meaning
2023-11-23 19:58:08 +02:00
Shwartsman
6b5928f522
rename constants VMX_VM_EXEC_CTRL1 -> VMX_PIN_BASED_VMEXEC_CTRL for more correct naming
2023-11-23 19:51:17 +02:00
Shwartsman
4d08659621
Implement 'Tertiary VMEXEC Controls' for VMX
...
Currently none of the controls were not enabled, all clear but infra is here
2023-11-23 19:38:59 +02:00
Stanislav Shwartsman
1cfd97e1a0
added most_significant_bit* methods to scalar_arith.h
2023-11-23 19:03:08 +02:00
Volker Ruppert
32c7c3815a
Display lib options 'cmdmode' and 'gui_debug' are now ignored by the wxWidgets port.
...
Using a bochsrc config designed for another gui no longer causes a BX_PANIC for unknown option.
2023-11-23 09:56:42 +01:00
Benjamin David Lunt
eae6bf9396
Close cdrom image file on eject ( #145 )
...
The WIN32 configuration for the cdrom was not closing the image file on
eject. This left the handle open while Bochs was running, not allowing
the image file to be modified.
2023-11-23 08:40:39 +02:00
Benjamin David Lunt
5f6e855350
update changes ( #143 )
...
Per Volker's request, moved some items to there correct location.
2023-11-22 08:27:05 +02:00
Shwartsman
f4f41cffc4
fix code duplication and optimize code
2023-11-21 20:26:48 +02:00
Shwartsman
f47ed2a5f7
fixed one more gcc warning
2023-11-21 16:12:53 +02:00
Shwartsman
d39c93a3c6
fixed 'misleading indentation' warning and also make statement more clear
2023-11-21 16:11:48 +02:00
Stanislav Shwartsman
fcf44b2b5e
Merge branch 'master' of https://github.com/bochs-emu/Bochs
2023-11-21 15:44:33 +02:00
Stanislav Shwartsman
f90fdbc353
add methods to query local apic state
2023-11-21 15:43:38 +02:00
Shwartsman
591e2aa79f
bugfix: when CET was not compiled in the emulation behavior of non-CET CPU was altered
...
CET 'change' some x86 behavior
For example EPTP[7] become not-reserved and write to it not fail anymore
VMX doesn't check error code for CP exception if CET is enabled
These behaviors these changed even when CET was not compiled in
2023-11-21 15:35:49 +02:00
Benjamin David Lunt
01a262306f
Improved and enhanced the floppy emulation ( #135 )
...
This improves and enhances the floppy emulation.
This adds the ability to specify a controller type.
This adds all but one, known, controller command.
This fixes the format command. Issue #123
This fixes the error with older Windows guests.
2023-11-21 09:35:07 +02:00
Benjamin David Lunt
5683da27e8
reset status bar items at reset ( #142 )
...
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 https://github.com/bochs-emu/Bochs/issues/136
2023-11-21 08:58:21 +02:00
Shwartsman
bd4cb7ffa6
fixed compilation without SVM configured in
2023-11-20 19:10:46 +02:00
Shwartsman
0cc21d166d
fixed compilation with CET not compiled in
2023-11-20 15:24:57 +02:00
Shwartsman
04ffb4cf03
fixed compilation with .conf.nothing
2023-11-19 23:55:52 +02:00
Shwartsman
a7a443ab46
guard SVM functions with ifdef
2023-11-19 23:24:13 +02:00
Stanislav Shwartsman
36a1a3df86
fixed FPATAN for case of |x|=|y|
...
but i am pretty sure same problem might still exists for other arguments :(
need to resurrect FPU functions unit testing ...
2023-11-19 22:00:46 +02:00
Stanislav Shwartsman
0b2231b799
fixed comment
2023-11-19 20:46:53 +02:00
Stanislav Shwartsman
c1c102ab04
coding style, cleanups and optimizations
2023-11-19 20:31:05 +02:00
Volker Ruppert
a9a15d332b
Modified error handling for display library option 'gui_debug'.
...
If Bochs debugger is not present now showing an error message box instead of a BX_PANIC for unknown option.
2023-11-19 16:16:09 +01:00
Stanislav Shwartsman
a923880b47
fix compilation warning
2023-11-19 07:54:40 +02:00
Stanislav Shwartsman
7886369102
simplify rdrand code for future extension
2023-11-19 07:29:10 +02:00
Stanislav Shwartsman
26f60a6ea4
spelling fix in the comment
2023-11-18 21:48:42 +02:00
Stanislav Shwartsman
ffec6a1898
Merge branch 'master' of https://github.com/bochs-emu/Bochs
2023-11-18 20:18:07 +02:00
Stanislav Shwartsman
12ce649b42
fix GFNI instructions emulation
2023-11-18 20:15:29 +02:00
Volker Ruppert
6aa399e9eb
Added x64 configuration for the VS2019 plugins workspace (fixes issue #8 ).
...
Since VS2019 didn't copy all settings from win32, manually editing all files
was necessary (adding OutDir/IntDir stuff).
2023-11-18 17:08:05 +01:00
Stanislav Shwartsman
a0334ef2b2
change some consts back to defines to simplify integration of code to support variable PA length (rest of the code still WIP)
2023-11-18 16:53:44 +02:00
Stanislav Shwartsman
86082838af
added missing else which caused redundant memory access for 512-bit loads
2023-11-18 14:52:55 +02:00
Stanislav Shwartsman
054767ff8c
enable MOVDIRI for TigerLake
2023-11-18 12:35:28 +02:00