Commit Graph

12785 Commits

Author SHA1 Message Date
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
83ced6ce7a update .gitignore 2022-08-26 21:57:24 +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 cf03c00ef0.
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
Volker Ruppert
cac8d1486a
Merge pull request #1 from c-nichols/cnichols/readme
Add Github README
2022-07-24 18:07:03 +02:00
Dreg
f6a654af55
Add .gitattributes force eol to LF (no CR+LF) (#18)
Add .gitattributes force eol to LF (no CR+LF).  People have different core.autocrlf configurations and It can turn Bochs repository into a mess.

text="auto" is for automatic end-of-line normalization. If Git decides that the content is text, its line endings are normalized to LF on checkin.

If the text attribute is unspecified, Git uses the core.autocrlf configuration variable to determine if the file should be converted.

So, when someone commits a file, Git guesses whether that file is a text file or not, and if it is, it will commit a version of the file where all CR + LF bytes are replaced with LF bytes.
2022-07-24 18:27:33 +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
4b3e5d22d2
Ignore MSVC/Visual Studio build related files (#17) 2022-07-24 07:12:33 +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
Stanislav Shwartsman
aee0529304
sfsite moved to another git repo which can be found at (#5)
https://sourceforge.net/p/bochs/Bochs-sfsite/ci/master/tree/

Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2022-07-16 16:20:13 +03:00
Stanislav Shwartsman
658fd9e51f
Merge pull request #3 from therealdreg/master
port instrument/examples to current version
2022-07-16 15:57:26 +03:00
Dreg
d861786fd3 port instrument/examples to current version 2022-07-16 14:30:00 +02:00
Stanislav Shwartsman
5e49bfd41f
Merge pull request #2 from ughoavgfhw/master
Fix two bugs around monitor/mwait
2022-07-14 08:37:39 +03:00