Bochs/bochs/cpu
2024-02-20 07:22:58 +02:00
..
avx AVX-512 VREDUCE* should never raise #Denormal, #Overflow or #Underflow 2024-02-12 21:15:43 -06:00
cpudb change comments 2024-01-16 21:23:45 +02:00
decoder merge FCOMPP and FUCOMPP to same method to reduce code duplication 2024-02-20 07:22:58 +02:00
fpu merge FCOMPP and FUCOMPP to same method to reduce code duplication 2024-02-20 07:22:58 +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 move code from paging.cc to access.cc 2024-01-12 21:08:14 +02:00
access.cc move code from paging.cc to access.cc 2024-01-12 21:08:14 +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 Init LDR whenever x2APIC mode is enabled (#250) 2024-01-30 08:47:22 +02:00
apic.h fixed compilation for VMX=1 X86_64=1 2023-11-28 10:36:56 +02:00
arith8.cc addressing issue Possible Undefined Behavior in NEG_EdR() and NEG_EdM() #227 2024-01-20 08:19:43 +02:00
arith16.cc addressing issue Possible Undefined Behavior in NEG_EdR() and NEG_EdM() #227 2024-01-20 08:19:43 +02:00
arith32.cc addressing issue Possible Undefined Behavior in NEG_EdR() and NEG_EdM() #227 2024-01-20 08:19:43 +02:00
arith64.cc addressing issue Possible Undefined Behavior in NEG_EdR() and NEG_EdM() #227 2024-01-20 08:19:43 +02: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 Fixed OF flag for ADOX instruction 2024-01-19 20:30:47 +02:00
bmi64.cc Fixed OF flag for ADOX instruction 2024-01-19 20:30:47 +02:00
call_far.cc Implemented VMX 'Shadow Stack Prematurely Busy' and secondary VMEXIT controls 2024-01-27 13:34:51 +02:00
cet.cc fixed permission check for CET 2024-01-28 17:25:21 +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_pfp.h read less bits for mask with DOUBLE precision elements 2024-01-26 20:36:29 +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 Implemented VMX 'Shadow Stack Prematurely Busy' and secondary VMEXIT controls 2024-01-27 13:34:51 +02:00
cpu.h merge FCOMPP and FUCOMPP to same method to reduce code duplication 2024-02-20 07:22:58 +02:00
cpuid.cc implemented AMX_FP16 and aMX_COMPLEX, fixes for daz handling in AVX_NE_CONVERT FB16 2024-01-12 12:38:31 +02:00
cpuid.h VMX: Implemented MSR IA32_SPEC_CTRL Virtualization VMX extension 2024-01-13 21:58:23 +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 create classes for Vmexec controls for robustness 2024-01-27 18:04:00 +02:00
crregs.h AMX support (#212) 2024-01-10 20:13:25 +02:00
ctrl_xfer16.cc create class for Pin-Based VMEXEC controls for robustness 2024-01-27 15:14:29 +02:00
ctrl_xfer32.cc create class for Pin-Based VMEXEC controls for robustness 2024-01-27 15:14:29 +02:00
ctrl_xfer64.cc create class for Pin-Based VMEXEC controls for robustness 2024-01-27 15:14:29 +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 Implemented SVM VM_CR_MSR and INIT redirection feature (#220) 2024-01-16 07:42:28 +02:00
exception.cc Implemented SVM VM_CR_MSR and INIT redirection feature (#220) 2024-01-16 07:42:28 +02:00
faststring.cc Removed SVN property "executable" from some files. 2021-02-21 09:25:33 +00:00
flag_ctrl_pro.cc create class for Pin-Based VMEXEC controls for robustness 2024-01-27 15:14:29 +02:00
flag_ctrl.cc dynamically allocate VMCB_CACHE only if SVM is actually enabled by CPU model 2024-01-12 00:56:09 +02: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 dynamically allocate VMCB_CACHE only if SVM is actually enabled by CPU model 2024-01-12 00:56:09 +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 Implemented VMX 'Shadow Stack Prematurely Busy' and secondary VMEXIT controls 2024-01-27 13:34:51 +02:00
icache.h resolve github issue #57 + more clear variable name 2023-11-07 16:10:41 +02:00
init.cc Implemented SVM VM_CR_MSR and INIT redirection feature (#220) 2024-01-16 07:42:28 +02:00
io.cc dynamically allocate VMCB_CACHE only if SVM is actually enabled by CPU model 2024-01-12 00:56:09 +02:00
iret.cc correct clear_busy for shadow stack in case of IRET - should use old SSP 2024-01-29 15:08:54 +02: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 avoid accidential zero of the mask, due to Bit64u computation overflow (1 << 64) == 1 2023-12-24 22:37:02 +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 regen Makefile.in dependencies 2024-01-12 01:10:47 +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 compilation 2024-01-27 18:30:22 +02:00
msr.h Implemented VMX 'Shadow Stack Prematurely Busy' and secondary VMEXIT controls 2024-01-27 13:34:51 +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 create classes for Vmexec controls for robustness 2024-01-27 18:04:00 +02:00
paging.cc updates to paging code for debugability and code duplication reduction 2024-02-01 15:15:26 +02:00
proc_ctrl.cc fixed bug in MOVDIR64B - source and destination were swapped 2024-01-28 21:38:57 +02:00
protect_ctrl.cc create classes for Vmexec controls for robustness 2024-01-27 18:04:00 +02:00
rdrand.cc create classes for Vmexec controls for robustness 2024-01-27 18:04:00 +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 fixed permission check for CET 2024-01-28 17:25:21 +02:00
smm.h fixed permission check for CET 2024-01-28 17:25:21 +02:00
soft_int.cc dynamically allocate VMCB_CACHE only if SVM is actually enabled by CPU model 2024-01-12 00:56:09 +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 fixed massive code duplication 2024-02-02 22:36:56 +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 AMX support (#212) 2024-01-10 20:13:25 +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 Implemented SVM VM_CR_MSR and INIT redirection feature (#220) 2024-01-16 07:42:28 +02:00
svm.h Implemented SVM VM_CR_MSR and INIT redirection feature (#220) 2024-01-16 07:42:28 +02:00
tasking.cc dynamically allocate VMCB_CACHE only if SVM is actually enabled by CPU model 2024-01-12 00:56:09 +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 create classes for Vmexec controls for robustness 2024-01-27 18:04:00 +02:00
vapic.cc create classes for Vmexec controls for robustness 2024-01-27 18:04:00 +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 create class for Pin-Based VMEXEC controls for robustness 2024-01-27 15:14:29 +02:00
vmexit.cc create classes for Vmexec controls for robustness 2024-01-27 18:04:00 +02:00
vmfunc.cc create classes for Vmexec controls for robustness 2024-01-27 18:04:00 +02:00
vmx_ctrls.h create classes for Vmexec controls for robustness 2024-01-27 18:04:00 +02:00
vmx.cc fix spurious read of potentially non-existing SECONDARY_VMEXIT_CTRLS 2024-01-27 18:38:14 +02:00
vmx.h updates to paging code for debugability and code duplication reduction 2024-02-01 15:15:26 +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 Legacy form of XRSTOR loads the MXCSR register from memory whenever the 2024-02-02 08:43:36 +02:00