Stanislav Shwartsman
7635b3df3e
part of fixing compilation of bx_debug with MSVC
2021-02-08 13:09:01 +00:00
Stanislav Shwartsman
44d7906420
convert debugger command line parser YACC to generate C++ source instead of pure C
...
use bool instead of bx_bool in all bx_debug stuff (now possible when YACC script have generated C++ source)
2021-02-04 18:25:27 +00:00
Stanislav Shwartsman
d103603452
some bx_bool -> bool in debugger code
2021-01-31 14:58:28 +00:00
Stanislav Shwartsman
bc680908ba
fix compilation with debugger enabled
2021-01-30 08:58:42 +00:00
Stanislav Shwartsman
62511c3101
allow dbg_fetch_mem function in broader scope
2021-01-02 14:19:28 +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
a8e066ede7
remove debugger command for disasm constant hex print mode, was not used and new disasm doesn't support it
2021-01-02 12:12:02 +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
Stanislav Shwartsman
c8eec65f04
fix code indentation
2020-12-30 17:23:12 +00:00
Stanislav Shwartsman
bb568997c9
use new disasm wrapper method in more place
2020-12-30 14:09:25 +00:00
Stanislav Shwartsman
72db10d766
fix symbols display within disasm for new disassember, integrate new disasm with GUI debugger properly
2020-12-30 12:23:19 +00:00
Volker Ruppert
4d6a88ec94
Fixed dbg_fetch_mem() and dbg_set_mem() similar to other memory access methods.
...
- Always apply the A20 setting to the requested address.
- Fixed the conditions for SMRAM access.
- Added support for memory handlers and removed direct VGA memory access.
- Added support for reading from BIOS flash memory.
2020-12-08 19:52:39 +00:00
Stanislav Shwartsman
a378441254
update CPUID bits and CR bits according to recently published SDM documents by Intel
2020-10-03 07:59:47 +00:00
Stanislav Shwartsman
1eb0439279
fix for compilation with new env
2020-06-11 11:00:24 +00:00
Stanislav Shwartsman
4023b640d6
Protection Keys: Implemented Supervisor-Mode Protection Keys (PKS)
2020-05-29 12:35:30 +00:00
Stanislav Shwartsman
b63f3b36dc
fixed Erroneous limits calculation in function bx_dbg_get_laddr issue
2020-02-28 18:06:39 +00:00
Stanislav Shwartsman
526a565602
fixed compitaion with SMP and debugger enabled (SF bug #1411 )
2020-01-06 13:41:46 +00:00
Stanislav Shwartsman
96b2cb5825
update lexer/parser for internal debugger after CET additions
2019-12-20 07:57:59 +00:00
Stanislav Shwartsman
f90e5f4f44
Add initial implementation of the CET (Control Flow Enforcement Technology) emulation according to SDM071
...
Only missing items (to be added soon):
- Supervisor Shadow Stack EPT Control is not implemented yet
- SMM placing for SSP
Currently have to be added manually to some CPUID model, for example to ICL-U
To enable configure with --enable-cet
2019-12-20 07:42:07 +00:00
Stanislav Shwartsman
6c8db0f569
simplify interfaces to DTLB/ITLB
2019-12-09 18:46:36 +00:00
Stanislav Shwartsman
4b66fecaad
split Bochs CPU TLB to DTLB and ITLB to avoid aliasing conflicts between them. ~5% speedup measured
2019-12-09 18:37:02 +00:00
Stanislav Shwartsman
96e2c50bef
applying SF patch #545 Speling fixes
2019-12-09 16:29:23 +00:00
Stanislav Shwartsman
2b394c9e9f
allow delivery of SMI or NMI from debugger using take command
2019-12-04 19:53:47 +00:00
Stanislav Shwartsman
79d6bf9d42
fixes for internal debugger for 64-bit guest debugging
2019-12-04 19:40:21 +00:00
Stanislav Shwartsman
cf23a59a55
silence compiler warning and do better code. no impact as both buffers are same size
2019-11-26 19:04:55 +00:00
Stanislav Shwartsman
6d479ed72a
fix segfault in 32-bit mode while printing SSE regs from debugger
2019-11-13 04:20:39 +00:00
Stanislav Shwartsman
eec720c62b
convert bochs.h macros to inline functions with strong types
2019-10-16 20:46:00 +00:00
Stanislav Shwartsman
9b6e806030
fixed dbg message when stop/continue watchpoints
2018-10-16 18:08:44 +00:00
Stanislav Shwartsman
965bcc2606
support 64-bit in 'info tab' debugger command and also speed it up significantly
2018-08-14 08:09:09 +00:00
Stanislav Shwartsman
2bca4cc310
improve debug print for SPP access
2018-01-27 21:25:46 +00:00
Stanislav Shwartsman
3148cdd683
fixed compilation under VS2013
2017-09-03 11:42:27 +00:00
Stanislav Shwartsman
2a55ba0a39
Merge set of debugger improvements by Doug Gale <doug16k>
...
Here is his original comment:
I have made several improvements in the debugger.
I have fixed several issues with proper handling of 64-bit addresses, and added support for 64 bit symbols.
I also have added several symbol lookups.
2017-08-22 21:03:58 +00:00
Stanislav Shwartsman
f490b00beb
added support for conditional breakpoints in Bochs debugger
2017-08-22 18:47:18 +00:00
Stanislav Shwartsman
38e2562d9c
added new debugger cap: conditional continue'
2017-06-03 19:11:52 +00:00
Stanislav Shwartsman
b4d2bbcd32
fixed compilation issue
2017-06-01 10:25:22 +00:00
Stanislav Shwartsman
6ac6463754
fixed compilation err with recent gcc
2017-05-26 07:16:25 +00:00
Stanislav Shwartsman
af76e0c412
fixes for debugger and disasm
2017-05-10 18:31:59 +00:00
Volker Ruppert
974c8d5124
Fixed compilation errors that occur with debugger enabled.
2016-12-06 18:07:05 +00:00
Stanislav Shwartsman
2895031c7e
c++ better to use new/delete and not malloc
2016-12-05 18:51:12 +00:00
Stanislav Shwartsman
7a34f00f99
extracted fetchdecode into separated folder under cpu and also out of BX_CPU_C class into stand-alone module. Next step: wrap it up nicely and define clear interace to CPU model to minimize dependencies. Ideally I need fetchdecode to not include CPU at all
2016-06-12 21:23:48 +00:00
Stanislav Shwartsman
793ceb0d8c
fix massive code dupliction between disasm, debugger and cpu by introducing new cpu decoder.h header
2016-04-29 21:01:28 +00:00
Stanislav Shwartsman
adc143684b
implemented Intel architecture extensions published in recently published SDM 058:
...
! Implemented UMIP: User Mode Instruction Prevention (don't allow execution of SLDT/SIDT/SGDT/STR/SMSW with CPL>0)
! Implemented RDPID instruction
Bugfixes in RDPKRU/WRPKRU instructions implementation (Protection Keys feature)
2016-04-15 11:35:32 +00:00
Stanislav Shwartsman
bcb36e81fa
experimental implementation of protection keys paging extension published in SDM rev054. to enable configure with --enable-protection-keys
2016-03-02 20:44:42 +00:00
Stanislav Shwartsman
c8cf4f956d
fix halt cpu indication from debugger
2015-09-14 19:17:20 +00:00
Stanislav Shwartsman
0d79c5f986
Implemented Page Modification Logging VMX feature
2015-05-06 19:55:44 +00:00
Stanislav Shwartsman
0917d12e8b
memory type report for physical accesses and RMW acccesses. todo: consider also pat
2015-02-22 21:26:26 +00:00
Stanislav Shwartsman
7a3e340e6d
implement memory type calculation by mtrr. todo: memory type from page tables
2015-02-20 21:50:59 +00:00
Stanislav Shwartsman
e16c6eb30c
preparations and interface definition for memory type support
2015-02-19 20:23:08 +00:00
Stanislav Shwartsman
b5a603c8c7
fixed %d->%u format found by cppcheck (patch by Maxim Derbasov)
2015-01-25 21:24:13 +00:00
Stanislav Shwartsman
055da948a0
fixed problems found by cppcheck tool (patch by Maxim Derbasov) - second round
2015-01-07 16:17:40 +00:00