Shwartsman
4de6c097a4
use true/false instead of 0/1 for boolean variables
...
cleanups in code
2023-12-01 23:01:11 +02:00
Stanislav Shwartsman
0653c5ba75
fixed compilation when x86_64 not compiled in but mwait is
2023-12-01 21:45:17 +02:00
Stanislav Shwartsman
00e8e0bca0
implemented MOVDIR64B instruction and enabled in TigerLake model
2023-12-01 18:03:25 +02:00
Stanislav Shwartsman
2e89b9bcba
implemented WAITPKG instruction set ( #150 )
...
still missing : UMWAIT/TPAUSE should set CF flag if it was using OS
deadline and woken up after deadline (i.e. not from monitored store)
also not clear in the spec: should UWAITX/TPAUSE always wait until
deadline due to 'while(tsc<deadline)' statement ?
+include small fixes for AMD's MONITORX/MWAITX
2023-12-01 18:00:03 +02:00
Stanislav Shwartsman
97a63b0414
fix name of ifdef guarding include
2023-12-01 12:27:21 +02:00
Stanislav Shwartsman
2a3321d012
remove apic.h from dependencies in cpudb folder
2023-11-28 16:22:02 +02:00
Stanislav Shwartsman
9ef235c338
compilation fix with --enable-memtype disabled
2023-11-28 16:20:03 +02:00
Shwartsman
3c857f2ad1
make APIC from static object to dynamic so many cc files won't need to be dependent on apic.h
2023-11-28 11:08:42 +02:00
Shwartsman
8dd9649389
fixed compilation for VMX=1 X86_64=1
...
updated (c) for many files
2023-11-28 10:36:56 +02:00
Shwartsman
4efcabb1a1
reduce code duplication with making new simpler to use physical access methods
2023-11-28 10:24:11 +02:00
Shwartsman
685a033d2d
fixed compilation with BX_SUPPORT_VMX=1 (x86_64 = 0)
2023-11-28 09:07:32 +02:00
Stanislav Shwartsman
6e1e04e2a5
update CHANGES
2023-11-27 20:15:00 +02:00
Stanislav Shwartsman
47edb90b02
remove in_repeat obsolete usages
2023-11-27 20:15:00 +02:00
Stanislav Shwartsman
e0802b31d2
remove redundant code
...
VMENTER already ensure that POSTED INTR implies
PIN_VMEXIT(VMX_PIN_BASED_VMEXEC_CTRL_EXTERNAL_INTERRUPT_VMEXIT) = 1
and
(vm->vmexit_ctrls & VMX_VMEXIT_CTRL1_INTA_ON_VMEXIT) != 0
2023-11-27 20:15:00 +02:00
Shwartsman
f37049903b
fixed compilation
2023-11-27 20:15:00 +02:00
Shwartsman
cc4f594ede
implemented process-posted-interrupts VMX extension
2023-11-27 20:15:00 +02:00
Stanislav Shwartsman
9a5dfb10c1
fixed 'misleading indentation' warning
...
move variable definitions closer to their use
2023-11-27 19:05:12 +02:00
Stanislav Shwartsman
a5c6bcfd15
remove in_repeat variable and replace it with correct EFLAGS.RF management
2023-11-27 13:51:25 +02:00
Stanislav Shwartsman
ca4ca03be8
remove #ifdef around in_repeat variable, it is always needed
2023-11-26 23:21:51 +02:00
Volker Ruppert
e82316c490
Memory leak fix in the win32 gui code.
...
In exit() method always call terminateEmul(), but the argument depends on the
value of bx_user_quit.
2023-11-26 22:04:07 +01:00
Stanislav Shwartsman
4ee9d37a5f
prevent access to non-existing VMCS fields
2023-11-26 20:29:56 +02:00
Stanislav Shwartsman
ad7a85d11a
updates for SVM INVLPGA instruction
...
- decoding and disasm
- invalidate only pages pointed by RAX and not entire TLB
2023-11-26 19:45:07 +02:00
Volker Ruppert
48b3b7e7a5
If any device is still loaded, plugin_cleanup() calls bx_unload_plugins().
2023-11-26 18:36:07 +01:00
Shwartsman
b013b389ea
fixed code duplication, extract some code to functions
...
make special phy memory read methods which help to write cleaner code
2023-11-26 18:25:54 +02:00
Shwartsman
6d5e527e7d
Merge branch 'master' of https://github.com/bochs-emu/Bochs
2023-11-26 17:41:53 +02:00
Shwartsman
ab629f16f6
remove redundant #if BX_SUPPORT_X86_64 around UINTR
...
it is checked already in config.h
2023-11-26 17:41:26 +02:00
Volker Ruppert
b319a6cb5d
Some more memory leak fixes.
...
- delete SIM object
- delete i/o port to handler tables
- free plugin tables for enum parameters
2023-11-26 15:44:38 +01:00
Volker Ruppert
ae107f2cb8
Some more memory leak fixes.
...
- added method for logfunctions cleanup on app exit
- delete default i/o handler names
- delete pluginlog
2023-11-26 13:41:19 +01:00
Volker Ruppert
d63e048ec6
Memleak fix: IRQ handler names were not deleted on simulation exit.
2023-11-26 10:43:15 +01:00
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