Bochs/bochs/cpu
Shwartsman f1bab0c057 fixed MSR bit defines from FRED feature
minor update for WRMSRLIST instruction from today's SDM update
2023-12-23 10:34:03 +02:00
..
avx make APIC from static object to dynamic so many cc files won't need to be dependent on apic.h 2023-11-28 11:08:42 +02:00
cpudb fixed typo in comment 2023-12-19 19:51:37 +02:00
decoder implement RDMSRLIST/WRMSRLIST instructions (+related VMX extensions) (#176) 2023-12-16 21:59:34 +02:00
fpu use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
3dnow.cc optimize handling of allowed_to_run_FPU_MMX instructios common block 2023-11-08 06:48:53 +02:00
access2.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
access.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
access.h keep def of YMM/ZMM register even if AVX or EVEX are not compiled in and let reading/writing them to MEM 2018-04-04 19:31:56 +00:00
aes.cc remove trailing whitespace from source files 2022-08-23 21:46:04 +03:00
apic.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
apic.h fixed compilation for VMX=1 X86_64=1 2023-11-28 10:36:56 +02:00
arith8.cc cleanup return value of all instruction handlers 2018-02-16 07:57:32 +00:00
arith16.cc cleanup return value of all instruction handlers 2018-02-16 07:57:32 +00:00
arith32.cc introduce GET64_FROM_HI32_LO32 to form 64-bit integer from 2 32-bit 2023-11-17 23:31:38 +02:00
arith64.cc cleanup return value of all instruction handlers 2018-02-16 07:57:32 +00:00
bcd.cc remove trailing whitespace from source files 2022-08-23 21:46:04 +03:00
bit16.cc remove trailing whitespace from source files 2022-08-23 21:46:04 +03:00
bit32.cc remove trailing whitespace from source files 2022-08-23 21:46:04 +03:00
bit64.cc remove trailing whitespace from source files 2022-08-23 21:46:04 +03:00
bit.cc cleanup return value of all instruction handlers 2018-02-16 07:57:32 +00:00
bmi32.cc implemented SM3 instructions (#84) 2023-10-07 21:34:04 +03:00
bmi64.cc implemented SM3 instructions (#84) 2023-10-07 21:34:04 +03:00
call_far.cc coding style, cleanups and optimizations 2023-11-19 20:31:05 +02:00
cet.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
cmpccxadd32.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
cmpccxadd64.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
cpu_templates.h make CPU to use C++ template for implementation of CPU methods (#115) 2023-10-30 06:57:16 +02:00
cpu.cc remove in_repeat variable and replace it with correct EFLAGS.RF management 2023-11-27 13:51:25 +02:00
cpu.h use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
cpuid.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
cpuid.h fixed MSR bit defines from FRED feature 2023-12-23 10:34:03 +02:00
cpustats.h remove trailing whitespace from source files 2022-08-23 21:46:04 +03:00
crc32.cc change a bit more defines to const with type 2019-12-26 16:48:33 +00:00
crregs.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
crregs.h rewrite XSAVE/XRESTORE CPUID leaf reporting, 2023-12-18 11:35:55 +02:00
ctrl_xfer16.cc implemented WAITPKG instruction set (#150) 2023-12-01 18:00:03 +02:00
ctrl_xfer32.cc implemented WAITPKG instruction set (#150) 2023-12-01 18:00:03 +02:00
ctrl_xfer64.cc implemented WAITPKG instruction set (#150) 2023-12-01 18:00:03 +02:00
ctrl_xfer_pro.cc implemented WAITPKG instruction set (#150) 2023-12-01 18:00:03 +02:00
data_xfer8.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
data_xfer16.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
data_xfer32.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
data_xfer64.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
debugstuff.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
descriptor.h convert many consts from #define to enum or const variables (#23) 2022-07-27 23:20:47 +03:00
event.cc make APIC from static object to dynamic so many cc files won't need to be dependent on apic.h 2023-11-28 11:08:42 +02:00
exception.cc remove in_repeat obsolete usages 2023-11-27 20:15:00 +02:00
faststring.cc Removed SVN property "executable" from some files. 2021-02-21 09:25:33 +00:00
flag_ctrl_pro.cc initial code for UINTR implementation (#138) 2023-11-25 16:43:47 +02:00
flag_ctrl.cc cleanup return value of all instruction handlers 2018-02-16 07:57:32 +00:00
fpu_emu.cc optimize handling of allowed_to_run_FPU_MMX instructios common block 2023-11-08 06:48:53 +02:00
generic_cpuid.cc fixed compilation without SVM configured in 2023-11-20 19:10:46 +02:00
generic_cpuid.h enable CPUID reporting for recently added ISA extensions 2023-10-12 21:48:09 +03:00
gf2.cc fix GFNI instructions emulation 2023-11-18 20:15:29 +02:00
i387.h coding style, cleanups and optimizations 2023-11-19 20:31:05 +02:00
icache.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
icache.h resolve github issue #57 + more clear variable name 2023-11-07 16:10:41 +02:00
init.cc rewrite XSAVE/XRESTORE CPUID leaf reporting, 2023-12-18 11:35:55 +02:00
io.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
iret.cc Add initial implementation of the CET (Control Flow Enforcement Technology) emulation according to SDM071 2019-12-20 07:42:07 +00:00
jmp_far.cc coding style, cleanups and optimizations 2023-11-19 20:31:05 +02:00
lazy_flags.h remove trailing whitespace from source files 2022-08-23 21:46:04 +03:00
load.cc added missing else which caused redundant memory access for 512-bit loads 2023-11-18 14:52:55 +02:00
logical8.cc cleanup return value of all instruction handlers 2018-02-16 07:57:32 +00:00
logical16.cc more faststring cleanup 2019-10-14 14:54:07 +00:00
logical32.cc more faststring cleanup 2019-10-14 14:54:07 +00:00
logical64.cc cleanup return value of all instruction handlers 2018-02-16 07:57:32 +00:00
Makefile.in make APIC from static object to dynamic so many cc files won't need to be dependent on apic.h 2023-11-28 11:08:42 +02:00
mmx.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
msr.cc fixed MSR bit defines from FRED feature 2023-12-23 10:34:03 +02:00
msr.h implement RDMSRLIST/WRMSRLIST instructions (+related VMX extensions) (#176) 2023-12-16 21:59:34 +02:00
mult8.cc cleanup return value of all instruction handlers 2018-02-16 07:57:32 +00:00
mult16.cc cleanup return value of all instruction handlers 2018-02-16 07:57:32 +00:00
mult32.cc introduce GET64_FROM_HI32_LO32 to form 64-bit integer from 2 32-bit 2023-11-17 23:31:38 +02:00
mult64.cc extract Bit128 arithmetic to separate wide_int.cc/wide_int.h compiled independently of long mode emulation 2020-05-19 16:01:23 +00:00
mwait.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
paging.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
proc_ctrl.cc implemented MOVDIR64B instruction and enabled in TigerLake model 2023-12-01 18:03:25 +02:00
protect_ctrl.cc rename VMEXIT controls in Bochs code to match their actual names and meaning 2023-11-23 19:58:08 +02:00
rdrand.cc rename VMEXIT controls in Bochs code to match their actual names and meaning 2023-11-23 19:58:08 +02:00
ret_far.cc implemented WAITPKG instruction set (#150) 2023-12-01 18:00:03 +02:00
scalar_arith.h added most_significant_bit* methods to scalar_arith.h 2023-11-23 19:03:08 +02:00
segment_ctrl_pro.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
segment_ctrl.cc VMX: save guest CET state to VMCS on vmexit 2019-12-27 13:02:30 +00:00
sha512.cc SHA512 instructions implemented (#88) 2023-10-10 21:33:16 +03:00
sha.cc SHA512 instructions implemented (#88) 2023-10-10 21:33:16 +03:00
shift8.cc implemented SM3 instructions (#84) 2023-10-07 21:34:04 +03:00
shift16.cc implemented SM3 instructions (#84) 2023-10-07 21:34:04 +03:00
shift32.cc implemented SM3 instructions (#84) 2023-10-07 21:34:04 +03:00
shift64.cc implemented SM3 instructions (#84) 2023-10-07 21:34:04 +03:00
simd_compare.h Implement AVX512BW and AVX512DQ extensions published in recently published Intel Archtecture Extensions manual rev20. 2014-07-18 11:14:25 +00:00
simd_int.h make CPU to use C++ template for implementation of CPU methods (#115) 2023-10-30 06:57:16 +02:00
simd_pfp.h remove trailing whitespace from source files 2022-08-23 21:46:04 +03:00
simd_vnni.h make CPU to use C++ template for implementation of CPU methods (#115) 2023-10-30 06:57:16 +02:00
sm3.cc implemented SM3 instructions (#84) 2023-10-07 21:34:04 +03:00
sm4.cc implemented SM3 instructions (#84) 2023-10-07 21:34:04 +03:00
smm.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
smm.h convert many consts from #define to enum or const variables (#23) 2022-07-27 23:20:47 +03:00
soft_int.cc improve fix for VMCS_GUEST_PENDING_DBG_EXCEPTIONS saved on VMEXIT (should be cleared after most of VMEXITs) 2023-11-14 15:59:59 +02:00
sse_move.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
sse_pfp.cc make CPU to use C++ template for implementation of CPU methods (#115) 2023-10-30 06:57:16 +02:00
sse_rcp.cc cleanup return value of all instruction handlers 2018-02-16 07:57:32 +00:00
sse_string.cc use boolean constants true/false instead of 0/1 (#26) 2022-07-30 18:38:22 +03:00
sse.cc make CPU to use C++ template for implementation of CPU methods (#115) 2023-10-30 06:57:16 +02:00
stack16.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
stack32.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
stack64.cc added a comment for future: some memory operations must be done atomically 2023-11-17 23:18:43 +02:00
stack.cc remove trailing whitespace from source files 2022-08-23 21:46:04 +03:00
stack.h Add initial implementation of the CET (Control Flow Enforcement Technology) emulation according to SDM071 2019-12-20 07:42:07 +00:00
string.cc remove pc_system.h from bochs.h and include it only where required 2021-01-30 18:29:28 +00:00
svm.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
svm.h implement MSR PAR handling in AMD SVM 2021-03-21 15:33:18 +00:00
tasking.cc coding style, cleanups and optimizations 2023-11-19 20:31:05 +02:00
tlb.h fixed some MSVC wannings in CPU code 2021-02-08 13:06:44 +00:00
todo fixed compilation with CET not compiled in 2023-11-20 15:24:57 +02:00
uintr.cc make APIC from static object to dynamic so many cc files won't need to be dependent on apic.h 2023-11-28 11:08:42 +02:00
vapic.cc compilation fix with --enable-memtype disabled 2023-11-28 16:20:03 +02:00
vm8086.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
vmcs.cc implement RDMSRLIST/WRMSRLIST instructions (+related VMX extensions) (#176) 2023-12-16 21:59:34 +02:00
vmexit.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
vmfunc.cc reduce code duplication with making new simpler to use physical access methods 2023-11-28 10:24:11 +02:00
vmx.cc use true/false instead of 0/1 for bool in the cpu code 2023-12-19 20:44:56 +02:00
vmx.h implement RDMSRLIST/WRMSRLIST instructions (+related VMX extensions) (#176) 2023-12-16 21:59:34 +02:00
wide_int.cc extract Bit128 arithmetic to separate wide_int.cc/wide_int.h compiled independently of long mode emulation 2020-05-19 16:01:23 +00:00
wide_int.h remove trailing whitespace from source files 2022-08-23 21:46:04 +03:00
xmm.h make CPU to use C++ template for implementation of CPU methods (#115) 2023-10-30 06:57:16 +02:00
xsave.cc initial code for UINTR implementation (#138) 2023-11-25 16:43:47 +02:00