├── external
├── zydis
│ ├── tests
│ │ └── cases
│ │ │ ├── mvex_025.out
│ │ │ ├── vexc4_026.out
│ │ │ ├── vexc4_027.out
│ │ │ ├── default_007.in
│ │ │ ├── default_009.in
│ │ │ ├── default_016.in
│ │ │ ├── default_017.in
│ │ │ ├── default_020.in
│ │ │ ├── default_023.in
│ │ │ ├── default_024.in
│ │ │ ├── 3dnow_000.in
│ │ │ ├── 3dnow_002.in
│ │ │ ├── 3dnow_003.in
│ │ │ ├── 3dnow_005.in
│ │ │ ├── 3dnow_006.in
│ │ │ ├── 3dnow_007.in
│ │ │ ├── 3dnow_009.in
│ │ │ ├── 3dnow_013.in
│ │ │ ├── 3dnow_014.in
│ │ │ ├── 3dnow_016.in
│ │ │ ├── 3dnow_017.in
│ │ │ ├── 3dnow_022.in
│ │ │ ├── default_000.in
│ │ │ ├── default_002.in
│ │ │ ├── default_003.in
│ │ │ ├── default_004.in
│ │ │ ├── default_005.in
│ │ │ ├── default_008.in
│ │ │ ├── default_010.in
│ │ │ ├── default_011.in
│ │ │ ├── default_012.in
│ │ │ ├── default_013.in
│ │ │ ├── default_014.in
│ │ │ ├── default_015.in
│ │ │ ├── default_022.in
│ │ │ ├── default_036.in
│ │ │ ├── default_048.in
│ │ │ ├── vexc4_008.in
│ │ │ ├── vexc4_016.in
│ │ │ ├── vexc4_020.in
│ │ │ ├── vexc4_021.in
│ │ │ ├── vexc4_022.in
│ │ │ ├── vexc4_023.in
│ │ │ ├── vexc4_024.in
│ │ │ ├── vexc5_000.in
│ │ │ ├── vexc5_001.in
│ │ │ ├── vexc5_002.in
│ │ │ ├── vexc5_003.in
│ │ │ ├── vexc5_009.in
│ │ │ ├── vexc5_013.in
│ │ │ ├── vexc5_015.in
│ │ │ ├── vexc5_016.in
│ │ │ ├── vexc5_018.in
│ │ │ ├── vexc5_019.in
│ │ │ ├── vexc5_020.in
│ │ │ ├── vexc5_021.in
│ │ │ ├── vexc5_022.in
│ │ │ ├── vexc5_023.in
│ │ │ ├── xop_001.in
│ │ │ ├── xop_002.in
│ │ │ ├── xop_003.in
│ │ │ ├── xop_005.in
│ │ │ ├── xop_007.in
│ │ │ ├── xop_008.in
│ │ │ ├── xop_009.in
│ │ │ ├── xop_010.in
│ │ │ ├── xop_013.in
│ │ │ ├── xop_016.in
│ │ │ ├── xop_017.in
│ │ │ ├── xop_018.in
│ │ │ ├── xop_019.in
│ │ │ ├── xop_020.in
│ │ │ ├── xop_022.in
│ │ │ ├── 3dnow_004.in
│ │ │ ├── 3dnow_010.in
│ │ │ ├── 3dnow_018.in
│ │ │ ├── default_001.in
│ │ │ ├── default_006.in
│ │ │ ├── default_018.in
│ │ │ ├── default_019.in
│ │ │ ├── default_025.in
│ │ │ ├── default_026.in
│ │ │ ├── default_029.in
│ │ │ ├── default_030.in
│ │ │ ├── default_033.in
│ │ │ ├── default_034.in
│ │ │ ├── default_037.in
│ │ │ ├── default_038.in
│ │ │ ├── default_039.in
│ │ │ ├── default_040.in
│ │ │ ├── default_041.in
│ │ │ ├── default_042.in
│ │ │ ├── default_043.in
│ │ │ ├── default_044.in
│ │ │ ├── default_045.in
│ │ │ ├── default_046.in
│ │ │ ├── default_047.in
│ │ │ ├── evex_000.in
│ │ │ ├── evex_001.in
│ │ │ ├── evex_002.in
│ │ │ ├── evex_003.in
│ │ │ ├── evex_004.in
│ │ │ ├── evex_005.in
│ │ │ ├── evex_006.in
│ │ │ ├── evex_007.in
│ │ │ ├── evex_008.in
│ │ │ ├── evex_009.in
│ │ │ ├── evex_011.in
│ │ │ ├── evex_012.in
│ │ │ ├── evex_013.in
│ │ │ ├── evex_014.in
│ │ │ ├── evex_015.in
│ │ │ ├── evex_017.in
│ │ │ ├── evex_018.in
│ │ │ ├── evex_021.in
│ │ │ ├── evex_022.in
│ │ │ ├── evex_023.in
│ │ │ ├── evex_024.in
│ │ │ ├── evex_025.in
│ │ │ ├── evex_026.in
│ │ │ ├── evex_028.in
│ │ │ ├── mvex_000.in
│ │ │ ├── mvex_001.in
│ │ │ ├── mvex_002.in
│ │ │ ├── mvex_003.in
│ │ │ ├── mvex_004.in
│ │ │ ├── mvex_006.in
│ │ │ ├── mvex_007.in
│ │ │ ├── mvex_008.in
│ │ │ ├── mvex_009.in
│ │ │ ├── mvex_010.in
│ │ │ ├── mvex_011.in
│ │ │ ├── mvex_012.in
│ │ │ ├── mvex_014.in
│ │ │ ├── mvex_015.in
│ │ │ ├── mvex_017.in
│ │ │ ├── mvex_019.in
│ │ │ ├── mvex_022.in
│ │ │ ├── mvex_024.in
│ │ │ ├── mvex_025.in
│ │ │ ├── mvex_026.in
│ │ │ ├── vexc4_000.in
│ │ │ ├── vexc4_001.in
│ │ │ ├── vexc4_002.in
│ │ │ ├── vexc4_003.in
│ │ │ ├── vexc4_004.in
│ │ │ ├── vexc4_005.in
│ │ │ ├── vexc4_009.in
│ │ │ ├── vexc4_010.in
│ │ │ ├── vexc4_011.in
│ │ │ ├── vexc4_012.in
│ │ │ ├── vexc4_013.in
│ │ │ ├── vexc4_014.in
│ │ │ ├── vexc4_017.in
│ │ │ ├── vexc4_018.in
│ │ │ ├── vexc4_019.in
│ │ │ ├── vexc4_025.in
│ │ │ ├── vexc4_026.in
│ │ │ ├── vexc4_027.in
│ │ │ ├── vexc5_007.in
│ │ │ ├── xop_000.in
│ │ │ ├── xop_004.in
│ │ │ ├── xop_024.in
│ │ │ ├── 3dnow_001.in
│ │ │ ├── 3dnow_008.in
│ │ │ ├── 3dnow_011.in
│ │ │ ├── 3dnow_012.in
│ │ │ ├── 3dnow_015.in
│ │ │ ├── 3dnow_019.in
│ │ │ ├── 3dnow_020.in
│ │ │ ├── 3dnow_021.in
│ │ │ ├── 3dnow_023.in
│ │ │ ├── 3dnow_024.in
│ │ │ ├── default_021.in
│ │ │ ├── default_027.in
│ │ │ ├── default_028.in
│ │ │ ├── default_031.in
│ │ │ ├── default_032.in
│ │ │ ├── default_035.in
│ │ │ ├── evex_010.in
│ │ │ ├── evex_016.in
│ │ │ ├── evex_019.in
│ │ │ ├── evex_020.in
│ │ │ ├── evex_027.in
│ │ │ ├── jmp_far_16.in
│ │ │ ├── jmp_far_32.in
│ │ │ ├── mvex_013.in
│ │ │ ├── mvex_018.in
│ │ │ ├── mvex_020.in
│ │ │ ├── mvex_021.in
│ │ │ ├── mvex_023.in
│ │ │ ├── vexc4_006.in
│ │ │ ├── vexc4_007.in
│ │ │ ├── vexc4_015.in
│ │ │ ├── vexc5_004.in
│ │ │ ├── vexc5_005.in
│ │ │ ├── vexc5_006.in
│ │ │ ├── vexc5_008.in
│ │ │ ├── vexc5_010.in
│ │ │ ├── vexc5_011.in
│ │ │ ├── vexc5_012.in
│ │ │ ├── vexc5_014.in
│ │ │ ├── vexc5_017.in
│ │ │ ├── vexc5_024.in
│ │ │ ├── xop_006.in
│ │ │ ├── xop_011.in
│ │ │ ├── xop_012.in
│ │ │ ├── xop_014.in
│ │ │ ├── xop_015.in
│ │ │ ├── xop_021.in
│ │ │ ├── xop_023.in
│ │ │ ├── mvex_005.in
│ │ │ └── mvex_016.in
│ ├── .github
│ │ └── FUNDING.yml
│ ├── dependencies
│ │ └── zycore
│ │ │ └── .github
│ │ │ └── FUNDING.yml
│ ├── .gitmodules
│ ├── SECURITY.md
│ ├── assets
│ │ ├── screenshots
│ │ │ ├── ZydisDisasm.png
│ │ │ └── ZydisInfo.png
│ │ └── version-bump-checklist.txt
│ ├── .gitattributes
│ ├── .gitignore
│ ├── files.dox
│ └── cmake
│ │ └── zydis-config.cmake.in
├── fmt
│ ├── support
│ │ ├── bazel
│ │ │ ├── .bazelversion
│ │ │ ├── WORKSPACE.bazel
│ │ │ └── MODULE.bazel
│ │ ├── AndroidManifest.xml
│ │ ├── README
│ │ ├── python
│ │ │ └── mkdocstrings_handlers
│ │ │ │ └── cxx
│ │ │ │ └── templates
│ │ │ │ └── README
│ │ ├── cmake
│ │ │ ├── fmt-config.cmake.in
│ │ │ ├── fmt.pc.in
│ │ │ └── FindSetEnv.cmake
│ │ └── Android.mk
│ ├── test
│ │ ├── fuzzing
│ │ │ └── .gitignore
│ │ ├── gtest
│ │ │ └── .clang-format
│ │ ├── static-export-test
│ │ │ ├── main.cc
│ │ │ └── library.cc
│ │ ├── find-package-test
│ │ │ └── main.cc
│ │ ├── add-subdirectory-test
│ │ │ └── main.cc
│ │ └── header-only-test.cc
│ ├── doc
│ │ └── fmt.js
│ ├── include
│ │ └── fmt
│ │ │ └── core.h
│ ├── .github
│ │ ├── issue_template.md
│ │ ├── dependabot.yml
│ │ └── pull_request_template.md
│ ├── .gitignore
│ └── .clang-format
├── FEX
│ ├── ASM
│ │ ├── Disabled_Tests_x64
│ │ ├── Known_Failures
│ │ ├── Disabled_Tests_ARMv8.0
│ │ ├── Disabled_Tests_ARMv8.2
│ │ ├── Disabled_Tests_ARMv8.4
│ │ ├── Known_Failures_host
│ │ ├── Known_Failures_int
│ │ ├── X87
│ │ │ ├── D9_D0.asm
│ │ │ ├── D9_EE.asm
│ │ │ ├── D9_05.asm
│ │ │ ├── D9_E8.asm
│ │ │ ├── D9_E9.asm
│ │ │ ├── D9_EA.asm
│ │ │ ├── D9_EB.asm
│ │ │ ├── D9_EC.asm
│ │ │ ├── D9_ED.asm
│ │ │ ├── DD_C0.asm
│ │ │ ├── D9_07.asm
│ │ │ ├── D8_D9.asm
│ │ │ ├── DD_E9.asm
│ │ │ ├── DA_D9.asm
│ │ │ ├── DA_E9.asm
│ │ │ ├── DB_05.asm
│ │ │ ├── DB_00.asm
│ │ │ ├── DF_05.asm
│ │ │ ├── D9_00.asm
│ │ │ ├── D9_F0.asm
│ │ │ ├── D9_FE.asm
│ │ │ ├── D9_FF.asm
│ │ │ ├── DD_00.asm
│ │ │ ├── D9_FA.asm
│ │ │ ├── D8_C8.asm
│ │ │ ├── D8_F0.asm
│ │ │ ├── D9_FC.asm
│ │ │ ├── DF_00.asm
│ │ │ ├── D9_F2.asm
│ │ │ ├── D9_F4.asm
│ │ │ ├── D9_FB.asm
│ │ │ ├── Memcopy.asm
│ │ │ ├── DC_00.asm
│ │ │ ├── DC_01.asm
│ │ │ ├── DC_04.asm
│ │ │ ├── DC_05.asm
│ │ │ ├── DC_06.asm
│ │ │ ├── DC_07.asm
│ │ │ ├── D8_00.asm
│ │ │ ├── D8_01.asm
│ │ │ ├── D8_04.asm
│ │ │ ├── D8_05.asm
│ │ │ ├── D8_06.asm
│ │ │ └── D8_07.asm
│ │ ├── Known_Failures_jit
│ │ ├── Secondary
│ │ │ ├── 15_XX_5.asm
│ │ │ ├── 15_XX_6.asm
│ │ │ ├── 15_XX_7.asm
│ │ │ ├── 15_XX_7_2.asm
│ │ │ ├── CLFLUSHOPT.asm
│ │ │ ├── CLWB.asm
│ │ │ ├── 09_F3_07.asm
│ │ │ ├── 07_XX_00.asm
│ │ │ ├── 15_F3_02_2.asm
│ │ │ ├── 15_F3_03_2.asm
│ │ │ ├── 15_F3_02.asm
│ │ │ ├── 15_F3_03.asm
│ │ │ ├── 15_F3_00.asm
│ │ │ └── 15_F3_01.asm
│ │ ├── Primary
│ │ │ ├── Primary_9B.asm
│ │ │ ├── Pause.asm
│ │ │ ├── Primary_98.asm
│ │ │ ├── Primary_F8.asm
│ │ │ ├── Primary_F9.asm
│ │ │ ├── Primary_A8.asm
│ │ │ ├── Primary_84.asm
│ │ │ ├── Primary_F5.asm
│ │ │ ├── Primary_C8.asm
│ │ │ ├── Primary_E2.asm
│ │ │ ├── Primary_6A.asm
│ │ │ ├── Primary_63.asm
│ │ │ ├── Primary_C3.asm
│ │ │ ├── Primary_C2.asm
│ │ │ ├── Primary_84_2.asm
│ │ │ ├── Primary_6A_2.asm
│ │ │ ├── Primary_99.asm
│ │ │ ├── Primary_FC.asm
│ │ │ └── Primary_FD.asm
│ │ ├── X87_F64
│ │ │ ├── D9_D0_F64.asm
│ │ │ ├── D9_05_F64.asm
│ │ │ ├── D9_07_F64.asm
│ │ │ ├── D9_EE_F64.asm
│ │ │ ├── DD_C0_F64.asm
│ │ │ ├── D9_E8_F64.asm
│ │ │ ├── FCOM_F64.asm
│ │ │ ├── D9_E9_F64.asm
│ │ │ ├── D9_EA_F64.asm
│ │ │ ├── D9_EB_F64.asm
│ │ │ ├── D9_EC_F64.asm
│ │ │ ├── D9_ED_F64.asm
│ │ │ ├── DB_00_F64.asm
│ │ │ ├── D9_00_F64.asm
│ │ │ ├── DF_05_F64.asm
│ │ │ ├── DD_00_F64.asm
│ │ │ ├── D9_F0_F64.asm
│ │ │ ├── DB_05_F64.asm
│ │ │ ├── D9_FC_F64.asm
│ │ │ ├── D8_F0_F64.asm
│ │ │ ├── D9_F2_F64.asm
│ │ │ ├── D9_FA_F64.asm
│ │ │ ├── D9_FE_F64.asm
│ │ │ ├── D9_FF_F64.asm
│ │ │ ├── D8_C8_F64.asm
│ │ │ ├── DF_00_F64.asm
│ │ │ ├── D9_02_F64.asm
│ │ │ ├── DD_E9_F64.asm
│ │ │ ├── DA_E9_F64.asm
│ │ │ ├── D8_D9_F64.asm
│ │ │ ├── DA_D9_F64.asm
│ │ │ ├── DF_02_F64.asm
│ │ │ └── DF_E0_F64.asm
│ │ ├── TwoByte
│ │ │ ├── 0F_77.asm
│ │ │ ├── 0F_0E.asm
│ │ │ ├── 0F_6E_2.asm
│ │ │ ├── 0F_A2.asm
│ │ │ ├── 0F_C0_2.asm
│ │ │ ├── 0F_B0_2.asm
│ │ │ ├── 0F_02.asm
│ │ │ ├── 0F_31.asm
│ │ │ ├── 0F_91.asm
│ │ │ ├── 0F_92.asm
│ │ │ ├── 0F_93.asm
│ │ │ ├── 0F_94.asm
│ │ │ ├── 0F_95.asm
│ │ │ ├── 0F_98.asm
│ │ │ ├── 0F_99.asm
│ │ │ ├── 0F_9A.asm
│ │ │ ├── 0F_9B.asm
│ │ │ ├── 0F_9C.asm
│ │ │ ├── 0F_9D.asm
│ │ │ ├── 0F_90.asm
│ │ │ ├── 0F_96.asm
│ │ │ ├── 0F_97.asm
│ │ │ ├── 0F_9E.asm
│ │ │ ├── 0F_9F.asm
│ │ │ ├── 0F_F6_2.asm
│ │ │ └── 0F_10.asm
│ │ ├── SecondaryModRM
│ │ │ ├── Reg_7_1.asm
│ │ │ └── Reg_2_0.asm
│ │ ├── OpSize
│ │ │ ├── 15_BYTE.asm
│ │ │ ├── 66_16.asm
│ │ │ └── 66_10.asm
│ │ ├── lea.asm
│ │ ├── PrimaryGroup
│ │ │ ├── 3_F7_06_2.asm
│ │ │ ├── 3_F7_07_2.asm
│ │ │ ├── 4_FE_00.asm
│ │ │ ├── 4_FE_01.asm
│ │ │ ├── 6_C6_00.asm
│ │ │ ├── 3_F6_07_2.asm
│ │ │ ├── 1_80_05.asm
│ │ │ ├── 1_80_06.asm
│ │ │ ├── 2_D0_00.asm
│ │ │ ├── 2_D0_01.asm
│ │ │ ├── 2_D0_04.asm
│ │ │ ├── 2_D0_05.asm
│ │ │ ├── 2_D0_07.asm
│ │ │ ├── 3_F6_02.asm
│ │ │ ├── 3_F6_03.asm
│ │ │ ├── 1_80_00.asm
│ │ │ ├── 1_80_01.asm
│ │ │ ├── 1_80_04.asm
│ │ │ ├── 2_C0_00.asm
│ │ │ ├── 2_C0_01.asm
│ │ │ ├── 2_C0_04.asm
│ │ │ ├── 2_C0_05.asm
│ │ │ └── 3_F6_02_2.asm
│ │ ├── Multiblock
│ │ │ └── ReachableInvalidCode.asm
│ │ ├── MemoryData.asm
│ │ ├── FEX_bugs
│ │ │ ├── BEXTR_flags.asm
│ │ │ └── xor_flags.asm
│ │ ├── fadd.asm
│ │ ├── SelfModifyingCode
│ │ │ └── DifferentBlock.asm
│ │ ├── VEX
│ │ │ └── andn.asm
│ │ ├── x87_stack.asm
│ │ ├── H0F38
│ │ │ └── 66_2A.asm
│ │ ├── jump.asm
│ │ └── 3DNow
│ │ │ └── 0E.asm
│ └── 32Bit_ASM
│ │ ├── Known_Failures
│ │ ├── Disabled_Tests_Simulator
│ │ ├── X87
│ │ ├── D9_D0.asm
│ │ ├── D9_EE.asm
│ │ ├── D9_05.asm
│ │ ├── D9_E8.asm
│ │ ├── D9_E9.asm
│ │ ├── D9_EA.asm
│ │ ├── D9_EB.asm
│ │ ├── D9_EC.asm
│ │ ├── D9_ED.asm
│ │ ├── D9_07.asm
│ │ ├── DD_C0.asm
│ │ ├── D9_00.asm
│ │ ├── DB_00.asm
│ │ ├── DF_05.asm
│ │ ├── DF_00.asm
│ │ ├── DD_00.asm
│ │ ├── DB_05.asm
│ │ ├── D8_C8.asm
│ │ ├── D8_F0.asm
│ │ ├── D9_F0.asm
│ │ ├── D9_FE.asm
│ │ ├── D9_FF.asm
│ │ ├── D9_FA.asm
│ │ ├── DB_E3.asm
│ │ ├── D8_00.asm
│ │ ├── D8_01.asm
│ │ ├── D8_04.asm
│ │ ├── D8_05.asm
│ │ ├── D8_06.asm
│ │ ├── D8_07.asm
│ │ ├── D9_FC.asm
│ │ ├── D9_F2.asm
│ │ ├── D9_F4.asm
│ │ ├── D9_FB.asm
│ │ ├── DC_00.asm
│ │ ├── DC_01.asm
│ │ ├── DC_04.asm
│ │ ├── DC_05.asm
│ │ ├── DC_06.asm
│ │ ├── DC_07.asm
│ │ ├── D9_02.asm
│ │ ├── DF_E0.asm
│ │ ├── D9_C8.asm
│ │ ├── DB_03.asm
│ │ ├── DB_01.asm
│ │ ├── D8_E0.asm
│ │ ├── D8_E8.asm
│ │ ├── D8_F8.asm
│ │ ├── DB_07.asm
│ │ ├── DF_03.asm
│ │ ├── DA_C0.asm
│ │ ├── DA_C8.asm
│ │ ├── DA_D0.asm
│ │ ├── DA_D8.asm
│ │ ├── DB_C0.asm
│ │ ├── DB_C8.asm
│ │ ├── D9_03.asm
│ │ ├── DB_D0.asm
│ │ └── DB_D8.asm
│ │ ├── Disabled_Tests
│ │ ├── SecondaryModRM
│ │ └── Reg_7_1.asm
│ │ ├── Primary
│ │ ├── Primary_27.asm
│ │ ├── Primary_2F.asm
│ │ ├── Primary_37.asm
│ │ ├── Primary_3F.asm
│ │ ├── Primary_D4.asm
│ │ ├── Primary_D5.asm
│ │ ├── Primary_CE.asm
│ │ ├── Loops.asm
│ │ ├── Primary_00_3.asm
│ │ ├── Primary_E3.asm
│ │ └── Primary_C9.asm
│ │ ├── Secondary
│ │ └── 07_XX_00.asm
│ │ └── FEX_bugs
│ │ ├── SubAddrBug.asm
│ │ └── InlineSyscall.asm
├── biscuit
│ ├── .gitignore
│ ├── tests
│ │ └── src
│ │ │ └── main.cpp
│ ├── examples
│ │ ├── CMakeLists.txt
│ │ ├── cpuinfo
│ │ │ └── CMakeLists.txt
│ │ └── literal
│ │ │ └── CMakeLists.txt
│ ├── cmake
│ │ └── biscuit-config.cmake.in
│ └── CMakeLists.txt
├── Catch2
│ ├── .github
│ │ ├── FUNDING.yml
│ │ └── ISSUE_TEMPLATE
│ │ │ └── feature_request.md
│ ├── tests
│ │ ├── SelfTest
│ │ │ ├── Misc
│ │ │ │ ├── invalid-test-names.input
│ │ │ │ ├── plain-old-tests.input
│ │ │ │ └── special-characters-in-file.input
│ │ │ └── Baselines
│ │ │ │ └── default.sw.multi.approved.txt
│ │ └── ExtraTests
│ │ │ └── X92-NoTests.cpp
│ ├── MODULE.bazel
│ ├── meson_options.txt
│ ├── data
│ │ └── artwork
│ │ │ ├── catch2-c-logo.png
│ │ │ ├── catch2-hand-logo.png
│ │ │ ├── catch2-logo-small.png
│ │ │ └── catch2-logo-small-with-background.png
│ ├── tools
│ │ ├── scripts
│ │ │ ├── scriptCommon.py
│ │ │ ├── developBuild.py
│ │ │ ├── majorRelease.py
│ │ │ ├── minorRelease.py
│ │ │ ├── patchRelease.py
│ │ │ └── checkDuplicateFilenames.py
│ │ └── misc
│ │ │ └── appveyorMergeCoverageScript.py
│ ├── mdsnippets.json
│ ├── .conan
│ │ └── test_package
│ │ │ ├── CMakeLists.txt
│ │ │ └── test_package.cpp
│ ├── CMake
│ │ ├── Catch2Config.cmake.in
│ │ ├── catch2.pc.in
│ │ └── catch2-with-main.pc.in
│ ├── .bazelrc
│ ├── codecov.yml
│ └── src
│ │ └── catch2
│ │ └── interfaces
│ │ └── catch_interfaces_config.cpp
└── box64
│ └── rv64_printer.h
├── docs
├── example.png
└── internal
│ └── new-release-guide.md
├── src
└── felix86
│ ├── common
│ ├── git_version.cpp.in
│ ├── info.hpp
│ ├── sudo.hpp
│ ├── overlay.hpp
│ ├── pe.hpp
│ ├── types.hpp
│ ├── start_params.hpp
│ ├── strace.hpp
│ ├── print.hpp
│ ├── process_lock.cpp
│ ├── exit.hpp
│ └── info.cpp
│ ├── hle
│ ├── guest_libs
│ │ ├── libEGL.so.1
│ │ ├── libGL.so.1
│ │ ├── libGLX.so.0
│ │ ├── libvulkan.so.1
│ │ ├── libluajit-5.1.so
│ │ ├── x64-linux-vdso.so.1
│ │ └── libwayland-client.so
│ ├── ioctl
│ │ ├── fs.hpp
│ │ ├── fat.hpp
│ │ ├── tty.hpp
│ │ └── amdgpu.hpp
│ ├── ipc32.hpp
│ ├── vdso.hpp
│ ├── vdso.cpp
│ ├── brk.hpp
│ ├── cpuid.hpp
│ └── ioctl32.hpp
│ └── tools
│ └── main.c
├── .gitignore
└── tests
├── Binaries
├── SMC
│ └── inline.out
├── Signals
│ ├── mask.out
│ ├── alarm.out
│ ├── frame.out
│ ├── mask_32.out
│ ├── sigchld.out
│ ├── alarm_32.out
│ ├── frame_32.out
│ ├── recursive.out
│ ├── recursive2.out
│ └── sigsuspend.out
├── Simple
│ ├── cpuinfo.out
│ ├── cmpxchg_16.out
│ ├── cmpxchg_32.out
│ ├── cmpxchg_64.out
│ ├── cmpxchg_8.out
│ ├── hello_world.out
│ ├── unaligned_atomic.out
│ └── hello_world.c
├── Clone
│ ├── posix_spawn.out
│ ├── clone_atomic.out
│ └── clone_simple.out
├── Filesystem
│ ├── chroot.out
│ ├── utime.out
│ ├── mkdirat.out
│ ├── symlinks.out
│ ├── magic_links.out
│ ├── chroot_fdinfo.out
│ ├── chroot_propagate.out
│ └── chroot_symlinks.out
├── common.h
└── build.sh
└── ASM
└── felix86_bugs
├── crc_simple.asm
├── bswap_word.asm
├── bt_jc.asm
├── cfmerge.asm
├── ror_clearof.asm
├── test_high.asm
├── adc.asm
├── ssa_phi_bug.asm
└── pmovmskb.asm
/external/zydis/tests/cases/mvex_025.out:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_026.out:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_027.out:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_007.in:
--------------------------------------------------------------------------------
1 | -64 af
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_009.in:
--------------------------------------------------------------------------------
1 | -64 5c
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_016.in:
--------------------------------------------------------------------------------
1 | -64 d7
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_017.in:
--------------------------------------------------------------------------------
1 | -64 50
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_020.in:
--------------------------------------------------------------------------------
1 | -64 5f
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_023.in:
--------------------------------------------------------------------------------
1 | -64 9b
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_024.in:
--------------------------------------------------------------------------------
1 | -64 51
--------------------------------------------------------------------------------
/external/fmt/support/bazel/.bazelversion:
--------------------------------------------------------------------------------
1 | 7.1.2
2 |
--------------------------------------------------------------------------------
/external/zydis/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: flobernd
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_000.in:
--------------------------------------------------------------------------------
1 | -64 0f0f3797
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_002.in:
--------------------------------------------------------------------------------
1 | -64 0f0f12a0
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_003.in:
--------------------------------------------------------------------------------
1 | -64 0f0fe2a4
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_005.in:
--------------------------------------------------------------------------------
1 | -64 0f0fcdb7
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_006.in:
--------------------------------------------------------------------------------
1 | -64 0f0ff590
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_007.in:
--------------------------------------------------------------------------------
1 | -64 0f0fe996
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_009.in:
--------------------------------------------------------------------------------
1 | -64 0f0fe1b4
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_013.in:
--------------------------------------------------------------------------------
1 | -64 0f0f028e
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_014.in:
--------------------------------------------------------------------------------
1 | -64 0f0f7866b0
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_016.in:
--------------------------------------------------------------------------------
1 | -64 0f0f03bf
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_017.in:
--------------------------------------------------------------------------------
1 | -64 0f0f1390
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_022.in:
--------------------------------------------------------------------------------
1 | -64 0f0feca0
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_000.in:
--------------------------------------------------------------------------------
1 | -64 26c9
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_002.in:
--------------------------------------------------------------------------------
1 | -64 3139
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_003.in:
--------------------------------------------------------------------------------
1 | -64 b7a7
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_004.in:
--------------------------------------------------------------------------------
1 | -64 753e
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_005.in:
--------------------------------------------------------------------------------
1 | -64 e396
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_008.in:
--------------------------------------------------------------------------------
1 | -64 e16c
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_010.in:
--------------------------------------------------------------------------------
1 | -64 4f92
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_011.in:
--------------------------------------------------------------------------------
1 | -64 7414
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_012.in:
--------------------------------------------------------------------------------
1 | -64 c2e95d
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_013.in:
--------------------------------------------------------------------------------
1 | -64 7463
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_014.in:
--------------------------------------------------------------------------------
1 | -64 0219
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_015.in:
--------------------------------------------------------------------------------
1 | -64 26df17
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_022.in:
--------------------------------------------------------------------------------
1 | -64 74b8
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_036.in:
--------------------------------------------------------------------------------
1 | -32 6674FC
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_048.in:
--------------------------------------------------------------------------------
1 | -64 3E7D00
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_008.in:
--------------------------------------------------------------------------------
1 | -64 c4e2c9aa38
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_016.in:
--------------------------------------------------------------------------------
1 | -64 c4c171ebd3
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_020.in:
--------------------------------------------------------------------------------
1 | -64 c4a2f3f6f8
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_021.in:
--------------------------------------------------------------------------------
1 | -64 c42109fe07
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_022.in:
--------------------------------------------------------------------------------
1 | -64 c482a2f7cc
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_023.in:
--------------------------------------------------------------------------------
1 | -64 c461ed5dc3
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_024.in:
--------------------------------------------------------------------------------
1 | -64 c4a121e4c1
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_000.in:
--------------------------------------------------------------------------------
1 | -64 c535f4c0
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_001.in:
--------------------------------------------------------------------------------
1 | -64 c539e5f7
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_002.in:
--------------------------------------------------------------------------------
1 | -64 c57e2ce0
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_003.in:
--------------------------------------------------------------------------------
1 | -64 c5fe53759e
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_009.in:
--------------------------------------------------------------------------------
1 | -64 c595f26b43
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_013.in:
--------------------------------------------------------------------------------
1 | -64 c5457436
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_015.in:
--------------------------------------------------------------------------------
1 | -64 c5e45f18
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_016.in:
--------------------------------------------------------------------------------
1 | -64 c5a9dd3a
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_018.in:
--------------------------------------------------------------------------------
1 | -64 c50dd5e6
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_019.in:
--------------------------------------------------------------------------------
1 | -64 c5c5db6d07
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_020.in:
--------------------------------------------------------------------------------
1 | -64 c531eb1a
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_021.in:
--------------------------------------------------------------------------------
1 | -64 c54962760c
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_022.in:
--------------------------------------------------------------------------------
1 | -64 c549fdd8
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_023.in:
--------------------------------------------------------------------------------
1 | -64 c5eb590411
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_001.in:
--------------------------------------------------------------------------------
1 | -64 8f49889500
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_002.in:
--------------------------------------------------------------------------------
1 | -64 8f69d89919
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_003.in:
--------------------------------------------------------------------------------
1 | -64 8f0868a6c023
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_005.in:
--------------------------------------------------------------------------------
1 | -64 8f8828a2125a
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_007.in:
--------------------------------------------------------------------------------
1 | -64 8f88008ef1d3
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_008.in:
--------------------------------------------------------------------------------
1 | -64 8f69d8952c30
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_009.in:
--------------------------------------------------------------------------------
1 | -64 8f49089b5dd5
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_010.in:
--------------------------------------------------------------------------------
1 | -64 8fa9f89bf3
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_013.in:
--------------------------------------------------------------------------------
1 | -64 8fa9789a764c
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_016.in:
--------------------------------------------------------------------------------
1 | -64 8fa9f89126
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_017.in:
--------------------------------------------------------------------------------
1 | -64 8fc840ce3113
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_018.in:
--------------------------------------------------------------------------------
1 | -64 8f0830ed09ec
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_019.in:
--------------------------------------------------------------------------------
1 | -64 8f293892e1
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_020.in:
--------------------------------------------------------------------------------
1 | -64 8fe8308f26ed
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_022.in:
--------------------------------------------------------------------------------
1 | -64 8f498899e7
--------------------------------------------------------------------------------
/external/FEX/ASM/Disabled_Tests_x64:
--------------------------------------------------------------------------------
1 | # Nothing here yet
2 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Known_Failures:
--------------------------------------------------------------------------------
1 | Test_X87/D9_F8.asm
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_004.in:
--------------------------------------------------------------------------------
1 | -64 4f0f0f6f7ab7
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_010.in:
--------------------------------------------------------------------------------
1 | -64 4df20f0f66c5b6
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_018.in:
--------------------------------------------------------------------------------
1 | -64 f3410f0f17b6
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_001.in:
--------------------------------------------------------------------------------
1 | -64 a9a1ef165e
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_006.in:
--------------------------------------------------------------------------------
1 | -64 ba811a2f42
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_018.in:
--------------------------------------------------------------------------------
1 | -64 09a76fe3101b
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_019.in:
--------------------------------------------------------------------------------
1 | -64 bb0110f111
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_025.in:
--------------------------------------------------------------------------------
1 | -32 A077777777
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_026.in:
--------------------------------------------------------------------------------
1 | -32 A088888888
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_029.in:
--------------------------------------------------------------------------------
1 | -32 8B0D77777777
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_030.in:
--------------------------------------------------------------------------------
1 | -32 8B0D88888888
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_033.in:
--------------------------------------------------------------------------------
1 | -32 8B8877777777
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_034.in:
--------------------------------------------------------------------------------
1 | -32 8B8888888888
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_037.in:
--------------------------------------------------------------------------------
1 | -32 66C7F8FAFF
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_038.in:
--------------------------------------------------------------------------------
1 | -64 3eff10
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_039.in:
--------------------------------------------------------------------------------
1 | -64 3e2eff10
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_040.in:
--------------------------------------------------------------------------------
1 | -64 2e3eff10
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_041.in:
--------------------------------------------------------------------------------
1 | -32 3eff10
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_042.in:
--------------------------------------------------------------------------------
1 | -32 3e2eff10
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_043.in:
--------------------------------------------------------------------------------
1 | -32 2e3eff10
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_044.in:
--------------------------------------------------------------------------------
1 | -32 64263EFF10
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_045.in:
--------------------------------------------------------------------------------
1 | -32 3E6426FF10
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_046.in:
--------------------------------------------------------------------------------
1 | -64 64263EFF10
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_047.in:
--------------------------------------------------------------------------------
1 | -64 3E6426FF10
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_000.in:
--------------------------------------------------------------------------------
1 | -64 62d2cd2b147b4f
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_001.in:
--------------------------------------------------------------------------------
1 | -64 6223cd4f3a55e34f
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_002.in:
--------------------------------------------------------------------------------
1 | -64 6211e55ffb3cb0
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_003.in:
--------------------------------------------------------------------------------
1 | -64 6202dd140d7c8fe4
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_004.in:
--------------------------------------------------------------------------------
1 | -64 62d29d432c16
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_005.in:
--------------------------------------------------------------------------------
1 | -64 6292fd48aed6
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_006.in:
--------------------------------------------------------------------------------
1 | -64 62b12541747806
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_007.in:
--------------------------------------------------------------------------------
1 | -64 62b1b5dbc62227
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_008.in:
--------------------------------------------------------------------------------
1 | -64 6201758ed57993
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_009.in:
--------------------------------------------------------------------------------
1 | -64 62a2c50343c7
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_011.in:
--------------------------------------------------------------------------------
1 | -64 62526513452b
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_012.in:
--------------------------------------------------------------------------------
1 | -64 62416d82687291
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_013.in:
--------------------------------------------------------------------------------
1 | -64 62016dc2e15cd55e
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_014.in:
--------------------------------------------------------------------------------
1 | -64 62821d1c9bd3
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_015.in:
--------------------------------------------------------------------------------
1 | -64 62e20545764136
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_017.in:
--------------------------------------------------------------------------------
1 | -64 6251b54167c7
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_018.in:
--------------------------------------------------------------------------------
1 | -64 62627ecc11e9
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_021.in:
--------------------------------------------------------------------------------
1 | -64 6253cda150f078
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_022.in:
--------------------------------------------------------------------------------
1 | -64 62420dba7722
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_023.in:
--------------------------------------------------------------------------------
1 | -64 62b1cf4758eb
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_024.in:
--------------------------------------------------------------------------------
1 | -64 6233558a0a614788
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_025.in:
--------------------------------------------------------------------------------
1 | -64 62F17C182FC1
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_026.in:
--------------------------------------------------------------------------------
1 | -64 62E30D1B0AD3A5
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_028.in:
--------------------------------------------------------------------------------
1 | -64 62257D3E5B7373
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_000.in:
--------------------------------------------------------------------------------
1 | -64 627271ac45cf
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_001.in:
--------------------------------------------------------------------------------
1 | -64 62c2e9159a19
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_002.in:
--------------------------------------------------------------------------------
1 | -64 6262191eb530
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_003.in:
--------------------------------------------------------------------------------
1 | -64 6251680c59f4
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_004.in:
--------------------------------------------------------------------------------
1 | -64 6202719d9a528f
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_006.in:
--------------------------------------------------------------------------------
1 | -64 6272891fbcf5
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_007.in:
--------------------------------------------------------------------------------
1 | -64 620241c46530
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_008.in:
--------------------------------------------------------------------------------
1 | -64 6222794b3f56a7
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_009.in:
--------------------------------------------------------------------------------
1 | -64 6272593eae37
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_010.in:
--------------------------------------------------------------------------------
1 | -64 62e16126fa457b
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_011.in:
--------------------------------------------------------------------------------
1 | -64 6202b120526c83be
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_012.in:
--------------------------------------------------------------------------------
1 | -64 6202013ecc7ec5
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_014.in:
--------------------------------------------------------------------------------
1 | -64 62d261b2b5fe
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_015.in:
--------------------------------------------------------------------------------
1 | -64 625201719ae0
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_017.in:
--------------------------------------------------------------------------------
1 | -64 62f2f12dbe6f9e
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_019.in:
--------------------------------------------------------------------------------
1 | -64 62d261b2b4f8
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_022.in:
--------------------------------------------------------------------------------
1 | -64 62e23915cdf2
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_024.in:
--------------------------------------------------------------------------------
1 | -64 62e1612bdbd3
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_025.in:
--------------------------------------------------------------------------------
1 | -64 62F279585000
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_026.in:
--------------------------------------------------------------------------------
1 | -64 62F271E950C2
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_000.in:
--------------------------------------------------------------------------------
1 | -64 c46259cf4f5d
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_001.in:
--------------------------------------------------------------------------------
1 | -64 c4c1057466fd
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_002.in:
--------------------------------------------------------------------------------
1 | -64 c4a3057c33e5
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_003.in:
--------------------------------------------------------------------------------
1 | -64 c483b57b08f7
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_004.in:
--------------------------------------------------------------------------------
1 | -64 c44189dc4ee8
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_005.in:
--------------------------------------------------------------------------------
1 | -64 c4022d3b556a
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_009.in:
--------------------------------------------------------------------------------
1 | -64 c4214d624562
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_010.in:
--------------------------------------------------------------------------------
1 | -64 c443fd09263e
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_011.in:
--------------------------------------------------------------------------------
1 | -64 c482192e54e0b7
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_012.in:
--------------------------------------------------------------------------------
1 | -64 c44175572490
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_013.in:
--------------------------------------------------------------------------------
1 | -64 c481a0124058
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_014.in:
--------------------------------------------------------------------------------
1 | -64 c4825d977a50
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_017.in:
--------------------------------------------------------------------------------
1 | -64 c4a161667910
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_018.in:
--------------------------------------------------------------------------------
1 | -64 c423590be6ae
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_019.in:
--------------------------------------------------------------------------------
1 | -64 c4c18a527ea2
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_025.in:
--------------------------------------------------------------------------------
1 | -64 C4E25A5EDE
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_026.in:
--------------------------------------------------------------------------------
1 | -64 C4E24A5EDE
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_027.in:
--------------------------------------------------------------------------------
1 | -64 C4E25A5EF6
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_007.in:
--------------------------------------------------------------------------------
1 | -64 c541c475aa5d
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_000.in:
--------------------------------------------------------------------------------
1 | -64 8fe860ef4e3dc0
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_004.in:
--------------------------------------------------------------------------------
1 | -64 8f68589f761c1a
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_024.in:
--------------------------------------------------------------------------------
1 | -64 8f68308f3c0998
--------------------------------------------------------------------------------
/external/FEX/ASM/Disabled_Tests_ARMv8.0:
--------------------------------------------------------------------------------
1 | # Nothing here yet
2 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Disabled_Tests_ARMv8.2:
--------------------------------------------------------------------------------
1 | # Nothing here yet
2 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Disabled_Tests_ARMv8.4:
--------------------------------------------------------------------------------
1 | # Nothing here yet
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_001.in:
--------------------------------------------------------------------------------
1 | -64 0f0f93b3ee99f190
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_008.in:
--------------------------------------------------------------------------------
1 | -64 650f0fa84cc3abbf0d
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_011.in:
--------------------------------------------------------------------------------
1 | -64 0f0faa0dfb21518a
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_012.in:
--------------------------------------------------------------------------------
1 | -64 0f0fb79a3e9b15a4
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_015.in:
--------------------------------------------------------------------------------
1 | -64 0f0f843181bcf6369a
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_019.in:
--------------------------------------------------------------------------------
1 | -64 0f0fbbdf7cb74394
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_020.in:
--------------------------------------------------------------------------------
1 | -64 0f0f8fc1bb4c8f96
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_021.in:
--------------------------------------------------------------------------------
1 | -64 0f0f97d4fd148aa6
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_023.in:
--------------------------------------------------------------------------------
1 | -64 0f0f92bac8415e1c
--------------------------------------------------------------------------------
/external/zydis/tests/cases/3dnow_024.in:
--------------------------------------------------------------------------------
1 | -64 0f0fac4a7fe31afeaa
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_021.in:
--------------------------------------------------------------------------------
1 | -64 a37b10a8c6e97a880f
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_027.in:
--------------------------------------------------------------------------------
1 | -64 A07777777777777777
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_028.in:
--------------------------------------------------------------------------------
1 | -64 A08888888888888888
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_031.in:
--------------------------------------------------------------------------------
1 | -64 488B0D88888888
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_032.in:
--------------------------------------------------------------------------------
1 | -64 488B0D88888888
--------------------------------------------------------------------------------
/external/zydis/tests/cases/default_035.in:
--------------------------------------------------------------------------------
1 | -64 0F1A844337133713
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_010.in:
--------------------------------------------------------------------------------
1 | -64 62b28dc99eaf3d073e05
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_016.in:
--------------------------------------------------------------------------------
1 | -64 62f1751e76a5df8f5c88
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_019.in:
--------------------------------------------------------------------------------
1 | -64 62413da1608e355e7a8e
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_020.in:
--------------------------------------------------------------------------------
1 | -64 621155bddbb112f8157b
--------------------------------------------------------------------------------
/external/zydis/tests/cases/evex_027.in:
--------------------------------------------------------------------------------
1 | -64 6256565656BF9C010000
--------------------------------------------------------------------------------
/external/zydis/tests/cases/jmp_far_16.in:
--------------------------------------------------------------------------------
1 | -32 669AADE44E6D
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/jmp_far_32.in:
--------------------------------------------------------------------------------
1 | -32 9AADEADDE44E6D
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_013.in:
--------------------------------------------------------------------------------
1 | -64 62c2392d3b83c176fcab
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_018.in:
--------------------------------------------------------------------------------
1 | -64 43656212414dcc14e0
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_020.in:
--------------------------------------------------------------------------------
1 | -64 6262c1a1b880716ff709
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_021.in:
--------------------------------------------------------------------------------
1 | -64 62c2690f3d81bbade34d
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_023.in:
--------------------------------------------------------------------------------
1 | -64 628279f065a7701808b4
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_006.in:
--------------------------------------------------------------------------------
1 | -64 c4423d9b80c446bea0
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_007.in:
--------------------------------------------------------------------------------
1 | -64 c421f56d1cfdfdc6fcd7
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc4_015.in:
--------------------------------------------------------------------------------
1 | -64 c441b1e995c8ff9af7
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_004.in:
--------------------------------------------------------------------------------
1 | -64 c561debc1366d60000
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_005.in:
--------------------------------------------------------------------------------
1 | -64 c5b012b8511784b0
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_006.in:
--------------------------------------------------------------------------------
1 | -64 c57e10878f5dad3f
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_008.in:
--------------------------------------------------------------------------------
1 | -64 c559dc0d3aa20f89
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_010.in:
--------------------------------------------------------------------------------
1 | -64 c5162a983cb6831e
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_011.in:
--------------------------------------------------------------------------------
1 | -64 65c5e884e37cfe42
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_012.in:
--------------------------------------------------------------------------------
1 | -64 c565d9b17c549235
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_014.in:
--------------------------------------------------------------------------------
1 | -64 c5ec14913042ae34
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_017.in:
--------------------------------------------------------------------------------
1 | -64 c513589b8db5b5fd
--------------------------------------------------------------------------------
/external/zydis/tests/cases/vexc5_024.in:
--------------------------------------------------------------------------------
1 | -64 c5d45eaeebda88be
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_006.in:
--------------------------------------------------------------------------------
1 | -64 8f08408eb34ece0a0d0d
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_011.in:
--------------------------------------------------------------------------------
1 | -64 8f8878c2868031ee390a
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_012.in:
--------------------------------------------------------------------------------
1 | -64 8fa870ce822f3a96fb93
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_014.in:
--------------------------------------------------------------------------------
1 | -64 8f6850cfa16cb87f15c1
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_015.in:
--------------------------------------------------------------------------------
1 | -64 8f096895255f5c16c9
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_021.in:
--------------------------------------------------------------------------------
1 | -64 8f2800eeb2f0060149fa
--------------------------------------------------------------------------------
/external/zydis/tests/cases/xop_023.in:
--------------------------------------------------------------------------------
1 | -64 8f8870eebea16e55a6d3
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Known_Failures:
--------------------------------------------------------------------------------
1 | Test_32Bit_X87/D9_F8.asm
2 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Known_Failures_host:
--------------------------------------------------------------------------------
1 | Test_X87/FXAM_Simple.asm
2 |
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_005.in:
--------------------------------------------------------------------------------
1 | -64 62a149fadb8ce932280891
--------------------------------------------------------------------------------
/external/zydis/tests/cases/mvex_016.in:
--------------------------------------------------------------------------------
1 | -64 629168cfc2a34446843069
--------------------------------------------------------------------------------
/external/biscuit/.gitignore:
--------------------------------------------------------------------------------
1 | # Built files
2 | build/
3 | build-*/
4 |
--------------------------------------------------------------------------------
/external/zydis/dependencies/zycore/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: flobernd
--------------------------------------------------------------------------------
/external/fmt/support/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/docs/example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/docs/example.png
--------------------------------------------------------------------------------
/src/felix86/common/git_version.cpp.in:
--------------------------------------------------------------------------------
1 | const char* g_git_hash = "@GIT_HASH@";
2 |
--------------------------------------------------------------------------------
/src/felix86/common/info.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | const char* get_version_full();
4 |
--------------------------------------------------------------------------------
/external/fmt/support/bazel/WORKSPACE.bazel:
--------------------------------------------------------------------------------
1 | # WORKSPACE marker file needed by Bazel
2 |
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | build/
2 | x86build/
3 | .clangd
4 | .cache
5 | *.txt
6 | !CMakeLists.txt
7 | .vscode
--------------------------------------------------------------------------------
/external/biscuit/tests/src/main.cpp:
--------------------------------------------------------------------------------
1 | #define CATCH_CONFIG_MAIN
2 | #include
3 |
--------------------------------------------------------------------------------
/external/Catch2/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: "horenmar"
2 | custom: "https://www.paypal.me/horenmar"
3 |
--------------------------------------------------------------------------------
/external/biscuit/examples/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(cpuinfo)
2 | add_subdirectory(literal)
3 |
--------------------------------------------------------------------------------
/external/fmt/test/fuzzing/.gitignore:
--------------------------------------------------------------------------------
1 | # ignore artifacts from the build.sh script
2 | build-*/
3 |
4 |
--------------------------------------------------------------------------------
/external/Catch2/tests/SelfTest/Misc/invalid-test-names.input:
--------------------------------------------------------------------------------
1 | Test with special, characters in \" name
2 |
--------------------------------------------------------------------------------
/external/Catch2/tests/SelfTest/Misc/plain-old-tests.input:
--------------------------------------------------------------------------------
1 | random SECTION tests
2 | nested SECTION tests
3 |
--------------------------------------------------------------------------------
/tests/Binaries/SMC/inline.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/SMC/inline.out
--------------------------------------------------------------------------------
/external/Catch2/tests/SelfTest/Misc/special-characters-in-file.input:
--------------------------------------------------------------------------------
1 | Test with special\, characters \"in name
2 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Known_Failures_int:
--------------------------------------------------------------------------------
1 | # FPREM is incorrect
2 | Test_X87/D9_F5_2.asm
3 | Test_X87/D9_F5_3.asm
4 |
--------------------------------------------------------------------------------
/tests/Binaries/Signals/mask.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Signals/mask.out
--------------------------------------------------------------------------------
/external/Catch2/MODULE.bazel:
--------------------------------------------------------------------------------
1 | module(name = "catch2")
2 |
3 | bazel_dep(name = "bazel_skylib", version = "1.5.0")
4 |
--------------------------------------------------------------------------------
/external/fmt/doc/fmt.js:
--------------------------------------------------------------------------------
1 | document$.subscribe(() => {
2 | hljs.highlightAll(),
3 | { language: 'c++' }
4 | })
5 |
--------------------------------------------------------------------------------
/external/fmt/test/gtest/.clang-format:
--------------------------------------------------------------------------------
1 | # Disable clang-format here
2 | DisableFormat: true
3 | SortIncludes: Never
4 |
--------------------------------------------------------------------------------
/tests/Binaries/Signals/alarm.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Signals/alarm.out
--------------------------------------------------------------------------------
/tests/Binaries/Signals/frame.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Signals/frame.out
--------------------------------------------------------------------------------
/tests/Binaries/Signals/mask_32.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Signals/mask_32.out
--------------------------------------------------------------------------------
/tests/Binaries/Signals/sigchld.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Signals/sigchld.out
--------------------------------------------------------------------------------
/tests/Binaries/Simple/cpuinfo.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Simple/cpuinfo.out
--------------------------------------------------------------------------------
/external/Catch2/meson_options.txt:
--------------------------------------------------------------------------------
1 | option('tests', type: 'boolean', value: true, description: 'Build the unit tests')
2 |
--------------------------------------------------------------------------------
/tests/Binaries/Clone/posix_spawn.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Clone/posix_spawn.out
--------------------------------------------------------------------------------
/tests/Binaries/Filesystem/chroot.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Filesystem/chroot.out
--------------------------------------------------------------------------------
/tests/Binaries/Filesystem/utime.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Filesystem/utime.out
--------------------------------------------------------------------------------
/tests/Binaries/Signals/alarm_32.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Signals/alarm_32.out
--------------------------------------------------------------------------------
/tests/Binaries/Signals/frame_32.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Signals/frame_32.out
--------------------------------------------------------------------------------
/tests/Binaries/Signals/recursive.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Signals/recursive.out
--------------------------------------------------------------------------------
/tests/Binaries/Simple/cmpxchg_16.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Simple/cmpxchg_16.out
--------------------------------------------------------------------------------
/tests/Binaries/Simple/cmpxchg_32.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Simple/cmpxchg_32.out
--------------------------------------------------------------------------------
/tests/Binaries/Simple/cmpxchg_64.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Simple/cmpxchg_64.out
--------------------------------------------------------------------------------
/tests/Binaries/Simple/cmpxchg_8.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Simple/cmpxchg_8.out
--------------------------------------------------------------------------------
/external/fmt/support/README:
--------------------------------------------------------------------------------
1 | This directory contains build support files such as
2 |
3 | * CMake modules
4 | * Build scripts
5 |
--------------------------------------------------------------------------------
/src/felix86/hle/guest_libs/libEGL.so.1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/src/felix86/hle/guest_libs/libEGL.so.1
--------------------------------------------------------------------------------
/src/felix86/hle/guest_libs/libGL.so.1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/src/felix86/hle/guest_libs/libGL.so.1
--------------------------------------------------------------------------------
/src/felix86/hle/guest_libs/libGLX.so.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/src/felix86/hle/guest_libs/libGLX.so.0
--------------------------------------------------------------------------------
/tests/Binaries/Clone/clone_atomic.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Clone/clone_atomic.out
--------------------------------------------------------------------------------
/tests/Binaries/Clone/clone_simple.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Clone/clone_simple.out
--------------------------------------------------------------------------------
/tests/Binaries/Filesystem/mkdirat.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Filesystem/mkdirat.out
--------------------------------------------------------------------------------
/tests/Binaries/Filesystem/symlinks.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Filesystem/symlinks.out
--------------------------------------------------------------------------------
/tests/Binaries/Signals/recursive2.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Signals/recursive2.out
--------------------------------------------------------------------------------
/tests/Binaries/Signals/sigsuspend.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Signals/sigsuspend.out
--------------------------------------------------------------------------------
/tests/Binaries/Simple/hello_world.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Simple/hello_world.out
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Disabled_Tests_Simulator:
--------------------------------------------------------------------------------
1 | # Simulator can't handle `mrs x0, nzcv`
2 | Test_32Bit_SecondaryModRM/Reg_7_1.asm
3 |
--------------------------------------------------------------------------------
/src/felix86/hle/guest_libs/libvulkan.so.1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/src/felix86/hle/guest_libs/libvulkan.so.1
--------------------------------------------------------------------------------
/tests/Binaries/Filesystem/magic_links.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Filesystem/magic_links.out
--------------------------------------------------------------------------------
/tests/Binaries/common.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | // Magic number that indicates the test passed
4 | #define FELIX86_BTEST_SUCCESS (0x42)
--------------------------------------------------------------------------------
/external/fmt/support/python/mkdocstrings_handlers/cxx/templates/README:
--------------------------------------------------------------------------------
1 | mkdocsstrings requires a handler to have a templates directory.
2 |
--------------------------------------------------------------------------------
/src/felix86/hle/guest_libs/libluajit-5.1.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/src/felix86/hle/guest_libs/libluajit-5.1.so
--------------------------------------------------------------------------------
/tests/Binaries/Filesystem/chroot_fdinfo.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Filesystem/chroot_fdinfo.out
--------------------------------------------------------------------------------
/tests/Binaries/Simple/unaligned_atomic.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Simple/unaligned_atomic.out
--------------------------------------------------------------------------------
/external/Catch2/data/artwork/catch2-c-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/external/Catch2/data/artwork/catch2-c-logo.png
--------------------------------------------------------------------------------
/src/felix86/hle/guest_libs/x64-linux-vdso.so.1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/src/felix86/hle/guest_libs/x64-linux-vdso.so.1
--------------------------------------------------------------------------------
/src/felix86/hle/ioctl/fs.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "felix86/common/types.hpp"
4 |
5 | int ioctl32_fs(int fd, u32 cmd, u32 args);
6 |
--------------------------------------------------------------------------------
/tests/Binaries/Filesystem/chroot_propagate.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Filesystem/chroot_propagate.out
--------------------------------------------------------------------------------
/tests/Binaries/Filesystem/chroot_symlinks.out:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/tests/Binaries/Filesystem/chroot_symlinks.out
--------------------------------------------------------------------------------
/external/Catch2/data/artwork/catch2-hand-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/external/Catch2/data/artwork/catch2-hand-logo.png
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_D0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | }
4 | %endif
5 | bits 64
6 |
7 | ; Just to ensure execution
8 | fnop
9 | hlt
10 |
--------------------------------------------------------------------------------
/external/zydis/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "dependencies/zycore"]
2 | path = dependencies/zycore
3 | url = https://github.com/zyantific/zycore-c
4 |
--------------------------------------------------------------------------------
/external/zydis/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Reporting a Vulnerability
4 |
5 | Please report security issues to `joel@zyantific.com`
--------------------------------------------------------------------------------
/external/zydis/assets/screenshots/ZydisDisasm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/external/zydis/assets/screenshots/ZydisDisasm.png
--------------------------------------------------------------------------------
/external/zydis/assets/screenshots/ZydisInfo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/external/zydis/assets/screenshots/ZydisInfo.png
--------------------------------------------------------------------------------
/src/felix86/hle/guest_libs/libwayland-client.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/src/felix86/hle/guest_libs/libwayland-client.so
--------------------------------------------------------------------------------
/src/felix86/hle/ioctl/fat.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "felix86/common/types.hpp"
4 |
5 | int ioctl32_fat(int fd, u32 cmd, u32 args);
6 |
--------------------------------------------------------------------------------
/external/Catch2/data/artwork/catch2-logo-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/external/Catch2/data/artwork/catch2-logo-small.png
--------------------------------------------------------------------------------
/external/FEX/ASM/Known_Failures_jit:
--------------------------------------------------------------------------------
1 | # FPREM is incorrect
2 | Test_X87/D9_F5_2.asm
3 | Test_X87/D9_F5_3.asm
4 |
5 | Test_FEX_bugs/32bit_syscall.asm
6 |
--------------------------------------------------------------------------------
/src/felix86/hle/ioctl/tty.hpp:
--------------------------------------------------------------------------------
1 |
2 | #pragma once
3 |
4 | #include "felix86/common/types.hpp"
5 |
6 | int ioctl32_tty(int fd, u32 cmd, u32 args);
7 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/15_XX_5.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | }
4 | %endif
5 | bits 64
6 |
7 | ; Just to ensure execution
8 | lfence
9 | hlt
10 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/15_XX_6.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | }
4 | %endif
5 | bits 64
6 |
7 | ; Just to ensure execution
8 | mfence
9 | hlt
10 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/15_XX_7.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | }
4 | %endif
5 | bits 64
6 |
7 | ; Just to ensure execution
8 | sfence
9 | hlt
10 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/15_XX_7_2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | }
4 | %endif
5 | bits 64
6 |
7 | mov rdx, 0xe0000000
8 | clflush [rdx]
9 | hlt
10 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_9B.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | }
4 | %endif
5 | bits 64
6 |
7 | ; Just to ensure this executes
8 | fwait
9 |
10 | hlt
11 |
--------------------------------------------------------------------------------
/external/fmt/support/bazel/MODULE.bazel:
--------------------------------------------------------------------------------
1 | module(
2 | name = "fmt",
3 | compatibility_level = 10,
4 | )
5 |
6 | bazel_dep(name = "platforms", version = "0.0.10")
7 |
--------------------------------------------------------------------------------
/src/felix86/hle/ipc32.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "felix86/common/types.hpp"
4 |
5 | int ipc32(u32 call, u32 first, u64 second, u64 third, void* ptr, u64 fifth);
6 |
--------------------------------------------------------------------------------
/external/Catch2/tools/scripts/scriptCommon.py:
--------------------------------------------------------------------------------
1 | import os
2 | import sys
3 |
4 | catchPath = os.path.dirname(os.path.dirname(os.path.realpath( os.path.dirname(sys.argv[0]))))
5 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_EE.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0", "0"]
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | fldz
11 |
12 | hlt
13 |
--------------------------------------------------------------------------------
/tests/Binaries/Simple/hello_world.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include "common.h"
3 |
4 | int main() {
5 | printf("Hello, World!\n");
6 | return FELIX86_BTEST_SUCCESS;
7 | }
--------------------------------------------------------------------------------
/external/Catch2/data/artwork/catch2-logo-small-with-background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OFFTKP/felix86/HEAD/external/Catch2/data/artwork/catch2-logo-small-with-background.png
--------------------------------------------------------------------------------
/external/fmt/test/static-export-test/main.cc:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | extern std::string foo();
5 |
6 | int main() { std::cout << foo() << std::endl; }
7 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_05.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | }
4 | %endif
5 | bits 64
6 |
7 | mov rdx, 0xe0000000
8 | ; Just to ensure execution
9 | fldcw [rdx]
10 |
11 | hlt
12 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_D0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "Mode": "32BIT"
4 | }
5 | %endif
6 | org 10000h
7 | bits 32
8 |
9 | ; Just to ensure execution
10 | fnop
11 | hlt
12 |
--------------------------------------------------------------------------------
/external/biscuit/cmake/biscuit-config.cmake.in:
--------------------------------------------------------------------------------
1 | @PACKAGE_INIT@
2 |
3 | include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake")
4 |
5 | check_required_components(@PROJECT_NAME@)
6 |
--------------------------------------------------------------------------------
/external/biscuit/examples/cpuinfo/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_executable(cpuinfo cpuinfo.cpp)
2 | target_link_libraries(cpuinfo biscuit)
3 | set_property(TARGET cpuinfo PROPERTY CXX_STANDARD 20)
4 |
--------------------------------------------------------------------------------
/external/biscuit/examples/literal/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_executable(literal literal.cpp)
2 | target_link_libraries(literal biscuit)
3 | set_property(TARGET literal PROPERTY CXX_STANDARD 20)
4 |
--------------------------------------------------------------------------------
/external/fmt/test/find-package-test/main.cc:
--------------------------------------------------------------------------------
1 | #include "fmt/format.h"
2 |
3 | int main(int argc, char** argv) {
4 | for (int i = 0; i < argc; ++i) fmt::print("{}: {}\n", i, argv[i]);
5 | }
6 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_E8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3FFF"]
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | fld1
11 |
12 | hlt
13 |
--------------------------------------------------------------------------------
/external/fmt/test/add-subdirectory-test/main.cc:
--------------------------------------------------------------------------------
1 | #include "fmt/base.h"
2 |
3 | int main(int argc, char** argv) {
4 | for (int i = 0; i < argc; ++i) fmt::print("{}: {}\n", i, argv[i]);
5 | }
6 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_E9.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xD49A784BCD1B8AFE", "0x4000"]
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | fldl2t
11 |
12 | hlt
13 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_EA.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xB8AA3B295C17F0BC", "0x3FFF"]
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | fldl2e
11 |
12 | hlt
13 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_EB.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xC90FDAA22168C235", "0x4000"]
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | fldpi
11 |
12 | hlt
13 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_EC.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x9A209A84FBCFF799", "0x3FFD"]
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | fldlg2
11 |
12 | hlt
13 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_ED.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xB17217F7D1CF79AC", "0x3FFE"]
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | fldln2
11 |
12 | hlt
13 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Disabled_Tests:
--------------------------------------------------------------------------------
1 | # Relies on undefined behaviour
2 | Test_32Bit_X87/D9_F9.asm
3 |
4 | Test_32Bit_X87/D9_F2.asm
5 |
6 | # Relies on rounding correctness
7 | Test_32Bit_X87/D9_F8.asm
8 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_D0_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
4 | }
5 | %endif
6 | bits 64
7 |
8 | ; Just to ensure execution
9 | fnop
10 | hlt
11 |
--------------------------------------------------------------------------------
/tests/ASM/felix86_bugs/crc_simple.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RBX": "0"
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | mov rax, 0x1234567890ABCDEF
11 | crc32 rbx, rax
12 | hlt
--------------------------------------------------------------------------------
/tests/Binaries/build.sh:
--------------------------------------------------------------------------------
1 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
2 | (cd $DIR
3 | for file in **/*.c; do
4 | gcc -O3 -I./ -o ${file%.c}.out $file
5 | strip ${file%.c}.out
6 | done
7 | )
--------------------------------------------------------------------------------
/external/fmt/test/static-export-test/library.cc:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | __attribute__((visibility("default"))) std::string foo() {
4 | return fmt::format(FMT_COMPILE("foo bar {}"), 4242);
5 | }
6 |
--------------------------------------------------------------------------------
/external/Catch2/mdsnippets.json:
--------------------------------------------------------------------------------
1 | {
2 | "ReadOnly": false,
3 | "TocLevel": 5,
4 | "Exclude": [
5 | "cmake-build"
6 | ],
7 | "WriteHeader": false,
8 | "Convention": "InPlaceOverwrite"
9 | }
10 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_EE.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0", "0"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | fldz
13 |
14 | hlt
15 |
--------------------------------------------------------------------------------
/external/fmt/support/cmake/fmt-config.cmake.in:
--------------------------------------------------------------------------------
1 | @PACKAGE_INIT@
2 |
3 | if (NOT TARGET fmt::fmt)
4 | include(${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake)
5 | endif ()
6 |
7 | check_required_components(fmt)
8 |
--------------------------------------------------------------------------------
/external/zydis/.gitattributes:
--------------------------------------------------------------------------------
1 | *.inc eol=lf encoding=utf-8 linguist-language=C
2 | *.h eof=lf encoding=utf-8
3 | *.c eof=lf encoding=utf-8
4 | *.py eof=lf encoding=utf-8
5 | *.md eof=lf encoding=utf-8
6 |
7 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_05.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "Mode": "32BIT"
4 | }
5 | %endif
6 | org 10000h
7 | bits 32
8 |
9 | mov edx, 0xe0000000
10 | ; Just to ensure execution
11 | fldcw [edx]
12 |
13 | hlt
14 |
--------------------------------------------------------------------------------
/src/felix86/common/sudo.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | struct Sudo {
4 | static bool hasPermissions();
5 |
6 | static bool dropPermissions();
7 |
8 | [[noreturn]] static void requestPermissions(int argc, char** argv);
9 | };
--------------------------------------------------------------------------------
/src/felix86/hle/ioctl/amdgpu.hpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include "felix86/common/types.hpp"
3 |
4 | #define __user
5 | #include "headers/amdgpu_drm.h"
6 | #undef __user
7 |
8 | int ioctl32_amdgpu(int fd, u32 cmd, u32 args);
9 |
--------------------------------------------------------------------------------
/src/felix86/hle/vdso.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "felix86/common/types.hpp"
5 |
6 | struct VDSO {
7 | static std::span getObject64();
8 |
9 | private:
10 | VDSO() = delete;
11 | };
--------------------------------------------------------------------------------
/external/fmt/include/fmt/core.h:
--------------------------------------------------------------------------------
1 | // This file is only provided for compatibility and may be removed in future
2 | // versions. Use fmt/base.h if you don't need fmt::format and fmt/format.h
3 | // otherwise.
4 |
5 | #include "format.h"
6 |
--------------------------------------------------------------------------------
/tests/ASM/felix86_bugs/bswap_word.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1234567890abefcd"
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | mov rax, 0x1234567890abcdef
11 | db 0x66, 0x0f, 0xc8
12 |
13 | hlt
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_77.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | },
5 | "MemoryRegions": {
6 | "0x100000000": "4096"
7 | }
8 | }
9 | %endif
10 | bits 64
11 |
12 | emms ; Just ensure it runs
13 |
14 | hlt
15 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_05_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
4 | }
5 | %endif
6 | bits 64
7 |
8 | mov rdx, 0xe0000000
9 | ; Just to ensure execution
10 | fldcw [rdx]
11 |
12 | hlt
13 |
--------------------------------------------------------------------------------
/src/felix86/hle/vdso.cpp:
--------------------------------------------------------------------------------
1 | #include "felix86/hle/guest_libs/x64-linux-vdso.h"
2 | #include "felix86/hle/vdso.hpp"
3 |
4 | std::span VDSO::getObject64() {
5 | return std::span{(u8*)x64_linux_vdso_so_1, x64_linux_vdso_so_1_size};
6 | }
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_E8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3FFF"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | fld1
13 |
14 | hlt
15 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_E9.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xD49A784BCD1B8AFE", "0x4000"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | fldl2t
13 |
14 | hlt
15 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_EA.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xB8AA3B295C17F0BC", "0x3FFF"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | fldl2e
13 |
14 | hlt
15 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_EB.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xC90FDAA22168C235", "0x4000"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | fldpi
13 |
14 | hlt
15 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_EC.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x9A209A84FBCFF799", "0x3FFD"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | fldlg2
13 |
14 | hlt
15 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_ED.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xB17217F7D1CF79AC", "0x3FFE"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | fldln2
13 |
14 | hlt
15 |
--------------------------------------------------------------------------------
/external/FEX/ASM/SecondaryModRM/Reg_7_1.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "HostFeatures": ["Linux"]
4 | }
5 | %endif
6 | bits 64
7 |
8 | ; We can't really check the results of this
9 | ; Just ensure we execute it
10 | rdtscp
11 |
12 | hlt
13 |
--------------------------------------------------------------------------------
/tests/ASM/felix86_bugs/bt_jc.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RBX": "0x0000000000000001"
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | xor rcx, rcx
11 | bts rcx, 0
12 | jc .label1
13 | mov rbx, 1
14 |
15 | .label1:
16 | hlt
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DD_C0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | }
4 | %endif
5 | bits 64
6 |
7 | ; Just to ensure execution
8 | ffree st0
9 | ffree st1
10 | ffree st2
11 | ffree st3
12 | ffree st4
13 | ffree st5
14 | ffree st6
15 | ffree st7
16 | hlt
17 |
--------------------------------------------------------------------------------
/external/fmt/.github/issue_template.md:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/SecondaryModRM/Reg_7_1.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "Mode": "32BIT",
4 | "HostFeatures": ["Linux"]
5 | }
6 | %endif
7 | org 10000h
8 | bits 32
9 |
10 | ; We can't really check the results of this
11 | rdtscp
12 |
13 | hlt
14 |
--------------------------------------------------------------------------------
/external/zydis/assets/version-bump-checklist.txt:
--------------------------------------------------------------------------------
1 | - CMakeLists (VERSION)
2 | - Doxyfile
3 | - resources/VersionInfo.rc (4 locations)
4 | - include/Zydis/Zydis.h (ZYDIS_VERSION macro)
5 | - create a tagged release of zycore
6 | - create a tagged release of zydis
7 |
--------------------------------------------------------------------------------
/external/zydis/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .vscode
3 | .idea
4 | .vs
5 | __pycache__
6 |
7 | /build*
8 | /msvc/**/*.user
9 | /msvc/**/obj/
10 | /msvc/**/bin/
11 | /doc
12 | /cmake-build-debug
13 | /amalgamated-dist
14 |
15 | .cache
16 | compile_commands.json
17 |
--------------------------------------------------------------------------------
/src/felix86/common/overlay.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | struct Overlays {
6 | static void addOverlay(const char* lib_name, const std::filesystem::path& dest);
7 |
8 | static const char* isOverlay(int fd, const char* pathname);
9 | };
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Primary/Primary_27.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x12345637"
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | mov eax, 0x1234561f
13 | daa
14 | daa
15 | daa
16 | daa
17 | hlt
18 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Primary/Primary_2F.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x12345607"
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | mov eax, 0x1234561f
13 | das
14 | das
15 | das
16 | das
17 | hlt
18 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Primary/Primary_37.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x12345a07"
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | mov eax, 0x1234561f
13 | aaa
14 | aaa
15 | aaa
16 | aaa
17 | hlt
18 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Primary/Primary_3F.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x12345107"
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | mov eax, 0x1234561f
13 | aas
14 | aas
15 | aas
16 | aas
17 | hlt
18 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Pause.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | }
4 | %endif
5 | bits 64
6 |
7 | ; Set rcx to an absurd number just incase something terrible occurs since pause = `rep nop`
8 | mov rcx, -1
9 |
10 | ; Just ensure execution.
11 | pause
12 |
13 | hlt
14 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/CLFLUSHOPT.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "1"
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | mov rdx, 0xe0000000
11 | ; Just ensures the code is executed.
12 | clflushopt [rdx]
13 |
14 | mov rax, 1
15 | hlt
16 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_0E.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | },
5 | "MemoryRegions": {
6 | "0x100000000": "4096"
7 | },
8 | "HostFeatures": ["3DNOW"]
9 | }
10 | %endif
11 | bits 64
12 |
13 | femms ; Just ensure it runs
14 |
15 | hlt
16 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Primary/Primary_D4.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x2"
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | mov eax, 0x1234
13 | aam
14 | aam 0xc
15 | aam 0x1f
16 | aam 0xff
17 | hlt
18 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Primary/Primary_D5.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0xe8"
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | mov eax, 0x1234
13 | aad
14 | aad 0x3
15 | aad 0x1f
16 | aad 0xae
17 | hlt
18 |
--------------------------------------------------------------------------------
/external/Catch2/tools/scripts/developBuild.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | import releaseCommon
4 |
5 | v = releaseCommon.Version()
6 | v.incrementBuildNumber()
7 | releaseCommon.performUpdates(v)
8 |
9 | print( "Updated files to v{0}".format( v.getVersionString() ) )
10 |
--------------------------------------------------------------------------------
/external/Catch2/tools/scripts/majorRelease.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | import releaseCommon
4 |
5 | v = releaseCommon.Version()
6 | v.incrementMajorVersion()
7 | releaseCommon.performUpdates(v)
8 |
9 | print( "Updated files to v{0}".format( v.getVersionString() ) )
10 |
--------------------------------------------------------------------------------
/external/Catch2/tools/scripts/minorRelease.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | import releaseCommon
4 |
5 | v = releaseCommon.Version()
6 | v.incrementMinorVersion()
7 | releaseCommon.performUpdates(v)
8 |
9 | print( "Updated files to v{0}".format( v.getVersionString() ) )
10 |
--------------------------------------------------------------------------------
/external/Catch2/tools/scripts/patchRelease.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | import releaseCommon
4 |
5 | v = releaseCommon.Version()
6 | v.incrementPatchNumber()
7 | releaseCommon.performUpdates(v)
8 |
9 | print( "Updated files to v{0}".format( v.getVersionString() ) )
10 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_07.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x37F"
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | mov edx, 0xe0000000
13 | fnstcw [edx]
14 | mov eax, 0
15 | mov ax, [edx]
16 |
17 | hlt
18 |
--------------------------------------------------------------------------------
/src/felix86/common/pe.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | struct PE {
6 | enum class PeekResult {
7 | NotPE,
8 | PE_i386,
9 | PE_x64,
10 | };
11 |
12 | static PeekResult Peek(const std::filesystem::path& path);
13 | };
--------------------------------------------------------------------------------
/src/felix86/common/types.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | using u64 = uint64_t;
6 | using u32 = uint32_t;
7 | using u16 = uint16_t;
8 | using u8 = uint8_t;
9 |
10 | using i64 = int64_t;
11 | using i32 = int32_t;
12 | using i16 = int16_t;
13 | using i8 = int8_t;
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Primary/Primary_CE.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | },
5 | "Mode": "32BIT"
6 | }
7 | %endif
8 | org 10000h
9 | bits 32
10 |
11 | ; Clear OF just incase
12 | test eax, eax
13 |
14 | ; Just ensure it executes safely
15 | into
16 |
17 | hlt
18 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/CLWB.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "1"
5 | },
6 | "HostFeatures": ["CLWB"]
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rdx, 0xe0000000
12 | ; Just ensures the code is executed.
13 | clwb [rdx]
14 |
15 | mov rax, 1
16 | hlt
17 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DD_C0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "Mode": "32BIT"
4 | }
5 | %endif
6 | org 10000h
7 | bits 32
8 |
9 | ; Just to ensure execution
10 | ffree st0
11 | ffree st1
12 | ffree st2
13 | ffree st3
14 | ffree st4
15 | ffree st5
16 | ffree st6
17 | ffree st7
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_98.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0xFFFFFFFFFFFFFFF0"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov al, 0xF0
14 | cbw
15 | cwde
16 | cdqe
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_F8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | clc
14 |
15 | ; Get CF
16 | sbb rax, rax
17 | and rax, 1
18 |
19 | hlt
20 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_F9.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | stc
14 |
15 | ; Get CF
16 | sbb rax, rax
17 | and rax, 1
18 |
19 | hlt
20 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/09_F3_07.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "1"
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | mov rax, 0
11 | mov rbx, 0x4142434445464748
12 | mov rcx, 0x4142434445464748
13 | rdpid ebx
14 |
15 | cmp rbx, rcx
16 | setne al
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_07_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x37F"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rdx, 0xe0000000
12 | fnstcw [rdx]
13 | mov eax, 0
14 | mov ax, [rdx]
15 |
16 | hlt
17 |
--------------------------------------------------------------------------------
/external/FEX/ASM/OpSize/15_BYTE.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | },
5 | "MemoryRegions": {
6 | "0x100000000": "4096"
7 | }
8 | }
9 | %endif
10 | bits 64
11 |
12 | db 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x2e, 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00
13 |
14 | hlt
15 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_07.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x37F"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 | fnstcw [rdx]
15 | mov eax, 0
16 | mov ax, [rdx]
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_EE_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rcx, 0xe0000000
12 |
13 | fldz
14 |
15 | fst qword [rcx]
16 | mov rax, [rcx]
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D8_D9.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0x8000000000000000", "0x3FFF"],
5 | "MM7": ["0x8000000000000000", "0x3FFF"]
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | ; Only tests pop behaviour
12 | fld1
13 | fldz
14 | fcomp
15 | fld1
16 |
17 | hlt
18 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DD_E9.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0x8000000000000000", "0x3FFF"],
5 | "MM7": ["0x8000000000000000", "0x3FFF"]
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | ; Only tests pop behaviour
12 | fld1
13 | fldz
14 | fucomp
15 | fld1
16 |
17 | hlt
18 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/DD_C0_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
4 | }
5 | %endif
6 | bits 64
7 |
8 | ; Just to ensure execution
9 | ffree st0
10 | ffree st1
11 | ffree st2
12 | ffree st3
13 | ffree st4
14 | ffree st5
15 | ffree st6
16 | ffree st7
17 | hlt
18 |
--------------------------------------------------------------------------------
/external/FEX/ASM/lea.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "Match": "All",
4 | "RegData": {
5 | "RAX": "0x1BD5B7DDE",
6 | "RBX": "0x0DEADBF18"
7 | }
8 | }
9 | %endif
10 | bits 64
11 |
12 | mov r15, 0xDEADBEEF
13 | mov r14, 0x5
14 |
15 | lea rax, [r15*2]
16 | lea rbx, [r15+r14*8 + 1]
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/zydis/files.dox:
--------------------------------------------------------------------------------
1 | /** @dir include
2 | * @brief Top-level include dir
3 | */
4 | /** @dir include/Zydis
5 | * @brief Zydis include dir
6 | */
7 | /** @dir include/Zydis/Generated
8 | * @brief Generated files
9 | */
10 | /** @dir include/Zydis/Internal
11 | * @brief Internal APIs
12 | */
13 |
--------------------------------------------------------------------------------
/tests/ASM/felix86_bugs/cfmerge.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "R8": "0x1",
5 | "R9": "0x0"
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | stc
12 | sbb r14, r14
13 | and r14, 1
14 |
15 | mov r8, r14
16 |
17 | clc
18 | sbb r14, r14
19 | and r14, 1
20 |
21 | mov r9, r14
22 |
23 | hlt
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3fff"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [.data]
13 |
14 | fld dword [edx + 8 * 0]
15 | hlt
16 |
17 | .data:
18 | dq 0x3f800000
19 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DB_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4009"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [.data]
13 |
14 | fild dword [edx + 8 * 0]
15 |
16 | hlt
17 |
18 | .data:
19 | dq 1024
20 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DF_05.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4009"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [.data]
13 |
14 | fild qword [edx + 8 * 0]
15 |
16 | hlt
17 | .data:
18 | dq 1024
19 |
20 |
--------------------------------------------------------------------------------
/tests/ASM/felix86_bugs/ror_clearof.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "R14": "0x0000000000000000"
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | pushfq
11 | or qword [rsp], 0x800
12 | popfq
13 | mov r14, -1
14 | mov r12, 0
15 | ror r12, 1
16 | mov r14, 0
17 | mov r13, 1
18 | cmovo r14, r13
19 | hlt
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_A8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0600"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rax, 0x4142434445464847
14 | test al, 0x61
15 |
16 | mov rax, 0
17 | lahf
18 |
19 | hlt
20 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_6E_2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM0": "0x0000000045464748",
5 | "MM1": "0x5152535455565758"
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rax, 0x4142434445464748
12 | mov rbx, 0x5152535455565758
13 |
14 | movd mm0, eax
15 | movq mm1, rbx
16 | hlt
17 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DA_D9.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0x8000000000000000", "0x3FFF"],
5 | "MM7": ["0x8000000000000000", "0x3FFF"]
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | ; Only tests pop behaviour
12 | fld1
13 | fldz
14 | fldz
15 | fcompp
16 | fld1
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DA_E9.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0x8000000000000000", "0x3FFF"],
5 | "MM7": ["0x8000000000000000", "0x3FFF"]
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | ; Only tests pop behaviour
12 | fld1
13 | fldz
14 | fldz
15 | fucompp
16 | fld1
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_E8_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3ff0000000000000"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rcx, 0xe0000000
12 |
13 | fld1
14 |
15 | fst qword [rcx]
16 | mov rax, [rcx]
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/fmt/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: "github-actions" # Necessary to update action hashes.
4 | directory: "/"
5 | schedule:
6 | interval: "monthly"
7 | # Allow up to 3 opened pull requests for github-actions versions.
8 | open-pull-requests-limit: 3
9 |
--------------------------------------------------------------------------------
/src/felix86/common/start_params.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 | #include
7 |
8 | struct StartParameters {
9 | std::filesystem::path executable_path;
10 | std::deque argv;
11 | std::vector envp;
12 | };
13 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DF_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4009"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [.data]
13 |
14 | fild word [edx + 8 * 0]
15 |
16 | hlt
17 |
18 | .data:
19 | dq 1024
20 | dq -1
21 |
--------------------------------------------------------------------------------
/src/felix86/hle/brk.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "felix86/common/types.hpp"
4 |
5 | struct BRK {
6 | static void allocate();
7 |
8 | static u64 set(u64 new_brk);
9 |
10 | private:
11 | constexpr static u64 size32 = 32 * 1024 * 1024;
12 |
13 | constexpr static u64 size64 = 128 * 1024 * 1024;
14 | };
--------------------------------------------------------------------------------
/tests/ASM/felix86_bugs/test_high.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RBX": "0x0000000000000001",
5 | "RCX": "0x1234"
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | xor ebx, ebx
12 | mov rax, 0x8000
13 | test ah, 0x80
14 | setne bl
15 |
16 | mov rax, 0x12
17 | mov rcx, 0x34
18 | or ch, al
19 |
20 | hlt
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DD_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4000"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [.data]
13 |
14 | fld qword [edx + 8 * 0]
15 | hlt
16 |
17 | .data:
18 | dq 0x4000000000000000 ; 2.0
19 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DB_05.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4000"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [data]
13 |
14 | fld tword [edx + 8 * 0]
15 | hlt
16 |
17 | align 8
18 | data:
19 | dt 2.0
20 | dq 0
21 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_84.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0600"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rax, 0x4142434445464847
14 | mov rbx, 0x61
15 | test al, bl
16 |
17 | mov rax, 0
18 | lahf
19 |
20 | hlt
21 |
--------------------------------------------------------------------------------
/external/Catch2/.conan/test_package/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.15)
2 | project(PackageTest CXX)
3 |
4 | find_package(Catch2 CONFIG REQUIRED)
5 |
6 | add_executable(test_package test_package.cpp)
7 | target_link_libraries(test_package Catch2::Catch2WithMain)
8 | target_compile_features(test_package PRIVATE cxx_std_14)
9 |
--------------------------------------------------------------------------------
/external/Catch2/CMake/Catch2Config.cmake.in:
--------------------------------------------------------------------------------
1 | @PACKAGE_INIT@
2 |
3 |
4 | # Avoid repeatedly including the targets
5 | if(NOT TARGET Catch2::Catch2)
6 | # Provide path for scripts
7 | list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
8 |
9 | include(${CMAKE_CURRENT_LIST_DIR}/Catch2Targets.cmake)
10 | endif()
11 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_F5.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | ; Set CF to known value
14 | clc
15 |
16 | cmc
17 |
18 | ; Get CF
19 | sbb rax, rax
20 | and rax, 1
21 |
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/FCOM_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | fld1
12 | fldz
13 | fcomp
14 | fnstsw ax
15 | test ah, 041h
16 | jp good
17 | mov rax, 0
18 | hlt
19 | good:
20 | mov rax, 1
21 | hlt
22 |
--------------------------------------------------------------------------------
/external/fmt/test/header-only-test.cc:
--------------------------------------------------------------------------------
1 | // Header-only configuration test
2 |
3 | #include "fmt/base.h"
4 | #include "fmt/ostream.h"
5 | #include "gtest/gtest.h"
6 |
7 | #ifndef FMT_HEADER_ONLY
8 | # error "Not in the header-only mode."
9 | #endif
10 |
11 | TEST(header_only_test, format) { EXPECT_EQ(fmt::format("foo"), "foo"); }
12 |
--------------------------------------------------------------------------------
/src/felix86/common/strace.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "felix86/common/types.hpp"
5 |
6 | [[nodiscard]] std::string trace32(int syscall_no, u64 arg1, u64 arg2, u64 arg3, u64 arg4, u64 arg5, u64 arg6);
7 | [[nodiscard]] std::string trace64(int syscall_no, u64 arg1, u64 arg2, u64 arg3, u64 arg4, u64 arg5, u64 arg6);
8 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D8_C8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4001"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [.data]
13 |
14 | fld qword [edx + 8 * 0]
15 | fmul st0, st0
16 | hlt
17 |
18 | .data:
19 | dq 0x4000000000000000
20 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D8_F0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3FFF"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [.data]
13 |
14 | fld qword [edx + 8 * 0]
15 | fdiv st0, st0
16 | hlt
17 |
18 | .data:
19 | dq 0x4000000000000000
20 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_F0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x0000000000000000", "0x0000"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [data]
13 | fld tword [edx + 8 * 0]
14 | f2xm1
15 |
16 | hlt
17 |
18 | align 8
19 | data:
20 | dt 0.0
21 | dq 0
22 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_C8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RSP": "0xE0000FE8",
5 | "RBP": "0xE0000FF8"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov rsp, 0xe0001000
15 | mov rbp, 0xe0001000
16 |
17 | enter 0x10, 0
18 | hlt
19 |
20 |
--------------------------------------------------------------------------------
/external/box64/rv64_printer.h:
--------------------------------------------------------------------------------
1 | #ifndef _RV64_PRINTER_H_
2 | #define _RV64_PRINTER_H_
3 | #include
4 | #include
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | const char* rv64_print(uint32_t data, uint64_t addr);
11 |
12 | #ifdef __cplusplus
13 | }
14 | #endif
15 |
16 | #endif //_RV64_PRINTER_H_
17 |
--------------------------------------------------------------------------------
/external/fmt/.gitignore:
--------------------------------------------------------------------------------
1 | *.a
2 | *.so*
3 | *.xcodeproj
4 | *~
5 | .vscode/
6 | /CMakeScripts
7 | /Testing
8 | /_CPack_Packages
9 | /install_manifest.txt
10 | CMakeCache.txt
11 | CMakeFiles
12 | CPack*.cmake
13 | CTestTestfile.cmake
14 | FMT.build
15 | Makefile
16 | bin/
17 | build/
18 | cmake_install.cmake
19 | fmt-*.cmake
20 | fmt.pc
21 |
--------------------------------------------------------------------------------
/src/felix86/common/print.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "felix86/common/state.hpp"
5 |
6 | const char* print_guest_register(x86_ref_e guest);
7 | extern "C" __attribute__((visibility("default"))) void print_state(ThreadState* state);
8 | extern "C" __attribute__((visibility("default"))) void print_gprs(ThreadState* state);
--------------------------------------------------------------------------------
/external/Catch2/tests/SelfTest/Baselines/default.sw.multi.approved.txt:
--------------------------------------------------------------------------------
1 | This would not be caught previously
2 | Nor would this
3 | A string sent directly to stdout
4 | A string sent directly to stderr
5 | A string sent to stderr via clog
6 | Message from section one
7 | Message from section two
8 | loose text artifact
9 | a!
10 | b1!
11 | !
12 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Primary/Loops.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "Mode": "32BIT"
4 | }
5 | %endif
6 | org 10000h
7 | bits 32
8 |
9 | mov ecx, 0x10
10 | .loop:
11 | dec ecx
12 | test ecx, ecx
13 | jnz .loop
14 | .end:
15 |
16 | mov ecx, 0x10
17 | .loop2:
18 | dec ecx
19 | test ecx, ecx
20 | jz .end2
21 | jmp .loop2
22 |
23 | .end2:
24 | hlt
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_FE.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xD76AA47848677021", "0x3FFE"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [data]
13 | fld tword [edx + 8 * 0]
14 |
15 | fsin
16 |
17 | hlt
18 |
19 | align 8
20 | data:
21 | dt 1.0
22 | dq 0
23 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_FF.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xD51132BA9B902522", "0xBFFD"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [data]
13 | fld tword [edx + 8 * 0]
14 |
15 | fcos
16 |
17 | hlt
18 |
19 | align 8
20 | data:
21 | dt 2.0
22 | dq 0
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/07_XX_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0",
5 | "RBX": "0xFFFFFFFFFFFE0000"
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | sgdt [rel data]
12 |
13 | movzx rax, word [rel data]
14 | mov rbx, qword [rel data + 2]
15 | hlt
16 |
17 | data:
18 | ; Limit
19 | dw 0
20 | ; Base
21 | dq 0
22 |
--------------------------------------------------------------------------------
/external/fmt/support/cmake/fmt.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@CMAKE_INSTALL_PREFIX@
2 | exec_prefix=@CMAKE_INSTALL_PREFIX@
3 | libdir=@libdir_for_pc_file@
4 | includedir=@includedir_for_pc_file@
5 |
6 | Name: fmt
7 | Description: A modern formatting library
8 | Version: @FMT_VERSION@
9 | Libs: -L${libdir} -l@FMT_LIB_NAME@
10 | Cflags: -I${includedir}
11 |
12 |
--------------------------------------------------------------------------------
/tests/ASM/felix86_bugs/adc.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0000000000000080",
5 | "RDI": "0x0000000000000000"
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rax, -75
12 | mov rbx, -54
13 | movzx eax, al
14 | movzx ebx, bl
15 | stc
16 | adc al, bl
17 |
18 | pushfq
19 | pop rdi
20 | and rdi, 0x800
21 |
22 | hlt
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_FA.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4001"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [data]
13 | fld tword [edx + 8 * 0]
14 |
15 | fsqrt
16 |
17 | hlt
18 |
19 | align 8
20 | data:
21 | dt 16.0
22 | dq 0
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_E9_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x40549a78"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rcx, 0xe0000000
12 |
13 | fldl2t
14 |
15 | fst dword [rcx] ; Can't compare 64-bit precision with host
16 | mov eax, [rcx]
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_EA_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3fb8aa3b"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rcx, 0xe0000000
12 |
13 | fldl2e
14 |
15 | fst dword [rcx] ; Can't compare 64-bit precision with host
16 | mov eax, [rcx]
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_EB_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x40490fdb"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rcx, 0xe0000000
12 |
13 | fldpi
14 |
15 | fst dword [rcx] ; Can't compare 64-bit precision with host
16 | mov eax, [rcx]
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_EC_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3e9a209b"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rcx, 0xe0000000
12 |
13 | fldlg2
14 |
15 | fst dword [rcx] ; Can't compare 64-bit precision with host
16 | mov eax, [rcx]
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_ED_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3f317218"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rcx, 0xe0000000
12 |
13 | fldln2
14 |
15 | fst dword [rcx] ; Can't compare 64-bit precision with host
16 | mov eax, [rcx]
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DB_05.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4000"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | lea rdx, [rel data]
14 |
15 | fld tword [rdx + 8 * 0]
16 | hlt
17 |
18 | align 8
19 | data:
20 | dt 2.0
21 | dq 0
22 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_E2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x10"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rax, 0
14 | mov rcx, 0x11
15 |
16 | jmp .head
17 |
18 | .top:
19 |
20 | add rax, 1
21 |
22 | .head:
23 |
24 | loop .top
25 |
26 | hlt
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DB_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4009"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov eax, 1024
16 | mov [rdx + 8 * 0], eax
17 |
18 | fild dword [rdx + 8 * 0]
19 |
20 | hlt
21 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DF_05.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4009"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 1024
16 | mov [rdx + 8 * 0], rax
17 |
18 | fild qword [rdx + 8 * 0]
19 |
20 | hlt
21 |
--------------------------------------------------------------------------------
/external/fmt/support/cmake/FindSetEnv.cmake:
--------------------------------------------------------------------------------
1 | # A CMake script to find SetEnv.cmd.
2 |
3 | find_program(WINSDK_SETENV NAMES SetEnv.cmd
4 | PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows;CurrentInstallFolder]/bin")
5 | if (WINSDK_SETENV AND PRINT_PATH)
6 | execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${WINSDK_SETENV}")
7 | endif ()
8 |
--------------------------------------------------------------------------------
/external/Catch2/.bazelrc:
--------------------------------------------------------------------------------
1 | build --enable_platform_specific_config
2 |
3 | build:gcc9 --cxxopt=-std=c++2a
4 | build:gcc11 --cxxopt=-std=c++2a
5 | build:clang13 --cxxopt=-std=c++17
6 | build:vs2019 --cxxopt=/std:c++17
7 | build:vs2022 --cxxopt=/std:c++17
8 |
9 | build:windows --config=vs2022
10 | build:linux --config=gcc11
11 | build:macos --cxxopt=-std=c++2b
12 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DB_E3.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x037F"
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | mov eax, 0
13 | mov esp, 0xe0000008
14 | fninit
15 |
16 | ; Ensures that fnstcw after fninit sets the correct value
17 | fnstcw [esp]
18 | mov ax, word [esp]
19 |
20 | hlt
21 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_6A.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0xFFFFFFFFFFFFFF81",
5 | "RSP": "0xE0000018"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov rsp, 0xe0000020
15 |
16 | push -127
17 | mov rdx, 0xe0000020
18 | mov rax, [rdx - 8]
19 |
20 | hlt
21 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3fff"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov eax, 0x3f800000 ; 1.0
16 | mov [rdx + 8 * 0], eax
17 |
18 | fld dword [rdx + 8 * 0]
19 | hlt
20 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_F0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x0000000000000000", "0x0000"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 | f2xm1
16 |
17 | hlt
18 |
19 | align 8
20 | data:
21 | dt 0.0
22 | dq 0
23 |
--------------------------------------------------------------------------------
/external/fmt/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/felix86/common/process_lock.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include "felix86/common/log.hpp"
4 | #include "felix86/common/process_lock.hpp"
5 |
6 | Semaphore::Semaphore() {
7 | int result = sem_init(&inner, 0, 1);
8 | if (result != 0) {
9 | ERROR("Failed to initialize semaphore. Error: %s", strerror(errno));
10 | }
11 | }
--------------------------------------------------------------------------------
/src/felix86/hle/cpuid.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "felix86/common/state.hpp"
4 |
5 | struct Cpuid {
6 | u32 leaf = 0;
7 | u32 subleaf = 0;
8 | u32 eax = 0;
9 | u32 ebx = 0;
10 | u32 ecx = 0;
11 | u32 edx = 0;
12 | };
13 |
14 | Cpuid felix86_cpuid_impl(u32 leaf, u32 subleaf);
15 | void felix86_cpuid(ThreadState* thread_state);
16 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D8_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xc000000000000000", "0x4000"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [.data]
13 |
14 | fld qword [edx + 8 * 0]
15 | fadd dword [edx + 8 * 1]
16 | hlt
17 |
18 | .data:
19 | dq 0x3ff0000000000000
20 | dq 0x40000000
21 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D8_01.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4000"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [.data]
13 |
14 | fld qword [edx + 8 * 0]
15 | fmul dword [edx + 8 * 1]
16 | hlt
17 |
18 | .data:
19 | dq 0x3ff0000000000000
20 | dq 0x40000000
21 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D8_04.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0xBFFF"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [.data]
13 |
14 | fld qword [edx + 8 * 0]
15 | fsub dword [edx + 8 * 1]
16 | hlt
17 |
18 | .data:
19 | dq 0x3ff0000000000000
20 | dq 0x40000000
21 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D8_05.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3FFF"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [.data]
13 |
14 | fld qword [edx + 8 * 0]
15 | fsubr dword [edx + 8 * 1]
16 | hlt
17 |
18 | .data:
19 | dq 0x3ff0000000000000
20 | dq 0x40000000
21 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D8_06.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3FFE"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [.data]
13 |
14 | fld qword [edx + 8 * 0]
15 | fdiv dword [edx + 8 * 1]
16 | hlt
17 |
18 | .data:
19 | dq 0x3ff0000000000000
20 | dq 0x40000000
21 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D8_07.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4000"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [.data]
13 |
14 | fld qword [edx + 8 * 0]
15 | fdivr dword [edx + 8 * 1]
16 | hlt
17 |
18 | .data:
19 | dq 0x3ff0000000000000
20 | dq 0x40000000
21 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_FC.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3fff"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | mov edx, 0xe0000000
13 |
14 | mov eax, 0x3f834241 ; 1.02546
15 | mov [edx + 8 * 0], eax
16 |
17 | fld dword [edx + 8 * 0]
18 |
19 | frndint
20 |
21 | hlt
22 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_63.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0xFFFFFFFF81828384",
5 | "RBX": "0x0000000071727374"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov rax, 0x81828384
15 | mov rbx, 0x71727374
16 | movsxd rax, eax
17 | movsxd rbx, ebx
18 |
19 | hlt
20 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_FE.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xD76AA47848677021", "0x3FFE"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 |
16 | fsin
17 |
18 | hlt
19 |
20 | align 8
21 | data:
22 | dt 1.0
23 | dq 0
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_FF.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xD51132BA9B902522", "0xBFFD"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 |
16 | fcos
17 |
18 | hlt
19 |
20 | align 8
21 | data:
22 | dt 2.0
23 | dq 0
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DD_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4000"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4000000000000000 ; 2.0
16 | mov [rdx + 8 * 0], rax
17 |
18 | fld qword [rdx + 8 * 0]
19 | hlt
20 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/3_F7_06_2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x80000000",
5 | "RDX": "0"
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov r15, 0xe0000000
12 |
13 | mov eax, 0x2
14 | mov [r15 + 8 * 0], eax
15 |
16 | mov rax, 0xFFFFFFFF00000000
17 | mov rdx, 0xFFFFFFFF00000001
18 |
19 | div dword [r15 + 8 * 0]
20 |
21 | hlt
22 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_FA.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4001"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 |
16 | fsqrt
17 |
18 | hlt
19 |
20 | align 8
21 | data:
22 | dt 16.0
23 | dq 0
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_C3.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RSP": "0xE0000020"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov rsp, 0xe0000020
15 | lea rax, [rel .end]
16 | push rax
17 |
18 | mov rax, 1
19 | ret
20 | mov rax, 0
21 |
22 | .end:
23 | hlt
24 |
--------------------------------------------------------------------------------
/src/felix86/common/exit.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | enum ExitReason : uint8_t {
6 | EXIT_REASON_UNKNOWN = 0,
7 | EXIT_REASON_HLT = 1,
8 | EXIT_REASON_EXIT_SYSCALL = 2,
9 | EXIT_REASON_EXIT_GROUP_SYSCALL = 3,
10 | EXIT_REASON_GUEST_CODE_FINISHED = 4,
11 | EXIT_REASON_SIGRETURN = 5,
12 | };
13 |
14 | void felix86_exit(int code);
15 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Multiblock/ReachableInvalidCode.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "Match": "All",
4 | "RegData": {
5 | "RAX": "0x20"
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rax, 0
12 | cmp rax, 0
13 |
14 | jz finish
15 |
16 | ; multiblock should gracefully handle these invalid ops
17 | db 0xf, 0x3B ; invalid opcode here
18 |
19 | finish:
20 | mov rax, 32
21 |
22 | hlt
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_C2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RSP": "0xE000FF20"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov rsp, 0xe0000020
15 | lea rax, [rel .end]
16 | push rax
17 |
18 | mov rax, 1
19 | ret 0xFF00
20 | mov rax, 0
21 |
22 | .end:
23 | hlt
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/15_F3_02_2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0000434445464748",
5 | "RBX": "0x00000000FFFFFFFF"
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rax, 0x0000434445464748
12 | mov rbx, -1
13 |
14 | ; Ensure that wrfsbase of 32-bit will zero extend
15 | wrfsbase rax
16 | wrfsbase ebx
17 | rdfsbase rbx ; 64bit
18 |
19 | hlt
20 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/15_F3_03_2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0000434445464748",
5 | "RBX": "0x00000000FFFFFFFF"
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rax, 0x0000434445464748
12 | mov rbx, -1
13 |
14 | ; Ensure that wrfsbase of 32-bit will zero extend
15 | wrgsbase rax
16 | wrgsbase ebx
17 | rdgsbase rbx ; 64bit
18 |
19 | hlt
20 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_A2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | ; CPUID function zero
14 | mov rax, 0
15 |
16 | cpuid
17 |
18 | ; CPUID function zero always returns >0 in EAX
19 | cmp eax, 0
20 | mov rax, 0
21 | setnz al
22 |
23 | hlt
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_C0_2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x02",
5 | "RBX": "0x02",
6 | "RCX": "0x02",
7 | "RDX": "0x02"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rax, 0x01
14 | mov rbx, 0x01
15 | mov rcx, 0x01
16 | mov rdx, 0x01
17 |
18 | xadd al, al
19 | xadd bx, bx
20 | xadd ecx, ecx
21 | xadd rdx, rdx
22 |
23 | hlt
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/DB_00_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4090000000000000"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rdx, 0xe0000000
12 |
13 | mov eax, 1024
14 | mov [rdx + 8 * 0], eax
15 |
16 | fild dword [rdx + 8 * 0]
17 |
18 | fstp qword [rdx]
19 | mov rax, [rdx]
20 |
21 | hlt
22 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Secondary/07_XX_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0",
5 | "RBX": "0x00000000FFFE0000"
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | sgdt [rel data]
14 |
15 | movzx eax, word [rel data]
16 | mov ebx, dword [rel data + 2]
17 | hlt
18 |
19 | data:
20 | ; Limit
21 | dw 0
22 | ; Base
23 | dd 0
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/MemoryData.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0xddccbbaa"
5 | },
6 | "MemoryRegions": {
7 | "0x10000000": "4096"
8 | },
9 | "MemoryData": {
10 | "0x10000000": "AA BB CC DD"
11 | }
12 | }
13 | %endif
14 | bits 64
15 |
16 | ; Simple test to prove that config loader's MemoryData is working
17 |
18 | mov rax, [0x10000000]
19 | hlt
20 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/3_F7_07_2.asm:
--------------------------------------------------------------------------------
1 |
2 | %ifdef CONFIG
3 | {
4 | "RegData": {
5 | "RAX": "0x40000000",
6 | "RDX": "0"
7 | }
8 | }
9 | %endif
10 | bits 64
11 |
12 | mov r15, 0xe0000000
13 |
14 | mov eax, 0x4
15 | mov [r15 + 8 * 0], eax
16 |
17 | mov rax, 0xFFFFFFFF00000000
18 | mov rdx, 0xFFFFFFFF00000001
19 |
20 | idiv dword [r15 + 8 * 0]
21 |
22 | hlt
23 |
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D8_C8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4001"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4000000000000000 ; 2.0
16 | mov [rdx + 8 * 0], rax
17 |
18 | fld qword [rdx + 8 * 0]
19 | fmul st0, st0
20 | hlt
21 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D8_F0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3FFF"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4000000000000000 ; 2.0
16 | mov [rdx + 8 * 0], rax
17 |
18 | fld qword [rdx + 8 * 0]
19 | fdiv st0, st0
20 | hlt
21 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_FC.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3fff"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov eax, 0x3f834241 ; 1.02546
16 | mov [rdx + 8 * 0], eax
17 |
18 | fld dword [rdx + 8 * 0]
19 |
20 | frndint
21 |
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_00_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3f800000"
5 | },
6 | "X86ReducedPrecision": "1"
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rdx, 0xe0000000
12 |
13 | mov eax, 0x3f800000 ; 1.0
14 | mov [rdx + 8 * 0], eax
15 |
16 | fld dword [rdx + 8 * 0]
17 | fst dword [rdx]
18 |
19 | xor eax, eax
20 | mov eax, [rdx]
21 |
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Primary/Primary_00_3.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x81",
5 | "RBX": "0x8081",
6 | "RCX": "0x80808081"
7 | },
8 | "Mode": "32BIT"
9 | }
10 | %endif
11 | org 10000h
12 | bits 32
13 |
14 | mov eax, 0x01
15 | add al, 0x80
16 |
17 | mov ebx, 0x01
18 | add bx, 0x8080
19 |
20 | mov ecx, 0x01
21 | add ecx, 0x80808080
22 |
23 | hlt
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/DF_05_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4090000000000000"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rdx, 0xe0000000
12 |
13 | mov rax, 1024
14 | mov [rdx + 8 * 0], rax
15 |
16 | fild qword [rdx + 8 * 0]
17 | fst qword [rdx + 8 * 0]
18 | mov rax, [rdx + 8 * 0]
19 |
20 | hlt
21 |
--------------------------------------------------------------------------------
/external/fmt/support/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_MODULE := fmt_static
5 | LOCAL_MODULE_FILENAME := libfmt
6 |
7 | LOCAL_SRC_FILES := ../src/format.cc
8 |
9 | LOCAL_C_INCLUDES := $(LOCAL_PATH)
10 | LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
11 |
12 | LOCAL_CFLAGS += -std=c++11 -fexceptions
13 |
14 | include $(BUILD_STATIC_LIBRARY)
15 |
16 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_F2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0x8000000000000000", "0x3FFF"],
5 | "MM7": ["0xC75922E5F71D2DC6", "0x3FFF"]
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | lea edx, [data]
14 | fld tword [edx + 8 * 0]
15 |
16 | fptan
17 |
18 | hlt
19 |
20 | align 8
21 | data:
22 | dt 1.0
23 | dq 0
24 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_F4.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0xF000000000000000", "0xBFFF"],
5 | "MM7": ["0xC000000000000000", "0x4000"]
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | lea edx, [data]
14 | fld tword [edx + 8 * 0]
15 |
16 | fxtract
17 |
18 | hlt
19 |
20 | align 8
21 | data:
22 | dt -15.0
23 | dq 0
24 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_FB.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0x8A51407DA8345C92", "0x3FFE"],
5 | "MM7": ["0xD76AA47848677021", "0x3FFE"]
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | lea edx, [data]
14 | fld tword [edx + 8 * 0]
15 |
16 | fsincos
17 |
18 | hlt
19 |
20 | align 8
21 | data:
22 | dt 1.0
23 | dq 0
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/FEX_bugs/BEXTR_flags.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0",
5 | "RCX": "0x5a"
6 | },
7 | "HostFeatures": ["BMI1"]
8 | }
9 | %endif
10 | bits 64
11 |
12 | mov rcx, 0x8f635a775ad3b9b4
13 | mov esi, 0x3018
14 | bextr ecx, ecx, esi
15 | cmp rcx, 0x5a
16 | jne .bad
17 |
18 | .good:
19 | mov rax, 0
20 | hlt
21 |
22 | .bad:
23 | mov rax, 1
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/4_FE_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445464749"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 |
18 | inc byte [rdx + 8 * 0 + 0]
19 | mov rax, [rdx + 8 * 0]
20 |
21 | hlt
22 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/4_FE_01.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445464747"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 |
18 | dec byte [rdx + 8 * 0 + 0]
19 | mov rax, [rdx + 8 * 0]
20 |
21 | hlt
22 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/15_F3_02.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445464748"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 | wrfsbase rdx
15 |
16 | mov rax, 0x4142434445464748
17 | mov [rdx + 8 * 0], rax
18 |
19 | mov rax, -1
20 | mov rax, qword [fs:0]
21 |
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/15_F3_03.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445464748"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 | wrgsbase rdx
15 |
16 | mov rax, 0x4142434445464748
17 | mov [rdx + 8 * 0], rax
18 |
19 | mov rax, -1
20 | mov rax, qword [gs:0]
21 |
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_B0_2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0000000055565758",
5 | "RBX": "0x5152535455565758",
6 | "RCX": "0x6162636465666768"
7 | }
8 | }
9 | %endif
10 | bits 64
11 |
12 | mov r10, 0xe0000000
13 |
14 | mov rax, 0x4142434445464748
15 | mov rbx, 0x5152535455565758
16 | mov rcx, 0x6162636465666768
17 | cmpxchg ebx, ecx
18 |
19 | hlt
20 |
--------------------------------------------------------------------------------
/external/FEX/ASM/fadd.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "Match": "All",
4 | "RegData": {
5 | "MM7": ["0xc90fdb0000000000", "0x4001"]
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | ; calcuate pi + pi
12 | fld dword [rel pi]
13 | fld dword [rel pi]
14 | faddp
15 |
16 | hlt
17 |
18 | align 8
19 | pi: dd 0x40490fdb ; 3.14...
20 | one: dd 0x3f800000 ; 1.0
21 | ptone: dd 0x3dcccccd ; 0.1
22 |
--------------------------------------------------------------------------------
/tests/ASM/felix86_bugs/ssa_phi_bug.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RCX": "0x0000000000000000"
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | mov rcx, 10
11 |
12 | loop:
13 | cmp rcx, 5
14 | jz past
15 | past: ; stupid conditional jump that points to the same location for both branches, would cause ssa problems
16 | dec rcx
17 | cmp rcx, 0
18 | jne loop
19 |
20 | hlt
21 |
--------------------------------------------------------------------------------
/external/Catch2/tools/scripts/checkDuplicateFilenames.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | import os
4 | import sys
5 |
6 | files_set = set()
7 |
8 | for root, dir, files in os.walk("src/catch2"):
9 | for file in files:
10 | if file not in files_set:
11 | files_set.add(file)
12 | else:
13 | print("File %s is duplicate" % file)
14 | sys.exit(1)
15 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/FEX_bugs/SubAddrBug.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0xdeadbeef"
5 | },
6 | "MemoryRegions": {
7 | "0x10000000": "4096"
8 | },
9 | "MemoryData": {
10 | "0x10000000": "0xdeadbeef"
11 | },
12 | "Mode": "32BIT"
13 | }
14 | %endif
15 | bits 32
16 |
17 | section .text
18 |
19 | lea eax, [0x10000040]
20 | mov eax, [eax-0x40]
21 | hlt
22 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Primary/Primary_E3.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RCX": "0x10000"
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | mov ecx, 0x10
13 |
14 | .loop:
15 | dec ecx
16 | jecxz .end
17 | jmp .loop
18 | .end:
19 |
20 | mov ecx, 0x1FFFF
21 |
22 | .loop2:
23 | dec cx
24 | jcxz .end2
25 | jmp .loop2
26 | .end2:
27 |
28 | hlt
29 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DF_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4009"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov eax, 1024
16 | mov [rdx + 8 * 0], eax
17 | mov eax, -1
18 | mov [rdx + 8 * 0 + 2], eax
19 |
20 | fild word [rdx + 8 * 0]
21 |
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/DD_00_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4000000000000000"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rdx, 0xe0000000
12 |
13 | mov rax, 0x4000000000000000 ; 2.0
14 | mov [rdx + 8 * 0], rax
15 |
16 | fld qword [rdx + 8 * 0]
17 |
18 | fstp qword [rdx]
19 | mov rax, [rdx]
20 |
21 | hlt
22 |
--------------------------------------------------------------------------------
/src/felix86/common/info.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include "felix86/common/info.hpp"
3 |
4 | extern const char* g_git_hash;
5 |
6 | #define YEAR "26"
7 | #define MONTH "01"
8 |
9 | const char* get_version_full() {
10 | static std::string version = "felix86 " YEAR "." MONTH + (std::string(g_git_hash) == "?" ? "" : " (" + std::string(g_git_hash) + ")");
11 | return version.c_str();
12 | }
13 |
--------------------------------------------------------------------------------
/external/Catch2/CMake/catch2.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@CMAKE_INSTALL_PREFIX@
2 | exec_prefix=${prefix}
3 | includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
4 | libdir=@CMAKE_INSTALL_FULL_LIBDIR@
5 |
6 | Name: Catch2
7 | Description: A modern, C++-native, test framework for C++14 and above
8 | URL: https://github.com/catchorg/Catch2
9 | Version: @Catch2_VERSION@
10 | Cflags: -I${includedir}
11 | Libs: -L${libdir} -lCatch2
12 |
--------------------------------------------------------------------------------
/external/Catch2/tools/misc/appveyorMergeCoverageScript.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 | import glob
4 | import subprocess
5 |
6 | if __name__ == '__main__':
7 | cov_files = list(glob.glob('tests/cov-report*.bin'))
8 | base_cmd = ['OpenCppCoverage', '--quiet', '--export_type=cobertura:cobertura.xml'] + ['--input_coverage={}'.format(f) for f in cov_files]
9 | subprocess.check_call(base_cmd)
10 |
--------------------------------------------------------------------------------
/external/FEX/ASM/SelfModifyingCode/DifferentBlock.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "Match": "All",
4 | "RegData": {
5 | "RAX": "0x20"
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | jmp main
12 |
13 | patched_op:
14 | mov rax,-1
15 | ret
16 |
17 | main:
18 |
19 | ; warm up the cache
20 | call patched_op
21 |
22 | mov byte [rel patched_op], 0xC3
23 |
24 | mov rax, 32
25 | call patched_op
26 |
27 | hlt
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_02.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x0
16 | mov [rdx + 8 * 0], rax
17 |
18 | mov rax, 201 ; Time
19 | syscall
20 | cmp rax, 0
21 | setne [rdx + 8 * 0]
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_F0_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rbx, 0xe0000000
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 | f2xm1
16 |
17 | fst qword [rbx]
18 | mov rax, [rbx]
19 |
20 | hlt
21 |
22 | align 8
23 | data:
24 | dt 0.0
25 | dq 0
26 |
--------------------------------------------------------------------------------
/external/Catch2/tests/ExtraTests/X92-NoTests.cpp:
--------------------------------------------------------------------------------
1 |
2 | // Copyright Catch2 Authors
3 | // Distributed under the Boost Software License, Version 1.0.
4 | // (See accompanying file LICENSE.txt or copy at
5 | // https://www.boost.org/LICENSE_1_0.txt)
6 |
7 | // SPDX-License-Identifier: BSL-1.0
8 |
9 | /**\file
10 | * Links into executable with no tests which should fail when run
11 | */
12 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DC_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xC000000000000000", "0x4000"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [data]
13 | fld tword [edx + 8 * 0]
14 |
15 | lea edx, [data2]
16 | fadd qword [edx + 8 * 0]
17 |
18 | hlt
19 |
20 | align 8
21 | data:
22 | dt 1.0
23 | dq 0
24 | data2:
25 | dq 2.0
26 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DC_01.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4000"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [data]
13 | fld tword [edx + 8 * 0]
14 |
15 | lea edx, [data2]
16 | fmul qword [edx + 8 * 0]
17 |
18 | hlt
19 |
20 | align 8
21 | data:
22 | dt 1.0
23 | dq 0
24 | data2:
25 | dq 2.0
26 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DC_04.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0xBFFF"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [data]
13 | fld tword [edx + 8 * 0]
14 |
15 | lea edx, [data2]
16 | fsub qword [edx + 8 * 0]
17 |
18 | hlt
19 |
20 | align 8
21 | data:
22 | dt 1.0
23 | dq 0
24 | data2:
25 | dq 2.0
26 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DC_05.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3FFF"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [data]
13 | fld tword [edx + 8 * 0]
14 |
15 | lea edx, [data2]
16 | fsubr qword [edx + 8 * 0]
17 |
18 | hlt
19 |
20 | align 8
21 | data:
22 | dt 1.0
23 | dq 0
24 | data2:
25 | dq 2.0
26 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DC_06.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3FFE"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [data]
13 | fld tword [edx + 8 * 0]
14 |
15 | lea edx, [data2]
16 | fdiv qword [edx + 8 * 0]
17 |
18 | hlt
19 |
20 | align 8
21 | data:
22 | dt 1.0
23 | dq 0
24 | data2:
25 | dq 2.0
26 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DC_07.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4001"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [data]
13 | fld tword [edx + 8 * 0]
14 |
15 | lea edx, [data2]
16 | fdivr qword [edx + 8 * 0]
17 |
18 | hlt
19 |
20 | align 8
21 | data:
22 | dt 2.0
23 | dq 0
24 | data2:
25 | dq 8.0
26 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/6_C6_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445464761"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 |
18 | mov byte [rdx + 8 * 0 + 0], 0x61
19 |
20 | mov rax, [rdx + 8 * 0]
21 |
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/DB_05_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4000000000000000"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | lea rdx, [rel data]
12 |
13 | fld tword [rdx + 8 * 0]
14 |
15 | mov rdx, 0xe0000000
16 | fstp qword [rdx]
17 | mov rax, [rdx]
18 |
19 | hlt
20 |
21 | align 8
22 | data:
23 | dt 2.0
24 | dq 0
25 |
--------------------------------------------------------------------------------
/external/Catch2/CMake/catch2-with-main.pc.in:
--------------------------------------------------------------------------------
1 | includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
2 | libdir=@CMAKE_INSTALL_FULL_LIBDIR@
3 | pkg_version=@Catch2_VERSION@
4 |
5 | Name: Catch2-With-Main
6 | Description: A modern, C++-native test framework for C++14 and above (links in default main)
7 | Version: ${pkg_version}
8 | Requires: catch2 = ${pkg_version}
9 | Cflags: -I${includedir}
10 | Libs: -L${libdir} -lCatch2Main
11 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/FEX_bugs/InlineSyscall.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | },
5 | "Mode": "32BIT"
6 | }
7 | %endif
8 | bits 32
9 |
10 | ; FEX 32-bit inline syscalls hit an assert in uxtw
11 | ; Just use an inline syscall and throw it zero data to catch the assert
12 | mov eax, 355 ; getrandom, is an inline syscall
13 | mov ebx, 0
14 | mov ecx, 0
15 | mov edx, 0
16 | int 0x80
17 |
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_02.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3F800000",
5 | "MM7": ["0x8000000000000000", "0x3fff"]
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | lea edx, [.data]
14 |
15 | fld dword [edx + 8 * 0]
16 | fst dword [edx + 8 * 1]
17 |
18 | mov eax, [edx + 8 * 1]
19 |
20 | hlt
21 |
22 | .data:
23 | dq 0x3f800000
24 | dq 0
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/3_F6_07_2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0021"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x8
16 | mov [rdx + 8 * 0], rax
17 |
18 | ; Test that 8bit divide divides a 16bit dividend
19 | mov ax, 0x0108
20 | idiv byte [rdx + 8 * 0]
21 |
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_31.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov r15, 0xe0000000
14 |
15 | mov rax, 0x0
16 | mov [r15 + 8 * 0], rax
17 |
18 | rdtsc
19 | shl rdx, 32
20 | or rax, rdx
21 | cmp rax, 0
22 | setne [r15 + 8 * 0]
23 | mov rax, [r15 + 8 * 0]
24 |
25 | hlt
26 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_91.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x1
17 | mov r11, 0x0
18 | mov r12, 0x2
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setno al
25 | seto bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_92.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x1
17 | mov r11, 0x0
18 | mov r12, 0x2
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setc al
25 | setnc bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_93.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x2
17 | mov r11, 0x0
18 | mov r12, 0x1
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setnc al
25 | setc bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_94.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x1
17 | mov r11, 0x0
18 | mov r12, 0x1
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setz al
25 | setnz bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_95.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x2
17 | mov r11, 0x0
18 | mov r12, 0x1
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setnz al
25 | setz bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_98.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x1
17 | mov r11, 0x0
18 | mov r12, 0x2
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | sets al
25 | setns bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_99.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x1
17 | mov r11, 0x0
18 | mov r12, 0x1
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setns al
25 | sets bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_9A.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x4
17 | mov r11, 0x0
18 | mov r12, 0x1
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setp al
25 | setnp bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_9B.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x3
17 | mov r11, 0x0
18 | mov r12, 0x1
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setnp al
25 | setp bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_9C.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x1
17 | mov r11, 0x0
18 | mov r12, 0x2
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setl al
25 | setnl bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_9D.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x2
17 | mov r11, 0x0
18 | mov r12, 0x2
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setnl al
25 | setl bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_FC_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3ff0000000000000"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rdx, 0xe0000000
12 |
13 | mov eax, 0x3f834241 ; 1.02546
14 | mov [rdx + 8 * 0], eax
15 |
16 | fld dword [rdx + 8 * 0]
17 |
18 | frndint
19 |
20 | fst qword [rdx]
21 | mov rax, [rdx]
22 |
23 | hlt
24 |
--------------------------------------------------------------------------------
/external/Catch2/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Create an issue that requests a feature or other improvement
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Description**
11 | Describe the feature/change you request and why do you want it.
12 |
13 | **Additional context**
14 | Add any other context or screenshots about the feature request here.
15 |
--------------------------------------------------------------------------------
/external/Catch2/codecov.yml:
--------------------------------------------------------------------------------
1 | coverage:
2 | precision: 2
3 | round: nearest
4 | range: "60...90"
5 | status:
6 | project:
7 | default:
8 | threshold: 2%
9 | patch:
10 | default:
11 | target: 80%
12 | ignore:
13 | - "**/external/clara.hpp"
14 | - "tests"
15 |
16 |
17 | codecov:
18 | branch: devel
19 | max_report_age: off
20 |
21 | comment:
22 | layout: "diff"
23 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DF_E0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0xFFFF3800",
5 | "RBX": "0xFFFF0000"
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | lea edx, [.data]
14 |
15 | mov eax, -1
16 | mov ebx, -1
17 | fnstsw ax
18 | mov bx, ax
19 |
20 | fld dword [edx + 8 * 0]
21 | fnstsw ax
22 |
23 | hlt
24 |
25 | .data:
26 | dq 0x3f800000 ; 1.0
27 |
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/OpSize/66_16.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "XMM0": ["0x4142434445464748", "0x6162636465666768"]
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | lea rdx, [rel .data]
11 |
12 | movapd xmm0, [rdx]
13 | movhpd xmm0, [rdx + 16]
14 |
15 | hlt
16 |
17 | align 16
18 | .data:
19 | dq 0x4142434445464748
20 | dq 0x5152535455565758
21 |
22 | dq 0x6162636465666768
23 | dq 0x7172737475767778
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_84_2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 | mov dword [rdx], 0xFFFFFF00
15 |
16 | mov r11d, dword[rdx]
17 | test r11b, r11b
18 | jnz notzero
19 |
20 | mov rax, 0x0
21 | hlt
22 |
23 | notzero:
24 | mov rax, 0x1
25 | hlt
--------------------------------------------------------------------------------
/external/FEX/ASM/SecondaryModRM/Reg_2_0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3",
5 | "RDX": "0x0"
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov ecx, 0
12 | xgetbv
13 |
14 | ; Mask only the lower two bits to get host and FEX runners to match.
15 | ; This way we can test that we're getting data back.
16 | ; Bit 0 and 1 refer to X87 and SSE respectively.
17 | and eax, 0x3
18 |
19 | hlt
20 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_90.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x80000000
17 | mov r11, 0x1
18 | mov r12, 0x2
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | seto al
25 | setno bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_96.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x2
17 | mov r11, 0x0
18 | mov r12, 0x2
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setbe al
25 | setnbe bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_97.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x2
17 | mov r11, 0x0
18 | mov r12, 0x1
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setnbe al
25 | setbe bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_9E.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x1
17 | mov r11, 0x0
18 | mov r12, 0x2
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setle al
25 | setnle bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_9F.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBX": "0x0"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov r15, 0xe0000000
15 |
16 | mov r10, 0x2
17 | mov r11, 0x0
18 | mov r12, 0x1
19 |
20 | cmp r10d, r12d
21 |
22 | mov rax, 0
23 | mov rbx, 0
24 | setnle al
25 | setle bl
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_F2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0x8000000000000000", "0x3FFF"],
5 | "MM7": ["0xC75922E5F71D2DC6", "0x3FFF"]
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | lea rdx, [rel data]
15 | fld tword [rdx + 8 * 0]
16 |
17 | fptan
18 |
19 | hlt
20 |
21 | align 8
22 | data:
23 | dt 1.0
24 | dq 0
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_F4.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0xF000000000000000", "0xBFFF"],
5 | "MM7": ["0xC000000000000000", "0x4000"]
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | lea rdx, [rel data]
15 | fld tword [rdx + 8 * 0]
16 |
17 | fxtract
18 |
19 | hlt
20 |
21 | align 8
22 | data:
23 | dt -15.0
24 | dq 0
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D9_FB.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0x8A51407DA8345C92", "0x3FFE"],
5 | "MM7": ["0xD76AA47848677021", "0x3FFE"]
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | lea rdx, [rel data]
15 | fld tword [rdx + 8 * 0]
16 |
17 | fsincos
18 |
19 | hlt
20 |
21 | align 8
22 | data:
23 | dt 1.0
24 | dq 0
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D8_F0_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3ff0000000000000"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rdx, 0xe0000000
12 |
13 | mov rax, 0x4000000000000000 ; 2.0
14 | mov [rdx + 8 * 0], rax
15 |
16 | fld qword [rdx + 8 * 0]
17 | fdiv st0, st0
18 |
19 | fst qword [rdx]
20 | mov rax, [rdx]
21 |
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_C8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0x8000000000000000", "0x3FFF"],
5 | "MM7": ["0x8000000000000000", "0x4000"]
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | lea edx, [.data]
14 |
15 | fld dword [edx + 8 * 0]
16 | fld dword [edx + 8 * 1]
17 |
18 | fxch
19 |
20 | hlt
21 |
22 | .data:
23 | dq 0x3f800000
24 | dq 0x40000000
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_6A_2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x000000000000FF81",
5 | "RSP": "0xE0000018"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov rsp, 0xe0000020
15 |
16 | push word 0
17 | push word 0
18 | push word 0
19 | push word -127
20 |
21 | mov rdx, 0xe0000020
22 | mov rax, [rdx - 8]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_F6_2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM0": "0x00000000000007F8"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x0
16 | mov [rdx + 8 * 0], rax
17 | mov rax, -1
18 | mov [rdx + 8 * 1], rax
19 |
20 | movq mm0, [rdx + 8 * 0]
21 |
22 | psadbw mm0, [rdx + 8 * 1]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_F2_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3ff0000000000000"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rbx, 0xe0000000
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 |
16 | fptan
17 |
18 | fst qword [rbx]
19 | mov rax, [rbx]
20 |
21 | hlt
22 |
23 | align 8
24 | data:
25 | dt 1.0
26 | dq 0
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_FA_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4010000000000000"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rbx, 0xe0000000
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 |
16 | fsqrt
17 |
18 | fst qword [rbx]
19 | mov rax, [rbx]
20 |
21 | hlt
22 |
23 | align 8
24 | data:
25 | dt 16.0
26 | dq 0
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_FE_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3feaed548f090cee"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rbx, 0xe0000000
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 |
16 | fsin
17 |
18 | fst qword [rbx]
19 | mov rax, [rbx]
20 |
21 | hlt
22 |
23 | align 8
24 | data:
25 | dt 1.0
26 | dq 0
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_FF_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0xbfdaa22657537205"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rbx, 0xe0000000
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 |
16 | fcos
17 |
18 | fst qword [rbx]
19 | mov rax, [rbx]
20 |
21 | hlt
22 |
23 | align 8
24 | data:
25 | dt 2.0
26 | dq 0
27 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DB_03.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x400",
5 | "MM7": ["0x8000000000000000", "0x3FFF"]
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | lea edx, [.data]
14 | fld dword [edx + 8 * 0]
15 |
16 | fistp dword [edx + 8 * 1]
17 |
18 | fld1
19 |
20 | mov eax, [edx + 8 * 1]
21 |
22 | hlt
23 |
24 | .data:
25 | dq 0x44800000
26 | dq 0
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/Memcopy.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3ff8000000000000",
5 | "RBX": "0x3ff8000000000000"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov rdx, 0x100000000
15 | mov rax, 0x3ff8000000000000 ; 1.5
16 | mov [rdx], rax
17 |
18 | fld qword [rdx]
19 | fstp qword [rdx + 8]
20 |
21 | mov rbx, [rdx + 8]
22 | hlt
23 |
--------------------------------------------------------------------------------
/src/felix86/hle/ioctl32.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include "felix86/common/types.hpp"
5 |
6 | using ioctl_handler_type = int (*)(int, u32, u32);
7 |
8 | struct Ioctl32 {
9 | static void registerFd(int fd, const std::string& name);
10 |
11 | static void duplicateFd(int fd, int new_fd);
12 |
13 | static ioctl_handler_type getHandler(int fd);
14 | };
15 |
16 | int ioctl32(int fd, u32 cmd, u32 args);
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DB_01.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x400",
5 | "MM7": ["0x8000000000000000", "0x3FFF"]
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | lea edx, [.data]
14 |
15 | fld dword [edx + 8 * 0]
16 |
17 | fisttp dword [edx + 8 * 1]
18 |
19 | fld1
20 |
21 | mov eax, [edx + 8 * 1]
22 |
23 | hlt
24 |
25 | .data:
26 | dq 0x44800000
27 | dq 0
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D8_C8_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4010000000000000"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rdx, 0xe0000000
12 |
13 | mov rax, 0x4000000000000000 ; 2.0
14 | mov [rdx + 8 * 0], rax
15 |
16 | fld qword [rdx + 8 * 0]
17 | fmul st0, st0
18 |
19 | fst qword [rdx + 8 * 2]
20 | mov rax, [rdx + 8 * 2]
21 |
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/biscuit/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.15)
2 | project(biscuit VERSION 0.19.0)
3 |
4 | include(CTest)
5 |
6 | option(BISCUIT_CODE_BUFFER_MMAP "Use mmap for handling code buffers instead of new" OFF)
7 |
8 | # Source directories
9 | add_subdirectory(src)
10 |
11 | if (BUILD_TESTING)
12 | add_subdirectory(tests)
13 | endif()
14 |
15 | if (BUILD_EXAMPLES)
16 | add_subdirectory(examples)
17 | endif()
18 |
--------------------------------------------------------------------------------
/docs/internal/new-release-guide.md:
--------------------------------------------------------------------------------
1 | # How to make a new release because you forgot
2 | 0. Make sure you're in the commit you want the release to be in. It must be a commit in master
3 | 1. Make a new tag: `git tag 25.07`
4 | 2. Push tags: `git push origin --tags`
5 | 3. Download the release artifact (linux_artifact) and name it as `felix86.year.month.zip`
6 | 4. Add the release in `felix86.com/releases.txt` with artifact url (up to 5 lines, newest at top)
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D8_E0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0x8000000000000000", "0xBFFF"],
5 | "MM7": ["0x8000000000000000", "0x4000"]
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | lea edx, [.data]
14 |
15 | fld qword [edx + 8 * 0]
16 | fld qword [edx + 8 * 1]
17 | fsub st0, st1
18 | hlt
19 |
20 | .data:
21 | dq 0x4000000000000000
22 | dq 0x3ff0000000000000
23 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D8_E8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0x8000000000000000", "0x3FFF"],
5 | "MM7": ["0x8000000000000000", "0x4000"]
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | lea edx, [.data]
14 |
15 | fld qword [edx + 8 * 0]
16 | fld qword [edx + 8 * 1]
17 | fsubr st0, st1
18 | hlt
19 |
20 | .data:
21 | dq 0x4000000000000000
22 | dq 0x3ff0000000000000
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/OpSize/66_10.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "XMM0": ["0x4142434445464748", "0x5152535455565758"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | movupd xmm0, [rdx]
21 |
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_99.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0xFFFFFFFFFFFFFFF0",
5 | "RDX": "0xFFFFFFFFFFFFFFFF"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov rax, 0
15 | mov rdx, 0
16 |
17 | mov ax, 0xFFF0
18 | cwd
19 |
20 | shl edx, 16
21 | or eax, edx
22 | cdq
23 |
24 | shl rdx, 32
25 | or rax, rdx
26 | cqo
27 |
28 | hlt
29 |
--------------------------------------------------------------------------------
/external/FEX/ASM/VEX/andn.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0xFFFFFFFFFFFFFFFF",
5 | "RBX": "0",
6 | "RCX": "0xFFFFFFFF",
7 | "RDX": "0"
8 | },
9 | "HostFeatures": ["BMI1"]
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov rax, 0
15 | mov rbx, -1
16 | andn rax, rax, rbx
17 | andn rbx, rbx, rax
18 |
19 | mov rcx, 0
20 | mov rdx, -1
21 | andn ecx, ecx, edx
22 | andn edx, edx, ecx
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DC_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xC000000000000000", "0x4000"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 |
16 | lea rdx, [rel data2]
17 | fadd qword [rdx + 8 * 0]
18 |
19 | hlt
20 |
21 | align 8
22 | data:
23 | dt 1.0
24 | dq 0
25 | data2:
26 | dq 2.0
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DC_01.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4000"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 |
16 | lea rdx, [rel data2]
17 | fmul qword [rdx + 8 * 0]
18 |
19 | hlt
20 |
21 | align 8
22 | data:
23 | dt 1.0
24 | dq 0
25 | data2:
26 | dq 2.0
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DC_04.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0xBFFF"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 |
16 | lea rdx, [rel data2]
17 | fsub qword [rdx + 8 * 0]
18 |
19 | hlt
20 |
21 | align 8
22 | data:
23 | dt 1.0
24 | dq 0
25 | data2:
26 | dq 2.0
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DC_05.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3FFF"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 |
16 | lea rdx, [rel data2]
17 | fsubr qword [rdx + 8 * 0]
18 |
19 | hlt
20 |
21 | align 8
22 | data:
23 | dt 1.0
24 | dq 0
25 | data2:
26 | dq 2.0
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DC_06.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3FFE"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 |
16 | lea rdx, [rel data2]
17 | fdiv qword [rdx + 8 * 0]
18 |
19 | hlt
20 |
21 | align 8
22 | data:
23 | dt 1.0
24 | dq 0
25 | data2:
26 | dq 2.0
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/DC_07.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4001"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | lea rdx, [rel data]
14 | fld tword [rdx + 8 * 0]
15 |
16 | lea rdx, [rel data2]
17 | fdivr qword [rdx + 8 * 0]
18 |
19 | hlt
20 |
21 | align 8
22 | data:
23 | dt 2.0
24 | dq 0
25 | data2:
26 | dq 8.0
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/DF_00_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4090000000000000"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rdx, 0xe0000000
12 |
13 | mov eax, 1024
14 | mov [rdx + 8 * 0], eax
15 | mov eax, -1
16 | mov [rdx + 8 * 0 + 2], eax
17 |
18 | fild word [rdx + 8 * 0]
19 | fst qword [rdx + 8 * 0]
20 | mov rax, [rdx + 8 * 0]
21 |
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/FEX_bugs/xor_flags.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0000000000004600"
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | ; FEX had a bug where an optimization for canonical zeroing of a register would fail to set flags correctly.
11 | ; This broke `Metal Gear Rising: Revengeance`. The title screen geometry was broken.
12 |
13 | mov rax, 0
14 | mov rbx, 0
15 | sahf
16 | xor rbx, rbx
17 | lahf
18 | hlt
19 |
--------------------------------------------------------------------------------
/external/FEX/ASM/TwoByte/0F_10.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "XMM0": ["0x4142434445464748", "0x5152535455565758"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | movups xmm0, [rdx + 8 * 0]
21 |
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D9_02_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3F800000"
5 | },
6 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rdx, 0xe0000000
12 |
13 | mov eax, 0x3f800000 ; 1.0
14 | mov [rdx + 8 * 0], eax
15 | mov eax, 0x0
16 | mov [rdx + 8 * 1], eax
17 |
18 | fld dword [rdx + 8 * 0]
19 | fst dword [rdx + 8 * 1]
20 |
21 | mov eax, [rdx + 8 * 1]
22 |
23 | hlt
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/x87_stack.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445464748",
5 | "RBX": "0"
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | lea rax, [rel .data]
12 | lea rbx, [rel .data_mov]
13 |
14 | fld qword [rax]
15 | fstp qword [rbx]
16 |
17 | mov rax, [rbx]
18 | mov rbx, [rbx + 8]
19 | hlt
20 |
21 | .data:
22 | dq 0x4142434445464748
23 | dq 0x5152535455565758
24 |
25 | .data_mov:
26 | dq 0
27 | dq 0
28 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D8_F8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM6": ["0x8000000000000000", "0x3FFE"],
5 | "MM7": ["0x8000000000000000", "0x4000"]
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | lea edx, [.data]
14 |
15 | fld qword [edx + 8 * 0]
16 | fld qword [edx + 8 * 1]
17 |
18 | fdivr st0, st1
19 | hlt
20 |
21 | .data:
22 | dq 0x4000000000000000
23 | dq 0x4010000000000000
24 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DB_07.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4000"]
5 | },
6 | "Mode": "32BIT"
7 | }
8 | %endif
9 | org 10000h
10 | bits 32
11 |
12 | lea edx, [data]
13 | fld tword [edx + 8 * 0]
14 |
15 | lea edx, [data2]
16 | fstp tword [edx + 8 * 0]
17 | fld tword [edx + 8 * 0]
18 |
19 | hlt
20 |
21 | align 8
22 | data:
23 | dt 2.0
24 | dq 0
25 | data2:
26 | dt 0.0
27 | dq 0
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/DD_E9_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3ff0000000000000",
5 | "RBX": "0x3ff0000000000000"
6 | },
7 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
8 | }
9 | %endif
10 | bits 64
11 |
12 | ; Only tests pop behaviour
13 | fld1
14 | fldz
15 | fucomp
16 | fld1
17 |
18 | mov rdx, 0xe0000000
19 | fstp qword [rdx]
20 | mov rax, [rdx]
21 | fstp qword [rdx]
22 | mov rbx, [rdx]
23 |
24 |
25 | hlt
26 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DF_03.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x400",
5 | "MM7": ["0x8000000000000000", "0x3FFF"]
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | lea edx, [.data]
14 |
15 | fld dword [edx + 8 * 0]
16 |
17 | fistp word [edx + 8 * 1]
18 |
19 | fld1
20 |
21 | mov eax, 0
22 | mov ax, word [edx + 8 * 1]
23 |
24 | hlt
25 |
26 | .data:
27 | dq 0x44800000
28 | dq -1
29 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/15_F3_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0000434445464748",
5 | "RBX": "0x0000000045464748",
6 | "RCX": "0x0000434445464748"
7 | },
8 | "MemoryRegions": {
9 | "0x100000000": "4096"
10 | }
11 | }
12 | %endif
13 | bits 64
14 |
15 | mov rax, 0x0000434445464748
16 | mov rbx, -1
17 | mov rcx, -1
18 |
19 | wrfsbase rax
20 | rdfsbase ebx ; 32bit
21 | rdfsbase rcx ; 64bit
22 |
23 | hlt
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Secondary/15_F3_01.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x0000434445464748",
5 | "RBX": "0x0000000045464748",
6 | "RCX": "0x0000434445464748"
7 | },
8 | "MemoryRegions": {
9 | "0x100000000": "4096"
10 | }
11 | }
12 | %endif
13 | bits 64
14 |
15 | mov rax, 0x0000434445464748
16 | mov rbx, -1
17 | mov rcx, -1
18 |
19 | wrgsbase rax
20 | rdgsbase ebx ; 32bit
21 | rdgsbase rcx ; 64bit
22 |
23 | hlt
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D8_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0xc000000000000000", "0x4000"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x3ff0000000000000 ; 1.0
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x40000000 ; 2.0
18 | mov [rdx + 8 * 1], rax
19 |
20 | fld qword [rdx + 8 * 0]
21 | fadd dword [rdx + 8 * 1]
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D8_01.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4000"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x3ff0000000000000 ; 1.0
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x40000000 ; 2.0
18 | mov [rdx + 8 * 1], rax
19 |
20 | fld qword [rdx + 8 * 0]
21 | fmul dword [rdx + 8 * 1]
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D8_04.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0xBFFF"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x3ff0000000000000 ; 1.0
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x40000000 ; 2.0
18 | mov [rdx + 8 * 1], rax
19 |
20 | fld qword [rdx + 8 * 0]
21 | fsub dword [rdx + 8 * 1]
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D8_05.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3FFF"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x3ff0000000000000 ; 1.0
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x40000000 ; 2.0
18 | mov [rdx + 8 * 1], rax
19 |
20 | fld qword [rdx + 8 * 0]
21 | fsubr dword [rdx + 8 * 1]
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D8_06.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x3FFE"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x3ff0000000000000 ; 1.0
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x40000000 ; 2.0
18 | mov [rdx + 8 * 1], rax
19 |
20 | fld qword [rdx + 8 * 0]
21 | fdiv dword [rdx + 8 * 1]
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87/D8_07.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM7": ["0x8000000000000000", "0x4000"]
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x3ff0000000000000 ; 1.0
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x40000000 ; 2.0
18 | mov [rdx + 8 * 1], rax
19 |
20 | fld qword [rdx + 8 * 0]
21 | fdivr dword [rdx + 8 * 1]
22 | hlt
23 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/DA_E9_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3ff0000000000000",
5 | "RBX": "0x3ff0000000000000"
6 | },
7 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
8 | }
9 | %endif
10 | bits 64
11 |
12 | ; Only tests pop behaviour
13 | fld1
14 | fldz
15 | fldz
16 | fucompp
17 | fld1
18 |
19 | mov rdx, 0xe0000000
20 | fstp qword [rdx]
21 | mov rax, [rdx]
22 | fstp qword [rdx]
23 | mov rbx, [rdx]
24 |
25 | hlt
26 |
--------------------------------------------------------------------------------
/external/zydis/cmake/zydis-config.cmake.in:
--------------------------------------------------------------------------------
1 | set(zydis_VERSION @PROJECT_VERSION@)
2 |
3 | @PACKAGE_INIT@
4 |
5 | include(CMakeFindDependencyMacro)
6 | find_dependency(Zycore)
7 |
8 | include("${CMAKE_CURRENT_LIST_DIR}/zydis-targets.cmake")
9 |
10 | set_and_check(zydis_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@")
11 | set_and_check(zydis_LIB_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@")
12 |
13 | check_required_components(zydis)
14 |
--------------------------------------------------------------------------------
/src/felix86/tools/main.c:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | void test(void*);
4 |
5 | int main() {
6 | long xmms[32];
7 | test(xmms);
8 | for (int i = 0; i < 32; i++) {
9 | printf("%016lx\n", xmms[i]);
10 | }
11 | long sum1 = 0;
12 | long sum2 = 0;
13 | for (int i = 0; i < 8; i++) {
14 | sum1 += xmms[i];
15 | sum2 += xmms[i + 8];
16 | }
17 | printf("checksums: %lx %lx", sum1, sum2);
18 | return 0;
19 | }
--------------------------------------------------------------------------------
/external/Catch2/.conan/test_package/test_package.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | int Factorial( int number ) {
4 | return number <= 1 ? 1 : Factorial( number - 1 ) * number;
5 | }
6 |
7 | TEST_CASE( "Factorial Tests", "[single-file]" ) {
8 | REQUIRE( Factorial(0) == 1 );
9 | REQUIRE( Factorial(1) == 1 );
10 | REQUIRE( Factorial(2) == 2 );
11 | REQUIRE( Factorial(3) == 6 );
12 | REQUIRE( Factorial(10) == 3628800 );
13 | }
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/Primary/Primary_C9.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x1",
5 | "RBP": "0x41424344"
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | mov esp, 0xe0000020
14 | mov ebp, 0x41424344
15 |
16 | ; Act like an ENTER frame without using ENTER
17 | push ebp
18 | mov ebp, esp
19 | call .target
20 | jmp .end
21 |
22 | .target:
23 | mov eax, 1
24 | leave
25 |
26 | .end:
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DA_C0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM5": ["0x8000000000000000", "0x3FFF"],
5 | "MM6": ["0x0000000000000000", "0x0000"],
6 | "MM7": ["0x8000000000000000", "0x3FFF"]
7 | },
8 | "Mode": "32BIT"
9 | }
10 | %endif
11 | org 10000h
12 | bits 32
13 |
14 | fld1
15 | fldz
16 |
17 | mov eax, 2
18 | cmp eax, 1
19 |
20 | fcmovb st0, st1
21 |
22 | fldz
23 | cmp eax, 3
24 | fcmovb st0, st2
25 |
26 | hlt
27 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DA_C8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM5": ["0x0000000000000000", "0x0000"],
5 | "MM6": ["0x8000000000000000", "0x3FFF"],
6 | "MM7": ["0x8000000000000000", "0x3FFF"]
7 | },
8 | "Mode": "32BIT"
9 | }
10 | %endif
11 | org 10000h
12 | bits 32
13 |
14 | fld1
15 | fldz
16 |
17 | mov eax, 1
18 | cmp eax, 1
19 |
20 | fcmove st0, st1
21 |
22 | fldz
23 | cmp eax, 0
24 | fcmove st0, st2
25 |
26 | hlt
27 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DA_D0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM5": ["0x0000000000000000", "0x0000"],
5 | "MM6": ["0x8000000000000000", "0x3FFF"],
6 | "MM7": ["0x8000000000000000", "0x3FFF"]
7 | },
8 | "Mode": "32BIT"
9 | }
10 | %endif
11 | org 10000h
12 | bits 32
13 |
14 | fld1
15 | fldz
16 |
17 | mov eax, 2
18 | cmp eax, 2
19 |
20 | fcmovbe st0, st1
21 |
22 | fldz
23 | cmp eax, 0
24 | fcmovbe st0, st2
25 |
26 | hlt
27 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DA_D8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM5": ["0x8000000000000000", "0x3FFF"],
5 | "MM6": ["0x0000000000000000", "0x0000"],
6 | "MM7": ["0x8000000000000000", "0x3FFF"]
7 | },
8 | "Mode": "32BIT"
9 | }
10 | %endif
11 | org 10000h
12 | bits 32
13 |
14 | fld1
15 | fldz
16 |
17 | mov eax, 0x0
18 | cmp eax, -1
19 |
20 | fcmovu st0, st1
21 |
22 | fldz
23 | cmp eax, 1
24 | fcmovu st0, st2
25 |
26 | hlt
27 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DB_C0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM5": ["0x0000000000000000", "0x0000"],
5 | "MM6": ["0x8000000000000000", "0x3FFF"],
6 | "MM7": ["0x8000000000000000", "0x3FFF"]
7 | },
8 | "Mode": "32BIT"
9 | }
10 | %endif
11 | org 10000h
12 | bits 32
13 |
14 | fld1
15 | fldz
16 |
17 | mov eax, 2
18 | cmp eax, 1
19 |
20 | fcmovnb st0, st1
21 |
22 | fldz
23 | cmp eax, 3
24 | fcmovnb st0, st2
25 |
26 | hlt
27 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DB_C8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM5": ["0x8000000000000000", "0x3FFF"],
5 | "MM6": ["0x0000000000000000", "0x0000"],
6 | "MM7": ["0x8000000000000000", "0x3FFF"]
7 | },
8 | "Mode": "32BIT"
9 | }
10 | %endif
11 | org 10000h
12 | bits 32
13 |
14 | fld1
15 | fldz
16 |
17 | mov eax, 1
18 | cmp eax, 1
19 |
20 | fcmovne st0, st1
21 |
22 | fldz
23 | cmp eax, 0
24 | fcmovne st0, st2
25 |
26 | hlt
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/H0F38/66_2A.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "XMM0": ["0x4142434445464748", "0x5152535455565758"]
5 | }
6 | }
7 | %endif
8 | bits 64
9 |
10 | mov rdx, 0xe0000000
11 |
12 | mov rax, 0x4142434445464748
13 | mov [rdx + 8 * 0], rax
14 | mov rax, 0x5152535455565758
15 | mov [rdx + 8 * 1], rax
16 |
17 | mov rax, 0x0
18 | mov [rdx + 8 * 2], rax
19 | mov [rdx + 8 * 3], rax
20 |
21 | movntdqa xmm0, [rdx + 8 * 0]
22 |
23 | hlt
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_FC.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RDI": "0xE0000001"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | lea rdi, [rdx + 8 * 0]
21 |
22 | mov al, 0x0
23 | cld
24 | scasb
25 |
26 | hlt
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/Primary/Primary_FD.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RDI": "0xE0000007"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | lea rdi, [rdx + 8 * 1]
21 |
22 | mov al, 0x0
23 | std
24 | scasb
25 |
26 | hlt
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/D8_D9_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3ff0000000000000",
5 | "RBX": "0x3ff0000000000000"
6 | },
7 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
8 | }
9 | %endif
10 | bits 64
11 |
12 |
13 | mov rdx, 0xe0000000
14 |
15 | ; Only tests pop behaviour
16 | fld1
17 | fldz
18 | fcomp
19 | fld1
20 |
21 | fstp qword [rdx]
22 | mov rax, [rdx]
23 | fstp qword [rdx]
24 | mov rbx, [rdx]
25 |
26 | hlt
27 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/D9_03.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3F800000",
5 | "MM7": ["0x8000000000000000", "0x4000"]
6 | },
7 | "Mode": "32BIT"
8 | }
9 | %endif
10 | org 10000h
11 | bits 32
12 |
13 | lea edx, [.data]
14 |
15 | fld dword [edx + 8 * 0]
16 | fstp dword [edx + 8 * 2]
17 | fld dword [edx + 8 * 1]
18 |
19 | mov eax, [edx + 8 * 2]
20 |
21 | hlt
22 |
23 | .data:
24 | dq 0x3f800000
25 | dq 0x40000000
26 | dq 0
27 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DB_D0.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM5": ["0x8000000000000000", "0x3FFF"],
5 | "MM6": ["0x0000000000000000", "0x0000"],
6 | "MM7": ["0x8000000000000000", "0x3FFF"]
7 | },
8 | "Mode": "32BIT"
9 | }
10 | %endif
11 | org 10000h
12 | bits 32
13 |
14 | fld1
15 | fldz
16 |
17 | mov eax, 2
18 | cmp eax, 2
19 |
20 | fcmovnbe st0, st1
21 |
22 | fldz
23 | cmp eax, 0
24 | fcmovnbe st0, st2
25 |
26 | hlt
27 |
--------------------------------------------------------------------------------
/external/FEX/32Bit_ASM/X87/DB_D8.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "MM5": ["0x0000000000000000", "0x0000"],
5 | "MM6": ["0x8000000000000000", "0x3FFF"],
6 | "MM7": ["0x8000000000000000", "0x3FFF"]
7 | },
8 | "Mode": "32BIT"
9 | }
10 | %endif
11 | org 10000h
12 | bits 32
13 |
14 | fld1
15 | fldz
16 |
17 | mov eax, 0x0
18 | cmp eax, -1
19 |
20 | fcmovnu st0, st1
21 |
22 | fldz
23 | cmp eax, 1
24 | fcmovnu st0, st2
25 |
26 | hlt
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/1_80_05.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x414243444546E648"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | sub byte [rdx + 8 * 0 + 1], 0x61
21 | mov rax, [rdx + 8 * 0]
22 |
23 | hlt
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/1_80_06.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445462648"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | xor byte [rdx + 8 * 0 + 1], 0x61
21 | mov rax, [rdx + 8 * 0]
22 |
23 | hlt
24 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/2_D0_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445468E48"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | rol byte [rdx + 8 * 0 + 1], 1
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/2_D0_01.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x414243444546A348"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | ror byte [rdx + 8 * 0 + 1], 1
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/2_D0_04.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445468E48"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | shl byte [rdx + 8 * 0 + 1], 1
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/2_D0_05.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445462348"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | shr byte [rdx + 8 * 0 + 1], 1
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/2_D0_07.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445462348"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | sar byte [rdx + 8 * 0 + 1], 1
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/3_F6_02.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x414243444546B848"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | not byte [rdx + 8 * 0 + 1]
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/3_F6_03.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x414243444546B948"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | neg byte [rdx + 8 * 0 + 1]
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/DA_D9_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x3ff0000000000000",
5 | "RBX": "0x3ff0000000000000"
6 | },
7 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
8 | }
9 | %endif
10 | bits 64
11 |
12 | mov rdx, 0xe0000000
13 |
14 | ; Only tests pop behaviour
15 | fld1
16 | fldz
17 | fldz
18 | fcompp
19 | fld1
20 |
21 | fstp qword [rdx]
22 | mov rax, [rdx]
23 | fstp qword [rdx]
24 | mov rbx, [rdx]
25 |
26 | hlt
27 |
--------------------------------------------------------------------------------
/external/FEX/ASM/jump.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "Match": "All",
4 | "RegData": {
5 | "RAX": "0x1"
6 | }
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov esi, 50
12 |
13 | .jump_start:
14 | mov edi, 1
15 | test edi, edi
16 | nop
17 | nop
18 | nop
19 | nop
20 | nop
21 | nop
22 | nop
23 | nop
24 |
25 | jz .local
26 | mov eax, 1
27 | jmp .end
28 |
29 | .local:
30 | mov eax, 0
31 |
32 | .end:
33 | sub esi, 1
34 | test esi, esi
35 | jz .jump_start
36 | hlt
37 |
--------------------------------------------------------------------------------
/external/Catch2/src/catch2/interfaces/catch_interfaces_config.cpp:
--------------------------------------------------------------------------------
1 |
2 | // Copyright Catch2 Authors
3 | // Distributed under the Boost Software License, Version 1.0.
4 | // (See accompanying file LICENSE.txt or copy at
5 | // https://www.boost.org/LICENSE_1_0.txt)
6 |
7 | // SPDX-License-Identifier: BSL-1.0
8 |
9 | #include
10 |
11 | namespace Catch {
12 | IConfig::~IConfig() = default;
13 | }
14 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/1_80_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x414243444546A848"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | add byte [rdx + 8 * 0 + 1], 0x61
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/1_80_01.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445466748"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | or byte [rdx + 8 * 0 + 1], 0x61
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/1_80_04.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445464148"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | and byte [rdx + 8 * 0 + 1], 0x61
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/2_C0_00.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445468E48"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | rol byte [rdx + 8 * 0 + 1], 0x61
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/2_C0_01.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x414243444546A348"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | ror byte [rdx + 8 * 0 + 1], 0x61
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/2_C0_04.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445468E48"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | shl byte [rdx + 8 * 0 + 1], 0x61
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/2_C0_05.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x4142434445462348"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | shr byte [rdx + 8 * 0 + 1], 0x61
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/PrimaryGroup/3_F6_02_2.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x414243444546B848"
5 | },
6 | "MemoryRegions": {
7 | "0x100000000": "4096"
8 | }
9 | }
10 | %endif
11 | bits 64
12 |
13 | mov rdx, 0xe0000000
14 |
15 | mov rax, 0x4142434445464748
16 | mov [rdx + 8 * 0], rax
17 | mov rax, 0x5152535455565758
18 | mov [rdx + 8 * 1], rax
19 |
20 | lock not byte [rdx + 8 * 0 + 1]
21 |
22 | mov rax, [rdx + 8 * 0]
23 |
24 | hlt
25 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/DF_02_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0x400"
5 | },
6 | "X87ReducedPrecision" : "1"
7 | }
8 | %endif
9 | bits 64
10 |
11 | mov rdx, 0xe0000000
12 |
13 | mov eax, 0x44800000 ; 1024.0
14 | mov [rdx + 8 * 0], eax
15 | mov eax, -1
16 | mov [rdx + 8 * 1], eax
17 |
18 | fld dword [rdx + 8 * 0]
19 |
20 | fist word [rdx + 8 * 1]
21 |
22 | fld1
23 |
24 | mov eax, 0
25 | mov ax, word [rdx + 8 * 1]
26 |
27 | hlt
28 |
--------------------------------------------------------------------------------
/external/FEX/ASM/X87_F64/DF_E0_F64.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0xFFFFFFFFFFFF3800",
5 | "RBX": "0xFFFFFFFFFFFF0000"
6 | },
7 | "Env": { "FEX_X87REDUCEDPRECISION" : "1" }
8 | }
9 | %endif
10 | bits 64
11 |
12 | mov rdx, 0xe0000000
13 |
14 | mov eax, 0x3f800000 ; 1.0
15 | mov [rdx + 8 * 0], eax
16 |
17 | mov rax, -1
18 | mov rbx, -1
19 | fnstsw ax
20 | mov bx, ax
21 |
22 | fld dword [rdx + 8 * 0]
23 | fnstsw ax
24 |
25 | hlt
26 |
--------------------------------------------------------------------------------
/external/fmt/.clang-format:
--------------------------------------------------------------------------------
1 | # Run manually to reformat a file:
2 | # clang-format -i --style=file
3 | Language: Cpp
4 | BasedOnStyle: Google
5 | IndentPPDirectives: AfterHash
6 | IndentCaseLabels: false
7 | AlwaysBreakTemplateDeclarations: false
8 | DerivePointerAlignment: false
9 | AllowShortCaseLabelsOnASingleLine: true
10 | AlignConsecutiveShortCaseStatements:
11 | Enabled: true
12 | AcrossEmptyLines: true
13 | AcrossComments: true
14 | AlignCaseColons: false
--------------------------------------------------------------------------------
/tests/ASM/felix86_bugs/pmovmskb.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "XMM0": ["0xFFFFFFFFFFFFFFFF", "0"],
5 | "RAX": "0x00FF"
6 | },
7 | "MemoryRegions": {
8 | "0x100000000": "4096"
9 | }
10 | }
11 | %endif
12 | bits 64
13 |
14 | mov rdx, 0xe0000000
15 |
16 | mov rax, 0xFFFFFFFFFFFFFFFF
17 | mov [rdx + 8 * 0], rax
18 | mov rax, 0
19 | mov [rdx + 8 * 1], rax
20 |
21 | movapd xmm0, [rdx + 8 * 0]
22 |
23 | pmovmskb eax, xmm0
24 |
25 | hlt
26 |
--------------------------------------------------------------------------------
/external/FEX/ASM/3DNow/0E.asm:
--------------------------------------------------------------------------------
1 | %ifdef CONFIG
2 | {
3 | "RegData": {
4 | "RAX": "0xFFFF"
5 | },
6 | "HostFeatures": ["3DNOW"]
7 | }
8 | %endif
9 | bits 64
10 |
11 | ; Load all x87 registers
12 | finit
13 | fldz
14 | fldz
15 | fldz
16 | fldz
17 | fldz
18 | fldz
19 | fldz
20 |
21 | ; femms sets all the tag bits to 0b11
22 | femms
23 |
24 | mov rdx, 0xe0000000
25 | o32 fstenv [rdx]
26 |
27 | mov eax, dword [rdx + 8] ; Offset 8 in the structure has FTW
28 |
29 | hlt
30 |
--------------------------------------------------------------------------------