Satoshi Tanda
f1902239b6
build: resolve MSBuild warning MSB8012
2022-08-26 19:46:11 -07:00
Satoshi Tanda
982a00e3a6
build: extract vs2019-workspace.zip
2022-08-26 19:46:11 -07:00
Stanislav Shwartsman
b75fcc4535
updates to cpuid.h with most recent CPUID bit definitions
2022-08-26 22:31:23 +03:00
Stanislav Shwartsman
5fab5364bc
update CHANGES
2022-08-26 21:55:38 +03:00
Stanislav Shwartsman
cee5e6de4b
update configure.in for autoconf 2.71
...
it also required configure.in to be renamed to configure.ac
2022-08-26 21:20:51 +03:00
Stanislav Shwartsman
a2673e147d
update .conf.everything script
2022-08-26 21:15:46 +03:00
Stanislav Shwartsman
6acd22b7e4
regen lex/yacc after deref command
2022-08-23 23:39:33 +03:00
Dreg
acfa7399e1
dereference expression and command for dbg ( #38 )
...
* dereference expression and command for dbg
* doc updated for deref and $ operator
2022-08-23 23:37:30 +03:00
Stanislav Shwartsman
44274b37db
use true / false for boolean instead of const 0 and 1 in memory
2022-08-23 21:56:09 +03:00
Stanislav Shwartsman
1e4f1624c8
remove trailing whitespace from source files
2022-08-23 21:46:04 +03:00
Stanislav Shwartsman
f82270013d
update user docs for internal debugger
2022-08-23 21:33:20 +03:00
Stanislav Shwartsman
fc39d2b6fe
regen lex/yacc autogenerated files after writemem command added
2022-08-23 21:20:55 +03:00
Dreg
3cd6a92c8e
improved info gdt/ldt support for 64/32 entries ( #36 )
...
improved info gdt/ldt support for 64/32bit entries
2022-08-22 08:49:04 +03:00
Dreg
104d169ef8
add new dbg command loadmem, load bytes from file to memory (laddr) ( #34 )
...
* add dbg bx_dbg_write_linear
* add dbg bx_dbg_loadmem_command
load bytes from file to memory
2022-08-22 08:17:57 +03:00
Satoshi Tanda
30ef7f4842
Fix dbg_xlate_linear2phy
for NPT ( #30 )
2022-08-22 07:20:47 +03:00
Stanislav Shwartsman
2f45913397
extend setpmem command to support 8-byte values to write ( #35 )
...
Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2022-08-21 16:48:10 +03:00
Dreg
1eb1a8d641
add dbginfo support for 64 bit entries (LDT,GDT) long mode ( #33 )
2022-08-21 11:06:03 +03:00
Stanislav Shwartsman
fac15a7d03
updates to MTF code:
...
if VMEntry delivered an event of event happen right after VMEntry - MTF becomes pending immediatelly
2022-08-16 21:37:36 +03:00
Stanislav Shwartsman
b946570838
implemented VMX Monitor Trap Flag handling
2022-08-16 21:17:05 +03:00
Stanislav Shwartsman
180c1f09d5
fixed compilation
2022-08-14 21:18:25 +03:00
Stanislav Shwartsman
c9d8413422
allow TLB caching of SPP paging writes
...
it is possible that SPP-protected subpage block is allowing write but all others are not.
the TLB entry cannot be cached as writeOK based on SPP subblock check
2022-08-14 21:09:18 +03:00
Stanislav Shwartsman
97a2cdd85f
update VMEXIT reasons according to published docs
...
update list of trap-like VMEXITs
2022-08-13 23:25:10 +03:00
Stanislav Shwartsman
df849619be
more SPP limitations
2022-07-31 22:07:16 +03:00
Stanislav Shwartsman
f052c0f5b2
- VMX: Implemented missing SPP Misconfiguration condition (odd bits of SPP PTE entry are reserved)
...
- VMX: Fix SPP walk and VMCS access memory type to WB (match memory type listed in IA32_VMX_BASIC MSR)
2022-07-31 19:57:38 +03:00
Stanislav Shwartsman
13aa25919a
Revert "do not ignore MSR=0 even if ignore_bad_msrs is set"
...
MSR=0 is valid MSR (used for Machine Check Architecture)
This reverts commit cf03c00ef05764ca7589eb6d21d92b59b305f5d2.
2022-07-31 18:47:13 +03:00
Stanislav Shwartsman
4d227d15fb
remove instrument.h from bochs.h so it won't be included everywhere
...
include it only where required
move PHY_ADDRESS reserved bits consts to cpu.h
2022-07-30 22:35:43 +03:00
Stanislav Shwartsman
cf03c00ef0
do not ignore MSR=0 even if ignore_bad_msrs is set
2022-07-30 19:53:10 +03:00
Stanislav Shwartsman
d576eaa7c1
list in debug CR4 more already published bits (UINTR)
...
fix debug print of XCR0
2022-07-30 19:15:32 +03:00
Stanislav Shwartsman
3f65841714
use boolean constants true/false instead of 0/1 ( #26 )
...
* use boolean constants true/false instead of 0/1
* fix code comment
Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2022-07-30 18:38:22 +03:00
Stanislav Shwartsman
0f9aec0e1a
Merge branch 'master' of https://github.com/stlintel/Bochs
2022-07-30 15:43:25 +03:00
Stanislav Shwartsman
2093c2b1a3
allow 'Save guest MSR_PERF_GLOBAL_CTRL on VMEXIT' VMX control
...
at least fake it
2022-07-30 15:43:09 +03:00
Stanislav Shwartsman
f44f4ae753
MBE (Mode Based Execution Control) emulation ( #22 )
...
* MBE (Mode Based Execution Control) emulation
2022-07-30 15:26:47 +03:00
Stanislav Shwartsman
fb09790846
dos2unix to all files
2022-07-30 14:31:16 +03:00
Stanislav Shwartsman
e32d536abe
added ability to select memory block size configurable ( #25 )
...
very large memory configurations require large memory block (or very large amount of blocks)
2022-07-30 13:56:09 +03:00
Stanislav Shwartsman
8afd14972e
convert many consts from #define to enum or const variables ( #23 )
2022-07-27 23:20:47 +03:00
Stanislav Shwartsman
94503e7a0b
cpu/vmx definitions ( #20 )
...
* update vmx.h with recently published definition
* update actions after conflicts
2022-07-27 20:51:25 +03:00
Stanislav Shwartsman
430ba44b0e
Create hc-cpp.yml ( #19 )
...
* Create hc-cpp.yml
* update actions
* update actions
* update actions
* update actions
* update actions
* fix format string for VMX preemption timer dbg message
Fix compilation with BX_HAVE_XRANDR_H = 0: XRRQueryExtension is not available
* update actions
* add .conf.everything to testing
Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2022-07-27 01:26:55 +03:00
Satoshi Tanda
88f881c6d5
Fix that the INIT signal remains pending even after delivery of VM-exit/#VMEXIT(INIT) ( #16 )
...
* Clear pending INIT signal
When the INIT signal is translated into corresponding VM-exit/#VMEXIT,
the signal should no longer be marked as pending. Otherwise, the signal
would be (incorrectly) delivered again.
* Remove trailing space and fix an incorrect indent
2022-07-24 07:14:01 +03:00
Satoshi Tanda
0ae5e67894
Fix that the blocking by SMI bit maybe set when a VM-exit ends outside SMM ( #15 )
...
* Fix that the blocking by SMI bit is set
The blocking by SMI bit of the guest interruptibility state VMCS should
not be set unless the VM-exit ends in SMM. This only happens under the
dual-monitor treatment, which is not implemented in Bochs.
* Remove trailing whitespaces
2022-07-23 19:36:31 +03:00
Dreg
112afe5693
Add "bt" command to help ( #9 )
2022-07-18 13:10:22 +03:00
Dreg
35277e61f5
add string argument for instrument command ( #8 )
2022-07-18 10:25:35 +03:00
Stanislav Shwartsman
a8ef631a39
define and mention newly disclosed CPUID bits ( #7 )
...
Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2022-07-17 18:45:36 +03:00
Stanislav Shwartsman
c25b9d3509
fixing coding style in bios source files ( #6 )
...
Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2022-07-17 18:16:44 +03:00
Dreg
d861786fd3
port instrument/examples to current version
2022-07-16 14:30:00 +02:00
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
92622f16b9
Updated / improved information about configure shortcut scripts.
2021-11-04 17:44:57 +00:00
Volker Ruppert
7356cbce4d
Updated developer doc: the legacy disassembler has been removed.
2021-10-25 15:51:36 +00:00
Volker Ruppert
693a8746d7
Added variable CONFIGURE_ARGS to simplify adding/overriding options.
2021-10-24 15:32:23 +00:00
Volker Ruppert
eef679a8a4
Some documentation fixes.
2021-10-18 19:31:16 +00:00
Volker Ruppert
1408de3ad2
Fixed and improved PCI slot config error handling.
2021-10-14 17:59:08 +00:00