ughoavgfhw
b8f38eb8d3
Fix two bugs around monitor/mwait
...
MONITOR relies on tickle_read_virtual to set the physical address, but it was
only doing so on TLB miss. So a MONITOR with a TLB hit would arm the most
recently accessed address instead of the requested one.
TLB invalidations disarmed the monitoring range, but didn't wake a CPU that
had already MWAIT-ed. Any instruction that invalidated TLB entries on other
CPUs could have caused an MWAIT-ing CPU to never wake.
2022-07-13 21:51:15 -05:00
Volker Ruppert
3e333a0d79
Removed APIC timer handles from save/restore list. They are set by the
...
constructor and should not be modified. Timer activation after restore is not
necessary.
2021-09-12 15:13:20 +00:00
Volker Ruppert
26914d0058
MWAIT timer fixes (to be completed).
...
- Fixed MWAIT timer activation.
- A timer handle should not appear in the save/restore list.
- TODO: Activate MWAIT timer after restore if necessary.
2021-09-10 16:54:54 +00:00
Volker Ruppert
52b0000db7
Applied two patches from Debian.
...
- Apply standard flags from environment everywhere (SF patch #546 ).
- Allow overriding ld and objcopy for building bios on non-x86 platforms.
2021-09-10 15:33:22 +00:00
Volker Ruppert
4c32ca7b16
Fixed some MSVC warnings in the cpu code (unsafe use of bool type).
2021-07-27 19:18:34 +00:00
Volker Ruppert
452201a231
Fixed two compiler warnings in the cpu code.
2021-07-27 15:36:11 +00:00
Stanislav Shwartsman
1455788fe4
remove cpudb.h from some Makefile dependencies. it should be only in cpu/init.cc and config.cc
2021-07-25 18:21:41 +00:00
Stanislav Shwartsman
021f3794fa
remove cpudb.h from some Makefile dependencies. TODO: it should be only in cpu/init.cc and config.cc
2021-07-25 18:08:54 +00:00
Stanislav Shwartsman
2cb9bb4e44
remove cpudb.h from some Makefile dependencies. TODO: it should be only in cpu/init.cc and config.cc
2021-07-25 18:06:31 +00:00
Stanislav Shwartsman
7129b1d7c5
fixed number of arguments for BX_INFO
2021-07-25 18:02:36 +00:00
Stanislav Shwartsman
da21b16d7f
remove cpudb.h from bochs.h
2021-07-25 18:01:28 +00:00
Stanislav Shwartsman
7b2bb50722
fixed VMX exit qualification info for INVEPT/INVVPID/INVPCID instructions
2021-07-23 10:13:48 +00:00
Stanislav Shwartsman
0cba8b66c9
more robust handling of SVM VMCB host ptr
2021-07-23 09:30:17 +00:00
Stanislav Shwartsman
daaab792b6
added SVM vmcbptr to save/restore image
2021-07-23 08:06:58 +00:00
Stanislav Shwartsman
01e785f479
minor tab2space
2021-07-03 19:00:41 +00:00
Stanislav Shwartsman
25ad0b804a
VMX: fixed exit qualification info for VMREAD/VMWRITE instructions
2021-07-03 14:31:14 +00:00
Stanislav Shwartsman
097c8f13b9
minor coding style modifications
2021-05-25 06:27:49 +00:00
Stanislav Shwartsman
e4b2079109
fixed compilation in x86-64 off mode
2021-04-29 04:18:33 +00:00
Stanislav Shwartsman
d112ab9943
fixed compilation
2021-04-28 17:57:57 +00:00
Stanislav Shwartsman
f174ce2b6f
SMM enter: never turn off EFER.SVME
2021-04-27 09:33:46 +00:00
Stanislav Shwartsman
2d2ec5e0aa
hack to W/A NX paging fault under nested paging while virtualizing SMM under SVM
2021-04-27 08:22:45 +00:00
Stanislav Shwartsman
79d6a16e3b
intercept SMI support in SVM
2021-04-27 08:22:04 +00:00
Stanislav Shwartsman
4e41530b8a
SVM: Fixed EXITINFO error code after nested page fault (prevented Hyper-V from running)
2021-04-22 11:12:26 +00:00
Stanislav Shwartsman
8e58d7336f
implement MSR PAR handling in AMD SVM
2021-03-21 15:33:18 +00:00
Stanislav Shwartsman
0736953e89
save GUEST PAT into VMCB for SVM
2021-03-19 06:03:04 +00:00
Stanislav Shwartsman
08a068a161
fixed SVM V_TPR handling SF bug #1428 AMD SVM Hyper-V fails
2021-03-11 21:19:45 +00:00
Volker Ruppert
ff93b11eb8
Removed SVN property "executable" from some files.
2021-02-21 09:25:33 +00:00
Stanislav Shwartsman
2ab50c7d66
solve code duplication between different cpudb models
2021-02-16 18:57:49 +00:00
Stanislav Shwartsman
b6e284b080
fix MSVC warnings
2021-02-11 15:05:06 +00:00
Stanislav Shwartsman
c87ce2d11a
fixed some MSVC wannings in CPU code
2021-02-08 13:06:44 +00:00
Stanislav Shwartsman
1765a06d01
move debug.h from bochs.h and include it only where required
2021-01-31 15:22:58 +00:00
Stanislav Shwartsman
5874c8e29f
fix compilation with SMP enabled
2021-01-31 14:03:28 +00:00
Stanislav Shwartsman
7153228d48
fixed compilation without bochs debugger
2021-01-30 20:31:03 +00:00
Stanislav Shwartsman
8285b6b51b
regen Makefile include dependencies for CPU and internal debugger
2021-01-30 20:17:15 +00:00
Stanislav Shwartsman
1089e470e9
remove bochs-memory.h from bochs.h and include it only where required
2021-01-30 20:13:34 +00:00
Stanislav Shwartsman
6d6ff0e06b
regen Makefile include dependencies for CPU, MEMORY and internal debugger
2021-01-30 19:44:41 +00:00
Stanislav Shwartsman
7cc9cffeed
remove siminterface.h from bochs.h and include it only where required
2021-01-30 19:40:18 +00:00
Stanislav Shwartsman
0b83259417
regen include dep lists for cpu and memory - need to regen for all others
2021-01-30 18:57:45 +00:00
Stanislav Shwartsman
99e7b71540
remove gui.h from bochs.h and include it only where required
2021-01-30 18:47:25 +00:00
Stanislav Shwartsman
c878933057
remove pc_system.h from bochs.h and include it only where required
...
next step: same for gui.h
2021-01-30 18:29:28 +00:00
Stanislav Shwartsman
f79d6df458
strip redundant info from tigerlake cpuid text file
2021-01-30 08:45:34 +00:00
Stanislav Shwartsman
1bf18b8aae
! CPUID: Added TigerLake CPU definition (features CET and CLWB support)
...
- CPU code refactor, remove uses of bx_bool datatype and use C++ classic bool instead.
This enable better compiler optimizations and reduce binary size
2021-01-30 08:35:35 +00:00
Stanislav Shwartsman
b7855153a0
new disasm: print branch target in 32-bit mode as 32-bit value
2021-01-02 16:48:13 +00:00
Stanislav Shwartsman
e15012cfcf
fix code duplication in <limiting max cpuid leaf to 0x02 for winnt> feature
2021-01-02 16:28:51 +00:00
Stanislav Shwartsman
c33308731e
fixed disasm of shift/rotate with implicit shift count=1
2021-01-02 15:12:29 +00:00
Stanislav Shwartsman
1a20dbc7f7
fixed bug in new disasm
2021-01-02 14:32:52 +00:00
Stanislav Shwartsman
980cfc1903
fixed compilation with no debugger configured in
2021-01-02 14:09:03 +00:00
Stanislav Shwartsman
bea432dacb
fixed compilation with no debugger configured in
2021-01-02 14:04:35 +00:00
Stanislav Shwartsman
41ea50ba22
complete transition to new disasm, remove old disasm from source code
2021-01-02 13:43:10 +00:00
Stanislav Shwartsman
2f3adf849c
enable syntax switch with new disasm also in GUI debugger, switch to new disasm by default everywhere
2021-01-02 12:04:52 +00:00