mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-07-19 16:57:09 +00:00
Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 668df530a5 | |||
| d7b7b6fb6c | |||
| b187fb9232 | |||
| c39bb4ce3b | |||
| 96aad3b29a | |||
| a0216a41bd | |||
| b004c61ec2 | |||
| 858c7553a8 | |||
| ce41be0a7f | |||
| 9f70b3d538 | |||
| 904f8e82c2 | |||
| e3cb27c06a | |||
| 196ae5166d | |||
| 3366ba9427 | |||
| 796d9913fa | |||
| 9d03ba7f5c | |||
| 0eaf5b5a7d | |||
| d5ba8fea32 | |||
| 0e1f4bc081 | |||
| e5dd1c4f53 | |||
| ee8ef5b765 | |||
| 67578fcfcd |
+16
-4
@@ -1,4 +1,12 @@
|
|||||||
image: ghcr.io/siemens/kas/kas:latest-release
|
image: ghcr.io/siemens/kas/kas:3.2
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CPU_REQUEST: ""
|
||||||
|
DEFAULT_TAG: ""
|
||||||
|
# These are needed as the k8s executor doesn't respect the container entrypoint
|
||||||
|
# by default
|
||||||
|
FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY: 0
|
||||||
|
FF_KUBERNETES_HONOR_ENTRYPOINT: 1
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- prep
|
- prep
|
||||||
@@ -6,6 +14,8 @@ stages:
|
|||||||
|
|
||||||
# Common job fragment to get a worker ready
|
# Common job fragment to get a worker ready
|
||||||
.setup:
|
.setup:
|
||||||
|
tags:
|
||||||
|
- $DEFAULT_TAG
|
||||||
stage: build
|
stage: build
|
||||||
interruptible: true
|
interruptible: true
|
||||||
variables:
|
variables:
|
||||||
@@ -25,11 +35,14 @@ stages:
|
|||||||
- mkdir --verbose --parents $KAS_WORK_DIR $KAS_REPO_REF_DIR $SSTATE_DIR $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
- mkdir --verbose --parents $KAS_WORK_DIR $KAS_REPO_REF_DIR $SSTATE_DIR $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
||||||
# Must do this here, as it's the only way to make sure the toolchain is installed on the same builder
|
# Must do this here, as it's the only way to make sure the toolchain is installed on the same builder
|
||||||
- ./ci/get-binary-toolchains $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
- ./ci/get-binary-toolchains $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
||||||
- sudo apt update && sudo apt install --yes telnet python3-subunit
|
# This can be removed with Kas 3.2
|
||||||
|
- sudo apt-get update && sudo apt-get install --yes python3-subunit
|
||||||
|
|
||||||
# Generalised fragment to do a Kas build
|
# Generalised fragment to do a Kas build
|
||||||
.build:
|
.build:
|
||||||
extends: .setup
|
extends: .setup
|
||||||
|
variables:
|
||||||
|
KUBERNETES_CPU_REQUEST: $CPU_REQUEST
|
||||||
script:
|
script:
|
||||||
- KASFILES=$(./ci/jobs-to-kas "$CI_JOB_NAME")
|
- KASFILES=$(./ci/jobs-to-kas "$CI_JOB_NAME")
|
||||||
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
|
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
|
||||||
@@ -249,8 +262,7 @@ pending-updates:
|
|||||||
|
|
||||||
# What percentage of machines in the layer do we build
|
# What percentage of machines in the layer do we build
|
||||||
machine-coverage:
|
machine-coverage:
|
||||||
stage: build
|
extends: .setup
|
||||||
interruptible: true
|
|
||||||
script:
|
script:
|
||||||
- ./ci/check-machine-coverage
|
- ./ci/check-machine-coverage
|
||||||
coverage: '/Coverage: \d+/'
|
coverage: '/Coverage: \d+/'
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@ local_conf_header:
|
|||||||
CONF_VERSION = "2"
|
CONF_VERSION = "2"
|
||||||
BB_NUMBER_THREADS = "16"
|
BB_NUMBER_THREADS = "16"
|
||||||
PARALLEL_MAKE = "-j16"
|
PARALLEL_MAKE = "-j16"
|
||||||
LICENSE_FLAGS_ACCEPTED += "armcompiler Arm-FVP-EULA"
|
LICENSE_FLAGS_ACCEPTED += "Arm-FVP-EULA"
|
||||||
setup: |
|
setup: |
|
||||||
PACKAGE_CLASSES = "package_ipk"
|
PACKAGE_CLASSES = "package_ipk"
|
||||||
PACKAGECONFIG:remove:pn-qemu-system-native = "gtk+ sdl"
|
PACKAGECONFIG:remove:pn-qemu-system-native = "gtk+ sdl"
|
||||||
|
|||||||
+23
-19
@@ -1,8 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -u
|
set -u -e
|
||||||
|
|
||||||
HOST_ARCH=$(uname -m)
|
BASENAME=gcc-arm
|
||||||
VER="10.3-2021.07"
|
VER=${VER:-10.3-2021.07}
|
||||||
|
HOST_ARCH=${HOST_ARCH:-$(uname -m)}
|
||||||
|
|
||||||
DOWNLOAD_DIR=$1
|
DOWNLOAD_DIR=$1
|
||||||
TOOLCHAIN_DIR=$2
|
TOOLCHAIN_DIR=$2
|
||||||
@@ -11,36 +12,39 @@ TOOLCHAIN_LINK_DIR=$3
|
|||||||
# These should be already created by .gitlab-ci.yml, but do here if run outside of that env
|
# These should be already created by .gitlab-ci.yml, but do here if run outside of that env
|
||||||
mkdir -p $DOWNLOAD_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
mkdir -p $DOWNLOAD_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
||||||
|
|
||||||
|
download() {
|
||||||
|
TRIPLE=$1
|
||||||
|
URL=https://developer.arm.com/-/media/Files/downloads/gnu-a/$VER/binrel/$BASENAME-$VER-$HOST_ARCH-$TRIPLE.tar.xz
|
||||||
|
wget -P $DOWNLOAD_DIR -nc $URL
|
||||||
|
}
|
||||||
|
|
||||||
if [ $HOST_ARCH = "aarch64" ]; then
|
if [ $HOST_ARCH = "aarch64" ]; then
|
||||||
#AArch64 Linux hosted cross compilers
|
# AArch64 Linux hosted cross compilers
|
||||||
|
|
||||||
#AArch32 target with hard float (arm-none-linux-gnueabihf)
|
# AArch32 target with hard float
|
||||||
wget -P $DOWNLOAD_DIR -nc https://developer.arm.com/-/media/Files/downloads/gnu/$VER/binrel/gcc-arm-$VER-$HOST_ARCH-arm-none-linux-gnueabihf.tar.xz
|
download arm-none-linux-gnueabihf
|
||||||
elif [ $HOST_ARCH = "x86_64" ]; then
|
elif [ $HOST_ARCH = "x86_64" ]; then
|
||||||
#x86_64 Linux hosted cross compilers
|
# x86_64 Linux hosted cross compilers
|
||||||
|
|
||||||
#AArch32 target with hard float (arm-linux-none-gnueabihf)
|
# AArch32 target with hard float
|
||||||
wget -P $DOWNLOAD_DIR -nc https://developer.arm.com/-/media/Files/downloads/gnu/$VER/binrel/gcc-arm-$VER-$HOST_ARCH-arm-none-linux-gnueabihf.tar.xz
|
download arm-none-linux-gnueabihf
|
||||||
|
|
||||||
#AArch64 GNU/Linux target (aarch64-none-linux-gnu)
|
# AArch64 GNU/Linux target
|
||||||
wget -P $DOWNLOAD_DIR -nc https://developer.arm.com/-/media/Files/downloads/gnu/$VER/binrel/gcc-arm-$VER-$HOST_ARCH-aarch64-none-linux-gnu.tar.xz
|
download aarch64-none-linux-gnu
|
||||||
|
|
||||||
#AArch64 GNU/Linux target (aarch64_be-none-linux-gnu)
|
|
||||||
wget -P $DOWNLOAD_DIR -nc https://developer.arm.com/-/media/Files/downloads/gnu/$VER/binrel/gcc-arm-$VER-$HOST_ARCH-aarch64_be-none-linux-gnu.tar.xz
|
|
||||||
else
|
else
|
||||||
echo "ERROR - Unknown build arch of $HOST_ARCH"
|
echo "ERROR - Unknown build arch of $HOST_ARCH"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for i in arm aarch64 aarch64_be; do
|
for i in arm aarch64; do
|
||||||
if [ ! -d $TOOLCHAIN_DIR/gcc-arm-$VER-$HOST_ARCH-$i-none-linux-gnu*/ ]; then
|
if [ ! -d $TOOLCHAIN_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu*/ ]; then
|
||||||
if [ ! -f $DOWNLOAD_DIR/gcc-arm-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz ]; then
|
if [ ! -f $DOWNLOAD_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
tar -C $TOOLCHAIN_DIR -axvf $DOWNLOAD_DIR/gcc-arm-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz
|
tar -C $TOOLCHAIN_DIR -axvf $DOWNLOAD_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Setup a link for the toolchain to use local to the building machine (e.g., not in a shared location)
|
# Setup a link for the toolchain to use local to the building machine (e.g., not in a shared location)
|
||||||
ln -s $TOOLCHAIN_DIR/gcc-arm-$VER-$HOST_ARCH-$i-none-linux-gnu* $TOOLCHAIN_LINK_DIR/$i
|
ln -s $TOOLCHAIN_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu* $TOOLCHAIN_LINK_DIR/$i
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -11,9 +11,7 @@ local_conf_header:
|
|||||||
toolchains: |
|
toolchains: |
|
||||||
SDKMACHINE = "x86_64"
|
SDKMACHINE = "x86_64"
|
||||||
|
|
||||||
# No target armcompiler as currently there is no arm64 build
|
|
||||||
target:
|
target:
|
||||||
- nativesdk-armcompiler
|
|
||||||
- gcc-aarch64-none-elf
|
- gcc-aarch64-none-elf
|
||||||
- nativesdk-gcc-aarch64-none-elf
|
- nativesdk-gcc-aarch64-none-elf
|
||||||
- gcc-arm-none-eabi
|
- gcc-arm-none-eabi
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ require conf/machine/include/arm/arch-armv8a.inc
|
|||||||
|
|
||||||
MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth optee pci"
|
MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth optee pci"
|
||||||
|
|
||||||
KERNEL_IMAGETYPE = "Image"
|
KERNEL_IMAGETYPE = "Image.gz"
|
||||||
KERNEL_DEVICETREE = "arm/juno.dtb arm/juno-r1.dtb arm/juno-r2.dtb"
|
KERNEL_DEVICETREE = "arm/juno.dtb arm/juno-r1.dtb arm/juno-r2.dtb"
|
||||||
|
|
||||||
IMAGE_FSTYPES += "tar.bz2 ext4"
|
IMAGE_FSTYPES += "tar.bz2 ext4 cpio.gz"
|
||||||
|
|
||||||
SERIAL_CONSOLES = "115200;ttyAMA0"
|
SERIAL_CONSOLES = "115200;ttyAMA0"
|
||||||
|
|
||||||
@@ -25,3 +25,6 @@ EXTRA_IMAGEDEPENDS += "trusted-firmware-a virtual/bootloader firmware-image-juno
|
|||||||
|
|
||||||
# Juno u-boot configuration
|
# Juno u-boot configuration
|
||||||
UBOOT_MACHINE = "vexpress_aemv8a_juno_defconfig"
|
UBOOT_MACHINE = "vexpress_aemv8a_juno_defconfig"
|
||||||
|
|
||||||
|
INITRAMFS_IMAGE_BUNDLE ?= "1"
|
||||||
|
INITRAMFS_IMAGE = "core-image-minimal"
|
||||||
|
|||||||
@@ -63,10 +63,10 @@ do_deploy() {
|
|||||||
done
|
done
|
||||||
|
|
||||||
if [ "${INITRAMFS_IMAGE_BUNDLE}" -eq 1 ]; then
|
if [ "${INITRAMFS_IMAGE_BUNDLE}" -eq 1 ]; then
|
||||||
cp -L -f ${DEPLOY_DIR_IMAGE}/Image-initramfs-juno.bin \
|
cp -L -f ${DEPLOY_DIR_IMAGE}/Image.gz-initramfs-juno.bin \
|
||||||
${D}/${UNPACK_DIR}/SOFTWARE/Image
|
${D}/${UNPACK_DIR}/SOFTWARE/Image
|
||||||
else
|
else
|
||||||
cp -L -f ${DEPLOY_DIR_IMAGE}/Image ${D}/${UNPACK_DIR}/SOFTWARE/
|
cp -L -f ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ${D}/${UNPACK_DIR}/SOFTWARE/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Compress the files
|
# Compress the files
|
||||||
|
|||||||
@@ -11,10 +11,11 @@ INHIBIT_DEFAULT_DEPS = "1"
|
|||||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||||
COMPATIBLE_MACHINE = "n1sdp"
|
COMPATIBLE_MACHINE = "n1sdp"
|
||||||
|
|
||||||
SRC_URI = "https://git.linaro.org/landing-teams/working/arm/n1sdp-board-firmware.git/snapshot/${BPN}-N1SDP-${PV}.tar.gz"
|
SRC_URI = "git://git.linaro.org/landing-teams/working/arm/n1sdp-board-firmware.git;protocol=https;branch=master"
|
||||||
SRC_URI[sha256sum] = "57feba404026f2d6d49c167d63e0e84653ad8b808b13e2244b81fea9e0d58d66"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/${BPN}-N1SDP-${PV}"
|
SRCREV = "9a095cbdf8ef59a7433e2769e4e2e92782b68c50"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
INSTALL_DIR = "/n1sdp-board-firmware_source"
|
INSTALL_DIR = "/n1sdp-board-firmware_source"
|
||||||
|
|
||||||
|
|||||||
+27
@@ -0,0 +1,27 @@
|
|||||||
|
From 097a43223da4fa42335944295903ede2755e2dfd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jon Mason <jdmason@kudzu.us>
|
||||||
|
Date: Mon, 19 Dec 2022 11:36:04 -0500
|
||||||
|
Subject: [PATCH] configs: vexpress: modify to boot compressed initramfs
|
||||||
|
|
||||||
|
Signed-off-by: Jon Mason <jdmason@kudzu.us>
|
||||||
|
Upstream-Status: Inappropriate
|
||||||
|
---
|
||||||
|
include/configs/vexpress_aemv8a.h | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/include/configs/vexpress_aemv8.h b/include/configs/vexpress_aemv8a.h
|
||||||
|
index cd7f6c1b9ba0..c2f5eb302076 100644
|
||||||
|
--- a/include/configs/vexpress_aemv8a.h
|
||||||
|
+++ b/include/configs/vexpress_aemv8a.h
|
||||||
|
@@ -164,6 +164,8 @@
|
||||||
|
"kernel_name=norkern\0" \
|
||||||
|
"kernel_alt_name=Image\0" \
|
||||||
|
"kernel_addr_r=0x80080000\0" \
|
||||||
|
+ "kernel_comp_addr_r=0x90000000\0" \
|
||||||
|
+ "kernel_comp_size=0x3000000\0" \
|
||||||
|
"initrd_name=ramdisk.img\0" \
|
||||||
|
"initrd_addr_r=0x88000000\0" \
|
||||||
|
"fdtfile=board.dtb\0" \
|
||||||
|
--
|
||||||
|
2.30.2
|
||||||
|
|
||||||
@@ -6,4 +6,7 @@ FILESEXTRAPATHS:prepend = "${THIS_DIR}/${BP}:"
|
|||||||
#
|
#
|
||||||
# Juno KMACHINE
|
# Juno KMACHINE
|
||||||
#
|
#
|
||||||
SRC_URI:append:juno = " file://u-boot_vexpress_uenv.patch"
|
SRC_URI:append:juno = " \
|
||||||
|
file://u-boot_vexpress_uenv.patch \
|
||||||
|
file://0002-configs-vexpress-modify-to-boot-compressed-initramfs.patch \
|
||||||
|
"
|
||||||
|
|||||||
@@ -21,10 +21,10 @@ Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
|
|||||||
5 files changed, 96 insertions(+), 85 deletions(-)
|
5 files changed, 96 insertions(+), 85 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi
|
diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi
|
||||||
index 6288e104a089..36844f7d861e 100644
|
index a00b0f14c222..8da7fe6fd157 100644
|
||||||
--- a/arch/arm64/boot/dts/arm/juno-base.dtsi
|
--- a/arch/arm64/boot/dts/arm/juno-base.dtsi
|
||||||
+++ b/arch/arm64/boot/dts/arm/juno-base.dtsi
|
+++ b/arch/arm64/boot/dts/arm/juno-base.dtsi
|
||||||
@@ -23,11 +23,12 @@ frame@2a830000 {
|
@@ -23,12 +23,13 @@ frame@2a830000 {
|
||||||
};
|
};
|
||||||
|
|
||||||
mailbox: mhu@2b1f0000 {
|
mailbox: mhu@2b1f0000 {
|
||||||
@@ -32,14 +32,15 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
+ compatible = "arm,mhu-doorbell", "arm,primecell";
|
+ compatible = "arm,mhu-doorbell", "arm,primecell";
|
||||||
reg = <0x0 0x2b1f0000 0x0 0x1000>;
|
reg = <0x0 0x2b1f0000 0x0 0x1000>;
|
||||||
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
|
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
<GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
- #mbox-cells = <1>;
|
- #mbox-cells = <1>;
|
||||||
+ #mbox-cells = <2>;
|
+ #mbox-cells = <2>;
|
||||||
+ mbox-name = "ARM-MHU";
|
+ mbox-name = "ARM-MHU";
|
||||||
clocks = <&soc_refclk100mhz>;
|
clocks = <&soc_refclk100mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
};
|
};
|
||||||
@@ -39,7 +40,7 @@ smmu_gpu: iommu@2b400000 {
|
@@ -40,7 +41,7 @@ smmu_gpu: iommu@2b400000 {
|
||||||
<GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
|
<GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
#iommu-cells = <1>;
|
#iommu-cells = <1>;
|
||||||
#global-interrupts = <1>;
|
#global-interrupts = <1>;
|
||||||
@@ -48,7 +49,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
dma-coherent;
|
dma-coherent;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -63,7 +64,7 @@ smmu_etr: iommu@2b600000 {
|
@@ -64,7 +65,7 @@ smmu_etr: iommu@2b600000 {
|
||||||
#iommu-cells = <1>;
|
#iommu-cells = <1>;
|
||||||
#global-interrupts = <1>;
|
#global-interrupts = <1>;
|
||||||
dma-coherent;
|
dma-coherent;
|
||||||
@@ -57,7 +58,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
gic: interrupt-controller@2c010000 {
|
gic: interrupt-controller@2c010000 {
|
||||||
@@ -123,7 +124,7 @@ etf@20010000 { /* etf0 */
|
@@ -124,7 +125,7 @@ etf@20010000 { /* etf0 */
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -66,7 +67,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
|
|
||||||
in-ports {
|
in-ports {
|
||||||
port {
|
port {
|
||||||
@@ -147,7 +148,7 @@ tpiu@20030000 {
|
@@ -148,7 +149,7 @@ tpiu@20030000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -75,7 +76,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
in-ports {
|
in-ports {
|
||||||
port {
|
port {
|
||||||
tpiu_in_port: endpoint {
|
tpiu_in_port: endpoint {
|
||||||
@@ -164,7 +165,7 @@ main_funnel: funnel@20040000 {
|
@@ -165,7 +166,7 @@ main_funnel: funnel@20040000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -84,7 +85,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
|
|
||||||
out-ports {
|
out-ports {
|
||||||
port {
|
port {
|
||||||
@@ -201,7 +202,7 @@ etr@20070000 {
|
@@ -202,7 +203,7 @@ etr@20070000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -93,7 +94,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
arm,scatter-gather;
|
arm,scatter-gather;
|
||||||
in-ports {
|
in-ports {
|
||||||
port {
|
port {
|
||||||
@@ -220,7 +221,7 @@ stm@20100000 {
|
@@ -221,7 +222,7 @@ stm@20100000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -102,7 +103,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
out-ports {
|
out-ports {
|
||||||
port {
|
port {
|
||||||
stm_out_port: endpoint {
|
stm_out_port: endpoint {
|
||||||
@@ -235,7 +236,7 @@ replicator@20120000 {
|
@@ -236,7 +237,7 @@ replicator@20120000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -111,7 +112,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
|
|
||||||
out-ports {
|
out-ports {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
@@ -270,7 +271,7 @@ cpu_debug0: cpu-debug@22010000 {
|
@@ -271,7 +272,7 @@ cpu_debug0: cpu-debug@22010000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -120,7 +121,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
etm0: etm@22040000 {
|
etm0: etm@22040000 {
|
||||||
@@ -279,7 +280,7 @@ etm0: etm@22040000 {
|
@@ -280,7 +281,7 @@ etm0: etm@22040000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -129,7 +130,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
out-ports {
|
out-ports {
|
||||||
port {
|
port {
|
||||||
cluster0_etm0_out_port: endpoint {
|
cluster0_etm0_out_port: endpoint {
|
||||||
@@ -295,7 +296,7 @@ funnel@220c0000 { /* cluster0 funnel */
|
@@ -296,7 +297,7 @@ funnel@220c0000 { /* cluster0 funnel */
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -138,7 +139,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
out-ports {
|
out-ports {
|
||||||
port {
|
port {
|
||||||
cluster0_funnel_out_port: endpoint {
|
cluster0_funnel_out_port: endpoint {
|
||||||
@@ -330,7 +331,7 @@ cpu_debug1: cpu-debug@22110000 {
|
@@ -331,7 +332,7 @@ cpu_debug1: cpu-debug@22110000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -147,7 +148,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
etm1: etm@22140000 {
|
etm1: etm@22140000 {
|
||||||
@@ -339,7 +340,7 @@ etm1: etm@22140000 {
|
@@ -340,7 +341,7 @@ etm1: etm@22140000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -156,7 +157,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
out-ports {
|
out-ports {
|
||||||
port {
|
port {
|
||||||
cluster0_etm1_out_port: endpoint {
|
cluster0_etm1_out_port: endpoint {
|
||||||
@@ -355,7 +356,7 @@ cpu_debug2: cpu-debug@23010000 {
|
@@ -356,7 +357,7 @@ cpu_debug2: cpu-debug@23010000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -165,7 +166,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
etm2: etm@23040000 {
|
etm2: etm@23040000 {
|
||||||
@@ -364,7 +365,7 @@ etm2: etm@23040000 {
|
@@ -365,7 +366,7 @@ etm2: etm@23040000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -174,7 +175,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
out-ports {
|
out-ports {
|
||||||
port {
|
port {
|
||||||
cluster1_etm0_out_port: endpoint {
|
cluster1_etm0_out_port: endpoint {
|
||||||
@@ -380,7 +381,7 @@ funnel@230c0000 { /* cluster1 funnel */
|
@@ -381,7 +382,7 @@ funnel@230c0000 { /* cluster1 funnel */
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -183,7 +184,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
out-ports {
|
out-ports {
|
||||||
port {
|
port {
|
||||||
cluster1_funnel_out_port: endpoint {
|
cluster1_funnel_out_port: endpoint {
|
||||||
@@ -427,7 +428,7 @@ cpu_debug3: cpu-debug@23110000 {
|
@@ -428,7 +429,7 @@ cpu_debug3: cpu-debug@23110000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -192,7 +193,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
etm3: etm@23140000 {
|
etm3: etm@23140000 {
|
||||||
@@ -436,7 +437,7 @@ etm3: etm@23140000 {
|
@@ -437,7 +438,7 @@ etm3: etm@23140000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -201,7 +202,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
out-ports {
|
out-ports {
|
||||||
port {
|
port {
|
||||||
cluster1_etm1_out_port: endpoint {
|
cluster1_etm1_out_port: endpoint {
|
||||||
@@ -452,7 +453,7 @@ cpu_debug4: cpu-debug@23210000 {
|
@@ -453,7 +454,7 @@ cpu_debug4: cpu-debug@23210000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -210,7 +211,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
etm4: etm@23240000 {
|
etm4: etm@23240000 {
|
||||||
@@ -461,7 +462,7 @@ etm4: etm@23240000 {
|
@@ -462,7 +463,7 @@ etm4: etm@23240000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -219,7 +220,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
out-ports {
|
out-ports {
|
||||||
port {
|
port {
|
||||||
cluster1_etm2_out_port: endpoint {
|
cluster1_etm2_out_port: endpoint {
|
||||||
@@ -477,7 +478,7 @@ cpu_debug5: cpu-debug@23310000 {
|
@@ -478,7 +479,7 @@ cpu_debug5: cpu-debug@23310000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -228,7 +229,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
etm5: etm@23340000 {
|
etm5: etm@23340000 {
|
||||||
@@ -486,7 +487,7 @@ etm5: etm@23340000 {
|
@@ -487,7 +488,7 @@ etm5: etm@23340000 {
|
||||||
|
|
||||||
clocks = <&soc_smc50mhz>;
|
clocks = <&soc_smc50mhz>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
@@ -237,7 +238,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
out-ports {
|
out-ports {
|
||||||
port {
|
port {
|
||||||
cluster1_etm3_out_port: endpoint {
|
cluster1_etm3_out_port: endpoint {
|
||||||
@@ -503,8 +504,8 @@ gpu: gpu@2d000000 {
|
@@ -504,8 +505,8 @@ gpu: gpu@2d000000 {
|
||||||
<GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
|
<GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
<GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupt-names = "job", "mmu", "gpu";
|
interrupt-names = "job", "mmu", "gpu";
|
||||||
@@ -248,7 +249,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
dma-coherent;
|
dma-coherent;
|
||||||
/* The SMMU is only really of interest to bare-metal hypervisors */
|
/* The SMMU is only really of interest to bare-metal hypervisors */
|
||||||
/* iommus = <&smmu_gpu 0>; */
|
/* iommus = <&smmu_gpu 0>; */
|
||||||
@@ -519,14 +520,24 @@ sram: sram@2e000000 {
|
@@ -520,14 +521,24 @@ sram: sram@2e000000 {
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
ranges = <0 0x0 0x2e000000 0x8000>;
|
ranges = <0 0x0 0x2e000000 0x8000>;
|
||||||
|
|
||||||
@@ -341,21 +342,25 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -596,40 +607,40 @@ thermal-zones {
|
@@ -596,7 +607,7 @@ thermal-zones {
|
||||||
pmic {
|
pmic {
|
||||||
polling-delay = <1000>;
|
polling-delay = <1000>;
|
||||||
polling-delay-passive = <100>;
|
polling-delay-passive = <100>;
|
||||||
- thermal-sensors = <&scpi_sensors0 0>;
|
- thermal-sensors = <&scpi_sensors0 0>;
|
||||||
+ thermal-sensors = <&scmi_sensors0 0>;
|
+ thermal-sensors = <&scmi_sensors0 0>;
|
||||||
};
|
trips {
|
||||||
|
pmic_crit0: trip0 {
|
||||||
|
temperature = <90000>;
|
||||||
|
@@ -609,7 +620,7 @@ pmic_crit0: trip0 {
|
||||||
soc {
|
soc {
|
||||||
polling-delay = <1000>;
|
polling-delay = <1000>;
|
||||||
polling-delay-passive = <100>;
|
polling-delay-passive = <100>;
|
||||||
- thermal-sensors = <&scpi_sensors0 3>;
|
- thermal-sensors = <&scpi_sensors0 3>;
|
||||||
+ thermal-sensors = <&scmi_sensors0 3>;
|
+ thermal-sensors = <&scmi_sensors0 3>;
|
||||||
};
|
trips {
|
||||||
|
soc_crit0: trip0 {
|
||||||
|
temperature = <80000>;
|
||||||
|
@@ -622,28 +633,28 @@ soc_crit0: trip0 {
|
||||||
big_cluster_thermal_zone: big-cluster {
|
big_cluster_thermal_zone: big-cluster {
|
||||||
polling-delay = <1000>;
|
polling-delay = <1000>;
|
||||||
polling-delay-passive = <100>;
|
polling-delay-passive = <100>;
|
||||||
@@ -388,7 +393,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -705,7 +716,7 @@ hdlcd@7ff50000 {
|
@@ -719,7 +730,7 @@ hdlcd@7ff50000 {
|
||||||
reg = <0 0x7ff50000 0 0x1000>;
|
reg = <0 0x7ff50000 0 0x1000>;
|
||||||
interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
iommus = <&smmu_hdlcd1 0>;
|
iommus = <&smmu_hdlcd1 0>;
|
||||||
@@ -397,7 +402,7 @@ index 6288e104a089..36844f7d861e 100644
|
|||||||
clock-names = "pxlclk";
|
clock-names = "pxlclk";
|
||||||
|
|
||||||
port {
|
port {
|
||||||
@@ -720,7 +731,7 @@ hdlcd@7ff60000 {
|
@@ -734,7 +745,7 @@ hdlcd@7ff60000 {
|
||||||
reg = <0 0x7ff60000 0 0x1000>;
|
reg = <0 0x7ff60000 0 0x1000>;
|
||||||
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
iommus = <&smmu_hdlcd0 0>;
|
iommus = <&smmu_hdlcd0 0>;
|
||||||
@@ -612,5 +617,5 @@ index f00cffbd032c..a28316c65c1b 100644
|
|||||||
capacity-dmips-mhz = <578>;
|
capacity-dmips-mhz = <578>;
|
||||||
dynamic-power-coefficient = <140>;
|
dynamic-power-coefficient = <140>;
|
||||||
--
|
--
|
||||||
2.25.1
|
2.30.2
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -148,9 +148,9 @@ index a531064233f9..ebe192134a97 100644
|
|||||||
* Some NVIDIA GPU devices do not work with bus reset, SBR needs to be
|
* Some NVIDIA GPU devices do not work with bus reset, SBR needs to be
|
||||||
* prevented for those affected devices.
|
* prevented for those affected devices.
|
||||||
@@ -4968,6 +5069,7 @@ static const struct pci_dev_acs_enabled {
|
@@ -4968,6 +5069,7 @@ static const struct pci_dev_acs_enabled {
|
||||||
{ PCI_VENDOR_ID_NXP, 0x8d9b, pci_quirk_nxp_rp_acs },
|
|
||||||
/* Zhaoxin Root/Downstream Ports */
|
|
||||||
{ PCI_VENDOR_ID_ZHAOXIN, PCI_ANY_ID, pci_quirk_zhaoxin_pcie_ports_acs },
|
{ PCI_VENDOR_ID_ZHAOXIN, PCI_ANY_ID, pci_quirk_zhaoxin_pcie_ports_acs },
|
||||||
|
/* Wangxun nics */
|
||||||
|
{ PCI_VENDOR_ID_WANGXUN, PCI_ANY_ID, pci_quirk_wangxun_nic_acs },
|
||||||
+ { PCI_ANY_ID, PCI_ANY_ID, pcie_acs_overrides },
|
+ { PCI_ANY_ID, PCI_ANY_ID, pcie_acs_overrides },
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
|
|||||||
+17
-8
@@ -53,7 +53,7 @@ new file mode 100644
|
|||||||
index 0000000..840683a
|
index 0000000..840683a
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/deployments/se-proxy/opteesp/lse.S
|
+++ b/deployments/se-proxy/opteesp/lse.S
|
||||||
@@ -0,0 +1,19 @@
|
@@ -0,0 +1,28 @@
|
||||||
+// SPDX-License-Identifier: BSD-3-Clause
|
+// SPDX-License-Identifier: BSD-3-Clause
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
|
+ * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
|
||||||
@@ -61,18 +61,27 @@ index 0000000..840683a
|
|||||||
+
|
+
|
||||||
+.text
|
+.text
|
||||||
+.globl __aarch64_cas4_acq_rel
|
+.globl __aarch64_cas4_acq_rel
|
||||||
|
+.globl __aarch64_cas4_sync
|
||||||
+
|
+
|
||||||
+__aarch64_cas4_acq_rel:
|
+__aarch64_cas4_acq_rel:
|
||||||
+ mov w16, w0
|
+ mov w16, w0
|
||||||
+ ldaxr w0, [x2]
|
+ ldaxr w0, [x2]
|
||||||
+ cmp w0, w16
|
+ cmp w0, w16
|
||||||
+0: bne 1f
|
+0: bne 1f
|
||||||
+
|
+
|
||||||
+ stlxr w17, w1, [x2]
|
+ stlxr w17, w1, [x2]
|
||||||
+ cbnz w17, 0b
|
+ cbnz w17, 0b
|
||||||
+1: ret
|
+1: ret
|
||||||
+
|
+
|
||||||
|
+__aarch64_cas4_sync:
|
||||||
|
+ mov w16, w0
|
||||||
|
+ ldxr w0, [x2]
|
||||||
|
+ cmp w0, w16
|
||||||
|
+0: bne 1f
|
||||||
+
|
+
|
||||||
|
+ stlxr w17, w1, [x2]
|
||||||
|
+ cbnz w17, 0b
|
||||||
|
+1: ret
|
||||||
diff --git a/external/openamp/libmetal.cmake b/external/openamp/libmetal.cmake
|
diff --git a/external/openamp/libmetal.cmake b/external/openamp/libmetal.cmake
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..3a647e6
|
index 0000000..3a647e6
|
||||||
|
|||||||
@@ -10,6 +10,3 @@ BBFILE_PRIORITY_arm-toolchain = "5"
|
|||||||
|
|
||||||
LAYERDEPENDS_arm-toolchain = "core"
|
LAYERDEPENDS_arm-toolchain = "core"
|
||||||
LAYERSERIES_COMPAT_arm-toolchain = "kirkstone"
|
LAYERSERIES_COMPAT_arm-toolchain = "kirkstone"
|
||||||
|
|
||||||
# These variables are used for armcompiler license
|
|
||||||
BB_BASEHASH_IGNORE_VARS:append = " ARM_TOOL_VARIANT ARMLMD_LICENSE_FILE LM_LICENSE_FILE"
|
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
The install script has an explicit check that the current host is x86-64, which
|
|
||||||
means we can't build armcompiler for x86-64 targets on arm64. Pad the
|
|
||||||
replacement host with whitespace so that the installer offset doesn't change.
|
|
||||||
|
|
||||||
Upstream-Status: Inappropriate
|
|
||||||
Signed-off-by: Ross Burton <ross.burton@arm.com>
|
|
||||||
|
|
||||||
--- a/install_x86_64.sh.orig 2021-07-06 14:11:47.632155370 +0100
|
|
||||||
+++ b/install_x86_64.sh 2021-07-06 14:11:58.393163350 +0100
|
|
||||||
@@ -470,3 +470,3 @@
|
|
||||||
fi
|
|
||||||
-host=`/bin/uname -m`
|
|
||||||
+host=x86_64
|
|
||||||
echo --- Host target check...[${host}]
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
# SPDX-License-Identifier: MIT
|
|
||||||
#
|
|
||||||
# Copyright (c) 2020 Arm Limited
|
|
||||||
#
|
|
||||||
|
|
||||||
require arm-binary-toolchain.inc
|
|
||||||
|
|
||||||
SUMMARY = "Baremetal Armcompiler for Cortex-A, Cortex-R and Cortex-M processors"
|
|
||||||
HOMEPAGE = "https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/version-6"
|
|
||||||
|
|
||||||
# Certain features of armcompiler requires a license. For more information, please refer to the armcompiler user guide:
|
|
||||||
# https://developer.arm.com/tools-and-software/software-development-tools/license-management/resources/product-and-toolkit-configuration
|
|
||||||
# Usually set and export of these variables are required:
|
|
||||||
# ARM_TOOL_VARIANT, ARMLMD_LICENSE_FILE, LM_LICENSE_FILE
|
|
||||||
|
|
||||||
LICENSE = "Armcompiler-License-agreement & Armcompiler-Redistributables & \
|
|
||||||
Armcompiler-Supplementary-terms & Armcompiler-Third-party-licenses"
|
|
||||||
|
|
||||||
NO_GENERIC_LICENSE[Armcompiler-License-agreement] = "license_terms/license_agreement.txt"
|
|
||||||
NO_GENERIC_LICENSE[Armcompiler-Redistributables] = "license_terms/redistributables.txt"
|
|
||||||
NO_GENERIC_LICENSE[Armcompiler-Supplementary-terms] = "license_terms/supplementary_terms.txt"
|
|
||||||
NO_GENERIC_LICENSE[Armcompiler-Third-party-licenses] = "license_terms/third_party_licenses.txt"
|
|
||||||
|
|
||||||
# The Arm Compiler is under a EULA, read this at the homepage above and if you
|
|
||||||
# agree add 'armcompiler' to your LICENSE_FLAGS_ACCEPTED.
|
|
||||||
LICENSE_FLAGS = "armcompiler"
|
|
||||||
|
|
||||||
LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=19faf912b534478d28f60dfa24659c17 \
|
|
||||||
file://license_terms/redistributables.txt;md5=c22d8d2388d8e592f4b135f87bb243da \
|
|
||||||
file://license_terms/supplementary_terms.txt;md5=e2443a4a7c520e79ebb603c8ba509076 \
|
|
||||||
file://license_terms/third_party_licenses.txt;md5=53b42e7d31259bdc174b9c03651ed1b7 "
|
|
||||||
|
|
||||||
ARMCLANG_VERSION = "DS500-BN-00026-r5p0-19rel0"
|
|
||||||
|
|
||||||
COMPATIBLE_HOST = "x86_64.*-linux"
|
|
||||||
|
|
||||||
SRC_URI = "https://developer.arm.com/-/media/Files/downloads/compiler/${ARMCLANG_VERSION}.tgz;subdir=${ARMCLANG_VERSION} \
|
|
||||||
file://no-uname.patch"
|
|
||||||
SRC_URI[sha256sum] = "0ed2c3a2e416f07b892250fcbcca4b27353b046a030a433bf6dddc0db802885c"
|
|
||||||
|
|
||||||
UPSTREAM_CHECK_URI = "https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/"
|
|
||||||
UPSTREAM_CHECK_REGEX = "Download Arm Compiler.*,(?P<pver>[\d\.]+)"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/${ARMCLANG_VERSION}"
|
|
||||||
|
|
||||||
do_install() {
|
|
||||||
install -d ${D}${bindir} ${D}${libexecdir}/${BPN}/
|
|
||||||
# Commercial license flag set, so recipe will only install when explicitly agreed to it already
|
|
||||||
${S}/install_x86_64.sh --i-agree-to-the-contained-eula -d ${D}${libexecdir}/${BPN}/ --no-interactive
|
|
||||||
|
|
||||||
# Symlink all executables into bindir
|
|
||||||
for f in ${D}${libexecdir}/${BPN}/bin/*; do
|
|
||||||
ln -rs $f ${D}${bindir}/$(basename $f)
|
|
||||||
done
|
|
||||||
}
|
|
||||||
@@ -48,6 +48,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
|
|||||||
|
|
||||||
DEPENDS += "cmake-native \
|
DEPENDS += "cmake-native \
|
||||||
ninja-native \
|
ninja-native \
|
||||||
|
gcc-arm-none-eabi-native \
|
||||||
python3-intelhex-native \
|
python3-intelhex-native \
|
||||||
python3-jinja2-native \
|
python3-jinja2-native \
|
||||||
python3-pyyaml-native \
|
python3-pyyaml-native \
|
||||||
@@ -68,14 +69,14 @@ python() {
|
|||||||
raise bb.parse.SkipRecipe("TFM_PLATFORM needs to be set")
|
raise bb.parse.SkipRecipe("TFM_PLATFORM needs to be set")
|
||||||
}
|
}
|
||||||
|
|
||||||
PACKAGECONFIG ??= "cc-gnuarm"
|
PACKAGECONFIG ??= ""
|
||||||
# What compiler to use
|
|
||||||
PACKAGECONFIG[cc-gnuarm] = "-DTFM_TOOLCHAIN_FILE=${S}/toolchain_GNUARM.cmake,,gcc-arm-none-eabi-native"
|
|
||||||
PACKAGECONFIG[cc-armclang] = "-DTFM_TOOLCHAIN_FILE=${S}/toolchain_ARMCLANG.cmake,,armcompiler-native"
|
|
||||||
# Whether to integrate the test suite
|
# Whether to integrate the test suite
|
||||||
PACKAGECONFIG[test-secure] = "-DTEST_S=ON,-DTEST_S=OFF"
|
PACKAGECONFIG[test-secure] = "-DTEST_S=ON,-DTEST_S=OFF"
|
||||||
PACKAGECONFIG[test-nonsecure] = "-DTEST_NS=ON,-DTEST_NS=OFF"
|
PACKAGECONFIG[test-nonsecure] = "-DTEST_NS=ON,-DTEST_NS=OFF"
|
||||||
|
|
||||||
|
# Currently we only support using the Arm binary GCC
|
||||||
|
EXTRA_OECMAKE += "-DTFM_TOOLCHAIN_FILE=${S}/toolchain_GNUARM.cmake"
|
||||||
|
|
||||||
# Don't let FetchContent download more sources during do_configure
|
# Don't let FetchContent download more sources during do_configure
|
||||||
EXTRA_OECMAKE += "-DFETCHCONTENT_FULLY_DISCONNECTED=ON"
|
EXTRA_OECMAKE += "-DFETCHCONTENT_FULLY_DISCONNECTED=ON"
|
||||||
|
|
||||||
|
|||||||
@@ -77,9 +77,14 @@ export BTOOLS_PATH = "${EDK_TOOLS_PATH}/BinWrappers/PosixLike"
|
|||||||
|
|
||||||
EDK_COMPILER ?= "GCC5"
|
EDK_COMPILER ?= "GCC5"
|
||||||
export GCC5_AARCH64_PREFIX = "${TARGET_PREFIX}"
|
export GCC5_AARCH64_PREFIX = "${TARGET_PREFIX}"
|
||||||
|
export GCC5_ARM_PREFIX = "${TARGET_PREFIX}"
|
||||||
|
|
||||||
EDK_COMPILER:toolchain-clang = "CLANG38"
|
EDK_COMPILER:toolchain-clang = "CLANG38"
|
||||||
export CLANG38_AARCH64_PREFIX = "${TARGET_PREFIX}"
|
export CLANG38_AARCH64_PREFIX = "${TARGET_PREFIX}"
|
||||||
|
export CLANG38_ARM_PREFIX = "${TARGET_PREFIX}"
|
||||||
|
|
||||||
|
#FIXME - arm32 doesn't work with clang due to a linker issue
|
||||||
|
TOOLCHAIN:arm = "gcc"
|
||||||
|
|
||||||
do_configure:prepend() {
|
do_configure:prepend() {
|
||||||
sed -i -e "s#-target ${HOST_ARCH}-linux-gnu*#-target ${HOST_SYS}#" ${S}/BaseTools/Conf/tools_def.template
|
sed -i -e "s#-target ${HOST_ARCH}-linux-gnu*#-target ${HOST_SYS}#" ${S}/BaseTools/Conf/tools_def.template
|
||||||
|
|||||||
@@ -3,6 +3,15 @@ EDK2_PLATFORM:qemuarm64-secureboot = "ArmVirtQemu-AARCH64"
|
|||||||
EDK2_PLATFORM_DSC:qemuarm64-secureboot = "ArmVirtPkg/ArmVirtQemu.dsc"
|
EDK2_PLATFORM_DSC:qemuarm64-secureboot = "ArmVirtPkg/ArmVirtQemu.dsc"
|
||||||
EDK2_BIN_NAME:qemuarm64-secureboot = "QEMU_EFI.fd"
|
EDK2_BIN_NAME:qemuarm64-secureboot = "QEMU_EFI.fd"
|
||||||
|
|
||||||
|
COMPATIBLE_MACHINE:qemuarm64 = "qemuarm64"
|
||||||
|
EDK2_PLATFORM:qemuarm64 = "ArmVirtQemu-AARCH64"
|
||||||
|
EDK2_PLATFORM_DSC:qemuarm64 = "ArmVirtPkg/ArmVirtQemu.dsc"
|
||||||
|
EDK2_BIN_NAME:qemuarm64 = "QEMU_EFI.fd"
|
||||||
|
|
||||||
|
COMPATIBLE_MACHINE:qemuarm = "qemuarm"
|
||||||
|
EDK2_PLATFORM:qemuarm = "ArmVirtQemu-ARM"
|
||||||
|
EDK2_PLATFORM_DSC:qemuarm = "ArmVirtPkg/ArmVirtQemu.dsc"
|
||||||
|
EDK2_BIN_NAME:qemuarm = "QEMU_EFI.fd"
|
||||||
|
|
||||||
COMPATIBLE_MACHINE:qemu-generic-arm64 = "qemu-generic-arm64"
|
COMPATIBLE_MACHINE:qemu-generic-arm64 = "qemu-generic-arm64"
|
||||||
DEPENDS:append:qemu-generic-arm64 = " trusted-firmware-a coreutils-native"
|
DEPENDS:append:qemu-generic-arm64 = " trusted-firmware-a coreutils-native"
|
||||||
@@ -21,3 +30,11 @@ do_install:append:qemu-generic-arm64() {
|
|||||||
# QEMU requires that the images be minimum of 256M in size
|
# QEMU requires that the images be minimum of 256M in size
|
||||||
truncate -s 256M ${D}/firmware/SBSA_FLASH*.fd
|
truncate -s 256M ${D}/firmware/SBSA_FLASH*.fd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do_install:append:qemuarm64() {
|
||||||
|
install ${B}/Build/${EDK2_PLATFORM}/${EDK2_BUILD_MODE}_${EDK_COMPILER}/FV/${EDK2_BIN_NAME} ${D}/firmware/
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install:append:qemuarm() {
|
||||||
|
install ${B}/Build/${EDK2_PLATFORM}/${EDK2_BUILD_MODE}_${EDK_COMPILER}/FV/${EDK2_BIN_NAME} ${D}/firmware/
|
||||||
|
}
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@ LICENSE = "BSD-3-Clause"
|
|||||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=ad8cb685eb324d2fa2530b985a43f3e5"
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=ad8cb685eb324d2fa2530b985a43f3e5"
|
||||||
|
|
||||||
SRC_URI = "git://github.com/Linaro/OpenCSD;protocol=https;branch=master"
|
SRC_URI = "git://github.com/Linaro/OpenCSD;protocol=https;branch=master"
|
||||||
SRCREV = "dac554d62d514b202174506995afc0e109ef3fea"
|
SRCREV = "539fea3eabd4ce7574494981cd3d0906cfdc5f18"
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
CONFIG_ACPI=y
|
||||||
|
CONFIG_EFI=y
|
||||||
@@ -11,3 +11,9 @@ SRC_URI:append:qemuarm64-secureboot = " \
|
|||||||
file://skip-unavailable-memory.patch \
|
file://skip-unavailable-memory.patch \
|
||||||
file://tee.cfg \
|
file://tee.cfg \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
FILESEXTRAPATHS:prepend:qemuarm64 = "${ARMFILESPATHS}"
|
||||||
|
SRC_URI:append:qemuarm64 = " file://efi.cfg"
|
||||||
|
|
||||||
|
FILESEXTRAPATHS:prepend:qemuarm = "${ARMFILESPATHS}"
|
||||||
|
SRC_URI:append:qemuarm = " file://efi.cfg"
|
||||||
|
|||||||
@@ -145,7 +145,6 @@ recipes = ("virtual/kernel",
|
|||||||
"edk2-firmware",
|
"edk2-firmware",
|
||||||
"u-boot",
|
"u-boot",
|
||||||
"optee-os",
|
"optee-os",
|
||||||
"armcompiler-native",
|
|
||||||
"gcc-aarch64-none-elf-native",
|
"gcc-aarch64-none-elf-native",
|
||||||
"gcc-arm-none-eabi-native")
|
"gcc-arm-none-eabi-native")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user