mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-07-18 04:27:08 +00:00
Compare commits
34 Commits
4.0.1
...
yocto-4.0.7
| Author | SHA1 | Date | |
|---|---|---|---|
| c3e9fb12aa | |||
| 10c27f061b | |||
| 5c33ed794a | |||
| 2384dc1a9a | |||
| 5d759ca68d | |||
| 58a33d0860 | |||
| 5c4f98bbc5 | |||
| 6b2d97cecd | |||
| 936c02ec13 | |||
| bf98ef902e | |||
| 260e3adc2b | |||
| 1c9ba5d495 | |||
| 668df530a5 | |||
| d7b7b6fb6c | |||
| b187fb9232 | |||
| c39bb4ce3b | |||
| 96aad3b29a | |||
| a0216a41bd | |||
| b004c61ec2 | |||
| 858c7553a8 | |||
| ce41be0a7f | |||
| 9f70b3d538 | |||
| 904f8e82c2 | |||
| e3cb27c06a | |||
| 196ae5166d | |||
| 3366ba9427 | |||
| 796d9913fa | |||
| 9d03ba7f5c | |||
| 0eaf5b5a7d | |||
| d5ba8fea32 | |||
| 0e1f4bc081 | |||
| e5dd1c4f53 | |||
| ee8ef5b765 | |||
| 67578fcfcd |
+41
-13
@@ -1,4 +1,16 @@
|
||||
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
|
||||
# The directory to use as the persistent cache (the root for DL_DIR,
|
||||
# SSTATE_DIR, etc). The default is the build tree which will not be
|
||||
# persistent, so this should be set in the runner.
|
||||
CACHE_DIR: $CI_PROJECT_DIR
|
||||
|
||||
stages:
|
||||
- prep
|
||||
@@ -6,30 +18,31 @@ stages:
|
||||
|
||||
# Common job fragment to get a worker ready
|
||||
.setup:
|
||||
tags:
|
||||
- $DEFAULT_TAG
|
||||
stage: build
|
||||
interruptible: true
|
||||
variables:
|
||||
KAS_WORK_DIR: $CI_PROJECT_DIR/work
|
||||
KAS_REPO_REF_DIR: $CI_BUILDS_DIR/persist/repos
|
||||
SSTATE_DIR: $CI_BUILDS_DIR/persist/sstate
|
||||
DL_DIR: $CI_BUILDS_DIR/persist/downloads
|
||||
KAS_BUILD_DIR: $KAS_WORK_DIR/build
|
||||
KAS_REPO_REF_DIR: ""
|
||||
SSTATE_DIR: $CACHE_DIR/sstate
|
||||
DL_DIR: $CACHE_DIR/downloads
|
||||
BB_LOGCONFIG: $CI_PROJECT_DIR/ci/logging.yml
|
||||
TOOLCHAIN_DIR: $CI_BUILDS_DIR/persist/toolchains
|
||||
TOOLCHAIN_DIR: $CACHE_DIR/toolchains
|
||||
IMAGE_DIR: $CI_PROJECT_DIR/work/build/tmp/deploy/images
|
||||
TOOLCHAIN_LINK_DIR: $CI_PROJECT_DIR/work/build/toolchains
|
||||
before_script:
|
||||
- echo KAS_WORK_DIR = $KAS_WORK_DIR
|
||||
- echo SSTATE_DIR = $SSTATE_DIR
|
||||
- echo DL_DIR = $DL_DIR
|
||||
- rm -rf $KAS_WORK_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
|
||||
- ./ci/get-binary-toolchains $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
||||
- sudo apt update && sudo apt install --yes telnet python3-subunit
|
||||
|
||||
# Generalised fragment to do a Kas build
|
||||
.build:
|
||||
extends: .setup
|
||||
variables:
|
||||
KUBERNETES_CPU_REQUEST: $CPU_REQUEST
|
||||
script:
|
||||
- KASFILES=$(./ci/jobs-to-kas "$CI_JOB_NAME")
|
||||
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
|
||||
@@ -53,14 +66,25 @@ stages:
|
||||
|
||||
|
||||
#
|
||||
# Prep stage, update repositories once
|
||||
# Prep stage, update repositories once.
|
||||
# Set the CI variable CI_CLEAN_REPOS=1 to refetch the respositories from scratch
|
||||
#
|
||||
update-repos:
|
||||
extends: .setup
|
||||
stage: prep
|
||||
script:
|
||||
- flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
|
||||
- |
|
||||
exit_code=0
|
||||
|
||||
printenv
|
||||
|
||||
if [ -n "$KAS_REPO_REF_DIR" ]; then
|
||||
flock --verbose --timeout 60 $KAS_REPO_REF_DIR --command ./ci/update-repos || exit_code=$?
|
||||
# Exit now if that failed, unless the status was 128 (fetch failed)
|
||||
test $exit_code != 0 -a $exit_code != 128 && exit 1
|
||||
fi
|
||||
|
||||
exit $exit_code
|
||||
#
|
||||
# Build stage, the actual build jobs
|
||||
#
|
||||
@@ -235,6 +259,11 @@ check-layers:
|
||||
|
||||
pending-updates:
|
||||
extends: .setup
|
||||
# Only run this job for the default branch (master), or if forced with
|
||||
# BUILD_FORCE_PENDING_UPDATES.
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
||||
- if: $BUILD_FORCE_PENDING_UPDATES != null
|
||||
artifacts:
|
||||
paths:
|
||||
- update-report
|
||||
@@ -249,8 +278,7 @@ pending-updates:
|
||||
|
||||
# What percentage of machines in the layer do we build
|
||||
machine-coverage:
|
||||
stage: build
|
||||
interruptible: true
|
||||
extends: .setup
|
||||
script:
|
||||
- ./ci/check-machine-coverage
|
||||
coverage: '/Coverage: \d+/'
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@ repos:
|
||||
meta-arm-toolchain:
|
||||
|
||||
poky:
|
||||
url: https://git.yoctoproject.org/git/poky
|
||||
url: https://git.yoctoproject.org/poky
|
||||
layers:
|
||||
meta:
|
||||
meta-poky:
|
||||
@@ -30,7 +30,7 @@ local_conf_header:
|
||||
CONF_VERSION = "2"
|
||||
BB_NUMBER_THREADS = "16"
|
||||
PARALLEL_MAKE = "-j16"
|
||||
LICENSE_FLAGS_ACCEPTED += "armcompiler Arm-FVP-EULA"
|
||||
LICENSE_FLAGS_ACCEPTED += "Arm-FVP-EULA"
|
||||
setup: |
|
||||
PACKAGE_CLASSES = "package_ipk"
|
||||
PACKAGECONFIG:remove:pn-qemu-system-native = "gtk+ sdl"
|
||||
|
||||
+23
-19
@@ -1,8 +1,9 @@
|
||||
#!/bin/bash
|
||||
set -u
|
||||
set -u -e
|
||||
|
||||
HOST_ARCH=$(uname -m)
|
||||
VER="10.3-2021.07"
|
||||
BASENAME=gcc-arm
|
||||
VER=${VER:-10.3-2021.07}
|
||||
HOST_ARCH=${HOST_ARCH:-$(uname -m)}
|
||||
|
||||
DOWNLOAD_DIR=$1
|
||||
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
|
||||
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
|
||||
#AArch64 Linux hosted cross compilers
|
||||
# AArch64 Linux hosted cross compilers
|
||||
|
||||
#AArch32 target with hard float (arm-none-linux-gnueabihf)
|
||||
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
|
||||
# AArch32 target with hard float
|
||||
download arm-none-linux-gnueabihf
|
||||
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)
|
||||
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
|
||||
# AArch32 target with hard float
|
||||
download arm-none-linux-gnueabihf
|
||||
|
||||
#AArch64 GNU/Linux target (aarch64-none-linux-gnu)
|
||||
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
|
||||
|
||||
#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
|
||||
# AArch64 GNU/Linux target
|
||||
download aarch64-none-linux-gnu
|
||||
else
|
||||
echo "ERROR - Unknown build arch of $HOST_ARCH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for i in arm aarch64 aarch64_be; do
|
||||
if [ ! -d $TOOLCHAIN_DIR/gcc-arm-$VER-$HOST_ARCH-$i-none-linux-gnu*/ ]; then
|
||||
if [ ! -f $DOWNLOAD_DIR/gcc-arm-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz ]; then
|
||||
for i in arm aarch64; do
|
||||
if [ ! -d $TOOLCHAIN_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu*/ ]; then
|
||||
if [ ! -f $DOWNLOAD_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz ]; then
|
||||
continue
|
||||
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
|
||||
|
||||
# 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
|
||||
|
||||
@@ -5,4 +5,4 @@ header:
|
||||
|
||||
repos:
|
||||
meta-virtualization:
|
||||
url: git://git.yoctoproject.org/meta-virtualization
|
||||
url: https://git.yoctoproject.org/meta-virtualization
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ header:
|
||||
|
||||
repos:
|
||||
meta-zephyr:
|
||||
url: https://git.yoctoproject.org/git/meta-zephyr
|
||||
url: https://git.yoctoproject.org/meta-zephyr
|
||||
layers:
|
||||
meta-zephyr-core:
|
||||
|
||||
|
||||
@@ -11,9 +11,7 @@ local_conf_header:
|
||||
toolchains: |
|
||||
SDKMACHINE = "x86_64"
|
||||
|
||||
# No target armcompiler as currently there is no arm64 build
|
||||
target:
|
||||
- nativesdk-armcompiler
|
||||
- gcc-aarch64-none-elf
|
||||
- nativesdk-gcc-aarch64-none-elf
|
||||
- gcc-arm-none-eabi
|
||||
|
||||
+10
-4
@@ -4,6 +4,7 @@
|
||||
|
||||
import sys
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
import pathlib
|
||||
|
||||
@@ -19,10 +20,10 @@ def repo_shortname(url):
|
||||
.replace('*', '.'))
|
||||
|
||||
repositories = (
|
||||
"https://git.yoctoproject.org/git/poky",
|
||||
"https://git.yoctoproject.org/poky",
|
||||
"https://git.openembedded.org/meta-openembedded",
|
||||
"https://git.yoctoproject.org/git/meta-virtualization",
|
||||
"https://git.yoctoproject.org/git/meta-zephyr",
|
||||
"https://git.yoctoproject.org/meta-virtualization",
|
||||
"https://git.yoctoproject.org/meta-zephyr",
|
||||
"https://github.com/kraj/meta-clang",
|
||||
)
|
||||
|
||||
@@ -35,9 +36,14 @@ if __name__ == "__main__":
|
||||
|
||||
for repo in repositories:
|
||||
repodir = base_repodir / repo_shortname(repo)
|
||||
|
||||
if "CI_CLEAN_REPOS" in os.environ:
|
||||
print("Cleaning %s..." % repo)
|
||||
shutil.rmtree(repodir, ignore_errors=True)
|
||||
|
||||
if repodir.exists():
|
||||
print("Updating %s..." % repo)
|
||||
subprocess.run(["git", "-C", repodir, "fetch"], check=True)
|
||||
subprocess.run(["git", "-C", repodir, "-c", "gc.autoDetach=false", "fetch"], check=True)
|
||||
else:
|
||||
print("Cloning %s..." % repo)
|
||||
subprocess.run(["git", "clone", "--bare", repo, repodir], check=True)
|
||||
|
||||
@@ -10,10 +10,10 @@ require conf/machine/include/arm/arch-armv8a.inc
|
||||
|
||||
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"
|
||||
|
||||
IMAGE_FSTYPES += "tar.bz2 ext4"
|
||||
IMAGE_FSTYPES += "tar.bz2 ext4 cpio.gz"
|
||||
|
||||
SERIAL_CONSOLES = "115200;ttyAMA0"
|
||||
|
||||
@@ -25,3 +25,6 @@ EXTRA_IMAGEDEPENDS += "trusted-firmware-a virtual/bootloader firmware-image-juno
|
||||
|
||||
# Juno u-boot configuration
|
||||
UBOOT_MACHINE = "vexpress_aemv8a_juno_defconfig"
|
||||
|
||||
INITRAMFS_IMAGE_BUNDLE ?= "1"
|
||||
INITRAMFS_IMAGE = "core-image-minimal"
|
||||
|
||||
@@ -63,10 +63,10 @@ do_deploy() {
|
||||
done
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
# Compress the files
|
||||
|
||||
@@ -11,10 +11,11 @@ INHIBIT_DEFAULT_DEPS = "1"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
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[sha256sum] = "57feba404026f2d6d49c167d63e0e84653ad8b808b13e2244b81fea9e0d58d66"
|
||||
SRC_URI = "git://git.linaro.org/landing-teams/working/arm/n1sdp-board-firmware.git;protocol=https;branch=master"
|
||||
|
||||
S = "${WORKDIR}/${BPN}-N1SDP-${PV}"
|
||||
SRCREV = "9a095cbdf8ef59a7433e2769e4e2e92782b68c50"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
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
|
||||
#
|
||||
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(-)
|
||||
|
||||
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
|
||||
+++ b/arch/arm64/boot/dts/arm/juno-base.dtsi
|
||||
@@ -23,11 +23,12 @@ frame@2a830000 {
|
||||
@@ -23,12 +23,13 @@ frame@2a830000 {
|
||||
};
|
||||
|
||||
mailbox: mhu@2b1f0000 {
|
||||
@@ -32,14 +32,15 @@ index 6288e104a089..36844f7d861e 100644
|
||||
+ compatible = "arm,mhu-doorbell", "arm,primecell";
|
||||
reg = <0x0 0x2b1f0000 0x0 0x1000>;
|
||||
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 = <2>;
|
||||
+ mbox-name = "ARM-MHU";
|
||||
clocks = <&soc_refclk100mhz>;
|
||||
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>;
|
||||
#iommu-cells = <1>;
|
||||
#global-interrupts = <1>;
|
||||
@@ -48,7 +49,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
dma-coherent;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -63,7 +64,7 @@ smmu_etr: iommu@2b600000 {
|
||||
@@ -64,7 +65,7 @@ smmu_etr: iommu@2b600000 {
|
||||
#iommu-cells = <1>;
|
||||
#global-interrupts = <1>;
|
||||
dma-coherent;
|
||||
@@ -57,7 +58,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
};
|
||||
|
||||
gic: interrupt-controller@2c010000 {
|
||||
@@ -123,7 +124,7 @@ etf@20010000 { /* etf0 */
|
||||
@@ -124,7 +125,7 @@ etf@20010000 { /* etf0 */
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -66,7 +67,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
|
||||
in-ports {
|
||||
port {
|
||||
@@ -147,7 +148,7 @@ tpiu@20030000 {
|
||||
@@ -148,7 +149,7 @@ tpiu@20030000 {
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -75,7 +76,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
in-ports {
|
||||
port {
|
||||
tpiu_in_port: endpoint {
|
||||
@@ -164,7 +165,7 @@ main_funnel: funnel@20040000 {
|
||||
@@ -165,7 +166,7 @@ main_funnel: funnel@20040000 {
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -84,7 +85,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
|
||||
out-ports {
|
||||
port {
|
||||
@@ -201,7 +202,7 @@ etr@20070000 {
|
||||
@@ -202,7 +203,7 @@ etr@20070000 {
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -93,7 +94,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
arm,scatter-gather;
|
||||
in-ports {
|
||||
port {
|
||||
@@ -220,7 +221,7 @@ stm@20100000 {
|
||||
@@ -221,7 +222,7 @@ stm@20100000 {
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -102,7 +103,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
out-ports {
|
||||
port {
|
||||
stm_out_port: endpoint {
|
||||
@@ -235,7 +236,7 @@ replicator@20120000 {
|
||||
@@ -236,7 +237,7 @@ replicator@20120000 {
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -111,7 +112,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
|
||||
out-ports {
|
||||
#address-cells = <1>;
|
||||
@@ -270,7 +271,7 @@ cpu_debug0: cpu-debug@22010000 {
|
||||
@@ -271,7 +272,7 @@ cpu_debug0: cpu-debug@22010000 {
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -120,7 +121,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
};
|
||||
|
||||
etm0: etm@22040000 {
|
||||
@@ -279,7 +280,7 @@ etm0: etm@22040000 {
|
||||
@@ -280,7 +281,7 @@ etm0: etm@22040000 {
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -129,7 +130,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
out-ports {
|
||||
port {
|
||||
cluster0_etm0_out_port: endpoint {
|
||||
@@ -295,7 +296,7 @@ funnel@220c0000 { /* cluster0 funnel */
|
||||
@@ -296,7 +297,7 @@ funnel@220c0000 { /* cluster0 funnel */
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -138,7 +139,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
out-ports {
|
||||
port {
|
||||
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>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -147,7 +148,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
};
|
||||
|
||||
etm1: etm@22140000 {
|
||||
@@ -339,7 +340,7 @@ etm1: etm@22140000 {
|
||||
@@ -340,7 +341,7 @@ etm1: etm@22140000 {
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -156,7 +157,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
out-ports {
|
||||
port {
|
||||
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>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -165,7 +166,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
};
|
||||
|
||||
etm2: etm@23040000 {
|
||||
@@ -364,7 +365,7 @@ etm2: etm@23040000 {
|
||||
@@ -365,7 +366,7 @@ etm2: etm@23040000 {
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -174,7 +175,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
out-ports {
|
||||
port {
|
||||
cluster1_etm0_out_port: endpoint {
|
||||
@@ -380,7 +381,7 @@ funnel@230c0000 { /* cluster1 funnel */
|
||||
@@ -381,7 +382,7 @@ funnel@230c0000 { /* cluster1 funnel */
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -183,7 +184,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
out-ports {
|
||||
port {
|
||||
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>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -192,7 +193,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
};
|
||||
|
||||
etm3: etm@23140000 {
|
||||
@@ -436,7 +437,7 @@ etm3: etm@23140000 {
|
||||
@@ -437,7 +438,7 @@ etm3: etm@23140000 {
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -201,7 +202,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
out-ports {
|
||||
port {
|
||||
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>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -210,7 +211,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
};
|
||||
|
||||
etm4: etm@23240000 {
|
||||
@@ -461,7 +462,7 @@ etm4: etm@23240000 {
|
||||
@@ -462,7 +463,7 @@ etm4: etm@23240000 {
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -219,7 +220,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
out-ports {
|
||||
port {
|
||||
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>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -228,7 +229,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
};
|
||||
|
||||
etm5: etm@23340000 {
|
||||
@@ -486,7 +487,7 @@ etm5: etm@23340000 {
|
||||
@@ -487,7 +488,7 @@ etm5: etm@23340000 {
|
||||
|
||||
clocks = <&soc_smc50mhz>;
|
||||
clock-names = "apb_pclk";
|
||||
@@ -237,7 +238,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
out-ports {
|
||||
port {
|
||||
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 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "job", "mmu", "gpu";
|
||||
@@ -248,7 +249,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
dma-coherent;
|
||||
/* The SMMU is only really of interest to bare-metal hypervisors */
|
||||
/* iommus = <&smmu_gpu 0>; */
|
||||
@@ -519,14 +520,24 @@ sram: sram@2e000000 {
|
||||
@@ -520,14 +521,24 @@ sram: sram@2e000000 {
|
||||
#size-cells = <1>;
|
||||
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 {
|
||||
polling-delay = <1000>;
|
||||
polling-delay-passive = <100>;
|
||||
- thermal-sensors = <&scpi_sensors0 0>;
|
||||
+ thermal-sensors = <&scmi_sensors0 0>;
|
||||
};
|
||||
|
||||
trips {
|
||||
pmic_crit0: trip0 {
|
||||
temperature = <90000>;
|
||||
@@ -609,7 +620,7 @@ pmic_crit0: trip0 {
|
||||
soc {
|
||||
polling-delay = <1000>;
|
||||
polling-delay-passive = <100>;
|
||||
- thermal-sensors = <&scpi_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 {
|
||||
polling-delay = <1000>;
|
||||
polling-delay-passive = <100>;
|
||||
@@ -388,7 +393,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
@@ -705,7 +716,7 @@ hdlcd@7ff50000 {
|
||||
@@ -719,7 +730,7 @@ hdlcd@7ff50000 {
|
||||
reg = <0 0x7ff50000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
|
||||
iommus = <&smmu_hdlcd1 0>;
|
||||
@@ -397,7 +402,7 @@ index 6288e104a089..36844f7d861e 100644
|
||||
clock-names = "pxlclk";
|
||||
|
||||
port {
|
||||
@@ -720,7 +731,7 @@ hdlcd@7ff60000 {
|
||||
@@ -734,7 +745,7 @@ hdlcd@7ff60000 {
|
||||
reg = <0 0x7ff60000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
|
||||
iommus = <&smmu_hdlcd0 0>;
|
||||
@@ -612,5 +617,5 @@ index f00cffbd032c..a28316c65c1b 100644
|
||||
capacity-dmips-mhz = <578>;
|
||||
dynamic-power-coefficient = <140>;
|
||||
--
|
||||
2.25.1
|
||||
2.30.2
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
CONFIG_MTD_NAND_FSL_IFC=n
|
||||
@@ -91,7 +91,10 @@ COMPATIBLE_MACHINE:juno = "juno"
|
||||
KBUILD_DEFCONFIG:juno = "defconfig"
|
||||
KCONFIG_MODE:juno = "--alldefconfig"
|
||||
FILESEXTRAPATHS:prepend:juno := "${ARMBSPFILESPATHS}"
|
||||
SRC_URI:append:juno = " file://juno-dts-mhu-doorbell.patch"
|
||||
SRC_URI:append:juno = " \
|
||||
file://juno-dts-mhu-doorbell.patch \
|
||||
file://no-fsl-ifc-nand.cfg \
|
||||
"
|
||||
|
||||
#
|
||||
# Musca B1/S2 can't run Linux
|
||||
@@ -116,6 +119,7 @@ SRC_URI:append:n1sdp = " \
|
||||
file://enable-realtek-R8169.cfg \
|
||||
file://enable-usb_conn_gpio.cfg \
|
||||
file://usb_xhci_pci_renesas.cfg \
|
||||
file://no-fsl-ifc-nand.cfg \
|
||||
"
|
||||
# Since we use the intree defconfig and the preempt-rt turns off some configs
|
||||
# do_kernel_configcheck will display warnings. So, lets disable it.
|
||||
|
||||
+2
-2
@@ -148,9 +148,9 @@ index a531064233f9..ebe192134a97 100644
|
||||
* Some NVIDIA GPU devices do not work with bus reset, SBR needs to be
|
||||
* prevented for those affected devices.
|
||||
@@ -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 },
|
||||
/* Wangxun nics */
|
||||
{ PCI_VENDOR_ID_WANGXUN, PCI_ANY_ID, pci_quirk_wangxun_nic_acs },
|
||||
+ { PCI_ANY_ID, PCI_ANY_ID, pcie_acs_overrides },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
+17
-8
@@ -53,7 +53,7 @@ new file mode 100644
|
||||
index 0000000..840683a
|
||||
--- /dev/null
|
||||
+++ b/deployments/se-proxy/opteesp/lse.S
|
||||
@@ -0,0 +1,19 @@
|
||||
@@ -0,0 +1,28 @@
|
||||
+// SPDX-License-Identifier: BSD-3-Clause
|
||||
+/*
|
||||
+ * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
|
||||
@@ -61,18 +61,27 @@ index 0000000..840683a
|
||||
+
|
||||
+.text
|
||||
+.globl __aarch64_cas4_acq_rel
|
||||
+.globl __aarch64_cas4_sync
|
||||
+
|
||||
+__aarch64_cas4_acq_rel:
|
||||
+ mov w16, w0
|
||||
+ ldaxr w0, [x2]
|
||||
+ cmp w0, w16
|
||||
+0: bne 1f
|
||||
+ mov w16, w0
|
||||
+ ldaxr w0, [x2]
|
||||
+ cmp w0, w16
|
||||
+0: bne 1f
|
||||
+
|
||||
+ stlxr w17, w1, [x2]
|
||||
+ cbnz w17, 0b
|
||||
+1: ret
|
||||
+ stlxr w17, w1, [x2]
|
||||
+ cbnz w17, 0b
|
||||
+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
|
||||
new file mode 100644
|
||||
index 0000000..3a647e6
|
||||
|
||||
@@ -10,6 +10,3 @@ BBFILE_PRIORITY_arm-toolchain = "5"
|
||||
|
||||
LAYERDEPENDS_arm-toolchain = "core"
|
||||
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
|
||||
}
|
||||
@@ -3,7 +3,7 @@ LICENSE = "BSD-3-Clause"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=bb63326febfb5fb909226c8e7ebcef5c"
|
||||
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git;branch=master"
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git;branch=master;protocol=https"
|
||||
SRCREV = "1044c77062573985f7c994c3b6cef5695f57e955"
|
||||
|
||||
PV = "git${SRCPV}"
|
||||
|
||||
@@ -101,9 +101,9 @@ def remove_options_tail (in_string):
|
||||
from itertools import takewhile
|
||||
return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' ')))
|
||||
|
||||
EXTRA_OEMAKE += "LD=${@remove_options_tail(d.getVar('LD'))}"
|
||||
EXTRA_OEMAKE += "LD='${@remove_options_tail(d.getVar('LD'))}'"
|
||||
|
||||
EXTRA_OEMAKE += "CC=${@remove_options_tail(d.getVar('CC'))}"
|
||||
EXTRA_OEMAKE += "CC='${@remove_options_tail(d.getVar('CC'))}'"
|
||||
|
||||
# Verbose builds, no -Werror
|
||||
EXTRA_OEMAKE += "V=1 E=0"
|
||||
|
||||
@@ -48,6 +48,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
DEPENDS += "cmake-native \
|
||||
ninja-native \
|
||||
gcc-arm-none-eabi-native \
|
||||
python3-intelhex-native \
|
||||
python3-jinja2-native \
|
||||
python3-pyyaml-native \
|
||||
@@ -68,14 +69,14 @@ python() {
|
||||
raise bb.parse.SkipRecipe("TFM_PLATFORM needs to be set")
|
||||
}
|
||||
|
||||
PACKAGECONFIG ??= "cc-gnuarm"
|
||||
# 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"
|
||||
PACKAGECONFIG ??= ""
|
||||
# Whether to integrate the test suite
|
||||
PACKAGECONFIG[test-secure] = "-DTEST_S=ON,-DTEST_S=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
|
||||
EXTRA_OECMAKE += "-DFETCHCONTENT_FULLY_DISCONNECTED=ON"
|
||||
|
||||
|
||||
@@ -77,9 +77,14 @@ export BTOOLS_PATH = "${EDK_TOOLS_PATH}/BinWrappers/PosixLike"
|
||||
|
||||
EDK_COMPILER ?= "GCC5"
|
||||
export GCC5_AARCH64_PREFIX = "${TARGET_PREFIX}"
|
||||
export GCC5_ARM_PREFIX = "${TARGET_PREFIX}"
|
||||
|
||||
EDK_COMPILER:toolchain-clang = "CLANG38"
|
||||
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() {
|
||||
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_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"
|
||||
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
|
||||
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"
|
||||
|
||||
SRC_URI = "git://github.com/Linaro/OpenCSD;protocol=https;branch=master"
|
||||
SRCREV = "dac554d62d514b202174506995afc0e109ef3fea"
|
||||
SRCREV = "539fea3eabd4ce7574494981cd3d0906cfdc5f18"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
CONFIG_ACPI=y
|
||||
CONFIG_EFI=y
|
||||
@@ -0,0 +1 @@
|
||||
CONFIG_MTD_NAND_FSL_IFC=n
|
||||
@@ -4,6 +4,7 @@ COMPATIBLE_MACHINE:generic-arm64 = "generic-arm64"
|
||||
FILESEXTRAPATHS:prepend:generic-arm64 = "${ARMFILESPATHS}"
|
||||
SRC_URI:append:generic-arm64 = " \
|
||||
file://tcpci.cfg \
|
||||
file://no-fsl-ifc-nand.cfg \
|
||||
"
|
||||
|
||||
FILESEXTRAPATHS:prepend:qemuarm64-secureboot = "${ARMFILESPATHS}"
|
||||
@@ -11,3 +12,9 @@ SRC_URI:append:qemuarm64-secureboot = " \
|
||||
file://skip-unavailable-memory.patch \
|
||||
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"
|
||||
|
||||
@@ -9,6 +9,6 @@ DEPENDS:append = "\
|
||||
|
||||
EXTRA_OEMAKE:append = "${@bb.utils.contains('MACHINE_FEATURES', \
|
||||
'optee-ftpm', \
|
||||
'CFG_EARLY_TA=y EARLY_TA_PATHS="${STAGING_DIR_TARGET}/lib/optee_armtz/${FTPM_UUID}.stripped.elf"', \
|
||||
'CFG_EARLY_TA=y EARLY_TA_PATHS="${STAGING_DIR_TARGET}/${base_libdir}/optee_armtz/${FTPM_UUID}.stripped.elf"', \
|
||||
'', \
|
||||
d)} "
|
||||
|
||||
@@ -145,7 +145,6 @@ recipes = ("virtual/kernel",
|
||||
"edk2-firmware",
|
||||
"u-boot",
|
||||
"optee-os",
|
||||
"armcompiler-native",
|
||||
"gcc-aarch64-none-elf-native",
|
||||
"gcc-arm-none-eabi-native")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user