Commit Graph

12701 Commits

Author SHA1 Message Date
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
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
Colin Nichols
7b6b684808 Github README WIP 2022-07-13 09:44:25 -04:00
Stanislav Shwartsman
4079425cf4
Create LICENSE 2022-07-11 14:44:53 +03:00
Stanislav Shwartsman
f7f72bf45e add .gitignore 2022-07-11 14:25:58 +03: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
Volker Ruppert
631e839046 Added changes after release. 2021-09-12 15:47:28 +00: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
Stanislav Shwartsman
f074c10b75 merge memory handling fix by Nikolai Zhubr 2021-08-25 17:42:08 +00:00
Volker Ruppert
412285baed Fixed compilation for big endian architectures (SF patch #563). 2021-08-24 19:06:01 +00:00
Volker Ruppert
d684c5cd57 Added missing updates after release. 2021-08-08 16:03:16 +00:00
Volker Ruppert
685eb5ad62 Forgot some updates. 2021-08-06 18:15:21 +00:00
Volker Ruppert
8a69faaf1c Finished website update after release. 2021-08-06 17:57:45 +00:00
Volker Ruppert
c9c3416098 Regenerated configure script. 2021-08-01 21:45:35 +00:00
Volker Ruppert
fbb7e29154 Updates after release. 2021-08-01 21:44:37 +00:00
Volker Ruppert
c728487b9c Started website update after release. 2021-08-01 17:24:57 +00:00
Volker Ruppert
50b0ab2895 Regenerated configure script and recompiled BIOS images for release. 2021-08-01 08:12:28 +00:00
Volker Ruppert
b924b92ecc Preparing final release 2.7. 2021-08-01 08:07:38 +00:00
Volker Ruppert
0a956e2cf1 Fixed two external links. 2021-08-01 07:40:18 +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
a1058990ba Trailing '../\' breaks compilation with MSVC nmake. Regenerated dependencies. 2021-07-27 18:13:26 +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
214220763f remove cpudb.h from some Makefile dependencies. it should be only in cpu/init.cc and config.cc 2021-07-25 18:10:39 +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