diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-07-14 12:03:30 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-07-14 12:03:30 +0200 |
| commit | 903ecd207d8d7cfb189973c8d1d0e3d1f9f982b3 (patch) | |
| tree | 65fad0544fe4bdccd5dd393d561bfe2f833b19c4 | |
| parent | d62e9652fcbcaad8fd5c83956d476eb11499a85f (diff) | |
| download | box64-903ecd207d8d7cfb189973c8d1d0e3d1f9f982b3.tar.gz box64-903ecd207d8d7cfb189973c8d1d0e3d1f9f982b3.zip | |
Added generic ARM64 build profile
| -rw-r--r-- | .github/workflows/manual.yml | 1 | ||||
| -rw-r--r-- | .github/workflows/release.yml | 2 | ||||
| -rwxr-xr-x | CMakeLists.txt | 8 | ||||
| -rwxr-xr-x | docs/COMPILE.md | 7 |
4 files changed, 15 insertions, 3 deletions
diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index 839f33b9..5009c0f6 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -19,6 +19,7 @@ on: - RPI4ARM64 - SD845 - TEGRAX1 + - ARM64 build_type: description: 'Build type' required: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4aa1a44d..079af934 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,7 +27,7 @@ jobs: strategy: fail-fast: false matrix: - platform: [X64, OTHER_ARM, RISCV, RPI4ARM64, RK3326, RK3399, RK3588, PHYTIUM, SD845] + platform: [X64, OTHER_ARM, RISCV, RPI4ARM64, RK3326, RK3399, RK3588, PHYTIUM, SD845, ARM64] type: [Release, Trace] os: [ubuntu-latest] include: diff --git a/CMakeLists.txt b/CMakeLists.txt index c28d137e..e92a25e6 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,7 @@ option(LARCH64 "Set to ON if targeting an Loongarch64 based device" ${LARCH64}) option(RV64 "Set to ON if targeting an RISC-V RV64GC based device" ${RV64}) option(PPC64LE "Set to ON if targeting an PowerPC 64 LE based device" ${PPC64LE}) option(LX2160A "Set to ON if targeting an LX2160A based device" ${LX2160A}) +option(ARM64 "Set to ON if targeting a generic ARM64 based device" ${ARM64}) option(USE_CCACHE "Set to ON to use ccache if present in the system" ${USE_CCACHE}) option(HAVE_TRACE "Set to ON to have Trace ability (needs ZydisInfo library)" ${HAVE_TRACE}) option(NOLOADADDR "Set to ON to avoid fixing the load address of Box64" OFF) @@ -46,7 +47,7 @@ if(PPC64LE) set(RV64_DYNAREC OFF CACHE BOOL "") set(PAGE16K OFF CACHE BOOL "") endif() -if(RK3399 OR RK3588 OR ODROIDN2 OR RPI3ARM64 OR RPI4ARM64 OR RK3326 OR TEGRAX1 OR PHYTIUM OR SD845 OR LX2160A OR M1) +if(RK3399 OR RK3588 OR ODROIDN2 OR RPI3ARM64 OR RPI4ARM64 OR RK3326 OR TEGRAX1 OR PHYTIUM OR SD845 OR LX2160A OR M1 OR ARM64) set(LD80BITS OFF CACHE BOOL "") set(NOALIGN OFF CACHE BOOL "") set(ARM_DYNAREC ON CACHE BOOL "") @@ -137,7 +138,7 @@ elseif(TEGRAX1) add_definitions(-pipe -march=armv8-a+crc+simd+crypto -mcpu=cortex-a57+crypto) set(CMAKE_ASM_FLAGS "-pipe -march=armv8-a+crc+simd+crypto -mcpu=cortex-a57+crypto") elseif(PHYTIUM) - add_definitions(-DPHYSIUM) + add_definitions(-DPHYTIUM) add_definitions(-pipe -march=armv8.1-a+crc+simd+crypto) set(CMAKE_ASM_FLAGS "-pipe -march=armv8.1-a+crc+simd+crypto+aes") elseif(SD845) @@ -164,6 +165,9 @@ elseif(LX2160A) set(CMAKE_ASM_FLAGS "-pipe -march=armv8-a+crypto+crc -mcpu=cortex-a72+crypto") elseif(SW64) add_definitions(-DSW64) +elseif(ARM64) + add_definitions(-pipe -march=native) + set(CMAKE_ASM_FLAGS "-pipe -march=armv8-a+crc+simd+crypto") elseif(ARM_DYNAREC) set(CMAKE_ASM_FLAGS "-pipe -march=armv8-a+crc+simd+crypto") endif() diff --git a/docs/COMPILE.md b/docs/COMPILE.md index 275d5067..fe6c23dd 100755 --- a/docs/COMPILE.md +++ b/docs/COMPILE.md @@ -111,6 +111,13 @@ Using a 64bit OS: -D PHYTIUM=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo ``` +#### for a generic ARM64 machine + +Using a 64bit OS: +``` +-D ARM64=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo +``` + #### for M1 Only test on Asahi for now, using the default "16K page" kernel |