mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-10-15 05:17:14 +00:00
Compare commits
67
Commits
5.0.2
...
gatesgarth
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dc9e257f2b | ||
|
|
5c84950712 | ||
|
|
18453b87f7 | ||
|
|
cd1672a846 | ||
|
|
a0382c6a57 | ||
|
|
2a2123dac0 | ||
|
|
8e1b0e4a57 | ||
|
|
9dcbf55176 | ||
|
|
b4f3880979 | ||
|
|
d841a47d6e | ||
|
|
b9d54fefa0 | ||
|
|
a0b2c6fc71 | ||
|
|
34f64a0523 | ||
|
|
3b8ad597c9 | ||
|
|
6a6510b508 | ||
|
|
6ebec2da19 | ||
|
|
aa5fb3d6f9 | ||
|
|
23d9da9cee | ||
|
|
8f13054eea | ||
|
|
b3427f9001 | ||
|
|
5fc1de74b8 | ||
|
|
39bc4076b2 | ||
|
|
b4abab2203 | ||
|
|
a6243e60bd | ||
|
|
54b55deeb8 | ||
|
|
a11e752a28 | ||
|
|
f4129ee8a8 | ||
|
|
c200941b15 | ||
|
|
2c5dea8979 | ||
|
|
498f88004c | ||
|
|
0f33099a82 | ||
|
|
aff8d93108 | ||
|
|
87ceedf4d2 | ||
|
|
e219ef606e | ||
|
|
fc4b2f8907 | ||
|
|
d8074cb6a0 | ||
|
|
48720822d6 | ||
|
|
7336830dab | ||
|
|
332410055a | ||
|
|
7c3a55f8ff | ||
|
|
ac9f59ca62 | ||
|
|
fb196bacd6 | ||
|
|
6e3e29857c | ||
|
|
d235d4b53e | ||
|
|
5207074884 | ||
|
|
7185d29de9 | ||
|
|
932d35bab0 | ||
|
|
d12eadacd0 | ||
|
|
e45752aa6f | ||
|
|
a365b3bd7e | ||
|
|
7b82307c0a | ||
|
|
a72b89ccd1 | ||
|
|
1cd14b33c1 | ||
|
|
27ed22b040 | ||
|
|
b97016fcfa | ||
|
|
eff9e62526 | ||
|
|
892c9686bf | ||
|
|
e8cc03775e | ||
|
|
4cae9fe87b | ||
|
|
784ef62cc4 | ||
|
|
1a0a9700f2 | ||
|
|
ba30bf591e | ||
|
|
0c59d1cf42 | ||
|
|
289982e1cb | ||
|
|
44e51aa5be | ||
|
|
b8bb75b4d3 | ||
|
|
0057143f4b |
No files matched your search
+193
@@ -0,0 +1,193 @@
|
|||||||
|
# We need 2.6.3 as this is the latest container with an old enough distro
|
||||||
|
image: ghcr.io/siemens/kas/kas:2.6.3
|
||||||
|
|
||||||
|
# First do a common bootstrap, and then build all the targets
|
||||||
|
stages:
|
||||||
|
- prep
|
||||||
|
- bootstrap
|
||||||
|
- build
|
||||||
|
|
||||||
|
# Common job fragment to get a worker ready
|
||||||
|
.setup:
|
||||||
|
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
|
||||||
|
BB_LOGCONFIG: $CI_PROJECT_DIR/ci/logging.yml
|
||||||
|
TOOLCHAIN_DIR: $CI_BUILDS_DIR/persist/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
|
||||||
|
|
||||||
|
# Generalised fragment to do a Kas build
|
||||||
|
.build:
|
||||||
|
extends: .setup
|
||||||
|
script:
|
||||||
|
- KASFILES=$(./ci/jobs-to-kas $CI_JOB_NAME)
|
||||||
|
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
|
||||||
|
- kas build $KASFILES
|
||||||
|
- ./ci/check-warnings $KAS_WORK_DIR/build/warnings.log
|
||||||
|
|
||||||
|
#
|
||||||
|
# Prep stage, update repositories once
|
||||||
|
#
|
||||||
|
update-repos:
|
||||||
|
extends: .setup
|
||||||
|
stage: prep
|
||||||
|
script:
|
||||||
|
- flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bootstrap stage, bootstrap and machine coverage
|
||||||
|
#
|
||||||
|
|
||||||
|
# Build a number of native tools first to ensure the other builders don't race
|
||||||
|
# over them
|
||||||
|
n1sdp/bootstrap:
|
||||||
|
extends: .build
|
||||||
|
stage: bootstrap
|
||||||
|
|
||||||
|
# What percentage of machines in the layer do we build
|
||||||
|
machine-coverage:
|
||||||
|
stage: bootstrap
|
||||||
|
interruptible: true
|
||||||
|
script:
|
||||||
|
- ./ci/check-machine-coverage
|
||||||
|
coverage: '/Coverage: \d+/'
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Build stage, the actual build jobs
|
||||||
|
#
|
||||||
|
|
||||||
|
a5ds:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
corstone700-fvp:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
corstone700-mps3:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
foundation-armv8:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
fvp-base:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
fvp-base-arm32:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
fvp-base-arm32/external-gccarm:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
gem5-arm64:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
juno:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
juno/clang:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
musca-b1:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
musca-s1:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
n1sdp:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
# This job currently fails when building gcc-runtime:
|
||||||
|
# cc1: error: switch '-mcpu=armv8.2-a' conflicts with '-march=armv8-a' switch [-Werror]
|
||||||
|
# Mark as manual so it doesn't get executed automatically
|
||||||
|
n1sdp/armgcc:
|
||||||
|
extends: .build
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
qemuarm/testimage:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
qemuarm64-secureboot/testimage:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
qemuarm64-secureboot/clang/testimage:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
qemuarm64-secureboot/clang/musl/testimage:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
qemuarm64-secureboot/musl/testimage:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
qemuarmv5/testimage:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
sgi575:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
tc0:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Utility tasks, not executed automatically
|
||||||
|
#
|
||||||
|
|
||||||
|
delete-dl-dir:
|
||||||
|
extends: .setup
|
||||||
|
stage: prep
|
||||||
|
when: manual
|
||||||
|
script:
|
||||||
|
- rm -rf $DL_DIR/*
|
||||||
|
|
||||||
|
delete-repo-dir:
|
||||||
|
extends: .setup
|
||||||
|
stage: prep
|
||||||
|
when: manual
|
||||||
|
script:
|
||||||
|
- rm -rf $KAS_REPO_REF_DIR/*
|
||||||
|
|
||||||
|
# Delete all sstate
|
||||||
|
delete-sstate:
|
||||||
|
extends: .setup
|
||||||
|
stage: prep
|
||||||
|
when: manual
|
||||||
|
script:
|
||||||
|
- rm -rf $SSTATE_DIR/*
|
||||||
|
|
||||||
|
delete-toolchains:
|
||||||
|
extends: .setup
|
||||||
|
stage: prep
|
||||||
|
when: manual
|
||||||
|
script:
|
||||||
|
- rm -rf $TOOLCHAIN_DIR/*
|
||||||
|
|
||||||
|
# Wipe out old sstate
|
||||||
|
prune-sstate:
|
||||||
|
extends: .setup
|
||||||
|
stage: prep
|
||||||
|
when: manual
|
||||||
|
script:
|
||||||
|
- du -h -s $SSTATE_DIR
|
||||||
|
- find $SSTATE_DIR -type f -atime +30 -delete
|
||||||
|
- du -h -s $SSTATE_DIR
|
||||||
|
|
||||||
|
# Report on disk usage
|
||||||
|
usage:
|
||||||
|
extends: .setup
|
||||||
|
stage: prep
|
||||||
|
when: manual
|
||||||
|
script:
|
||||||
|
- du -h -s $DL_DIR $SSTATE_DIR $KAS_REPO_REF_DIR $TOOLCHAIN_DIR
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: a5ds
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
libc: |
|
||||||
|
GCCVERSION = "arm-9.2"
|
||||||
+45
@@ -0,0 +1,45 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
|
||||||
|
distro: poky
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
repos:
|
||||||
|
refspec: gatesgarth
|
||||||
|
|
||||||
|
repos:
|
||||||
|
meta-arm:
|
||||||
|
layers:
|
||||||
|
meta-arm:
|
||||||
|
meta-arm-bsp:
|
||||||
|
meta-arm-toolchain:
|
||||||
|
|
||||||
|
poky:
|
||||||
|
url: https://git.yoctoproject.org/git/poky
|
||||||
|
layers:
|
||||||
|
meta:
|
||||||
|
meta-poky:
|
||||||
|
|
||||||
|
env:
|
||||||
|
BB_LOGCONFIG: ""
|
||||||
|
TOOLCHAIN_DIR: ""
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
base: |
|
||||||
|
CONF_VERSION = "1"
|
||||||
|
PACKAGE_CLASSES = "package_ipk"
|
||||||
|
LICENSE_FLAGS_WHITELIST += "armcompiler"
|
||||||
|
PACKAGECONFIG_remove_pn-qemu-system-native = "gtk+ sdl"
|
||||||
|
EXTRA_IMAGE_FEATURES_append = " debug-tweaks"
|
||||||
|
BB_NUMBER_THREADS = "16"
|
||||||
|
PARALLEL_MAKE = "-j16"
|
||||||
|
INHERIT += "rm_work"
|
||||||
|
PACKAGECONFIG_append_pn-perf = " coresight"
|
||||||
|
ptest: |
|
||||||
|
DISTRO_FEATURES_remove = "ptest"
|
||||||
|
|
||||||
|
machine: unset
|
||||||
|
|
||||||
|
target:
|
||||||
|
- core-image-base
|
||||||
|
- perf
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
|
||||||
|
target:
|
||||||
|
- binutils-cross-aarch64
|
||||||
|
- gcc-cross-aarch64
|
||||||
|
- python3-native
|
||||||
|
- opkg-native
|
||||||
|
- rpm-native
|
||||||
Executable
+26
@@ -0,0 +1,26 @@
|
|||||||
|
#! /usr/bin/env python3
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
import sys
|
||||||
|
|
||||||
|
metaarm = Path.cwd()
|
||||||
|
|
||||||
|
if metaarm.name != "meta-arm":
|
||||||
|
print("Not running inside meta-arm")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# All machine configurations
|
||||||
|
machines = metaarm.glob("meta-*/conf/machine/*.conf")
|
||||||
|
machines = set(p.stem for p in machines)
|
||||||
|
|
||||||
|
# All ci files
|
||||||
|
ci = metaarm.glob("ci/*.yml")
|
||||||
|
ci = set(p.stem for p in ci)
|
||||||
|
|
||||||
|
missing = machines - ci
|
||||||
|
print(f"The following machines are missing: {', '.join(sorted(missing))}.")
|
||||||
|
|
||||||
|
covered = len(machines) - len(missing)
|
||||||
|
total = len(machines)
|
||||||
|
percent = int(covered / total * 100)
|
||||||
|
print(f"Coverage: {percent}%")
|
||||||
Executable
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
# Expects the path to a log file as $1, and if this file has any content
|
||||||
|
# then display the contents and exit with an error code.
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
LOGFILE=$1
|
||||||
|
|
||||||
|
LINES=$(grep --invert-match "attempting MIRRORS if available" $LOGFILE | wc -l)
|
||||||
|
if test "$LINES" -ne 0; then
|
||||||
|
echo ==============================
|
||||||
|
echo The build had warnings/errors:
|
||||||
|
echo ==============================
|
||||||
|
cat $LOGFILE
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
|
||||||
|
repos:
|
||||||
|
meta-clang:
|
||||||
|
url: https://github.com/kraj/meta-clang
|
||||||
|
refspec: gatesgarth
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
clang: |
|
||||||
|
TOOLCHAIN = "clang"
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: corstone700-fvp
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
image: |
|
||||||
|
CORE_IMAGE_EXTRA_INSTALL = "corstone700-test-app"
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- corstone700-fvp.yml
|
||||||
|
|
||||||
|
machine: corstone700-mps3
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
cc: |
|
||||||
|
PNBLACKLIST[gcc-cross-arm] = "Using external toolchain"
|
||||||
|
TCMODE = "external-arm"
|
||||||
|
EXTERNAL_TOOLCHAIN = "${TOPDIR}/toolchains/${TARGET_ARCH}"
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: foundation-armv8
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: fvp-base-arm32
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: fvp-base
|
||||||
|
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
repos:
|
||||||
|
meta-arm:
|
||||||
|
layers:
|
||||||
|
meta-gem5:
|
||||||
|
|
||||||
|
meta-openembedded:
|
||||||
|
url: https://git.openembedded.org/meta-openembedded
|
||||||
|
layers:
|
||||||
|
meta-oe:
|
||||||
|
|
||||||
|
machine: gem5-arm64
|
||||||
|
|
||||||
|
target:
|
||||||
|
- core-image-minimal
|
||||||
|
- perf
|
||||||
|
- gem5-aarch64-native
|
||||||
Executable
+46
@@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -u
|
||||||
|
|
||||||
|
HOST_ARCH=$(uname -m)
|
||||||
|
VER="10.2-2020.11"
|
||||||
|
|
||||||
|
DOWNLOAD_DIR=$1
|
||||||
|
TOOLCHAIN_DIR=$2
|
||||||
|
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
|
||||||
|
|
||||||
|
if [ $HOST_ARCH = "aarch64" ]; then
|
||||||
|
#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-a/$VER/binrel/gcc-arm-$VER-$HOST_ARCH-arm-none-linux-gnueabihf.tar.xz
|
||||||
|
elif [ $HOST_ARCH = "x86_64" ]; then
|
||||||
|
#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-a/$VER/binrel/gcc-arm-$VER-$HOST_ARCH-arm-none-linux-gnueabihf.tar.xz
|
||||||
|
|
||||||
|
#AArch64 GNU/Linux target (aarch64-none-linux-gnu)
|
||||||
|
wget -P $DOWNLOAD_DIR -nc https://developer.arm.com/-/media/Files/downloads/gnu-a/$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-a/$VER/binrel/gcc-arm-$VER-$HOST_ARCH-aarch64_be-none-linux-gnu.tar.xz
|
||||||
|
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
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
tar -C $TOOLCHAIN_DIR -axvf $DOWNLOAD_DIR/gcc-arm-$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
|
||||||
|
done
|
||||||
Executable
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
# Read a GitLab CI job name on $1 and transform it to a
|
||||||
|
# list of Kas yaml files
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
# Read Job namne from $1 and split on /
|
||||||
|
IFS=/ read -r -a PARTS<<<$1
|
||||||
|
|
||||||
|
# Prefix each part with ci/
|
||||||
|
PARTS=("${PARTS[@]/#/ci/}")
|
||||||
|
|
||||||
|
# Suffix each part with .yml
|
||||||
|
PARTS=("${PARTS[@]/%/.yml}")
|
||||||
|
|
||||||
|
# Print colon-separated
|
||||||
|
IFS=":"
|
||||||
|
echo "${PARTS[*]}"
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: juno
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Python logging configuration to write all warnings to a separate file
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
warnings:
|
||||||
|
class: logging.FileHandler
|
||||||
|
level: WARNING
|
||||||
|
filename: warnings.log
|
||||||
|
formatter: BitBake.logfileFormatter
|
||||||
|
|
||||||
|
loggers:
|
||||||
|
BitBake:
|
||||||
|
handlers: [warnings]
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
|
||||||
|
repos:
|
||||||
|
meta-openembedded:
|
||||||
|
url: https://git.openembedded.org/meta-openembedded
|
||||||
|
layers:
|
||||||
|
meta-oe:
|
||||||
|
meta-python:
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- meta-python.yml
|
||||||
|
|
||||||
|
repos:
|
||||||
|
meta-zephyr:
|
||||||
|
url: https://git.yoctoproject.org/git/meta-zephyr
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
- meta-zephyr.yml
|
||||||
|
|
||||||
|
machine: musca-b1
|
||||||
|
|
||||||
|
target:
|
||||||
|
- trusted-firmware-m
|
||||||
|
- zephyr-philosophers
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
- meta-python.yml
|
||||||
|
|
||||||
|
machine: musca-s1
|
||||||
|
|
||||||
|
target:
|
||||||
|
- trusted-firmware-m
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
libc: |
|
||||||
|
TCLIBC = "musl"
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: n1sdp
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: qemuarm
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: qemuarm64-secureboot
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
bugs: |
|
||||||
|
# Only ping until errors can be resolved
|
||||||
|
TEST_SUITES = "ping"
|
||||||
|
|
||||||
|
target:
|
||||||
|
- core-image-base
|
||||||
|
- perf
|
||||||
|
- optee-examples
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: qemuarmv5
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
bugs: |
|
||||||
|
# Remove parselogs until errors can be resolved
|
||||||
|
TEST_SUITES_remove = "parselogs"
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: sgi575
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: tc0
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
testimage: |
|
||||||
|
IMAGE_CLASSES += "testimage"
|
||||||
|
TESTIMAGE_AUTO = "1"
|
||||||
|
slirp: |
|
||||||
|
TEST_RUNQEMUPARAMS = "slirp"
|
||||||
|
TEST_SERVER_IP = "127.0.0.1"
|
||||||
|
QEMU_USE_SLIRP = "1"
|
||||||
|
packages: |
|
||||||
|
IMAGE_FEATURES_append = " ssh-server-dropbear"
|
||||||
|
|
||||||
|
# Multiple targets are available, put it down to just one
|
||||||
|
target:
|
||||||
|
- core-image-base
|
||||||
Executable
+41
@@ -0,0 +1,41 @@
|
|||||||
|
#! /usr/bin/env python3
|
||||||
|
|
||||||
|
# Update clones of the repositories we need in KAS_REPO_REF_DIR to speed up fetches
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import pathlib
|
||||||
|
|
||||||
|
def repo_shortname(url):
|
||||||
|
# Taken from Kas (Repo.__getattr__) to ensure the logic is right
|
||||||
|
from urllib.parse import urlparse
|
||||||
|
url = urlparse(url)
|
||||||
|
return ('{url.netloc}{url.path}'
|
||||||
|
.format(url=url)
|
||||||
|
.replace('@', '.')
|
||||||
|
.replace(':', '.')
|
||||||
|
.replace('/', '.')
|
||||||
|
.replace('*', '.'))
|
||||||
|
|
||||||
|
repositories = (
|
||||||
|
"https://git.yoctoproject.org/git/poky",
|
||||||
|
"https://git.openembedded.org/meta-openembedded",
|
||||||
|
"https://git.yoctoproject.org/git/meta-virtualization",
|
||||||
|
"https://git.yoctoproject.org/git/meta-zephyr",
|
||||||
|
"https://github.com/kraj/meta-clang",
|
||||||
|
)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
if "KAS_REPO_REF_DIR" not in os.environ:
|
||||||
|
print("KAS_REPO_REF_DIR needs to be set")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
base_repodir = pathlib.Path(os.environ["KAS_REPO_REF_DIR"])
|
||||||
|
|
||||||
|
for repo in repositories:
|
||||||
|
repodir = base_repodir / repo_shortname(repo)
|
||||||
|
if repodir.exists():
|
||||||
|
subprocess.run(["git", "-C", repodir, "fetch"], check=True)
|
||||||
|
else:
|
||||||
|
subprocess.run(["git", "clone", "--bare", repo, repodir], check=True)
|
||||||
@@ -14,6 +14,7 @@ LAYERDEPENDS_meta-arm-autonomy = " \
|
|||||||
core \
|
core \
|
||||||
yocto \
|
yocto \
|
||||||
openembedded-layer \
|
openembedded-layer \
|
||||||
|
networking-layer \
|
||||||
virtualization-layer \
|
virtualization-layer \
|
||||||
"
|
"
|
||||||
LAYERSERIES_COMPAT_meta-arm-autonomy = "gatesgarth"
|
LAYERSERIES_COMPAT_meta-arm-autonomy = "gatesgarth"
|
||||||
|
|||||||
@@ -0,0 +1,195 @@
|
|||||||
|
arm-autonomy Multiconfig Build Environment Instructions
|
||||||
|
==================
|
||||||
|
|
||||||
|
This documentation explains how to simplify the process of building hosts
|
||||||
|
and guests in a single bitbake command, rather than in seperate build
|
||||||
|
folders. You can read more about multiconfig in the bitbake documentation:
|
||||||
|
|
||||||
|
- [bitbake user manual](https://www.yoctoproject.org/docs/latest/bitbake-user-manual/bitbake-user-manual.html)
|
||||||
|
|
||||||
|
To achieve a multiconfig build, a number of different config files need to
|
||||||
|
be created in a single build directory.
|
||||||
|
|
||||||
|
Create a new project
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Before you start, you will need to follow the instructions in
|
||||||
|
"Create a project" from the quickstart guide, to create a new project
|
||||||
|
directory with
|
||||||
|
```
|
||||||
|
oe-init-build-env my-mc-project
|
||||||
|
```
|
||||||
|
Ensure it has all the required layers in bblayers.conf as listed in
|
||||||
|
`arm-autonomy-quickstart.md`. The result should be a directory containing:
|
||||||
|
|
||||||
|
```
|
||||||
|
-- conf
|
||||||
|
| -- bblayers.conf
|
||||||
|
| -- local.conf
|
||||||
|
| -- templateconf.cfg
|
||||||
|
```
|
||||||
|
|
||||||
|
Add multiconfig
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Here are the steps required to make the project build both the host and any
|
||||||
|
number of guests as required.
|
||||||
|
|
||||||
|
1. Create a new directory under `conf/` named `multiconfig/`
|
||||||
|
|
||||||
|
2. Create two new files in this directory:
|
||||||
|
`multiconfig/host.conf`
|
||||||
|
`multiconfig/guest.conf`
|
||||||
|
These files will contain any configurations that a specific to either the
|
||||||
|
host or the guest
|
||||||
|
|
||||||
|
```
|
||||||
|
-- conf
|
||||||
|
| -- bblayers.conf
|
||||||
|
| -- local.conf
|
||||||
|
| -- templateconf.cfg
|
||||||
|
| -- multiconfig
|
||||||
|
| -- host.conf
|
||||||
|
| -- guest.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
3. In `local.conf` the following config variables must be added:
|
||||||
|
|
||||||
|
```
|
||||||
|
MACHINE ?= "fvp-base"
|
||||||
|
|
||||||
|
# ---Guest Config Start--- #
|
||||||
|
MC_GUEST = "guest"
|
||||||
|
|
||||||
|
MC_GUEST_NAME = "guest1"
|
||||||
|
|
||||||
|
MC_GUEST_IMAGERECIPE = "core-image-minimal"
|
||||||
|
MC_GUEST_MACHINE = "arm64-autonomy-guest"
|
||||||
|
|
||||||
|
MC_GUEST_INITRAMFS_IMAGE_BUNDLE ?= ""
|
||||||
|
MC_GUEST_INITRAMFS_IMAGE ?= ""
|
||||||
|
|
||||||
|
# Uncomment for initramfs
|
||||||
|
#MC_GUEST_INITRAMFS_IMAGE_BUNDLE = "1"
|
||||||
|
#MC_GUEST_INITRAMFS_IMAGE = "${MC_GUEST_IMAGERECIPE}"
|
||||||
|
|
||||||
|
# These variables are set automatically, don't edit them!
|
||||||
|
MC_GUEST_FILENAME_PREFIX = "${@ 'Image-initramfs' if d.getVar('MC_GUEST_INITRAMFS_IMAGE_BUNDLE',d) else '${MC_GUEST_IMAGERECIPE}' }"
|
||||||
|
|
||||||
|
MC_GUEST_FILENAME = "${MC_GUEST_FILENAME_PREFIX}-${MC_GUEST_MACHINE}.xenguest"
|
||||||
|
|
||||||
|
MC_GUEST_DEP = "${@ 'virtual/kernel:do_deploy' if d.getVar('MC_GUEST_INITRAMFS_IMAGE_BUNDLE',d) else '${MC_GUEST_IMAGERECIPE}:do_image_complete'}"
|
||||||
|
|
||||||
|
MC_DOIMAGE_MCDEPENDS += "mc:${MC_HOST}:${MC_GUEST}:${MC_GUEST_DEP} "
|
||||||
|
|
||||||
|
BBMULTICONFIG += "${MC_GUEST} "
|
||||||
|
|
||||||
|
ARM_AUTONOMY_HOST_IMAGE_EXTERN_GUESTS += "file://${TOPDIR}/${MC_GUEST}/deploy/images/${MC_GUEST_MACHINE}/${MC_GUEST_FILENAME};guestname=${MC_GUEST_NAME} "
|
||||||
|
# ---Guest Config End--- #
|
||||||
|
|
||||||
|
# ---Host Config Start--- #
|
||||||
|
MC_HOST = "host"
|
||||||
|
|
||||||
|
BBMULTICONFIG += "${MC_HOST} "
|
||||||
|
# ---Host Config End--- #
|
||||||
|
```
|
||||||
|
|
||||||
|
These variables will be used in both of the multiconf files. `MC_HOST` and
|
||||||
|
`MC_GUEST` should not be altered without renaming the conf files, but most
|
||||||
|
`MC_GUEST_*` variables can be customised if you desire.
|
||||||
|
|
||||||
|
4. Next set the contents of `multiconfig/guest.conf`:
|
||||||
|
|
||||||
|
```
|
||||||
|
TMPDIR = "${TOPDIR}/${MC_GUEST}"
|
||||||
|
|
||||||
|
MACHINE = "${MC_GUEST_MACHINE}"
|
||||||
|
DISTRO_FEATURES += " arm-autonomy-guest"
|
||||||
|
|
||||||
|
INITRAMFS_IMAGE_BUNDLE = "${MC_GUEST_INITRAMFS_IMAGE_BUNDLE}"
|
||||||
|
INITRAMFS_IMAGE = "${MC_GUEST_INITRAMFS_IMAGE}"
|
||||||
|
|
||||||
|
IMAGE_FSTYPES += "${@ 'cpio' if d.getVar('MC_GUEST_INITRAMFS_IMAGE_BUNDLE',d) else ''}"
|
||||||
|
|
||||||
|
# ANY OTHER GUEST CONFIG
|
||||||
|
```
|
||||||
|
|
||||||
|
This contents shouldn't be changed directly, rather change the equivalent
|
||||||
|
config in local.conf. You can append any other config desired for the
|
||||||
|
guest at this point, for example `XENGUEST_IMAGE_DISK_SIZE`
|
||||||
|
|
||||||
|
Make sure not to change `${DEPLOY_DIR_IMAGE}` to anything other than
|
||||||
|
`${TMPDIR}/deploy/images`, as this is assumed by local.conf.
|
||||||
|
|
||||||
|
5. Lastly set the contents of `multiconfig/host.conf`:
|
||||||
|
|
||||||
|
```
|
||||||
|
TMPDIR = "${TOPDIR}/${MC_HOST}"
|
||||||
|
|
||||||
|
DISTRO_FEATURES += " arm-autonomy-host"
|
||||||
|
```
|
||||||
|
|
||||||
|
Building the image
|
||||||
|
----------------
|
||||||
|
|
||||||
|
To build the multiconfig image the command is:
|
||||||
|
```
|
||||||
|
bitbake mc:host:arm-autonomy-host-image-minimal
|
||||||
|
```
|
||||||
|
|
||||||
|
You should see that this triggers guest tasks to be built in
|
||||||
|
parallel. Once the build completes the guest will already be in the
|
||||||
|
rootfs of the host thanks to `ARM_AUTONOMY_HOST_IMAGE_EXTERN_GUEST`
|
||||||
|
|
||||||
|
The deployed image including the guest will be in `host/deploy/images/`
|
||||||
|
|
||||||
|
|
||||||
|
Multiple Guests
|
||||||
|
----------------
|
||||||
|
|
||||||
|
To have multiple guests with the same config the line which appends to
|
||||||
|
`ARM_AUTONOMY_HOST_IMAGE_EXTERN_GUEST` just needs to be duplicated with
|
||||||
|
a different guestname.
|
||||||
|
|
||||||
|
To have different config for each guest, each will need its own config
|
||||||
|
file similar to guest.conf, ensuring TMPDIR is set to a different path,
|
||||||
|
and everything between `---Guest Config Start---` and
|
||||||
|
`---Guest Config End---` will need to be duplicated.
|
||||||
|
|
||||||
|
Any copies of variables that start `MC_GUEST` must be altered to avoid
|
||||||
|
collisions (e.g. `MC_GUEST_2_*`), and the name of the conf file must also
|
||||||
|
be added to BBMULTICONFIG.
|
||||||
|
|
||||||
|
|
||||||
|
Guest with provisioned disk
|
||||||
|
----------------
|
||||||
|
|
||||||
|
To add guest rootfs partition to host wic image,
|
||||||
|
set `AUTONOMY_HOST_EXTRA_PARTITION` with proper wks partition entry, e.g:
|
||||||
|
|
||||||
|
```
|
||||||
|
AUTONOMY_HOST_EXTRA_PARTITION = "part --label provisioned-guest --source rawcopy --fstype=ext4 --ondisk sda --align 1024 \
|
||||||
|
--sourceparams=file=${TOPDIR}/${MC_GUEST}/deploy/images/${MC_GUEST_MACHINE}/${MC_GUEST_FILENAME_PREFIX}-${MC_GUEST_MACHINE}.ext4"
|
||||||
|
```
|
||||||
|
|
||||||
|
inside host.conf file.
|
||||||
|
|
||||||
|
The rest of the configuration has to be appended to guest.conf file:
|
||||||
|
|
||||||
|
```
|
||||||
|
XENGUEST_IMAGE_DISK_SIZE = "0"
|
||||||
|
XENGUEST_IMAGE_SRC_URI_XEN_CONFIG = "file://\${TOPDIR}/path/to/rootdisk.cfg"
|
||||||
|
XENGUEST_IMAGE_DISK_DEVICE = "_GUEST_DISK_DEVICE_"
|
||||||
|
XENGUEST_IMAGE_ROOT = "/dev/xvda"
|
||||||
|
IMAGE_ROOTFS_SIZE = "102400"
|
||||||
|
IMAGE_FSTYPES = "ext4"
|
||||||
|
```
|
||||||
|
|
||||||
|
content of rootdisk.cfg"
|
||||||
|
|
||||||
|
```
|
||||||
|
disk = ["phy:_GUEST_DISK_DEVICE_,xvda,w"]
|
||||||
|
```
|
||||||
|
|
||||||
|
`_GUEST_DISK_DEVICE_` should be substituted with `/dev/sdaX`,
|
||||||
|
according to wks file.
|
||||||
@@ -26,7 +26,6 @@ First you must download the Yocto layers needed:
|
|||||||
- [poky](https://git.yoctoproject.org/poky)
|
- [poky](https://git.yoctoproject.org/poky)
|
||||||
- [meta-virtualization](https://git.yoctoproject.org/meta-virtualization)
|
- [meta-virtualization](https://git.yoctoproject.org/meta-virtualization)
|
||||||
- [meta-arm](https://git.yoctoproject.org/meta-arm)
|
- [meta-arm](https://git.yoctoproject.org/meta-arm)
|
||||||
- [meta-kernel](https://gitlab.com/openembedded/community/meta-kernel.git)
|
|
||||||
- all other layers you might want to use
|
- all other layers you might want to use
|
||||||
|
|
||||||
For each of the downloaded layer make sure you checkout the release of Yocto
|
For each of the downloaded layer make sure you checkout the release of Yocto
|
||||||
@@ -57,7 +56,6 @@ Here are the main steps to create an arm-autonomy project:
|
|||||||
bitbake-layers add-layer $LAYERDIR_BASE/meta-poky $LAYERDIR_BASE/meta-yocto-bsp \
|
bitbake-layers add-layer $LAYERDIR_BASE/meta-poky $LAYERDIR_BASE/meta-yocto-bsp \
|
||||||
$LAYERDIR_BASE/meta-openembedded/meta-oe $LAYERDIR_BASE/meta-openembedded/meta-python \
|
$LAYERDIR_BASE/meta-openembedded/meta-oe $LAYERDIR_BASE/meta-openembedded/meta-python \
|
||||||
$LAYERDIR_BASE/meta-openembedded/meta-filesystems $LAYERDIR_BASE/meta-openembedded/meta-networking \
|
$LAYERDIR_BASE/meta-openembedded/meta-filesystems $LAYERDIR_BASE/meta-openembedded/meta-networking \
|
||||||
$LAYERDIR_BASE/meta-virtualization $LAYERDIR_BASE/meta-kernel \
|
|
||||||
$LAYERDIR_BASE/meta-arm/meta-arm $LAYERDIR_BASE/meta-arm/meta-arm-toolchain \
|
$LAYERDIR_BASE/meta-arm/meta-arm $LAYERDIR_BASE/meta-arm/meta-arm-toolchain \
|
||||||
$LAYERDIR_BASE/meta-arm/meta-arm-bsp $LAYERDIR_BASE/meta-arm/meta-arm-autonomy \
|
$LAYERDIR_BASE/meta-arm/meta-arm-bsp $LAYERDIR_BASE/meta-arm/meta-arm-autonomy \
|
||||||
```
|
```
|
||||||
@@ -73,7 +71,6 @@ Here are the main steps to create an arm-autonomy project:
|
|||||||
/home/user/arm-autonomy/meta-openembedded/meta-filesystems \
|
/home/user/arm-autonomy/meta-openembedded/meta-filesystems \
|
||||||
/home/user/arm-autonomy/meta-openembedded/meta-networking \
|
/home/user/arm-autonomy/meta-openembedded/meta-networking \
|
||||||
/home/user/arm-autonomy/meta-virtualization \
|
/home/user/arm-autonomy/meta-virtualization \
|
||||||
/home/user/arm-autonomy/meta-kernel \
|
|
||||||
/home/user/arm-autonomy/meta-arm/meta-arm \
|
/home/user/arm-autonomy/meta-arm/meta-arm \
|
||||||
/home/user/arm-autonomy/meta-arm/meta-arm-toolchain \
|
/home/user/arm-autonomy/meta-arm/meta-arm-toolchain \
|
||||||
/home/user/arm-autonomy/meta-arm/meta-arm-bsp \
|
/home/user/arm-autonomy/meta-arm/meta-arm-bsp \
|
||||||
@@ -122,6 +119,10 @@ To boot the system using an u-boot base board you will need to:
|
|||||||
|
|
||||||
In this example the addresses might need to be adapted depending on your board.
|
In this example the addresses might need to be adapted depending on your board.
|
||||||
|
|
||||||
|
For arm-autonomy host on FVP-Base u-boot has been modified such that
|
||||||
|
`booti 0x84000000 - 0x83000000` is the default boot command. If FVP-Base is your
|
||||||
|
MACHINE target there should be no need to interfere with u-boot.
|
||||||
|
|
||||||
Guest project
|
Guest project
|
||||||
-------------
|
-------------
|
||||||
The guest projects are not target specific and will use a Yocto MACHINE defined
|
The guest projects are not target specific and will use a Yocto MACHINE defined
|
||||||
@@ -147,6 +148,9 @@ To create a guest project:
|
|||||||
The build will create a ".xenguest" image that can be use on an host project
|
The build will create a ".xenguest" image that can be use on an host project
|
||||||
with the xenguest-manager.
|
with the xenguest-manager.
|
||||||
|
|
||||||
|
The guest can also be built as a 'multiconfig' sub project of the host, see
|
||||||
|
`meta-arm-autonomy/documentation/arm-autonomy-multiconfig.md` for more information
|
||||||
|
|
||||||
Include guests directly in the host image
|
Include guests directly in the host image
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
The layer provides a way to directly include in the host project one or several
|
The layer provides a way to directly include in the host project one or several
|
||||||
@@ -209,7 +213,7 @@ and is configuring it by default to use dhcp.
|
|||||||
If you need a different type of configuration you can set
|
If you need a different type of configuration you can set
|
||||||
XENGUEST_NETWORK_BRIDGE_CONFIG in a xenguest-network-bridge.bbappend to use
|
XENGUEST_NETWORK_BRIDGE_CONFIG in a xenguest-network-bridge.bbappend to use
|
||||||
a different file.
|
a different file.
|
||||||
The recipe will look for the file in ${WORKDIR} so you will need to add it to
|
The recipe will look for the file in ${WORKDIR} so you will need to add it to
|
||||||
SRC_URI in your bbappend.
|
SRC_URI in your bbappend.
|
||||||
The recipe will also substitute `###BRIDGE_NAME###` with the bridge name
|
The recipe will also substitute `###BRIDGE_NAME###` with the bridge name
|
||||||
configured in ${XENGUEST_NETWORK_BRIDGE_NAME}.
|
configured in ${XENGUEST_NETWORK_BRIDGE_NAME}.
|
||||||
|
|||||||
@@ -1,4 +1,26 @@
|
|||||||
# Extra machine settings for juno
|
# Extra machine settings for juno
|
||||||
|
KERNEL_ALT_IMAGETYPE = "Image.lzma"
|
||||||
|
|
||||||
# Juno board has 2 network interfaces, add both of them to the bridge
|
# Juno board has 2 network interfaces, add both of them to the bridge
|
||||||
XENGUEST_NETWORK_BRIDGE_MEMBERS ?= "eth0 eth1"
|
XENGUEST_NETWORK_BRIDGE_MEMBERS ?= "eth0 eth1"
|
||||||
|
XEN_DEVICETREE_DOM0_SIZE ?= "0x02400000"
|
||||||
|
|
||||||
|
# We need to extend the wks search path to be able to find the wks file set in
|
||||||
|
# ARM_AUTONOMY_WKS_FILE.
|
||||||
|
WKS_SEARCH_PATH_prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
|
||||||
|
|
||||||
|
ARM_AUTONOMY_WKS_FILE ?= "arm-autonomy-juno-disk.wks.in"
|
||||||
|
# set wks file only if INITRAMFS_IMAGE_BUNDLE is not set
|
||||||
|
WKS_FILE = "${@bb.utils.contains('INITRAMFS_IMAGE_BUNDLE', '1', '',\
|
||||||
|
'${ARM_AUTONOMY_WKS_FILE}', d)}"
|
||||||
|
|
||||||
|
# Set the wks guest partition size and unit. It must be aligned with the sum of
|
||||||
|
# all XENGUEST_IMAGE_DISK_SIZE set for the guests. By default, LVM2 metadata is
|
||||||
|
# 1 MiB per physical volume, hence it needs to be taken into account when
|
||||||
|
# setting GUEST_PART_SIZE. The XENGUEST_IMAGE_DISK_SIZE default value is 4GiB.
|
||||||
|
GUEST_PART_SIZE ?= "4097"
|
||||||
|
GUEST_PART_SIZE_UNIT ?= "M"
|
||||||
|
|
||||||
|
# set wic image type only if INITRAMFS_IMAGE_BUNDLE is not set
|
||||||
|
IMAGE_FSTYPES += "${@bb.utils.contains('INITRAMFS_IMAGE_BUNDLE', '1', '',\
|
||||||
|
'wic wic.gz wic.bmap', d)}"
|
||||||
+33
-4
@@ -4,6 +4,19 @@ OVERRIDES_append = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ':xen', '', d
|
|||||||
|
|
||||||
FILESEXTRAPATHS_prepend_xen := "${THISDIR}/${PN}:"
|
FILESEXTRAPATHS_prepend_xen := "${THISDIR}/${PN}:"
|
||||||
|
|
||||||
|
DEPENDS_append_xen = " dos2unix-native"
|
||||||
|
|
||||||
|
SRC_URI_append_xen = " file://add-xen-support.patch;patchdir=../"
|
||||||
|
|
||||||
|
do_install_append_xen() {
|
||||||
|
mv -v ${D}/${UNPACK_DIR}/SOFTWARE/uEnv.txt \
|
||||||
|
${D}/${UNPACK_DIR}/SOFTWARE/uenvfile
|
||||||
|
for dir in $(ls ${D}/${UNPACK_DIR}/SITE1/)
|
||||||
|
do
|
||||||
|
unix2dos ${D}/${UNPACK_DIR}/SITE1/${dir}/images.txt
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
DEPLOY_EXTRA_DEPS ??= ""
|
DEPLOY_EXTRA_DEPS ??= ""
|
||||||
DEPLOY_EXTRA_DEPS_xen = "xen:do_deploy xen-devicetree:do_deploy"
|
DEPLOY_EXTRA_DEPS_xen = "xen:do_deploy xen-devicetree:do_deploy"
|
||||||
|
|
||||||
@@ -14,8 +27,24 @@ do_deploy_prepend_xen() {
|
|||||||
# xen:do_deploy and xen-devicetree:do_deploy when
|
# xen:do_deploy and xen-devicetree:do_deploy when
|
||||||
# INITRAMFS_IMAGE_BUNDLE = "1", we need to handle the xen and
|
# INITRAMFS_IMAGE_BUNDLE = "1", we need to handle the xen and
|
||||||
# xen-devicetree binaries copying in the do_deploy task.
|
# xen-devicetree binaries copying in the do_deploy task.
|
||||||
cp ${DEPLOY_DIR_IMAGE}/xen-${COMPATIBLE_MACHINE}.efi \
|
|
||||||
${D}/${UNPACK_DIR}/SOFTWARE/xen
|
mkdir -p ${D}/${UNPACK_DIR}/SOFTWARE/XEN
|
||||||
cp ${DEPLOY_DIR_IMAGE}/*xen.dtb \
|
cp -v ${DEPLOY_DIR_IMAGE}/xen-${COMPATIBLE_MACHINE}.efi \
|
||||||
${D}/${UNPACK_DIR}/SOFTWARE/
|
${D}/${UNPACK_DIR}/SOFTWARE/XEN/xen
|
||||||
|
|
||||||
|
for dtb in $(basename -s .dtb ${KERNEL_DEVICETREE})
|
||||||
|
do
|
||||||
|
cp -v ${DEPLOY_DIR_IMAGE}/${dtb}-xen.dtb \
|
||||||
|
${D}/${UNPACK_DIR}/SOFTWARE/XEN/${dtb}.dtb
|
||||||
|
done
|
||||||
|
|
||||||
|
bbnote "Xen binaries added under SOFTWARE/XEN directory"
|
||||||
|
|
||||||
|
if [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" -a "${KERNEL_ALT_IMAGETYPE}" = "Image.lzma" ]; then
|
||||||
|
# KERNEL_ALT_IMAGETYPE is expected to be Image.lzma,
|
||||||
|
# however NOR flash filesystem is DOS compatible with 8.3 naming,
|
||||||
|
# so we need to replace ".lzma" with ".lzm"
|
||||||
|
cp -L -f ${DEPLOY_DIR_IMAGE}/${KERNEL_ALT_IMAGETYPE} \
|
||||||
|
${D}/${UNPACK_DIR}/SOFTWARE/Image.lzm
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
+173
@@ -0,0 +1,173 @@
|
|||||||
|
arm-bsp/firmware-image-juno: add xen support
|
||||||
|
|
||||||
|
This patch adds xen and dtbs binaries entries to images-r[012].txt files.
|
||||||
|
These images-r[012].txt files contain NOR filesystem entries details,
|
||||||
|
like file offset, name, path etc.
|
||||||
|
|
||||||
|
It also adds customization for uEnv.txt file, that allows to autoboot xen.
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [configuration]
|
||||||
|
Signed-off-by: Kamil Dziezyk <kamil.dziezyk@arm.com>
|
||||||
|
|
||||||
|
diff -u a/images-r0.txt b/images-r0.txt
|
||||||
|
--- a/images-r0.txt 2020-11-25 20:25:38.677687712 +0100
|
||||||
|
+++ b/images-r0.txt 2020-11-25 20:36:55.482194294 +0100
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
TITLE: Versatile Express Images Configuration File
|
||||||
|
|
||||||
|
[IMAGES]
|
||||||
|
-TOTALIMAGES: 10 ;Number of Images (Max: 32)
|
||||||
|
+TOTALIMAGES: 11 ;Number of Images (Max: 32)
|
||||||
|
|
||||||
|
NOR0UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
NOR0ADDRESS: 0x00000000 ;Image Flash Address
|
||||||
|
@@ -17,14 +17,14 @@
|
||||||
|
|
||||||
|
NOR2UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
NOR2ADDRESS: 0x00500000 ;Image Flash Address
|
||||||
|
-NOR2FILE: \SOFTWARE\Image ;Image File Name
|
||||||
|
-NOR2NAME: norkern ;Rename kernel to norkern
|
||||||
|
+NOR2FILE: \SOFTWARE\Image.lzm ;Image File Name
|
||||||
|
+NOR2NAME: norkern.lzm ;Rename kernel to norkern.lzm
|
||||||
|
NOR2LOAD: 00000000 ;Image Load Address
|
||||||
|
NOR2ENTRY: 00000000 ;Image Entry Point
|
||||||
|
|
||||||
|
NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
NOR3ADDRESS: 0x02900000 ;Image Flash Address
|
||||||
|
-NOR3FILE: \SOFTWARE\juno.dtb ;Image File Name
|
||||||
|
+NOR3FILE: \SOFTWARE\XEN\juno.dtb ;Image File Name
|
||||||
|
NOR3NAME: board.dtb ;Specify target filename to preserve file extension
|
||||||
|
NOR3LOAD: 00000000 ;Image Load Address
|
||||||
|
NOR3ENTRY: 00000000 ;Image Entry Point
|
||||||
|
@@ -64,8 +64,13 @@
|
||||||
|
NOR9UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
NOR9ADDRESS: 0x02A80000 ;Image Flash Address
|
||||||
|
NOR9NAME: uEnv.txt
|
||||||
|
-NOR9FILE: \SOFTWARE\uEnv.txt ;Image File Name
|
||||||
|
+NOR9FILE: \SOFTWARE\uenvfile ;Image File Name
|
||||||
|
NOR9LOAD: 00000000 ;Image Load Address
|
||||||
|
NOR9ENTRY: 00000000 ;Image Entry Point
|
||||||
|
|
||||||
|
-
|
||||||
|
+NOR10UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
+NOR10ADDRESS: 0x03000000 ;Image Flash Address
|
||||||
|
+NOR10FILE: \SOFTWARE\XEN\xen ;Image File Name
|
||||||
|
+NOR10NAME: xen
|
||||||
|
+NOR10LOAD: 00000000 ;Image Load Address
|
||||||
|
+NOR10ENTRY: 00000000 ;Image Entry Point
|
||||||
|
diff -u a/images-r1.txt b/images-r1.txt
|
||||||
|
--- a/images-r1.txt 2020-11-25 20:40:19.005177152 +0100
|
||||||
|
+++ b/images-r1.txt 2020-11-25 20:41:17.500886263 +0100
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
TITLE: Versatile Express Images Configuration File
|
||||||
|
|
||||||
|
[IMAGES]
|
||||||
|
-TOTALIMAGES: 10 ;Number of Images (Max: 32)
|
||||||
|
+TOTALIMAGES: 11 ;Number of Images (Max: 32)
|
||||||
|
|
||||||
|
NOR0UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
NOR0ADDRESS: 0x00000000 ;Image Flash Address
|
||||||
|
@@ -17,14 +17,14 @@
|
||||||
|
|
||||||
|
NOR2UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
NOR2ADDRESS: 0x00500000 ;Image Flash Address
|
||||||
|
-NOR2FILE: \SOFTWARE\Image ;Image File Name
|
||||||
|
-NOR2NAME: norkern ;Rename kernel to norkern
|
||||||
|
+NOR2FILE: \SOFTWARE\Image.lzm ;Image File Name
|
||||||
|
+NOR2NAME: norkern.lzm ;Rename kernel to norkern.lzm
|
||||||
|
NOR2LOAD: 00000000 ;Image Load Address
|
||||||
|
NOR2ENTRY: 00000000 ;Image Entry Point
|
||||||
|
|
||||||
|
NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
NOR3ADDRESS: 0x02900000 ;Image Flash Address
|
||||||
|
-NOR3FILE: \SOFTWARE\juno-r1.dtb ;Image File Name
|
||||||
|
+NOR3FILE: \SOFTWARE\XEN\juno-r1.dtb ;Image File Name
|
||||||
|
NOR3NAME: board.dtb ;Specify target filename to preserve file extension
|
||||||
|
NOR3LOAD: 00000000 ;Image Load Address
|
||||||
|
NOR3ENTRY: 00000000 ;Image Entry Point
|
||||||
|
@@ -64,8 +64,13 @@
|
||||||
|
NOR9UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
NOR9ADDRESS: 0x02A80000 ;Image Flash Address
|
||||||
|
NOR9NAME: uEnv.txt
|
||||||
|
-NOR9FILE: \SOFTWARE\uEnv.txt ;Image File Name
|
||||||
|
+NOR9FILE: \SOFTWARE\uenvfile ;Image File Name
|
||||||
|
NOR9LOAD: 00000000 ;Image Load Address
|
||||||
|
NOR9ENTRY: 00000000 ;Image Entry Point
|
||||||
|
|
||||||
|
-
|
||||||
|
+NOR10UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
+NOR10ADDRESS: 0x03000000 ;Image Flash Address
|
||||||
|
+NOR10FILE: \SOFTWARE\XEN\xen ;Image File Name
|
||||||
|
+NOR10NAME: xen
|
||||||
|
+NOR10LOAD: 00000000 ;Image Load Address
|
||||||
|
+NOR10ENTRY: 00000000 ;Image Entry Point
|
||||||
|
diff -u a/images-r2.txt b/images-r2.txt
|
||||||
|
--- a/images-r2.txt 2020-11-25 20:40:30.625119321 +0100
|
||||||
|
+++ b/images-r2.txt 2020-11-25 20:41:30.720820597 +0100
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
TITLE: Versatile Express Images Configuration File
|
||||||
|
|
||||||
|
[IMAGES]
|
||||||
|
-TOTALIMAGES: 10 ;Number of Images (Max: 32)
|
||||||
|
+TOTALIMAGES: 11 ;Number of Images (Max: 32)
|
||||||
|
|
||||||
|
NOR0UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
NOR0ADDRESS: 0x00000000 ;Image Flash Address
|
||||||
|
@@ -17,14 +17,14 @@
|
||||||
|
|
||||||
|
NOR2UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
NOR2ADDRESS: 0x00500000 ;Image Flash Address
|
||||||
|
-NOR2FILE: \SOFTWARE\Image ;Image File Name
|
||||||
|
-NOR2NAME: norkern ;Rename kernel to norkern
|
||||||
|
+NOR2FILE: \SOFTWARE\Image.lzm ;Image File Name
|
||||||
|
+NOR2NAME: norkern.lzm ;Rename kernel to norkern.lzm
|
||||||
|
NOR2LOAD: 00000000 ;Image Load Address
|
||||||
|
NOR2ENTRY: 00000000 ;Image Entry Point
|
||||||
|
|
||||||
|
NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
NOR3ADDRESS: 0x02900000 ;Image Flash Address
|
||||||
|
-NOR3FILE: \SOFTWARE\juno-r2.dtb ;Image File Name
|
||||||
|
+NOR3FILE: \SOFTWARE\XEN\juno-r2.dtb ;Image File Name
|
||||||
|
NOR3NAME: board.dtb ;Specify target filename to preserve file extension
|
||||||
|
NOR3LOAD: 00000000 ;Image Load Address
|
||||||
|
NOR3ENTRY: 00000000 ;Image Entry Point
|
||||||
|
@@ -64,8 +64,13 @@
|
||||||
|
NOR9UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
NOR9ADDRESS: 0x02A80000 ;Image Flash Address
|
||||||
|
NOR9NAME: uEnv.txt
|
||||||
|
-NOR9FILE: \SOFTWARE\uEnv.txt ;Image File Name
|
||||||
|
+NOR9FILE: \SOFTWARE\uenvfile ;Image File Name
|
||||||
|
NOR9LOAD: 00000000 ;Image Load Address
|
||||||
|
NOR9ENTRY: 00000000 ;Image Entry Point
|
||||||
|
|
||||||
|
-
|
||||||
|
+NOR10UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||||
|
+NOR10ADDRESS: 0x03000000 ;Image Flash Address
|
||||||
|
+NOR10FILE: \SOFTWARE\XEN\xen ;Image File Name
|
||||||
|
+NOR10NAME: xen
|
||||||
|
+NOR10LOAD: 00000000 ;Image Load Address
|
||||||
|
+NOR10ENTRY: 00000000 ;Image Entry Point
|
||||||
|
diff -u a/uEnv.txt b/uEnv.txt
|
||||||
|
--- a/uEnv.txt 2020-11-20 13:48:31.845078690 +0100
|
||||||
|
+++ b/uEnv.txt 2020-11-25 20:30:00.572306675 +0100
|
||||||
|
@@ -1,11 +1,16 @@
|
||||||
|
+xen_name=xen
|
||||||
|
+xen_addr=0x84000000
|
||||||
|
uenvcmd=run mybootcmd
|
||||||
|
+kernel_alt_name=norkern.lzm
|
||||||
|
+kernel_comp_addr_r=0x88080000
|
||||||
|
mybootcmd=echo Loading custom boot command; \
|
||||||
|
echo Loading kernel; \
|
||||||
|
afs load ${kernel_name} ${kernel_addr_r} ; \
|
||||||
|
-if test $? -eq 1; then echo Loading ${kernel_alt_name} instead of ${kernel_name}; afs load ${kernel_alt_name} ${kernel_addr_r}; fi; \
|
||||||
|
+if test $? -eq 1; then echo Loading ${kernel_alt_name} instead of ${kernel_name}; afs load ${kernel_alt_name} ${kernel_comp_addr_r}; lzmadec ${kernel_comp_addr_r} ${kernel_addr_r}; fi; \
|
||||||
|
echo Loading device tree; \
|
||||||
|
afs load ${fdtfile} ${fdt_addr_r}; \
|
||||||
|
if test $? -eq 1; then echo Loading ${fdt_alt_name} instead of ${fdtfile}; \
|
||||||
|
afs load ${fdt_alt_name} ${fdt_addr_r}; fi; fdt addr ${fdt_addr_r}; fdt resize; \
|
||||||
|
-booti ${kernel_addr_r} - ${fdt_addr_r};
|
||||||
|
-
|
||||||
|
+echo Loading Xen; \
|
||||||
|
+afs load ${xen_name} ${xen_addr}; \
|
||||||
|
+if test $? -eq 0; then echo Booting Xen; bootefi ${xen_addr} ${fdt_addr_r}; fi;
|
||||||
|
|
||||||
-78
@@ -1,78 +0,0 @@
|
|||||||
TITLE: Versatile Express Images Configuration File
|
|
||||||
|
|
||||||
[IMAGES]
|
|
||||||
TOTALIMAGES: 11 ;Number of Images (Max: 32)
|
|
||||||
|
|
||||||
NOR0UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR0ADDRESS: 0x00000000 ;Image Flash Address
|
|
||||||
NOR0FILE: \SOFTWARE\fip.bin ;Image File Name
|
|
||||||
NOR0LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR0ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR1UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR1ADDRESS: 0x03EC0000 ;Image Flash Address
|
|
||||||
NOR1FILE: \SOFTWARE\bl1.bin ;Image File Name
|
|
||||||
NOR1LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR1ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR2UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR2ADDRESS: 0x00500000 ;Image Flash Address
|
|
||||||
NOR2FILE: \SOFTWARE\Image ;Image File Name
|
|
||||||
NOR2NAME: norkern ;Rename kernel to norkern
|
|
||||||
NOR2LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR2ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR3ADDRESS: 0x02700000 ;Image Flash Address
|
|
||||||
NOR3FILE: \SOFTWARE\juno-xen.dtb ;Image File Name
|
|
||||||
NOR3NAME: board.dtb ;Specify target filename to preserve file extension
|
|
||||||
NOR3LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR3ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR4UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR4ADDRESS: 0x01D00000 ;Image Flash Address
|
|
||||||
NOR4FILE: \SOFTWARE\xen ;Image File Name
|
|
||||||
NOR4NAME: xen
|
|
||||||
NOR4LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR4ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR5UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR5ADDRESS: 0x025C0000 ;Image Flash Address
|
|
||||||
NOR5FILE: \SOFTWARE\hdlcdclk.dat ;Image File Name
|
|
||||||
NOR5LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR5ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR6UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR6ADDRESS: 0x03E40000 ;Image Flash Address
|
|
||||||
NOR6FILE: \SOFTWARE\scp_bl1.bin ;Image File Name
|
|
||||||
NOR6LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR6ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR7UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR7ADDRESS: 0x0BF00000 ;Image Flash Address
|
|
||||||
NOR7FILE: \SOFTWARE\startup.nsh ;Image File Name
|
|
||||||
NOR7NAME: startup.nsh
|
|
||||||
NOR7LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR7ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR8UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR8ADDRESS: 0x0BFC0000 ;Image Flash Address
|
|
||||||
NOR8FILE: \SOFTWARE\blank.img ;Image File Name
|
|
||||||
NOR8NAME: BOOTENV
|
|
||||||
NOR8LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR8ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR9UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR9ADDRESS: 0x02600000 ;Image Flash Address
|
|
||||||
NOR9FILE: \SOFTWARE\selftest ;Image File Name
|
|
||||||
NOR9LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR9ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR10UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR10ADDRESS: 0x02780000 ;Image Flash Address
|
|
||||||
NOR10NAME: uEnv.txt
|
|
||||||
NOR10FILE: \SOFTWARE\uEnv.txt ;Image File Name
|
|
||||||
NOR10LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR10ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
|
|
||||||
-78
@@ -1,78 +0,0 @@
|
|||||||
TITLE: Versatile Express Images Configuration File
|
|
||||||
|
|
||||||
[IMAGES]
|
|
||||||
TOTALIMAGES: 11 ;Number of Images (Max: 32)
|
|
||||||
|
|
||||||
NOR0UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR0ADDRESS: 0x00000000 ;Image Flash Address
|
|
||||||
NOR0FILE: \SOFTWARE\fip.bin ;Image File Name
|
|
||||||
NOR0LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR0ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR1UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR1ADDRESS: 0x03EC0000 ;Image Flash Address
|
|
||||||
NOR1FILE: \SOFTWARE\bl1.bin ;Image File Name
|
|
||||||
NOR1LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR1ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR2UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR2ADDRESS: 0x00500000 ;Image Flash Address
|
|
||||||
NOR2FILE: \SOFTWARE\Image ;Image File Name
|
|
||||||
NOR2NAME: norkern ;Rename kernel to norkern
|
|
||||||
NOR2LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR2ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR3ADDRESS: 0x02700000 ;Image Flash Address
|
|
||||||
NOR3FILE: \SOFTWARE\juno-r1-xen.dtb ;Image File Name
|
|
||||||
NOR3NAME: board.dtb ;Specify target filename to preserve file extension
|
|
||||||
NOR3LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR3ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR4UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR4ADDRESS: 0x01D00000 ;Image Flash Address
|
|
||||||
NOR4FILE: \SOFTWARE\xen ;Image File Name
|
|
||||||
NOR4NAME: xen
|
|
||||||
NOR4LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR4ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR5UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR5ADDRESS: 0x025C0000 ;Image Flash Address
|
|
||||||
NOR5FILE: \SOFTWARE\hdlcdclk.dat ;Image File Name
|
|
||||||
NOR5LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR5ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR6UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR6ADDRESS: 0x03E40000 ;Image Flash Address
|
|
||||||
NOR6FILE: \SOFTWARE\scp_bl1.bin ;Image File Name
|
|
||||||
NOR6LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR6ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR7UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR7ADDRESS: 0x0BF00000 ;Image Flash Address
|
|
||||||
NOR7FILE: \SOFTWARE\startup.nsh ;Image File Name
|
|
||||||
NOR7NAME: startup.nsh
|
|
||||||
NOR7LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR7ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR8UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR8ADDRESS: 0x0BFC0000 ;Image Flash Address
|
|
||||||
NOR8FILE: \SOFTWARE\blank.img ;Image File Name
|
|
||||||
NOR8NAME: BOOTENV
|
|
||||||
NOR8LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR8ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR9UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR9ADDRESS: 0x02600000 ;Image Flash Address
|
|
||||||
NOR9FILE: \SOFTWARE\selftest ;Image File Name
|
|
||||||
NOR9LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR9ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR10UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR10ADDRESS: 0x02780000 ;Image Flash Address
|
|
||||||
NOR10NAME: uEnv.txt
|
|
||||||
NOR10FILE: \SOFTWARE\uEnv.txt ;Image File Name
|
|
||||||
NOR10LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR10ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
|
|
||||||
-78
@@ -1,78 +0,0 @@
|
|||||||
TITLE: Versatile Express Images Configuration File
|
|
||||||
|
|
||||||
[IMAGES]
|
|
||||||
TOTALIMAGES: 11 ;Number of Images (Max: 32)
|
|
||||||
|
|
||||||
NOR0UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR0ADDRESS: 0x00000000 ;Image Flash Address
|
|
||||||
NOR0FILE: \SOFTWARE\fip.bin ;Image File Name
|
|
||||||
NOR0LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR0ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR1UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR1ADDRESS: 0x03EC0000 ;Image Flash Address
|
|
||||||
NOR1FILE: \SOFTWARE\bl1.bin ;Image File Name
|
|
||||||
NOR1LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR1ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR2UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR2ADDRESS: 0x00500000 ;Image Flash Address
|
|
||||||
NOR2FILE: \SOFTWARE\Image ;Image File Name
|
|
||||||
NOR2NAME: norkern ;Rename kernel to norkern
|
|
||||||
NOR2LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR2ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR3ADDRESS: 0x02700000 ;Image Flash Address
|
|
||||||
NOR3FILE: \SOFTWARE\juno-r2-xen.dtb ;Image File Name
|
|
||||||
NOR3NAME: board.dtb ;Specify target filename to preserve file extension
|
|
||||||
NOR3LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR3ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR4UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR4ADDRESS: 0x01D00000 ;Image Flash Address
|
|
||||||
NOR4FILE: \SOFTWARE\xen ;Image File Name
|
|
||||||
NOR4NAME: xen
|
|
||||||
NOR4LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR4ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR5UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR5ADDRESS: 0x025C0000 ;Image Flash Address
|
|
||||||
NOR5FILE: \SOFTWARE\hdlcdclk.dat ;Image File Name
|
|
||||||
NOR5LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR5ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR6UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR6ADDRESS: 0x03E40000 ;Image Flash Address
|
|
||||||
NOR6FILE: \SOFTWARE\scp_bl1.bin ;Image File Name
|
|
||||||
NOR6LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR6ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR7UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR7ADDRESS: 0x0BF00000 ;Image Flash Address
|
|
||||||
NOR7FILE: \SOFTWARE\startup.nsh ;Image File Name
|
|
||||||
NOR7NAME: startup.nsh
|
|
||||||
NOR7LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR7ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR8UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR8ADDRESS: 0x0BFC0000 ;Image Flash Address
|
|
||||||
NOR8FILE: \SOFTWARE\blank.img ;Image File Name
|
|
||||||
NOR8NAME: BOOTENV
|
|
||||||
NOR8LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR8ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR9UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR9ADDRESS: 0x02600000 ;Image Flash Address
|
|
||||||
NOR9FILE: \SOFTWARE\selftest ;Image File Name
|
|
||||||
NOR9LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR9ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
NOR10UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
|
||||||
NOR10ADDRESS: 0x02780000 ;Image Flash Address
|
|
||||||
NOR10NAME: uEnv.txt
|
|
||||||
NOR10FILE: \SOFTWARE\uEnv.txt ;Image File Name
|
|
||||||
NOR10LOAD: 00000000 ;Image Load Address
|
|
||||||
NOR10ENTRY: 00000000 ;Image Entry Point
|
|
||||||
|
|
||||||
|
|
||||||
-15
@@ -1,15 +0,0 @@
|
|||||||
xen_name=xen
|
|
||||||
xen_addr=0x84000000
|
|
||||||
uenvcmd=run mybootcmd
|
|
||||||
mybootcmd=echo Loading custom boot command; \
|
|
||||||
echo Loading kernel; \
|
|
||||||
afs load ${kernel_name} ${kernel_addr} ; \
|
|
||||||
if test $? -eq 1; then echo Loading ${kernel_alt_name} instead of ${kernel_name}; afs load ${kernel_alt_name} ${kernel_addr}; fi; \
|
|
||||||
echo Loading device tree; \
|
|
||||||
afs load ${fdtfile} ${fdt_addr}; \
|
|
||||||
if test $? -eq 1; then echo Loading ${fdt_alt_name} instead of ${fdtfile}; \
|
|
||||||
afs load ${fdt_alt_name} ${fdt_addr}; fi; fdt addr ${fdt_addr}; fdt resize; \
|
|
||||||
echo Loading Xen; \
|
|
||||||
afs load ${xen_name} ${xen_addr}; \
|
|
||||||
if test $? -eq 0; then echo Booting Xen; bootefi ${xen_addr} ${fdt_addr}; fi;
|
|
||||||
|
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# short-description: Create a disk image
|
||||||
|
# long-description: Creates a partitioned disk image that the user
|
||||||
|
# can directly dd to boot media.
|
||||||
|
|
||||||
|
# For Juno first partition is rootfs normally populated as /dev/sda1
|
||||||
|
part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 1024
|
||||||
|
|
||||||
|
# Second partition to accomodate guests images normally populated as /dev/sda2 (used by XENGUEST_MANAGER_VOLUME_DEVICE)
|
||||||
|
part --label guests --source empty --ondisk sda --size="${GUEST_PART_SIZE}${GUEST_PART_SIZE_UNIT}" --system-id 8e --align 1024
|
||||||
|
|
||||||
|
# Third partition is user defined entry normally populated as /dev/sda3
|
||||||
|
${AUTONOMY_HOST_EXTRA_PARTITION}
|
||||||
|
|
||||||
|
bootloader --ptable msdos
|
||||||
@@ -11,4 +11,7 @@ part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 1024
|
|||||||
# Third partition to accomodate guests images normally populated as /dev/sda3 (used by XENGUEST_MANAGER_VOLUME_DEVICE)
|
# Third partition to accomodate guests images normally populated as /dev/sda3 (used by XENGUEST_MANAGER_VOLUME_DEVICE)
|
||||||
part --label guests --source empty --ondisk sda --size="${GUEST_PART_SIZE}${GUEST_PART_SIZE_UNIT}" --system-id 8e --align 1024
|
part --label guests --source empty --ondisk sda --size="${GUEST_PART_SIZE}${GUEST_PART_SIZE_UNIT}" --system-id 8e --align 1024
|
||||||
|
|
||||||
|
# Fourth partition is user defined entry normally populated as /dev/sda4
|
||||||
|
${AUTONOMY_HOST_EXTRA_PARTITION}
|
||||||
|
|
||||||
bootloader --ptable msdos --configfile="${GRUB_CFG_FILE}"
|
bootloader --ptable msdos --configfile="${GRUB_CFG_FILE}"
|
||||||
+16
@@ -0,0 +1,16 @@
|
|||||||
|
Upstream Status: Inappropriate [meta-arm-autonomy specifc u-boot config]
|
||||||
|
Signed-off-by: Nathan Dunne <nathan.dunne@arm.com>
|
||||||
|
|
||||||
|
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h
|
||||||
|
index e63c335f85..9ee050a4a6 100644
|
||||||
|
--- a/include/configs/vexpress_aemv8a.h
|
||||||
|
+++ b/include/configs/vexpress_aemv8a.h
|
||||||
|
@@ -162,7 +162,7 @@
|
||||||
|
#elif CONFIG_TARGET_VEXPRESS64_BASE_FVP
|
||||||
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||||
|
"kernel_name=Image\0" \
|
||||||
|
- "kernel_addr=0x80080000\0" \
|
||||||
|
+ "kernel_addr=0x84000000\0" \
|
||||||
|
"initrd_name=ramdisk.img\0" \
|
||||||
|
"initrd_addr=0x88000000\0" \
|
||||||
|
"fdtfile=devtree.dtb\0" \
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# Machine specific u-boot
|
||||||
|
|
||||||
|
FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:"
|
||||||
|
|
||||||
|
#
|
||||||
|
# FVP BASE
|
||||||
|
#
|
||||||
|
|
||||||
|
SRC_URI_append_fvp-base = "${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ' file://xen_u-boot_kernel_addr.patch', '', d)}"
|
||||||
@@ -50,6 +50,24 @@ EXTRA_IMAGEDEPENDS += "xen"
|
|||||||
# Build xen-devicetree to produce a xen ready devicetree
|
# Build xen-devicetree to produce a xen ready devicetree
|
||||||
EXTRA_IMAGEDEPENDS += "xen-devicetree"
|
EXTRA_IMAGEDEPENDS += "xen-devicetree"
|
||||||
|
|
||||||
|
# Documentation for setting up a multiconfig build can be found in:
|
||||||
|
# meta-arm-autonomy/documentation/arm-autonomy-multiconfig.md
|
||||||
|
|
||||||
|
# In a multiconfig build this variable will hold a dependency string, which differs based
|
||||||
|
# on whether the guest has initramfs or not.
|
||||||
|
# It may have a space seperated list of dependency strings if mulitple guest types are
|
||||||
|
# configured
|
||||||
|
MC_DOIMAGE_MCDEPENDS ?= ""
|
||||||
|
# Example value: mc:host:guest:core-image-minimal:do_image_complete
|
||||||
|
|
||||||
|
# In a multiconfig build the host task 'do_image' has a dependency on multiconfig guest.
|
||||||
|
# This ensures that the guest image file already exists when it is needed by the host
|
||||||
|
DO_IMAGE_MCDEPENDS := "${@ '${MC_DOIMAGE_MCDEPENDS}' if d.getVar('BBMULTICONFIG') else ''}"
|
||||||
|
|
||||||
|
# Apply mc dependency. Empty string if multiconfig not enabled
|
||||||
|
do_image[mcdepends] += "${DO_IMAGE_MCDEPENDS}"
|
||||||
|
|
||||||
|
|
||||||
python __anonymous() {
|
python __anonymous() {
|
||||||
if bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', False, True, d):
|
if bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', False, True, d):
|
||||||
raise bb.parse.SkipRecipe("DISTRO_FEATURES does not contain 'arm-autonomy-host'")
|
raise bb.parse.SkipRecipe("DISTRO_FEATURES does not contain 'arm-autonomy-host'")
|
||||||
|
|||||||
@@ -14,7 +14,9 @@ DESCRIPTION = "Add entries in DTB for Xen and Dom0"
|
|||||||
|
|
||||||
# Please refer to documentation/xen-devicetree.md for documentation on those
|
# Please refer to documentation/xen-devicetree.md for documentation on those
|
||||||
# parameters
|
# parameters
|
||||||
XEN_DEVICETREE_DEPEND ?= "virtual/kernel:do_deploy"
|
# kernel size is passed to xen via xen.dtb so wee need to add
|
||||||
|
# 'virtual/kernel:do_deploy' as a dependency
|
||||||
|
XEN_DEVICETREE_DEPEND_append = " virtual/kernel:do_deploy"
|
||||||
XEN_DEVICETREE_DTBS ?= "${KERNEL_DEVICETREE}"
|
XEN_DEVICETREE_DTBS ?= "${KERNEL_DEVICETREE}"
|
||||||
XEN_DEVICETREE_XEN_BOOTARGS ?= "noreboot dom0_mem=${XEN_DEVICETREE_DOM0_MEM}"
|
XEN_DEVICETREE_XEN_BOOTARGS ?= "noreboot dom0_mem=${XEN_DEVICETREE_DOM0_MEM}"
|
||||||
XEN_DEVICETREE_DOM0_MEM ?= "1024M"
|
XEN_DEVICETREE_DOM0_MEM ?= "1024M"
|
||||||
@@ -67,6 +69,33 @@ do_deploy() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
do_deploy[depends] += "${XEN_DEVICETREE_DEPEND}"
|
do_deploy[depends] += "${XEN_DEVICETREE_DEPEND}"
|
||||||
|
do_deploy[prefuncs] += "calc_xen_dtb_dom0_size"
|
||||||
|
|
||||||
addtask deploy after do_install
|
addtask deploy after do_install
|
||||||
|
|
||||||
|
python calc_xen_dtb_dom0_size() {
|
||||||
|
from math import ceil
|
||||||
|
size = 0
|
||||||
|
if d.getVar('KERNEL_IMAGE_MAXSIZE'):
|
||||||
|
bb.note('size calculation based on KERNEL_IMAGE_MAXSIZE')
|
||||||
|
size = int(d.getVar('KERNEL_IMAGE_MAXSIZE')) * 1024
|
||||||
|
else:
|
||||||
|
kernel = os.path.realpath(d.getVar('DEPLOY_DIR_IMAGE') + '/' +\
|
||||||
|
d.getVar('KERNEL_IMAGETYPE'))
|
||||||
|
size = os.stat(kernel).st_size
|
||||||
|
bb.note('size calculation based on kernel Image file: %s' % kernel)
|
||||||
|
|
||||||
|
bb.note('size in bytes: %d' % size)
|
||||||
|
# Ceil to MiB
|
||||||
|
size_required = ceil(size / (2 ** 20)) * (2 ** 20)
|
||||||
|
size_defined = int(d.getVar('XEN_DEVICETREE_DOM0_SIZE'), 16)
|
||||||
|
|
||||||
|
if size_required > size_defined:
|
||||||
|
bb.warn ("Wrong kernel size setting inside xen dtb!\n"\
|
||||||
|
"Required:\t%(req)d (%(req)#010X)\n"\
|
||||||
|
"Requested:\t%(def)d (%(def)#010X)"\
|
||||||
|
% {"req": size_required, "def": size_defined})
|
||||||
|
bb.warn ("Overriding XEN_DEVICETREE_DOM0_SIZE with "\
|
||||||
|
"%(req)d (%(req)#010X)" % {"req": size_required})
|
||||||
|
d.setVar('XEN_DEVICETREE_DOM0_SIZE', hex(size_required))
|
||||||
|
}
|
||||||
-40
@@ -1,40 +0,0 @@
|
|||||||
From 3b418b33265402aab0cb1bf2b745a25724bae2d8 Mon Sep 17 00:00:00 2001
|
|
||||||
Message-Id: <3b418b33265402aab0cb1bf2b745a25724bae2d8.1602684880.git.diego.sueiro@arm.com>
|
|
||||||
From: Bertrand Marquis <bertrand.marquis@arm.com>
|
|
||||||
Date: Tue, 18 Aug 2020 14:47:38 +0100
|
|
||||||
Subject: [PATCH] arm: Add Neoverse N1 processor identification
|
|
||||||
|
|
||||||
Add MIDR and CPU part numbers for Neoverse N1
|
|
||||||
|
|
||||||
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
|
|
||||||
Acked-by: Julien Grall <jgrall@amazon.com>
|
|
||||||
|
|
||||||
Upstream-Status: Backport
|
|
||||||
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
|
|
||||||
---
|
|
||||||
xen/include/asm-arm/processor.h | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/xen/include/asm-arm/processor.h b/xen/include/asm-arm/processor.h
|
|
||||||
index aa642e3..3ca67f8 100644
|
|
||||||
--- a/xen/include/asm-arm/processor.h
|
|
||||||
+++ b/xen/include/asm-arm/processor.h
|
|
||||||
@@ -58,6 +58,7 @@
|
|
||||||
#define ARM_CPU_PART_CORTEX_A73 0xD09
|
|
||||||
#define ARM_CPU_PART_CORTEX_A75 0xD0A
|
|
||||||
#define ARM_CPU_PART_CORTEX_A76 0xD0B
|
|
||||||
+#define ARM_CPU_PART_NEOVERSE_N1 0xD0C
|
|
||||||
|
|
||||||
#define MIDR_CORTEX_A12 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A12)
|
|
||||||
#define MIDR_CORTEX_A17 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A17)
|
|
||||||
@@ -68,6 +69,7 @@
|
|
||||||
#define MIDR_CORTEX_A73 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A73)
|
|
||||||
#define MIDR_CORTEX_A75 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A75)
|
|
||||||
#define MIDR_CORTEX_A76 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A76)
|
|
||||||
+#define MIDR_NEOVERSE_N1 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_N1)
|
|
||||||
|
|
||||||
/* MPIDR Multiprocessor Affinity Register */
|
|
||||||
#define _MPIDR_UP (30)
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
||||||
File renamed without changes.
-42
@@ -1,42 +0,0 @@
|
|||||||
From 858c0be8c2fa4125a0fa0acaa03ae730e5c7cb3c Mon Sep 17 00:00:00 2001
|
|
||||||
Message-Id: <858c0be8c2fa4125a0fa0acaa03ae730e5c7cb3c.1602684183.git.diego.sueiro@arm.com>
|
|
||||||
From: Bertrand Marquis <bertrand.marquis@arm.com>
|
|
||||||
Date: Tue, 18 Aug 2020 14:47:39 +0100
|
|
||||||
Subject: [PATCH] xen/arm: Enable CPU Erratum 1165522 for Neoverse
|
|
||||||
|
|
||||||
Enable CPU erratum of Speculative AT on the Neoverse N1 processor
|
|
||||||
versions r0p0 to r2p0.
|
|
||||||
Also Fix Cortex A76 Erratum string which had a wrong errata number.
|
|
||||||
|
|
||||||
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
|
|
||||||
Acked-by: Julien Grall <jgrall@amazon.com>
|
|
||||||
|
|
||||||
Upstream-Status: Backport
|
|
||||||
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
|
|
||||||
---
|
|
||||||
xen/arch/arm/cpuerrata.c | 8 +++++++-
|
|
||||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
|
|
||||||
index 0248893..6c09017 100644
|
|
||||||
--- a/xen/arch/arm/cpuerrata.c
|
|
||||||
+++ b/xen/arch/arm/cpuerrata.c
|
|
||||||
@@ -477,8 +477,14 @@ static const struct arm_cpu_capabilities arm_errata[] = {
|
|
||||||
},
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
+ /* Neoverse r0p0 - r2p0 */
|
|
||||||
+ .desc = "ARM erratum 1165522",
|
|
||||||
+ .capability = ARM64_WORKAROUND_AT_SPECULATE,
|
|
||||||
+ MIDR_RANGE(MIDR_NEOVERSE_N1, 0, 2 << MIDR_VARIANT_SHIFT),
|
|
||||||
+ },
|
|
||||||
+ {
|
|
||||||
/* Cortex-A76 r0p0 - r2p0 */
|
|
||||||
- .desc = "ARM erratum 116522",
|
|
||||||
+ .desc = "ARM erratum 1165522",
|
|
||||||
.capability = ARM64_WORKAROUND_AT_SPECULATE,
|
|
||||||
MIDR_RANGE(MIDR_CORTEX_A76, 0, 2 << MIDR_VARIANT_SHIFT),
|
|
||||||
},
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
||||||
-35
@@ -1,35 +0,0 @@
|
|||||||
From 1814a626fb5811184eda64fe22f0055df4600211 Mon Sep 17 00:00:00 2001
|
|
||||||
Message-Id: <1814a626fb5811184eda64fe22f0055df4600211.1602684203.git.diego.sueiro@arm.com>
|
|
||||||
From: Julien Grall <jgrall@amazon.com>
|
|
||||||
Date: Tue, 25 Aug 2020 18:38:10 +0100
|
|
||||||
Subject: [PATCH] xen/arm: Update silicon-errata.txt with the Neovers AT
|
|
||||||
erratum
|
|
||||||
|
|
||||||
Commit 858c0be8c2fa "xen/arm: Enable CPU Erratum 1165522 for Neoverse"
|
|
||||||
added a new erratum but forgot to update silicon-errata.txt.
|
|
||||||
|
|
||||||
Update the file accordingly to keep track of errata workaround in Xen.
|
|
||||||
|
|
||||||
Signed-off-by: Julien Grall <jgrall@amazon.com>
|
|
||||||
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
|
|
||||||
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
|
|
||||||
|
|
||||||
Upstream-Status: Backport
|
|
||||||
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
|
|
||||||
---
|
|
||||||
docs/misc/arm/silicon-errata.txt | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/docs/misc/arm/silicon-errata.txt b/docs/misc/arm/silicon-errata.txt
|
|
||||||
index 11e5a9d..e15d092 100644
|
|
||||||
--- a/docs/misc/arm/silicon-errata.txt
|
|
||||||
+++ b/docs/misc/arm/silicon-errata.txt
|
|
||||||
@@ -51,4 +51,5 @@ stable hypervisors.
|
|
||||||
| ARM | Cortex-A57 | #1319537 | N/A |
|
|
||||||
| ARM | Cortex-A72 | #1319367 | N/A |
|
|
||||||
| ARM | Cortex-A76 | #1165522 | N/A |
|
|
||||||
+| ARM | Neoverse-N1 | #1165522 | N/A
|
|
||||||
| ARM | MMU-500 | #842869 | N/A |
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
||||||
-51
@@ -1,51 +0,0 @@
|
|||||||
From 968bb86d04913f52d7678a842474f2a674a8b23e Mon Sep 17 00:00:00 2001
|
|
||||||
Message-Id: <968bb86d04913f52d7678a842474f2a674a8b23e.1602683678.git.diego.sueiro@arm.com>
|
|
||||||
From: Wei Chen <wei.chen@arm.com>
|
|
||||||
Date: Fri, 28 Aug 2020 02:34:03 +0000
|
|
||||||
Subject: [PATCH] xen/arm: Missing N1/A76/A75 FP registers in vCPU context
|
|
||||||
switch
|
|
||||||
|
|
||||||
Xen has cpu_has_fp/cpu_has_simd to detect whether the CPU supports
|
|
||||||
FP/SIMD or not. But currently, these two MACROs only consider value 0
|
|
||||||
of ID_AA64PFR0_EL1.FP/SIMD as FP/SIMD features enabled. But for CPUs
|
|
||||||
that support FP/SIMD and half-precision floating-point arithmetic, the
|
|
||||||
ID_AA64PFR0_EL1.FP/SIMD are 1 (see Arm ARM DDI0487F.b, D13.2.64).
|
|
||||||
For these CPUs, xen will treat them as no FP/SIMD support, the
|
|
||||||
vfp_save/restore_state will not take effect.
|
|
||||||
|
|
||||||
From the TRM documents of Cortex-A75/A76/N1, we know these CPUs support
|
|
||||||
basic Advanced SIMD/FP and half-precision floating-point arithmetic. In
|
|
||||||
this case, on N1/A76/A75 platforms, Xen will always miss the floating
|
|
||||||
pointer registers save/restore. If different vCPUs are running on the
|
|
||||||
same pCPU, the floating pointer registers will be corrupted randomly.
|
|
||||||
|
|
||||||
This patch fixes Xen on these new cores.
|
|
||||||
|
|
||||||
Signed-off-by: Wei Chen <wei.chen@arm.com>
|
|
||||||
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
|
|
||||||
Reviewed-by: Julien Grall <jgrall@amazon.com>
|
|
||||||
|
|
||||||
Upstream-Status: Backport
|
|
||||||
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
|
|
||||||
---
|
|
||||||
xen/include/asm-arm/cpufeature.h | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/xen/include/asm-arm/cpufeature.h b/xen/include/asm-arm/cpufeature.h
|
|
||||||
index 674beb0..10878ea 100644
|
|
||||||
--- a/xen/include/asm-arm/cpufeature.h
|
|
||||||
+++ b/xen/include/asm-arm/cpufeature.h
|
|
||||||
@@ -13,8 +13,8 @@
|
|
||||||
#define cpu_has_el2_64 (boot_cpu_feature64(el2) >= 1)
|
|
||||||
#define cpu_has_el3_32 (boot_cpu_feature64(el3) == 2)
|
|
||||||
#define cpu_has_el3_64 (boot_cpu_feature64(el3) >= 1)
|
|
||||||
-#define cpu_has_fp (boot_cpu_feature64(fp) == 0)
|
|
||||||
-#define cpu_has_simd (boot_cpu_feature64(simd) == 0)
|
|
||||||
+#define cpu_has_fp (boot_cpu_feature64(fp) < 8)
|
|
||||||
+#define cpu_has_simd (boot_cpu_feature64(simd) < 8)
|
|
||||||
#define cpu_has_gicv3 (boot_cpu_feature64(gic) == 1)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
||||||
@@ -1,18 +1,34 @@
|
|||||||
Upstream-Status: Pending
|
Upstream-Status: Backport
|
||||||
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
|
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
|
||||||
|
Signed-off-by: Kamil Dziezyk <kamil.dziezyk@arm.com>
|
||||||
|
|
||||||
|
From 5499e0fc8082024bf7e2d0facd5c976e82105070 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Diego Sueiro <diego.sueiro@arm.com>
|
||||||
|
Date: Thu, 20 Aug 2020 11:58:20 +0100
|
||||||
|
Subject: [PATCH] tools/hotplug: Fix hostname setting in vif-nat
|
||||||
|
|
||||||
Setting the hostname is failing because the "$XENBUS_PATH/domain"
|
Setting the hostname is failing because the "$XENBUS_PATH/domain"
|
||||||
doesn't exist anymore. To fix this we set it to dom$domid
|
doesn't exist anymore. To fix this we set it to dom$domid
|
||||||
|
|
||||||
Index: git/tools/hotplug/Linux/vif-nat
|
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
|
||||||
===================================================================
|
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
|
||||||
--- git.orig/tools/hotplug/Linux/vif-nat
|
Acked-by: Wei Liu <wl@xen.org>
|
||||||
+++ git/tools/hotplug/Linux/vif-nat
|
---
|
||||||
@@ -86,6 +86,7 @@ router_ip=$(routing_ip "$ip")
|
tools/hotplug/Linux/vif-nat | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tools/hotplug/Linux/vif-nat b/tools/hotplug/Linux/vif-nat
|
||||||
|
index a76d9c784b..26144350b3 100644
|
||||||
|
--- a/tools/hotplug/Linux/vif-nat
|
||||||
|
+++ b/tools/hotplug/Linux/vif-nat
|
||||||
|
@@ -85,7 +85,7 @@ router_ip=$(routing_ip "$ip")
|
||||||
|
# Split the given IP/bits pair.
|
||||||
vif_ip=`echo ${ip} | awk -F/ '{print $1}'`
|
vif_ip=`echo ${ip} | awk -F/ '{print $1}'`
|
||||||
|
|
||||||
hostname=$(xenstore_read "$XENBUS_PATH/domain" | tr -- '_.:/+' '-----')
|
-hostname=$(xenstore_read "$XENBUS_PATH/domain" | tr -- '_.:/+' '-----')
|
||||||
+[ -z "${hostname}" ] && hostname=dom$domid
|
+hostname=dom$domid
|
||||||
if [ "$vifid" != "1" ]
|
if [ "$vifid" != "1" ]
|
||||||
then
|
then
|
||||||
hostname="$hostname-$vifid"
|
hostname="$hostname-$vifid"
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
@@ -1,9 +1,5 @@
|
|||||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-4.14:"
|
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-4.14:"
|
||||||
|
|
||||||
SRC_URI += " \
|
SRC_URI += " \
|
||||||
file://0001-arm-Add-Neoverse-N1-processor-identification.patch \
|
file://0001-xen-arm-Throw-messages-for-unknown-FP-SIMD-implement.patch \
|
||||||
file://0002-xen-arm-Enable-CPU-Erratum-1165522-for-Neoverse.patch \
|
|
||||||
file://0003-xen-arm-Update-silicon-errata.txt-with-the-Neovers-A.patch \
|
|
||||||
file://0004-xen-arm-Missing-N1-A76-A75-FP-registers-in-vCPU-cont.patch \
|
|
||||||
file://0005-xen-arm-Throw-messages-for-unknown-FP-SIMD-implement.patch \
|
|
||||||
"
|
"
|
||||||
@@ -65,8 +65,10 @@ case "$1" in
|
|||||||
;;
|
;;
|
||||||
stop)
|
stop)
|
||||||
echo "Stopping xenguest"
|
echo "Stopping xenguest"
|
||||||
|
# update guest list
|
||||||
|
guestlist=$(xenguest-manager status | grep Running | cut -d ":" -f1)
|
||||||
for f in ${guestlist}; do
|
for f in ${guestlist}; do
|
||||||
/usr/bin/xenguest-manager stop ${f}
|
xl shutdown -w ${f} || xl destroy ${f}
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
reload)
|
reload)
|
||||||
|
|||||||
@@ -21,8 +21,9 @@ XENGUEST_MANAGER_VOLUME_NAME ?= "vg-xen"
|
|||||||
XENGUEST_MANAGER_GUEST_DIR ?= "${datadir}/guests/"
|
XENGUEST_MANAGER_GUEST_DIR ?= "${datadir}/guests/"
|
||||||
|
|
||||||
# We add an init script to create and start guests automatically
|
# We add an init script to create and start guests automatically
|
||||||
|
# run start script after xen-tools and run stop script before xen-tools
|
||||||
INITSCRIPT_NAME = "xenguest"
|
INITSCRIPT_NAME = "xenguest"
|
||||||
INITSCRIPT_PARAMS = "defaults 90"
|
INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 79 0 1 6 ."
|
||||||
|
|
||||||
inherit update-rc.d
|
inherit update-rc.d
|
||||||
|
|
||||||
|
|||||||
@@ -29,9 +29,10 @@ PACKAGES =+ "${PN}-kea-dhcp4"
|
|||||||
|
|
||||||
# Bridge configurator needs to run before S01networking init script
|
# Bridge configurator needs to run before S01networking init script
|
||||||
# Prefix with a_ to make sure it is executed in runlevel 01 before others
|
# Prefix with a_ to make sure it is executed in runlevel 01 before others
|
||||||
|
# run start script before ifupdown and run stop script after ifupdown
|
||||||
INITSCRIPT_PACKAGES = "${PN} ${PN}-kea-dhcp4"
|
INITSCRIPT_PACKAGES = "${PN} ${PN}-kea-dhcp4"
|
||||||
INITSCRIPT_NAME_${PN} = "a_xenguest-network-bridge"
|
INITSCRIPT_NAME_${PN} = "a_xenguest-network-bridge"
|
||||||
INITSCRIPT_PARAMS_${PN} = "defaults 01"
|
INITSCRIPT_PARAMS_${PN} = "start 01 2 3 4 5 . stop 81 0 1 6 ."
|
||||||
|
|
||||||
# Kea configuration needs to be restored before kea init scripts:
|
# Kea configuration needs to be restored before kea init scripts:
|
||||||
# Kea dhcp4 server is 30, so lets use 20, to have higher priority
|
# Kea dhcp4 server is 30, so lets use 20, to have higher priority
|
||||||
|
|||||||
-2
@@ -1,5 +1,3 @@
|
|||||||
define KFEATURE_DESCRIPTION "Common XEN (Host and Guest) configs and patches on autonomy systems"
|
define KFEATURE_DESCRIPTION "Common XEN (Host and Guest) configs and patches on autonomy systems"
|
||||||
|
|
||||||
kconf non-hardware xen-common.cfg
|
kconf non-hardware xen-common.cfg
|
||||||
|
|
||||||
patch 0001-xen-arm-do-not-setup-the-runstate-info-page-if-kpti-.patch
|
|
||||||
+147
@@ -0,0 +1,147 @@
|
|||||||
|
From 5a0677110b73dd3e1766f89159701bfe8ac06808 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Masami Hiramatsu <mhiramat@kernel.org>
|
||||||
|
Date: Tue, 6 Oct 2020 15:49:31 +0900
|
||||||
|
Subject: [PATCH] arm/arm64: xen: Fix to convert percpu address to gfn
|
||||||
|
correctly
|
||||||
|
|
||||||
|
Use per_cpu_ptr_to_phys() instead of virt_to_phys() for per-cpu
|
||||||
|
address conversion.
|
||||||
|
|
||||||
|
In xen_starting_cpu(), per-cpu xen_vcpu_info address is converted
|
||||||
|
to gfn by virt_to_gfn() macro. However, since the virt_to_gfn(v)
|
||||||
|
assumes the given virtual address is in linear mapped kernel memory
|
||||||
|
area, it can not convert the per-cpu memory if it is allocated on
|
||||||
|
vmalloc area.
|
||||||
|
|
||||||
|
This depends on CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK.
|
||||||
|
If it is enabled, the first chunk of percpu memory is linear mapped.
|
||||||
|
In the other case, that is allocated from vmalloc area. Moreover,
|
||||||
|
if the first chunk of percpu has run out until allocating
|
||||||
|
xen_vcpu_info, it will be allocated on the 2nd chunk, which is
|
||||||
|
based on kernel memory or vmalloc memory (depends on
|
||||||
|
CONFIG_NEED_PER_CPU_KM).
|
||||||
|
|
||||||
|
Without this fix and kernel configured to use vmalloc area for
|
||||||
|
the percpu memory, the Dom0 kernel will fail to boot with following
|
||||||
|
errors.
|
||||||
|
|
||||||
|
[ 0.466172] Xen: initializing cpu0
|
||||||
|
[ 0.469601] ------------[ cut here ]------------
|
||||||
|
[ 0.474295] WARNING: CPU: 0 PID: 1 at arch/arm64/xen/../../arm/xen/enlighten.c:153 xen_starting_cpu+0x160/0x180
|
||||||
|
[ 0.484435] Modules linked in:
|
||||||
|
[ 0.487565] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.9.0-rc4+ #4
|
||||||
|
[ 0.493895] Hardware name: Socionext Developer Box (DT)
|
||||||
|
[ 0.499194] pstate: 00000005 (nzcv daif -PAN -UAO BTYPE=--)
|
||||||
|
[ 0.504836] pc : xen_starting_cpu+0x160/0x180
|
||||||
|
[ 0.509263] lr : xen_starting_cpu+0xb0/0x180
|
||||||
|
[ 0.513599] sp : ffff8000116cbb60
|
||||||
|
[ 0.516984] x29: ffff8000116cbb60 x28: ffff80000abec000
|
||||||
|
[ 0.522366] x27: 0000000000000000 x26: 0000000000000000
|
||||||
|
[ 0.527754] x25: ffff80001156c000 x24: fffffdffbfcdb600
|
||||||
|
[ 0.533129] x23: 0000000000000000 x22: 0000000000000000
|
||||||
|
[ 0.538511] x21: ffff8000113a99c8 x20: ffff800010fe4f68
|
||||||
|
[ 0.543892] x19: ffff8000113a9988 x18: 0000000000000010
|
||||||
|
[ 0.549274] x17: 0000000094fe0f81 x16: 00000000deadbeef
|
||||||
|
[ 0.554655] x15: ffffffffffffffff x14: 0720072007200720
|
||||||
|
[ 0.560037] x13: 0720072007200720 x12: 0720072007200720
|
||||||
|
[ 0.565418] x11: 0720072007200720 x10: 0720072007200720
|
||||||
|
[ 0.570801] x9 : ffff8000100fbdc0 x8 : ffff800010715208
|
||||||
|
[ 0.576182] x7 : 0000000000000054 x6 : ffff00001b790f00
|
||||||
|
[ 0.581564] x5 : ffff800010bbf880 x4 : 0000000000000000
|
||||||
|
[ 0.586945] x3 : 0000000000000000 x2 : ffff80000abec000
|
||||||
|
[ 0.592327] x1 : 000000000000002f x0 : 0000800000000000
|
||||||
|
[ 0.597716] Call trace:
|
||||||
|
[ 0.600232] xen_starting_cpu+0x160/0x180
|
||||||
|
[ 0.604309] cpuhp_invoke_callback+0xac/0x640
|
||||||
|
[ 0.608736] cpuhp_issue_call+0xf4/0x150
|
||||||
|
[ 0.612728] __cpuhp_setup_state_cpuslocked+0x128/0x2c8
|
||||||
|
[ 0.618030] __cpuhp_setup_state+0x84/0xf8
|
||||||
|
[ 0.622192] xen_guest_init+0x324/0x364
|
||||||
|
[ 0.626097] do_one_initcall+0x54/0x250
|
||||||
|
[ 0.630003] kernel_init_freeable+0x12c/0x2c8
|
||||||
|
[ 0.634428] kernel_init+0x1c/0x128
|
||||||
|
[ 0.637988] ret_from_fork+0x10/0x18
|
||||||
|
[ 0.641635] ---[ end trace d95b5309a33f8b27 ]---
|
||||||
|
[ 0.646337] ------------[ cut here ]------------
|
||||||
|
[ 0.651005] kernel BUG at arch/arm64/xen/../../arm/xen/enlighten.c:158!
|
||||||
|
[ 0.657697] Internal error: Oops - BUG: 0 [#1] SMP
|
||||||
|
[ 0.662548] Modules linked in:
|
||||||
|
[ 0.665676] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W 5.9.0-rc4+ #4
|
||||||
|
[ 0.673398] Hardware name: Socionext Developer Box (DT)
|
||||||
|
[ 0.678695] pstate: 00000005 (nzcv daif -PAN -UAO BTYPE=--)
|
||||||
|
[ 0.684338] pc : xen_starting_cpu+0x178/0x180
|
||||||
|
[ 0.688765] lr : xen_starting_cpu+0x144/0x180
|
||||||
|
[ 0.693188] sp : ffff8000116cbb60
|
||||||
|
[ 0.696573] x29: ffff8000116cbb60 x28: ffff80000abec000
|
||||||
|
[ 0.701955] x27: 0000000000000000 x26: 0000000000000000
|
||||||
|
[ 0.707344] x25: ffff80001156c000 x24: fffffdffbfcdb600
|
||||||
|
[ 0.712718] x23: 0000000000000000 x22: 0000000000000000
|
||||||
|
[ 0.718107] x21: ffff8000113a99c8 x20: ffff800010fe4f68
|
||||||
|
[ 0.723481] x19: ffff8000113a9988 x18: 0000000000000010
|
||||||
|
[ 0.728863] x17: 0000000094fe0f81 x16: 00000000deadbeef
|
||||||
|
[ 0.734245] x15: ffffffffffffffff x14: 0720072007200720
|
||||||
|
[ 0.739626] x13: 0720072007200720 x12: 0720072007200720
|
||||||
|
[ 0.745008] x11: 0720072007200720 x10: 0720072007200720
|
||||||
|
[ 0.750390] x9 : ffff8000100fbdc0 x8 : ffff800010715208
|
||||||
|
[ 0.755771] x7 : 0000000000000054 x6 : ffff00001b790f00
|
||||||
|
[ 0.761153] x5 : ffff800010bbf880 x4 : 0000000000000000
|
||||||
|
[ 0.766534] x3 : 0000000000000000 x2 : 00000000deadbeef
|
||||||
|
[ 0.771916] x1 : 00000000deadbeef x0 : ffffffffffffffea
|
||||||
|
[ 0.777304] Call trace:
|
||||||
|
[ 0.779819] xen_starting_cpu+0x178/0x180
|
||||||
|
[ 0.783898] cpuhp_invoke_callback+0xac/0x640
|
||||||
|
[ 0.788325] cpuhp_issue_call+0xf4/0x150
|
||||||
|
[ 0.792317] __cpuhp_setup_state_cpuslocked+0x128/0x2c8
|
||||||
|
[ 0.797619] __cpuhp_setup_state+0x84/0xf8
|
||||||
|
[ 0.801779] xen_guest_init+0x324/0x364
|
||||||
|
[ 0.805683] do_one_initcall+0x54/0x250
|
||||||
|
[ 0.809590] kernel_init_freeable+0x12c/0x2c8
|
||||||
|
[ 0.814016] kernel_init+0x1c/0x128
|
||||||
|
[ 0.817583] ret_from_fork+0x10/0x18
|
||||||
|
[ 0.821226] Code: d0006980 f9427c00 cb000300 17ffffea (d4210000)
|
||||||
|
[ 0.827415] ---[ end trace d95b5309a33f8b28 ]---
|
||||||
|
[ 0.832076] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
|
||||||
|
[ 0.839815] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---
|
||||||
|
|
||||||
|
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
|
||||||
|
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
||||||
|
Link: https://lore.kernel.org/r/160196697165.60224.17470743378683334995.stgit@devnote2
|
||||||
|
Signed-off-by: Juergen Gross <jgross@suse.com>
|
||||||
|
|
||||||
|
Upstream-Status: Backport
|
||||||
|
Signed-off-by: Richard Neill <richard.neill@arm.com>
|
||||||
|
---
|
||||||
|
arch/arm/xen/enlighten.c | 2 +-
|
||||||
|
include/xen/arm/page.h | 3 +++
|
||||||
|
2 files changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
|
||||||
|
index e93145d72c26..a6ab3689b2f4 100644
|
||||||
|
--- a/arch/arm/xen/enlighten.c
|
||||||
|
+++ b/arch/arm/xen/enlighten.c
|
||||||
|
@@ -150,7 +150,7 @@ static int xen_starting_cpu(unsigned int cpu)
|
||||||
|
pr_info("Xen: initializing cpu%d\n", cpu);
|
||||||
|
vcpup = per_cpu_ptr(xen_vcpu_info, cpu);
|
||||||
|
|
||||||
|
- info.mfn = virt_to_gfn(vcpup);
|
||||||
|
+ info.mfn = percpu_to_gfn(vcpup);
|
||||||
|
info.offset = xen_offset_in_page(vcpup);
|
||||||
|
|
||||||
|
err = HYPERVISOR_vcpu_op(VCPUOP_register_vcpu_info, xen_vcpu_nr(cpu),
|
||||||
|
diff --git a/include/xen/arm/page.h b/include/xen/arm/page.h
|
||||||
|
index 39df751d0dc4..ac1b65470563 100644
|
||||||
|
--- a/include/xen/arm/page.h
|
||||||
|
+++ b/include/xen/arm/page.h
|
||||||
|
@@ -83,6 +83,9 @@ static inline unsigned long bfn_to_pfn(unsigned long bfn)
|
||||||
|
})
|
||||||
|
#define gfn_to_virt(m) (__va(gfn_to_pfn(m) << XEN_PAGE_SHIFT))
|
||||||
|
|
||||||
|
+#define percpu_to_gfn(v) \
|
||||||
|
+ (pfn_to_gfn(per_cpu_ptr_to_phys(v) >> XEN_PAGE_SHIFT))
|
||||||
|
+
|
||||||
|
/* Only used in PV code. But ARM guests are always HVM. */
|
||||||
|
static inline xmaddr_t arbitrary_virt_to_machine(void *vaddr)
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
+95
@@ -0,0 +1,95 @@
|
|||||||
|
From 18d691d837b340c941ad778bc8dfa77446e48bb4 Mon Sep 17 00:00:00 2001
|
||||||
|
Message-Id: <18d691d837b340c941ad778bc8dfa77446e48bb4.1613579395.git.diego.sueiro@arm.com>
|
||||||
|
From: Julien Grall <jgrall@amazon.com>
|
||||||
|
Date: Wed, 10 Feb 2021 17:06:54 +0000
|
||||||
|
Subject: [PATCH] arm/xen: Don't probe xenbus as part of an early initcall
|
||||||
|
|
||||||
|
commit c4295ab0b485b8bc50d2264bcae2acd06f25caaf upstream.
|
||||||
|
|
||||||
|
After Commit 3499ba8198cad ("xen: Fix event channel callback via
|
||||||
|
INTX/GSI"), xenbus_probe() will be called too early on Arm. This will
|
||||||
|
recent to a guest hang during boot.
|
||||||
|
|
||||||
|
If the hang wasn't there, we would have ended up to call
|
||||||
|
xenbus_probe() twice (the second time is in xenbus_probe_initcall()).
|
||||||
|
|
||||||
|
We don't need to initialize xenbus_probe() early for Arm guest.
|
||||||
|
Therefore, the call in xen_guest_init() is now removed.
|
||||||
|
|
||||||
|
After this change, there is no more external caller for xenbus_probe().
|
||||||
|
So the function is turned to a static one. Interestingly there were two
|
||||||
|
prototypes for it.
|
||||||
|
|
||||||
|
Cc: stable@vger.kernel.org
|
||||||
|
Fixes: 3499ba8198cad ("xen: Fix event channel callback via INTX/GSI")
|
||||||
|
Reported-by: Ian Jackson <iwj@xenproject.org>
|
||||||
|
Signed-off-by: Julien Grall <jgrall@amazon.com>
|
||||||
|
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
|
||||||
|
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
|
||||||
|
Link: https://lore.kernel.org/r/20210210170654.5377-1-julien@xen.org
|
||||||
|
Signed-off-by: Juergen Gross <jgross@suse.com>
|
||||||
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||||
|
|
||||||
|
Upstream-Status: Backport
|
||||||
|
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
|
||||||
|
---
|
||||||
|
arch/arm/xen/enlighten.c | 2 --
|
||||||
|
drivers/xen/xenbus/xenbus.h | 1 -
|
||||||
|
drivers/xen/xenbus/xenbus_probe.c | 2 +-
|
||||||
|
include/xen/xenbus.h | 2 --
|
||||||
|
4 files changed, 1 insertion(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
|
||||||
|
index f45bff158fc2..57dfc13b2752 100644
|
||||||
|
--- a/arch/arm/xen/enlighten.c
|
||||||
|
+++ b/arch/arm/xen/enlighten.c
|
||||||
|
@@ -370,8 +370,6 @@ static int __init xen_guest_init(void)
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
gnttab_init();
|
||||||
|
- if (!xen_initial_domain())
|
||||||
|
- xenbus_probe();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Making sure board specific code will not set up ops for
|
||||||
|
diff --git a/drivers/xen/xenbus/xenbus.h b/drivers/xen/xenbus/xenbus.h
|
||||||
|
index a9bb5f91082d..88516a8a9f93 100644
|
||||||
|
--- a/drivers/xen/xenbus/xenbus.h
|
||||||
|
+++ b/drivers/xen/xenbus/xenbus.h
|
||||||
|
@@ -115,7 +115,6 @@ int xenbus_probe_node(struct xen_bus_type *bus,
|
||||||
|
const char *type,
|
||||||
|
const char *nodename);
|
||||||
|
int xenbus_probe_devices(struct xen_bus_type *bus);
|
||||||
|
-void xenbus_probe(void);
|
||||||
|
|
||||||
|
void xenbus_dev_changed(const char *node, struct xen_bus_type *bus);
|
||||||
|
|
||||||
|
diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c
|
||||||
|
index 786494bb7f20..652894d61967 100644
|
||||||
|
--- a/drivers/xen/xenbus/xenbus_probe.c
|
||||||
|
+++ b/drivers/xen/xenbus/xenbus_probe.c
|
||||||
|
@@ -683,7 +683,7 @@ void unregister_xenstore_notifier(struct notifier_block *nb)
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(unregister_xenstore_notifier);
|
||||||
|
|
||||||
|
-void xenbus_probe(void)
|
||||||
|
+static void xenbus_probe(void)
|
||||||
|
{
|
||||||
|
xenstored_ready = 1;
|
||||||
|
|
||||||
|
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h
|
||||||
|
index fe9a9fa2ebc4..14d47ed4114f 100644
|
||||||
|
--- a/include/xen/xenbus.h
|
||||||
|
+++ b/include/xen/xenbus.h
|
||||||
|
@@ -187,8 +187,6 @@ void xs_suspend_cancel(void);
|
||||||
|
|
||||||
|
struct work_struct;
|
||||||
|
|
||||||
|
-void xenbus_probe(void);
|
||||||
|
-
|
||||||
|
#define XENBUS_IS_ERR_READ(str) ({ \
|
||||||
|
if (!IS_ERR(str) && strlen(str) == 0) { \
|
||||||
|
kfree(str); \
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
||||||
File renamed without changes.
@@ -33,3 +33,24 @@ KMACHINE_arm64-autonomy-guest = "arm64-autonomy-guest"
|
|||||||
# Add Minimal Kernel Configs for Docker runtime
|
# Add Minimal Kernel Configs for Docker runtime
|
||||||
KERNEL_FEATURES += "${@bb.utils.contains('DISTRO_FEATURES', \
|
KERNEL_FEATURES += "${@bb.utils.contains('DISTRO_FEATURES', \
|
||||||
'docker', 'features/arm-autonomy/docker-minimal.scc', '', d)}"
|
'docker', 'features/arm-autonomy/docker-minimal.scc', '', d)}"
|
||||||
|
|
||||||
|
python() {
|
||||||
|
from distutils.version import LooseVersion
|
||||||
|
|
||||||
|
kernelVersion = d.getVar('LINUX_VERSION')
|
||||||
|
pn = d.getVar('PN')
|
||||||
|
|
||||||
|
if kernelVersion and LooseVersion(kernelVersion) < '5.4.99' \
|
||||||
|
and pn != 'linux-libc-headers' \
|
||||||
|
and oe.utils.any_distro_features(d, "arm-autonomy-guest"):
|
||||||
|
d.appendVar('SRC_URI', ' file://files/0001-arm-xen-Don-t-probe-xenbus-as-part-of-an-early-initc.patch' )
|
||||||
|
|
||||||
|
if kernelVersion and LooseVersion(kernelVersion) < '5.9' \
|
||||||
|
and pn != 'linux-libc-headers' \
|
||||||
|
and oe.utils.any_distro_features(d, "arm-autonomy-host arm-autonomy-guest"):
|
||||||
|
d.appendVar('SRC_URI', ' file://files/0001-arm-arm64-xen-Fix-to-convert-percpu-address-to-gfn-c.patch' )
|
||||||
|
|
||||||
|
if kernelVersion and LooseVersion(kernelVersion) < '5.10':
|
||||||
|
if oe.utils.any_distro_features(d, "arm-autonomy-host arm-autonomy-guest"):
|
||||||
|
d.appendVar('SRC_URI', ' file://files/0001-xen-arm-do-not-setup-the-runstate-info-page-if-kpti-.patch' )
|
||||||
|
}
|
||||||
@@ -11,7 +11,7 @@ BBFILE_PRIORITY_meta-arm-bsp = "6"
|
|||||||
|
|
||||||
LAYERSERIES_COMPAT_meta-arm-bsp = "gatesgarth"
|
LAYERSERIES_COMPAT_meta-arm-bsp = "gatesgarth"
|
||||||
|
|
||||||
LAYERDEPENDS_meta-arm-bsp = "core meta-arm meta-kernel"
|
LAYERDEPENDS_meta-arm-bsp = "core meta-arm"
|
||||||
# This won't be used by layerindex-fetch, but works everywhere else
|
# This won't be used by layerindex-fetch, but works everywhere else
|
||||||
LAYERDEPENDS_meta-arm-bsp_append_musca-b1 = " meta-python"
|
LAYERDEPENDS_meta-arm-bsp_append_musca-b1 = " meta-python"
|
||||||
LAYERDEPENDS_meta-arm-bsp_append_musca-s1 = " meta-python"
|
LAYERDEPENDS_meta-arm-bsp_append_musca-s1 = " meta-python"
|
||||||
|
|||||||
@@ -6,9 +6,10 @@
|
|||||||
|
|
||||||
require conf/machine/include/tune-cortexa5.inc
|
require conf/machine/include/tune-cortexa5.inc
|
||||||
|
|
||||||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-stable"
|
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
|
||||||
PREFERRED_VERSION_linux-stable ?= "5.3%"
|
PREFERRED_VERSION_linux-yocto ?= "5.3%"
|
||||||
KBUILD_DEFCONFIG = "multi_v7_defconfig"
|
KBUILD_DEFCONFIG = "multi_v7_defconfig"
|
||||||
|
KCONFIG_MODE = "--alldefconfig"
|
||||||
|
|
||||||
EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-a u-boot"
|
EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-a u-boot"
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ TFA_PLATFORM = "corstone700"
|
|||||||
|
|
||||||
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
||||||
|
|
||||||
PREFERRED_PROVIDER_virtual/kernel_corstone700 = "linux-stable"
|
PREFERRED_PROVIDER_virtual/kernel_corstone700 = "linux-yocto"
|
||||||
PREFERRED_VERSION_linux-stable ?= "5.6%"
|
PREFERRED_VERSION_linux-yocto ?= "5.6%"
|
||||||
|
|
||||||
PREFERRED_PROVIDER_virtual/trusted-firmware-a ?= "trusted-firmware-a"
|
PREFERRED_PROVIDER_virtual/trusted-firmware-a ?= "trusted-firmware-a"
|
||||||
PREFERRED_VERSION_trusted-firmware-a ?= "2.3%"
|
PREFERRED_VERSION_trusted-firmware-a ?= "2.3%"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
@@ -26,3 +26,6 @@ EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-a u-boot 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"
|
||||||
@@ -16,8 +16,9 @@ EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-a"
|
|||||||
|
|
||||||
# Use kernel provided by linaro
|
# Use kernel provided by linaro
|
||||||
KERNEL_IMAGETYPE ?= "Image"
|
KERNEL_IMAGETYPE ?= "Image"
|
||||||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-stable"
|
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
|
||||||
PREFERRED_VERSION_linux-stable ?= "5.7%"
|
PREFERRED_VERSION_linux-yocto ?= "5.7%"
|
||||||
|
KCONFIG_MODE = "--alldefconfig"
|
||||||
SERIAL_CONSOLES = "115200;ttyAMA0"
|
SERIAL_CONSOLES = "115200;ttyAMA0"
|
||||||
|
|
||||||
#grub-efi
|
#grub-efi
|
||||||
|
|||||||
@@ -1,5 +1,19 @@
|
|||||||
# N1SDP Development Platform Support in meta-arm-bsp
|
# N1SDP Development Platform Support in meta-arm-bsp
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
The N1SDP provides access to the Arm Neoverse N1 SoC. The N1SDP enables software development for key enterprise technology
|
||||||
|
and general Arm software development. The N1SDP consists of the N1 board containing the N1 SoC.
|
||||||
|
The N1 SoC contains two dual-core Arm Neoverse N1 processor clusters.
|
||||||
|
|
||||||
|
The system demonstrates Arm technology in the context of Cache-Coherent Interconnect for Accelerators (CCIX) protocol by:
|
||||||
|
|
||||||
|
- Running coherent traffic between the N1 SoC and an accelerator card.
|
||||||
|
- Coherent communication between two N1 SoCs.
|
||||||
|
- Enabling development of CCIX-enabled FPGA accelerators.
|
||||||
|
|
||||||
|
Further information on N1SDP can be found at
|
||||||
|
https://community.arm.com/developer/tools-software/oss-platforms/w/docs/458/neoverse-n1-sdp
|
||||||
|
|
||||||
## Configuration:
|
## Configuration:
|
||||||
In the local.conf file, MACHINE should be set as follow:
|
In the local.conf file, MACHINE should be set as follow:
|
||||||
MACHINE ?= "n1sdp"
|
MACHINE ?= "n1sdp"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ SUMMARY = "External system Cortex-M3 Firmware"
|
|||||||
DESCRIPTION = "Firmware to be loaded and run in External System Harness in\
|
DESCRIPTION = "Firmware to be loaded and run in External System Harness in\
|
||||||
support to the main application CPU."
|
support to the main application CPU."
|
||||||
HOMEPAGE = "https://git.linaro.org/landing-teams/working/arm/external-system.git"
|
HOMEPAGE = "https://git.linaro.org/landing-teams/working/arm/external-system.git"
|
||||||
DEPENDS = "coreutils-native gcc-arm-none-eabi-native"
|
DEPENDS = "gcc-arm-none-eabi-native"
|
||||||
LICENSE = "BSD-3-Clause"
|
LICENSE = "BSD-3-Clause"
|
||||||
LIC_FILES_CHKSUM = "file://license.md;md5=e44b2531cd6ffe9dece394dbe988d9a0"
|
LIC_FILES_CHKSUM = "file://license.md;md5=e44b2531cd6ffe9dece394dbe988d9a0"
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ 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}/Image ${D}/${UNPACK_DIR}/SOFTWARE/
|
||||||
|
|||||||
@@ -18,9 +18,7 @@ FIRMWARE_DIR = "n1sdp-board-firmware_source"
|
|||||||
PRIMARY_DIR = "${WORKDIR}/n1sdp-board-firmware_primary"
|
PRIMARY_DIR = "${WORKDIR}/n1sdp-board-firmware_primary"
|
||||||
SECONDARY_DIR = "${WORKDIR}/n1sdp-board-firmware_secondary"
|
SECONDARY_DIR = "${WORKDIR}/n1sdp-board-firmware_secondary"
|
||||||
|
|
||||||
SOC_BINARIES_PRIMARY = "mcp_fw.bin scp_fw.bin ${SOC_BINARIES_SECONDARY}"
|
SOC_BINARIES = "mcp_fw.bin scp_fw.bin mcp_rom.bin scp_rom.bin"
|
||||||
SOC_BINARIES_SECONDARY = "mcp_rom.bin scp_rom.bin"
|
|
||||||
|
|
||||||
|
|
||||||
prepare_package() {
|
prepare_package() {
|
||||||
cd ${WORKDIR}
|
cd ${WORKDIR}
|
||||||
@@ -33,7 +31,7 @@ prepare_package() {
|
|||||||
cp -v ${RECIPE_SYSROOT}/firmware/uefi.bin ${PRIMARY_DIR}/SOFTWARE/
|
cp -v ${RECIPE_SYSROOT}/firmware/uefi.bin ${PRIMARY_DIR}/SOFTWARE/
|
||||||
|
|
||||||
# Copy SOC binaries
|
# Copy SOC binaries
|
||||||
for f in ${SOC_BINARIES_PRIMARY}; do
|
for f in ${SOC_BINARIES}; do
|
||||||
cp -v ${RECIPE_SYSROOT}/firmware/${f} ${PRIMARY_DIR}/SOFTWARE/
|
cp -v ${RECIPE_SYSROOT}/firmware/${f} ${PRIMARY_DIR}/SOFTWARE/
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -49,7 +47,7 @@ prepare_package() {
|
|||||||
mkdir -p ${SECONDARY_DIR}/SOFTWARE/
|
mkdir -p ${SECONDARY_DIR}/SOFTWARE/
|
||||||
|
|
||||||
# Copy SOC binaries
|
# Copy SOC binaries
|
||||||
for f in ${SOC_BINARIES_SECONDARY}; do
|
for f in ${SOC_BINARIES}; do
|
||||||
cp -v ${RECIPE_SYSROOT}/firmware/${f} ${SECONDARY_DIR}/SOFTWARE/
|
cp -v ${RECIPE_SYSROOT}/firmware/${f} ${SECONDARY_DIR}/SOFTWARE/
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -59,10 +57,8 @@ prepare_package() {
|
|||||||
${SECONDARY_DIR}/MB/HBI0316A/io_v123f.txt
|
${SECONDARY_DIR}/MB/HBI0316A/io_v123f.txt
|
||||||
sed -i -e 's|.*SOCCON: 0x1170.*PLATFORM_CTRL.*|SOCCON: 0x1170 0x00000101 ;SoC SCC PLATFORM_CTRL|' \
|
sed -i -e 's|.*SOCCON: 0x1170.*PLATFORM_CTRL.*|SOCCON: 0x1170 0x00000101 ;SoC SCC PLATFORM_CTRL|' \
|
||||||
${SECONDARY_DIR}/MB/HBI0316A/io_v123f.txt
|
${SECONDARY_DIR}/MB/HBI0316A/io_v123f.txt
|
||||||
sed -i -e '/^TOTALIMAGES:/ s|5|2|' ${SECONDARY_DIR}/MB/HBI0316A/images.txt
|
sed -i -e '/^TOTALIMAGES:/ s|5|4|' ${SECONDARY_DIR}/MB/HBI0316A/images.txt
|
||||||
sed -i -e 's|^IMAGE[^23]|;&|' ${SECONDARY_DIR}/MB/HBI0316A/images.txt
|
sed -i -e 's|^IMAGE4|;&|' ${SECONDARY_DIR}/MB/HBI0316A/images.txt
|
||||||
sed -i -e 's|^IMAGE2|IMAGE0|' ${SECONDARY_DIR}/MB/HBI0316A/images.txt
|
|
||||||
sed -i -e 's|^IMAGE3|IMAGE1|' ${SECONDARY_DIR}/MB/HBI0316A/images.txt
|
|
||||||
}
|
}
|
||||||
|
|
||||||
do_deploy() {
|
do_deploy() {
|
||||||
@@ -81,4 +77,4 @@ do_deploy() {
|
|||||||
do_deploy[dirs] += "${PRIMARY_DIR} ${SECONDARY_DIR}"
|
do_deploy[dirs] += "${PRIMARY_DIR} ${SECONDARY_DIR}"
|
||||||
do_deploy[cleandirs] += "${PRIMARY_DIR} ${SECONDARY_DIR}"
|
do_deploy[cleandirs] += "${PRIMARY_DIR} ${SECONDARY_DIR}"
|
||||||
do_deploy[umask] = "022"
|
do_deploy[umask] = "022"
|
||||||
addtask deploy after do_populate_sysroot
|
addtask deploy after do_prepare_recipe_sysroot
|
||||||
+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
|
||||||
|
|
||||||
@@ -29,7 +29,10 @@ SRC_URI_append_fvp-base-arm32 = " file://0001-Add-vexpress_aemv8a_aarch32-varian
|
|||||||
#
|
#
|
||||||
# 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 \
|
||||||
|
"
|
||||||
|
|
||||||
#
|
#
|
||||||
# Total Compute KMACHINE
|
# Total Compute KMACHINE
|
||||||
|
|||||||
+54
@@ -0,0 +1,54 @@
|
|||||||
|
Upstream-Status: Backport
|
||||||
|
Signed-off-by: Jon Mason <jon.mason@arm.com>
|
||||||
|
|
||||||
|
From e33a814e772cdc36436c8c188d8c42d019fda639 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dirk Mueller <dmueller@suse.com>
|
||||||
|
Date: Tue, 14 Jan 2020 18:53:41 +0100
|
||||||
|
Subject: [PATCH] scripts/dtc: Remove redundant YYLOC global declaration
|
||||||
|
|
||||||
|
gcc 10 will default to -fno-common, which causes this error at link
|
||||||
|
time:
|
||||||
|
|
||||||
|
(.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here
|
||||||
|
|
||||||
|
This is because both dtc-lexer as well as dtc-parser define the same
|
||||||
|
global symbol yyloc. Before with -fcommon those were merged into one
|
||||||
|
defintion. The proper solution would be to to mark this as "extern",
|
||||||
|
however that leads to:
|
||||||
|
|
||||||
|
dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls]
|
||||||
|
26 | extern YYLTYPE yylloc;
|
||||||
|
| ^~~~~~
|
||||||
|
In file included from dtc-lexer.l:24:
|
||||||
|
dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here
|
||||||
|
127 | extern YYLTYPE yylloc;
|
||||||
|
| ^~~~~~
|
||||||
|
cc1: all warnings being treated as errors
|
||||||
|
|
||||||
|
which means the declaration is completely redundant and can just be
|
||||||
|
dropped.
|
||||||
|
|
||||||
|
Signed-off-by: Dirk Mueller <dmueller@suse.com>
|
||||||
|
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
|
||||||
|
[robh: cherry-pick from upstream]
|
||||||
|
Cc: stable@vger.kernel.org
|
||||||
|
Signed-off-by: Rob Herring <robh@kernel.org>
|
||||||
|
---
|
||||||
|
scripts/dtc/dtc-lexer.l | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
|
||||||
|
index 5c6c3fd557d7..b3b7270300de 100644
|
||||||
|
--- a/scripts/dtc/dtc-lexer.l
|
||||||
|
+++ b/scripts/dtc/dtc-lexer.l
|
||||||
|
@@ -23,7 +23,6 @@ LINECOMMENT "//".*\n
|
||||||
|
#include "srcpos.h"
|
||||||
|
#include "dtc-parser.tab.h"
|
||||||
|
|
||||||
|
-YYLTYPE yylloc;
|
||||||
|
extern bool treesource_error;
|
||||||
|
|
||||||
|
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
|
||||||
|
--
|
||||||
|
2.30.2
|
||||||
|
|
||||||
@@ -51,6 +51,10 @@ COMPATIBLE_MACHINE_juno = "juno"
|
|||||||
KMACHINE_juno = "juno"
|
KMACHINE_juno = "juno"
|
||||||
KBUILD_DEFCONFIG_juno = "defconfig"
|
KBUILD_DEFCONFIG_juno = "defconfig"
|
||||||
KCONFIG_MODE_juno = "--alldefconfig"
|
KCONFIG_MODE_juno = "--alldefconfig"
|
||||||
|
#FIXME - temporarily pin kernel version to allow for juno patches to apply
|
||||||
|
KBRANCH_juno = "v5.4/standard/base"
|
||||||
|
KERNEL_VERSION_SANITY_SKIP_juno = "1"
|
||||||
|
SRCREV_machine_juno = "dd8a64a523fb714a98328441e0de72cde115a6fc"
|
||||||
SRC_URI_append_juno = " \
|
SRC_URI_append_juno = " \
|
||||||
file://0001-mailbox-add-support-for-doorbell-signal-mode-control.patch \
|
file://0001-mailbox-add-support-for-doorbell-signal-mode-control.patch \
|
||||||
file://0002-dt-bindings-mailbox-add-bindings-to-support-ARM-MHU-.patch \
|
file://0002-dt-bindings-mailbox-add-bindings-to-support-ARM-MHU-.patch \
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
# Add support for Arm Platforms (boards or simulators)
|
|
||||||
|
|
||||||
require linux-arm-platforms.inc
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-stable-5.7:"
|
|
||||||
|
|
||||||
SRC_URI_append = " file://coresight-traceid.patch"
|
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,112 @@
|
|||||||
|
Change USB_CONN_GPIO to 'y' by default and regenerate the defconfig via
|
||||||
|
`make savedefconfig`.
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [not needed in newer kernels]
|
||||||
|
Signed-off-by: Jon Mason <jon.mason@arm.com>
|
||||||
|
|
||||||
|
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
|
||||||
|
index 03d0189f7d68..a4baafe01c34 100644
|
||||||
|
--- a/arch/arm64/configs/defconfig
|
||||||
|
+++ b/arch/arm64/configs/defconfig
|
||||||
|
@@ -165,9 +165,9 @@ CONFIG_QRTR_SMD=m
|
||||||
|
CONFIG_QRTR_TUN=m
|
||||||
|
CONFIG_BPF_JIT=y
|
||||||
|
CONFIG_CAN=m
|
||||||
|
+CONFIG_CAN_FLEXCAN=m
|
||||||
|
CONFIG_CAN_RCAR=m
|
||||||
|
CONFIG_CAN_RCAR_CANFD=m
|
||||||
|
-CONFIG_CAN_FLEXCAN=m
|
||||||
|
CONFIG_BT=m
|
||||||
|
CONFIG_BT_HIDP=m
|
||||||
|
# CONFIG_BT_HS is not set
|
||||||
|
@@ -202,20 +202,19 @@ CONFIG_PCI_HOST_THUNDER_ECAM=y
|
||||||
|
CONFIG_PCIE_ROCKCHIP_HOST=m
|
||||||
|
CONFIG_PCIE_BRCMSTB=m
|
||||||
|
CONFIG_PCI_LAYERSCAPE=y
|
||||||
|
-CONFIG_PCIE_LAYERSCAPE_GEN4=y
|
||||||
|
CONFIG_PCI_HISI=y
|
||||||
|
CONFIG_PCIE_QCOM=y
|
||||||
|
CONFIG_PCIE_ARMADA_8K=y
|
||||||
|
CONFIG_PCIE_KIRIN=y
|
||||||
|
CONFIG_PCIE_HISI_STB=y
|
||||||
|
CONFIG_PCIE_TEGRA194_HOST=m
|
||||||
|
+CONFIG_PCIE_LAYERSCAPE_GEN4=y
|
||||||
|
CONFIG_DEVTMPFS=y
|
||||||
|
CONFIG_DEVTMPFS_MOUNT=y
|
||||||
|
CONFIG_FW_LOADER_USER_HELPER=y
|
||||||
|
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
|
||||||
|
CONFIG_HISILICON_LPC=y
|
||||||
|
CONFIG_SIMPLE_PM_BUS=y
|
||||||
|
-CONFIG_FSL_MC_BUS=y
|
||||||
|
CONFIG_MTD=y
|
||||||
|
CONFIG_MTD_BLOCK=y
|
||||||
|
CONFIG_MTD_CFI=y
|
||||||
|
@@ -494,10 +493,10 @@ CONFIG_SENSORS_INA3221=m
|
||||||
|
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
|
||||||
|
CONFIG_CPU_THERMAL=y
|
||||||
|
CONFIG_THERMAL_EMULATION=y
|
||||||
|
-CONFIG_QORIQ_THERMAL=m
|
||||||
|
-CONFIG_SUN8I_THERMAL=y
|
||||||
|
CONFIG_IMX_SC_THERMAL=m
|
||||||
|
CONFIG_IMX8MM_THERMAL=m
|
||||||
|
+CONFIG_QORIQ_THERMAL=m
|
||||||
|
+CONFIG_SUN8I_THERMAL=y
|
||||||
|
CONFIG_ROCKCHIP_THERMAL=m
|
||||||
|
CONFIG_RCAR_THERMAL=y
|
||||||
|
CONFIG_RCAR_GEN3_THERMAL=y
|
||||||
|
@@ -567,7 +566,6 @@ CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
|
||||||
|
CONFIG_MEDIA_SDR_SUPPORT=y
|
||||||
|
CONFIG_MEDIA_CONTROLLER=y
|
||||||
|
CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
||||||
|
-CONFIG_MEDIA_PLATFORM_SUPPORT=y
|
||||||
|
# CONFIG_DVB_NET is not set
|
||||||
|
CONFIG_MEDIA_USB_SUPPORT=y
|
||||||
|
CONFIG_USB_VIDEO_CLASS=m
|
||||||
|
@@ -611,10 +609,10 @@ CONFIG_DRM_MSM=m
|
||||||
|
CONFIG_DRM_TEGRA=m
|
||||||
|
CONFIG_DRM_PANEL_LVDS=m
|
||||||
|
CONFIG_DRM_PANEL_SIMPLE=m
|
||||||
|
-CONFIG_DRM_SIMPLE_BRIDGE=m
|
||||||
|
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
|
||||||
|
CONFIG_DRM_DISPLAY_CONNECTOR=m
|
||||||
|
CONFIG_DRM_SII902X=m
|
||||||
|
+CONFIG_DRM_SIMPLE_BRIDGE=m
|
||||||
|
CONFIG_DRM_THINE_THC63LVD1024=m
|
||||||
|
CONFIG_DRM_TI_SN65DSI86=m
|
||||||
|
CONFIG_DRM_I2C_ADV7511=m
|
||||||
|
@@ -662,7 +660,6 @@ CONFIG_SND_SOC_WSA881X=m
|
||||||
|
CONFIG_SND_SIMPLE_CARD=m
|
||||||
|
CONFIG_SND_AUDIO_GRAPH_CARD=m
|
||||||
|
CONFIG_I2C_HID=m
|
||||||
|
-CONFIG_USB_CONN_GPIO=m
|
||||||
|
CONFIG_USB=y
|
||||||
|
CONFIG_USB_OTG=y
|
||||||
|
CONFIG_USB_XHCI_HCD=y
|
||||||
|
@@ -797,14 +794,13 @@ CONFIG_QCOM_A53PLL=y
|
||||||
|
CONFIG_QCOM_CLK_APCS_MSM8916=y
|
||||||
|
CONFIG_QCOM_CLK_SMD_RPM=y
|
||||||
|
CONFIG_QCOM_CLK_RPMH=y
|
||||||
|
-CONFIG_IPQ_GCC_8074=y
|
||||||
|
CONFIG_IPQ_GCC_6018=y
|
||||||
|
+CONFIG_IPQ_GCC_8074=y
|
||||||
|
CONFIG_MSM_GCC_8916=y
|
||||||
|
CONFIG_MSM_GCC_8994=y
|
||||||
|
CONFIG_MSM_MMCC_8996=y
|
||||||
|
CONFIG_MSM_GCC_8998=y
|
||||||
|
CONFIG_QCS_GCC_404=y
|
||||||
|
-CONFIG_SDM_GCC_845=y
|
||||||
|
CONFIG_SDM_GPUCC_845=y
|
||||||
|
CONFIG_SDM_DISPCC_845=y
|
||||||
|
CONFIG_SM_GCC_8150=y
|
||||||
|
@@ -933,10 +929,10 @@ CONFIG_FPGA_REGION=m
|
||||||
|
CONFIG_OF_FPGA_REGION=m
|
||||||
|
CONFIG_TEE=y
|
||||||
|
CONFIG_OPTEE=y
|
||||||
|
+CONFIG_MUX_MMIO=y
|
||||||
|
CONFIG_SLIMBUS=m
|
||||||
|
CONFIG_SLIM_QCOM_CTRL=m
|
||||||
|
CONFIG_SLIM_QCOM_NGD_CTRL=m
|
||||||
|
-CONFIG_MUX_MMIO=y
|
||||||
|
CONFIG_EXT2_FS=y
|
||||||
|
CONFIG_EXT3_FS=y
|
||||||
|
CONFIG_EXT4_FS_POSIX_ACL=y
|
||||||
-8
@@ -1,13 +1,5 @@
|
|||||||
FILESEXTRAPATHS_prepend := "${THISDIR}/files/corstone700:"
|
FILESEXTRAPATHS_prepend := "${THISDIR}/files/corstone700:"
|
||||||
|
|
||||||
# including linux-yocto.inc to use configuration fragments
|
|
||||||
require recipes-kernel/linux/linux-yocto.inc
|
|
||||||
|
|
||||||
LINUX_VMAJOR = "5"
|
|
||||||
LINUX_VMINOR = "6"
|
|
||||||
LINUX_VPATCH = "14"
|
|
||||||
LINUX_SRCREV = "e3ac9117b18596b7363d5b7904ab03a7d782b40c"
|
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "${MACHINE}"
|
COMPATIBLE_MACHINE = "${MACHINE}"
|
||||||
|
|
||||||
KMACHINE = "corstone700"
|
KMACHINE = "corstone700"
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-stable-5.3:"
|
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-yocto-5.3:"
|
||||||
|
|
||||||
SRC_URI_append = " file://0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch \
|
SRC_URI_append = " file://0001-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch \
|
||||||
file://0002-perf-tests-bp_account-Make-global-variable-static.patch \
|
file://0002-perf-tests-bp_account-Make-global-variable-static.patch \
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
KBRANCH = "v5.3/base"
|
||||||
|
|
||||||
|
require recipes-kernel/linux/linux-yocto.inc
|
||||||
|
|
||||||
|
SRCREV_machine = "d4f3318ed8fab6316cb7a269b8f42306632a3876"
|
||||||
|
SRCREV_meta = "8d0ed83a864cc91eef4d2abbc90f13d4ecd1c213"
|
||||||
|
|
||||||
|
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
|
||||||
|
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA} \
|
||||||
|
file://0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
LINUX_VERSION = "5.3.18"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
|
||||||
|
|
||||||
|
PV = "${LINUX_VERSION}+git${SRCPV}"
|
||||||
|
KMETA = "kernel-meta"
|
||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-stable-5.6:"
|
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-yocto-5.6:"
|
||||||
|
|
||||||
SRC_URI_append = " file://0001-libtraceevent-Fix-build-with-binutils-2.35.patch \
|
SRC_URI_append = " file://0001-libtraceevent-Fix-build-with-binutils-2.35.patch \
|
||||||
file://0002-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch"
|
file://0002-perf-cs-etm-Move-definition-of-traceid_list-global-v.patch"
|
||||||
@@ -7,6 +7,6 @@ SRC_URI_append = " file://0001-libtraceevent-Fix-build-with-binutils-2.35.patch
|
|||||||
# Corstone700 KMACHINE
|
# Corstone700 KMACHINE
|
||||||
#
|
#
|
||||||
MACHINE_KERNEL_REQUIRE ?= ""
|
MACHINE_KERNEL_REQUIRE ?= ""
|
||||||
MACHINE_KERNEL_REQUIRE_corstone700 = "linux-stable-corstone700.inc"
|
MACHINE_KERNEL_REQUIRE_corstone700 = "linux-yocto-corstone700.inc"
|
||||||
|
|
||||||
require ${MACHINE_KERNEL_REQUIRE}
|
require ${MACHINE_KERNEL_REQUIRE}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
KBRANCH = "v5.6/base"
|
||||||
|
|
||||||
|
require recipes-kernel/linux/linux-yocto.inc
|
||||||
|
|
||||||
|
SRCREV_machine = "e3ac9117b18596b7363d5b7904ab03a7d782b40c"
|
||||||
|
SRCREV_meta = "b152cd93ea7046a835c869a76085aefdb6ce7421"
|
||||||
|
|
||||||
|
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
|
||||||
|
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.6;destsuffix=${KMETA}"
|
||||||
|
|
||||||
|
LINUX_VERSION = "5.6.14"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
|
||||||
|
|
||||||
|
PV = "${LINUX_VERSION}+git${SRCPV}"
|
||||||
|
KMETA = "kernel-meta"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-yocto-5.7:"
|
||||||
|
|
||||||
|
SRC_URI_append = " file://coresight-traceid.patch \
|
||||||
|
file://defconfig.patch \
|
||||||
|
"
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
KBRANCH = "v5.7/base"
|
||||||
|
|
||||||
|
require recipes-kernel/linux/linux-yocto.inc
|
||||||
|
|
||||||
|
SRCREV_machine = "6b9830fecd4a87d7ebb4d93484fef00f46d0fa0f"
|
||||||
|
SRCREV_meta = "b9e6fd082dc5bfb51699809d7119d4b20d280c0b"
|
||||||
|
|
||||||
|
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
|
||||||
|
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.7;destsuffix=${KMETA}"
|
||||||
|
|
||||||
|
LINUX_VERSION = "5.7.19"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
|
||||||
|
|
||||||
|
PV = "${LINUX_VERSION}+git${SRCPV}"
|
||||||
|
KMETA = "kernel-meta"
|
||||||
|
|
||||||
@@ -6,6 +6,4 @@ part /boot --source bootimg-efi --sourceparams="loader=grub-efi" --ondisk sda --
|
|||||||
|
|
||||||
part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 1024 --uuid=6a60524d-061d-454a-bfd1-38989910eccd
|
part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 1024 --uuid=6a60524d-061d-454a-bfd1-38989910eccd
|
||||||
|
|
||||||
part swap --ondisk sda --size 44 --label swap1 --fstype=swap
|
|
||||||
|
|
||||||
bootloader --ptable gpt --configfile="n1sdp-grub.cfg" --timeout=5
|
bootloader --ptable gpt --configfile="n1sdp-grub.cfg" --timeout=5
|
||||||
@@ -139,19 +139,5 @@ python external_arm_toolchain_version_handler () {
|
|||||||
d.setVar('EAT_VER_KERNEL', eat_get_kernel_version(ld))
|
d.setVar('EAT_VER_KERNEL', eat_get_kernel_version(ld))
|
||||||
d.setVar('EAT_VER_GDB', eat_get_gdb_version(ld))
|
d.setVar('EAT_VER_GDB', eat_get_gdb_version(ld))
|
||||||
d.setVar('EAT_VER_BFD', eat_get_bfd_version(ld))
|
d.setVar('EAT_VER_BFD', eat_get_bfd_version(ld))
|
||||||
|
|
||||||
lc_libc = "LGPL-2.1"
|
|
||||||
lc_gcc = "GPL-3.0"
|
|
||||||
lc_rle = "GPL-3.0-with-GCC-exception"
|
|
||||||
lc_gdb = "GPL-3.0"
|
|
||||||
lc_bfd = "GPL-3.0"
|
|
||||||
|
|
||||||
d.setVar('EAT_LIBC_LICENSE', lc_libc)
|
|
||||||
d.setVar('EAT_GCC_LICENSE', lc_gcc)
|
|
||||||
d.setVar('EAT_RLE_LICENSE', lc_rle)
|
|
||||||
d.setVar('EAT_GDB_LICENSE', lc_gdb)
|
|
||||||
d.setVar('EAT_BFD_LICENSE', lc_bfd)
|
|
||||||
|
|
||||||
d.setVar('EAT_LICENSE', "%s & %s & %s & %s & %s" % (lc_libc, lc_gcc, lc_rle, lc_gdb, lc_bfd))
|
|
||||||
}
|
}
|
||||||
addhandler external_arm_toolchain_version_handler
|
addhandler external_arm_toolchain_version_handler
|
||||||
@@ -14,8 +14,5 @@ LICENSE_PATH += "${LAYERDIR}/custom-licenses"
|
|||||||
LAYERDEPENDS_arm-toolchain = "core"
|
LAYERDEPENDS_arm-toolchain = "core"
|
||||||
LAYERSERIES_COMPAT_arm-toolchain = "gatesgarth"
|
LAYERSERIES_COMPAT_arm-toolchain = "gatesgarth"
|
||||||
|
|
||||||
# do not error out on bbappends for missing recipes
|
|
||||||
BB_DANGLINGAPPENDS_WARNONLY = "true"
|
|
||||||
|
|
||||||
# These variables are used for armcompiler license
|
# These variables are used for armcompiler license
|
||||||
BB_HASHBASE_WHITELIST_append = " ARM_TOOL_VARIANT ARMLMD_LICENSE_FILE LM_LICENSE_FILE"
|
BB_HASHBASE_WHITELIST_append = " ARM_TOOL_VARIANT ARMLMD_LICENSE_FILE LM_LICENSE_FILE"
|
||||||
+2
-3
@@ -1,5 +1,7 @@
|
|||||||
inherit cross-canadian
|
inherit cross-canadian
|
||||||
|
|
||||||
|
require license.inc
|
||||||
|
|
||||||
PN = "external-arm-sdk-toolchain-${TARGET_ARCH}"
|
PN = "external-arm-sdk-toolchain-${TARGET_ARCH}"
|
||||||
BPN = "external-arm-sdk-toolchain"
|
BPN = "external-arm-sdk-toolchain"
|
||||||
PV = "${EAT_VER_MAIN}"
|
PV = "${EAT_VER_MAIN}"
|
||||||
@@ -10,9 +12,6 @@ INHIBIT_SYSROOT_STRIP = "1"
|
|||||||
INHIBIT_DEFAULT_DEPS = "1"
|
INHIBIT_DEFAULT_DEPS = "1"
|
||||||
EXCLUDE_FROM_SHLIBS = "1"
|
EXCLUDE_FROM_SHLIBS = "1"
|
||||||
|
|
||||||
EAT_LICENSE ??= ""
|
|
||||||
|
|
||||||
LICENSE = "${EAT_LICENSE}"
|
|
||||||
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||||
|
|
||||||
# Skip packaging QA checks for prebuilt binaries
|
# Skip packaging QA checks for prebuilt binaries
|
||||||
|
|||||||
@@ -115,6 +115,8 @@ do_install() {
|
|||||||
rm -rf ${D}${bindir}/gdbserver
|
rm -rf ${D}${bindir}/gdbserver
|
||||||
sed -i -e 's#/arm/tools/gnu/bash/4.2/rhe6-x86_64##' ${D}${bindir}/tzselect
|
sed -i -e 's#/arm/tools/gnu/bash/4.2/rhe6-x86_64##' ${D}${bindir}/tzselect
|
||||||
sed -i -e 's#/arm/tools/gnu/bash/4.2/rhe6-x86_64##' ${D}${bindir}/ldd
|
sed -i -e 's#/arm/tools/gnu/bash/4.2/rhe6-x86_64##' ${D}${bindir}/ldd
|
||||||
|
sed -i -e 's#/usr/bin/bash#/bin/sh#' ${D}${bindir}/tzselect
|
||||||
|
sed -i -e 's#/usr/bin/bash#/bin/sh#' ${D}${bindir}/ldd
|
||||||
sed -i -e 's#/bin/bash#/bin/sh#' ${D}${bindir}/tzselect
|
sed -i -e 's#/bin/bash#/bin/sh#' ${D}${bindir}/tzselect
|
||||||
sed -i -e 's#/bin/bash#/bin/sh#' ${D}${bindir}/ldd
|
sed -i -e 's#/bin/bash#/bin/sh#' ${D}${bindir}/ldd
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
LICENSE = "GPL-3.0-with-GCC-exception & GPLv3 & GPLv2 & LGPLv3 & LGPLv2.1 & LGPLv2"
|
LICENSE = "GPL-3.0-with-GCC-exception & GPLv3 & GPLv2 & LGPLv3 & LGPLv2.1 & LGPLv2"
|
||||||
|
|
||||||
|
EAT_BFD_LICENSE = "GPL-3.0"
|
||||||
EAT_GCC_LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
|
EAT_GCC_LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
|
||||||
|
EAT_GDB_LICENSE = "GPL-3.0"
|
||||||
EAT_LIBC_LICENSE = "GPLv2 & LGPLv2.1"
|
EAT_LIBC_LICENSE = "GPLv2 & LGPLv2.1"
|
||||||
|
EAT_RLE_LICENSE = "GPL-3.0-with-GCC-exception"
|
||||||
|
|
||||||
LICENSE_${PN} = "${EAT_LIBC_LICENSE}"
|
LICENSE_${PN} = "${EAT_LIBC_LICENSE}"
|
||||||
LICENSE_${PN}-dev = "${EAT_LIBC_LICENSE}"
|
LICENSE_${PN}-dev = "${EAT_LIBC_LICENSE}"
|
||||||
|
|||||||
Loaded 100 of 105 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user