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
|
- name: Build & Push Docker image
|
||||||
run: docker buildx build --platform linux/arm64 --push -t $IMAGE_NAME tools/qemu_test/
|
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:
|
docker-build-armv7:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
|
|
|
||||||
|
|
@ -173,13 +173,13 @@ jobs:
|
||||||
with:
|
with:
|
||||||
name: stencil-object-files
|
name: stencil-object-files
|
||||||
path: src/copapy/obj
|
path: src/copapy/obj
|
||||||
- name: Set up QEMU for ARMv6
|
- name: Set up QEMU for ARMv7
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@v3
|
||||||
with:
|
with:
|
||||||
platforms: linux/arm/v6
|
platforms: linux/arm/v7
|
||||||
- name: Use ARMv6 container
|
- name: Use ARMv7 container for ARMv6
|
||||||
run: |
|
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 && \
|
bash -lc "set -x && \
|
||||||
pip install .[mindev] && \
|
pip install .[mindev] && \
|
||||||
mkdir -p build/runner && \
|
mkdir -p build/runner && \
|
||||||
|
|
@ -297,6 +297,41 @@ jobs:
|
||||||
name: runner-linux-armv7mthumb
|
name: runner-linux-armv7mthumb
|
||||||
path: build/runner/*
|
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:
|
build-windows:
|
||||||
needs: [build_stencils]
|
needs: [build_stencils]
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
|
@ -346,7 +381,7 @@ jobs:
|
||||||
path: build/runner/*
|
path: build/runner/*
|
||||||
|
|
||||||
release-stencils:
|
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
|
runs-on: ubuntu-latest
|
||||||
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
||||||
permissions:
|
permissions:
|
||||||
|
|
@ -395,7 +430,7 @@ jobs:
|
||||||
fi
|
fi
|
||||||
|
|
||||||
build-docs:
|
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
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- 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
|
# 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"
|
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
|
# 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 -mthumb"
|
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
|
#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)
|
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
|
arm-none-eabi-ld -r $STMP /object_files/musl_objects_armv7mthumb.o $LIBGCC -o $DEST/stencils_armv7mthumb_$OPT.o
|
||||||
|
|
||||||
# PowerPC64LE
|
# Armv8.1 Thumb for Cortex-M55 and M85
|
||||||
# powerpc64le-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_ppc64le_$OPT.o
|
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)
|
||||||
# S390x
|
arm-none-eabi-ld -r $STMP /object_files/musl_objects_armv8mthumb.o $LIBGCC -o $DEST/stencils_armv8mthumb_$OPT.o
|
||||||
# s390x-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_s390x_$OPT.o
|
|
||||||
|
|
||||||
# Mips (Big Endian)
|
# Mips (Big Endian)
|
||||||
#mips-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_mips_$OPT.o
|
#mips-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_mips_$OPT.o
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue