mirror of https://github.com/Nonannet/copapy.git
CI: Added ARMv8.1 for Cortex-M55 and M85
This commit is contained in:
parent
15ea733d5b
commit
b5a4d1b6ce
|
|
@ -63,37 +63,6 @@ jobs:
|
|||
- name: Build & Push Docker image
|
||||
run: docker buildx build --platform linux/arm64 --push -t $IMAGE_NAME tools/qemu_test/
|
||||
|
||||
docker-build-armv6:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Log in to GitHub Container Registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
with:
|
||||
platforms: arm
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Set image name
|
||||
run: echo "IMAGE_NAME=ghcr.io/${GITHUB_REPOSITORY_OWNER,,}/armv6_test:1" >> $GITHUB_ENV
|
||||
|
||||
- name: Build & Push Docker image
|
||||
run: docker buildx build --platform linux/arm/v6 --push -t $IMAGE_NAME tools/qemu_test/
|
||||
|
||||
|
||||
docker-build-armv7:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
|
|
|
|||
|
|
@ -173,13 +173,13 @@ jobs:
|
|||
with:
|
||||
name: stencil-object-files
|
||||
path: src/copapy/obj
|
||||
- name: Set up QEMU for ARMv6
|
||||
- name: Set up QEMU for ARMv7
|
||||
uses: docker/setup-qemu-action@v3
|
||||
with:
|
||||
platforms: linux/arm/v6
|
||||
- name: Use ARMv6 container
|
||||
platforms: linux/arm/v7
|
||||
- name: Use ARMv7 container for ARMv6
|
||||
run: |
|
||||
docker run --rm -v $PWD:/app -w /app --platform linux/arm/v6 ghcr.io/nonannet/armv6_test:1 \
|
||||
docker run --rm -v $PWD:/app -w /app --platform linux/arm/v6 ghcr.io/nonannet/armv7_test:1 \
|
||||
bash -lc "set -x && \
|
||||
pip install .[mindev] && \
|
||||
mkdir -p build/runner && \
|
||||
|
|
@ -297,6 +297,41 @@ jobs:
|
|||
name: runner-linux-armv7mthumb
|
||||
path: build/runner/*
|
||||
|
||||
build-armv8mthumb:
|
||||
needs: [build_stencils]
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: stencil-object-files
|
||||
path: src/copapy/obj
|
||||
- name: Set up QEMU for ARMv7
|
||||
uses: docker/setup-qemu-action@v3
|
||||
with:
|
||||
platforms: linux/arm/v7
|
||||
- name: Use ARMv7 container
|
||||
run: |
|
||||
docker run --rm -v $PWD:/app -w /app --platform linux/arm/v7 ghcr.io/nonannet/armv7_test:1 \
|
||||
bash -lc "set -x && \
|
||||
pip install .[mindev] && \
|
||||
mkdir -p build/runner && \
|
||||
gcc -march=armv7-a -mfpu=neon-vfpv3 -mfloat-abi=hard -marm -static \
|
||||
-Wall -Wextra -Wconversion -Wsign-conversion \
|
||||
-Wshadow -Wstrict-overflow -O3 \
|
||||
-DENABLE_LOGGING \
|
||||
-o build/runner/coparun src/coparun/runmem.c \
|
||||
src/coparun/coparun.c src/coparun/mem_man.c && \
|
||||
export CP_TARGET_ARCH=armv8mthumb && \
|
||||
pytest && \
|
||||
bash tools/create_asm.sh"
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: runner-linux-armv8mthumb
|
||||
path: build/runner/*
|
||||
|
||||
build-windows:
|
||||
needs: [build_stencils]
|
||||
runs-on: windows-latest
|
||||
|
|
@ -346,7 +381,7 @@ jobs:
|
|||
path: build/runner/*
|
||||
|
||||
release-stencils:
|
||||
needs: [build_stencils, build-ubuntu, build-windows, build-arm64, build-armv6, build-armv7, build-armv7thumb, build-armv7mthumb]
|
||||
needs: [build_stencils, build-ubuntu, build-windows, build-arm64, build-armv6, build-armv7, build-armv7thumb, build-armv7mthumb, build-armv8mthumb]
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
||||
permissions:
|
||||
|
|
@ -395,7 +430,7 @@ jobs:
|
|||
fi
|
||||
|
||||
build-docs:
|
||||
needs: [build_stencils, build-ubuntu, build-windows, build-arm64, build-armv6, build-armv7, build-armv7thumb, build-armv7mthumb]
|
||||
needs: [build_stencils, build-ubuntu, build-windows, build-arm64, build-armv6, build-armv7, build-armv7thumb, build-armv7mthumb, build-armv8mthumb]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
|
|
|||
|
|
@ -29,8 +29,11 @@ sh ../packobjs.sh arm-none-eabi-gcc arm-none-eabi-ld /object_files/musl_objects_
|
|||
# Armv7 Thumb for Cortex-A
|
||||
sh ../packobjs.sh arm-none-eabi-gcc arm-none-eabi-ld /object_files/musl_objects_armv7thumb.o "-march=armv7-a -mfpu=neon-vfpv3 -mfloat-abi=hard -mthumb"
|
||||
|
||||
# Armv7 Thumb for Cortex-M3..7
|
||||
sh ../packobjs.sh arm-none-eabi-gcc arm-none-eabi-ld /object_files/musl_objects_armv7mthumb.o "-march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb"
|
||||
# Armv7 Thumb for Cortex-M3 to M7
|
||||
sh ../packobjs.sh arm-none-eabi-gcc arm-none-eabi-ld /object_files/musl_objects_armv7mthumb.o "-march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard"
|
||||
|
||||
# Armv8.1 Thumb for Cortex-M55 and M85
|
||||
sh ../packobjs.sh arm-none-eabi-gcc arm-none-eabi-ld /object_files/musl_objects_armv8mthumb.o "-march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mthumb"
|
||||
|
||||
#sh ../packobjs.sh mips mips-linux-gnu-gcc-13 mips-linux-gnu-ld
|
||||
|
||||
|
|
|
|||
|
|
@ -51,11 +51,10 @@ arm-none-eabi-gcc -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb $FL
|
|||
LIBGCC=$(arm-none-eabi-gcc -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -print-libgcc-file-name)
|
||||
arm-none-eabi-ld -r $STMP /object_files/musl_objects_armv7mthumb.o $LIBGCC -o $DEST/stencils_armv7mthumb_$OPT.o
|
||||
|
||||
# PowerPC64LE
|
||||
# powerpc64le-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_ppc64le_$OPT.o
|
||||
|
||||
# S390x
|
||||
# s390x-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_s390x_$OPT.o
|
||||
# Armv8.1 Thumb for Cortex-M55 and M85
|
||||
arm-none-eabi-gcc -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mthumb $FLAGS -$OPT -c $SRC -o $STMP
|
||||
LIBGCC=$(arm-none-eabi-gcc -march=armv8.1-m.main+mve.fp -mfloat-abi=hard -mthumb -print-libgcc-file-name)
|
||||
arm-none-eabi-ld -r $STMP /object_files/musl_objects_armv8mthumb.o $LIBGCC -o $DEST/stencils_armv8mthumb_$OPT.o
|
||||
|
||||
# Mips (Big Endian)
|
||||
#mips-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_mips_$OPT.o
|
||||
|
|
|
|||
Loading…
Reference in New Issue