* [PATCH 1/2] meta-arm-bsp: Remove Xen specifics
2020-04-08 9:36 [PATCH 0/2] Move Xen specifics from meta-arm-bsp to meta-arm-autonomy Diego Sueiro
@ 2020-04-08 9:36 ` Diego Sueiro
2020-04-08 9:36 ` [PATCH 2/2] arm-autonomy: Add Xen specifics from meta-arm-bsp Diego Sueiro
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Diego Sueiro @ 2020-04-08 9:36 UTC (permalink / raw)
To: meta-arm; +Cc: nd, Diego Sueiro
Remove all variables, settings and operations specific to Xen from
meta-arm-bsp.
These implementations will be added later in another separate layer.
Change-Id: I971a6898f985f5ec7264da5ad5e4b6436067e3dd
Issue-Id: SCM-769
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
---
meta-arm-bsp/conf/layer.conf | 5 --
meta-arm-bsp/conf/machine/fvp-common/fvp.inc | 3 -
meta-arm-bsp/conf/machine/gem5-arm64.conf | 15 +----
meta-arm-bsp/conf/machine/juno.conf | 3 -
.../boot-wrapper-aaarch64/boot-wrapper-aarch64.inc | 21 +-----
.../files/juno-xen/images-r0.txt | 78 ----------------------
.../files/juno-xen/images-r1.txt | 78 ----------------------
.../files/juno-xen/images-r2.txt | 78 ----------------------
.../trusted-firmware-a/files/juno-xen/uEnv.txt | 15 -----
.../trusted-firmware-a/trusted-firmware-a-juno.inc | 9 +--
.../4.12.0/0001-trace-fix-build-with-gcc9.patch | 56 ----------------
...ap-the-number-of-interrupt-lines-for-dom0.patch | 44 ------------
.../recipes-extended/xen/files/fvp/defconfig | 73 --------------------
.../recipes-extended/xen/files/juno/defconfig | 73 --------------------
meta-arm-bsp/recipes-extended/xen/xen_4.%.bbappend | 28 --------
.../recipes-extended/xen/xen_4.12.0.bbappend | 10 ---
.../bsp/arm-platforms/fvp/fvp-board.cfg | 5 --
.../arm-platforms/gem5-arm64/gem5-arm64-board.cfg | 5 --
18 files changed, 5 insertions(+), 594 deletions(-)
delete mode 100644 meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/images-r0.txt
delete mode 100644 meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/images-r1.txt
delete mode 100644 meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/images-r2.txt
delete mode 100644 meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/uEnv.txt
delete mode 100644 meta-arm-bsp/recipes-extended/xen/files/4.12.0/0001-trace-fix-build-with-gcc9.patch
delete mode 100644 meta-arm-bsp/recipes-extended/xen/files/4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch
delete mode 100644 meta-arm-bsp/recipes-extended/xen/files/fvp/defconfig
delete mode 100644 meta-arm-bsp/recipes-extended/xen/files/juno/defconfig
delete mode 100644 meta-arm-bsp/recipes-extended/xen/xen_4.%.bbappend
delete mode 100644 meta-arm-bsp/recipes-extended/xen/xen_4.12.0.bbappend
diff --git a/meta-arm-bsp/conf/layer.conf b/meta-arm-bsp/conf/layer.conf
index 0632ba3..6d6862e 100644
--- a/meta-arm-bsp/conf/layer.conf
+++ b/meta-arm-bsp/conf/layer.conf
@@ -11,8 +11,3 @@ BBFILE_PRIORITY_meta-arm-bsp = "6"
LAYERDEPENDS_meta-arm-bsp = "core openembedded-layer meta-arm"
LAYERSERIES_COMPAT_meta-arm-bsp = "warrior zeus"
-
-# We have patches for xen but meta-virtualization might not be there so filter
-# out recipes-extended/xen unless xen is activated in the features
-BBMASK += " ${@bb.utils.contains('DISTRO_FEATURES', 'xen', '', \
- '${LAYERDIR}/recipes-extended/xen/', d)}"
diff --git a/meta-arm-bsp/conf/machine/fvp-common/fvp.inc b/meta-arm-bsp/conf/machine/fvp-common/fvp.inc
index a02890d..702a1d2 100644
--- a/meta-arm-bsp/conf/machine/fvp-common/fvp.inc
+++ b/meta-arm-bsp/conf/machine/fvp-common/fvp.inc
@@ -41,6 +41,3 @@ EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-a u-boot"
# FVP u-boot configuration
UBOOT_MACHINE = "vexpress_aemv8a_dram_defconfig"
-
-# Xen configuration
-XEN_CONFIG_EARLY_PRINTK = "fastmodel"
diff --git a/meta-arm-bsp/conf/machine/gem5-arm64.conf b/meta-arm-bsp/conf/machine/gem5-arm64.conf
index e2f58ad..e07cc81 100644
--- a/meta-arm-bsp/conf/machine/gem5-arm64.conf
+++ b/meta-arm-bsp/conf/machine/gem5-arm64.conf
@@ -35,12 +35,9 @@ PREFERRED_VERSION_linux-yocto ?= "4.19%"
# dtb (gem5-aarch64-dtb.bb)
PREFERRED_PROVIDER_virtual/gem5-bootloader = "boot-wrapper-aarch64"
-# Fix command line in the axf file
-BOOT_WRAPPER_AARCH64_CMDLINE = "${@bb.utils.contains('DISTRO_FEATURES', 'xen',\
- 'console=hvc0 root=/dev/vda rw', \
- 'earlyprintk=pl011,0x1c090000 console=ttyAMA0 root=/dev/vda rw mem=1G', \
- d)}"
-
+BOOT_WRAPPER_AARCH64_CMDLINE ?= "\
+ earlyprintk=pl011,0x1c090000 console=ttyAMA0 root=/dev/vda rw mem=1G \
+ "
# Use baremetal profile and axf file so dtb is in axf file
GEM5_RUN_PROFILE = "configs/example/arm/baremetal.py"
GEM5_RUN_KERNEL = "linux-system.axf"
@@ -50,12 +47,6 @@ GEM5_RUN_CMDLINE = ""
EXTRA_IMAGEDEPENDS += "gem5-aarch64-native"
-# Xen configuration
-XEN_CONFIG_EARLY_PRINTK = "vexpress"
-
-BOOT_WRAPPER_AARCH64_XEN_CMDLINE = "noreboot dom0_mem=256M console=dtuart \
- dtuart=/uart@1c090000 bootscrub=0"
-
# Use haveged as a source of entropy instead of rng-tools (Needed for ssh).
# rngd (Part of rng-tools) takes ~7 mins to init resulting in a slow boot time.
PACKAGE_EXCLUDE_append = " rng-tools"
diff --git a/meta-arm-bsp/conf/machine/juno.conf b/meta-arm-bsp/conf/machine/juno.conf
index 3b16e6f..02ef226 100644
--- a/meta-arm-bsp/conf/machine/juno.conf
+++ b/meta-arm-bsp/conf/machine/juno.conf
@@ -25,6 +25,3 @@ EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-a u-boot"
# Juno u-boot configuration
UBOOT_MACHINE = "vexpress_aemv8a_juno_defconfig"
-
-# Xen configuration
-XEN_CONFIG_EARLY_PRINTK = "juno"
diff --git a/meta-arm-bsp/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64.inc b/meta-arm-bsp/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64.inc
index b5397cf..3cd3917 100644
--- a/meta-arm-bsp/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64.inc
+++ b/meta-arm-bsp/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64.inc
@@ -24,16 +24,8 @@ BOOT_WRAPPER_AARCH64_KERNEL ??= "Image"
# Kernel command line for the image
BOOT_WRAPPER_AARCH64_CMDLINE ??= "rw"
-# Xen image to put in the image
-# This should point to a file in the deploy image directory
-BOOT_WRAPPER_AARCH64_XEN ??= "xen-${MACHINE}"
-
-# Xen command line for the image
-BOOT_WRAPPER_AARCH64_XEN_CMDLINE ??= "noreboot dom0_mem=256M"
-
# Image generated by boot wrapper
-BOOT_WRAPPER_AARCH64_IMAGE ?= "${@bb.utils.contains('DISTRO_FEATURES', 'xen', \
- 'xen-system.axf', 'linux-system.axf', d)}"
+BOOT_WRAPPER_AARCH64_IMAGE ??= "linux-system.axf"
DEPENDS += "virtual/kernel dtc-native"
@@ -41,10 +33,6 @@ EXTRA_OECONF += "--with-kernel-dir=${WORKDIR}/kernel"
EXTRA_OECONF += "--with-dtb=${WORKDIR}/kernel/dummy.dtb"
EXTRA_OECONF += "--with-cmdline=\"\""
EXTRA_OECONF += "--enable-psci --enable-gicv3"
-EXTRA_OECONF += " ${@bb.utils.contains('DISTRO_FEATURES', 'xen', \
- '--with-xen=${WORKDIR}/kernel/arch/arm64/boot/Image', '', d)}"
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', \
- '--with-xen-cmdline=\"\"', '', d)}"
# unset LDFLAGS solves this error when compiling kernel modules:
# aarch64-poky-linux-ld: unrecognized option '-Wl,-O1'
@@ -56,10 +44,6 @@ REAL_DTB = "${@os.path.basename(d.getVar('BOOT_WRAPPER_AARCH64_DEVICETREE'))}"
EXTRA_OEMAKE += "'KERNEL_DTB=${DEPLOY_DIR_IMAGE}/${REAL_DTB}'"
EXTRA_OEMAKE += "'KERNEL_IMAGE=${DEPLOY_DIR_IMAGE}/${BOOT_WRAPPER_AARCH64_KERNEL}'"
EXTRA_OEMAKE += "'CMDLINE=${BOOT_WRAPPER_AARCH64_CMDLINE}'"
-EXTRA_OEMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', \
- 'XEN_IMAGE=${DEPLOY_DIR_IMAGE}/${BOOT_WRAPPER_AARCH64_XEN}', '', d)}"
-EXTRA_OEMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', \
- 'XEN_CMDLINE=\"${BOOT_WRAPPER_AARCH64_XEN_CMDLINE}\"', '', d)}"
do_configure_prepend() {
@@ -79,9 +63,6 @@ do_install[noexec] = "1"
# We need the kernel to create an image
do_deploy[depends] += "virtual/kernel:do_deploy"
-# We need xen if it is activated
-do_deploy[depends] += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'xen:do_deploy', '', d)}"
-
do_deploy() {
if [ ! -f ${DEPLOY_DIR_IMAGE}/${REAL_DTB} ]; then
echo "ERROR: cannot find ${REAL_DTB} in ${DEPLOY_DIR_IMAGE}" >&2
diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/images-r0.txt b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/images-r0.txt
deleted file mode 100644
index 177cf09..0000000
--- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/images-r0.txt
+++ /dev/null
@@ -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.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
-
-
diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/images-r1.txt b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/images-r1.txt
deleted file mode 100644
index ac40bf0..0000000
--- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/images-r1.txt
+++ /dev/null
@@ -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.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
-
-
diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/images-r2.txt b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/images-r2.txt
deleted file mode 100644
index 423a574..0000000
--- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/images-r2.txt
+++ /dev/null
@@ -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.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
-
-
diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/uEnv.txt b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/uEnv.txt
deleted file mode 100644
index 4307b69..0000000
--- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/files/juno-xen/uEnv.txt
+++ /dev/null
@@ -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;
-
diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-juno.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-juno.inc
index cd921b0..c62197d 100644
--- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-juno.inc
+++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-juno.inc
@@ -15,7 +15,7 @@ SRC_URI[junofip.sha256sum] = "b8a3909bb3bc4350a8771b863193a3e33b358e2a727624a77c
# Add our how images.txt
-FILESEXTRAPATHS_prepend_juno := "${THISDIR}/files/${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'juno-xen', 'juno', d)}:"
+FILESEXTRAPATHS_prepend := "${THISDIR}/files/juno:"
SRC_URI_append_juno = " \
file://images-r0.txt \
@@ -31,7 +31,6 @@ EXTRA_OEMAKE_append_juno = " SCP_BL2=${WORKDIR}/juno-oe-uboot/SOFTWARE/scp_bl2.b
JUNO_EXTRA_DEPS ?= ""
JUNO_EXTRA_DEPS_juno = ""
JUNO_EXTRA_DEPS_juno += "virtual/kernel:do_deploy"
-JUNO_EXTRA_DEPS_juno += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'xen:do_deploy', '', d)}"
do_deploy[depends] += "${JUNO_EXTRA_DEPS}"
@@ -55,12 +54,6 @@ do_deploy_append() {
${DEPLOY_DIR_IMAGE}/Image \
${WORKDIR}/juno-oe-uboot/SOFTWARE/Image
- if [ "${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'yes', 'no', d)}" = "yes" ]; then
- cp -a \
- ${DEPLOY_DIR_IMAGE}/xen-${COMPATIBLE_MACHINE}.efi \
- ${WORKDIR}/juno-oe-uboot/SOFTWARE/xen
- fi
-
# u-boot environment file
cp -a ${WORKDIR}/uEnv.txt \
${WORKDIR}/juno-oe-uboot/SOFTWARE/
diff --git a/meta-arm-bsp/recipes-extended/xen/files/4.12.0/0001-trace-fix-build-with-gcc9.patch b/meta-arm-bsp/recipes-extended/xen/files/4.12.0/0001-trace-fix-build-with-gcc9.patch
deleted file mode 100644
index 8ecc904..0000000
--- a/meta-arm-bsp/recipes-extended/xen/files/4.12.0/0001-trace-fix-build-with-gcc9.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 0dcd945a675cd12d283121e9b7f1626104b60bcc Mon Sep 17 00:00:00 2001
-From: Jan Beulich <jbeulich@suse.com>
-Date: Tue, 4 Jun 2019 15:32:55 +0200
-Subject: [PATCH] trace: fix build with gcc9
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-While I've not observed this myself, gcc 9 (imo validly) reportedly may
-complain
-
-trace.c: In function '__trace_hypercall':
-trace.c:826:19: error: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Werror=address-of-packed-member]
- 826 | uint32_t *a = d.args;
-
-and the fix is rather simple - remove the __packed attribute. Introduce
-a BUILD_BUG_ON() as replacement, for the unlikely case that Xen might
-get ported to an architecture where array alignment higher that that of
-its elements.
-
-Reported-by: Martin Liška <martin.liska@suse.com>
-Signed-off-by: Jan Beulich <jbeulich@suse.com>
-Acked-by: George Dunlap <george.dunlap@citrix.com>
-master commit: 3fd3b266d4198c06e8e421ca515d9ba09ccd5155
-master date: 2019-05-13 09:51:23 +0200
----
- xen/common/trace.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/xen/common/trace.c b/xen/common/trace.c
-index cc294fc384..d1ef81407b 100644
---- a/xen/common/trace.c
-+++ b/xen/common/trace.c
-@@ -819,12 +819,18 @@ unlock:
- void __trace_hypercall(uint32_t event, unsigned long op,
- const xen_ulong_t *args)
- {
-- struct __packed {
-+ struct {
- uint32_t op;
- uint32_t args[6];
- } d;
- uint32_t *a = d.args;
-
-+ /*
-+ * In lieu of using __packed above, which gcc9 legitimately doesn't
-+ * like in combination with the address of d.args[] taken.
-+ */
-+ BUILD_BUG_ON(offsetof(typeof(d), args) != sizeof(d.op));
-+
- #define APPEND_ARG32(i) \
- do { \
- unsigned i_ = (i); \
---
-2.17.1
-
diff --git a/meta-arm-bsp/recipes-extended/xen/files/4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch b/meta-arm-bsp/recipes-extended/xen/files/4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch
deleted file mode 100644
index 792bc9e..0000000
--- a/meta-arm-bsp/recipes-extended/xen/files/4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From a41feccdb6c03f12bddb4fb650a0465f0ed6eeca Mon Sep 17 00:00:00 2001
-From: Lukas Juenger <juenger@ice.rwth-aachen.de>
-Date: Fri, 5 Apr 2019 15:54:04 +0200
-Subject: [PATCH] xen/arm: Cap the number of interrupt lines for dom0
-
-Dom0 vGIC will use the same number of interrupt lines as the hardware GIC.
-While the hardware GIC can support up to 1020 interrupt lines,
-the vGIC is only supporting up to 992 interrupt lines.
-This means that Xen will not be able to boot on platforms where the hardware
-GIC supports more than 992 interrupt lines.
-While it would make sense to increase the limits in the vGICs, this is not
-trivial because of the design choices.
-At the moment, only models seem to report the maximum of interrupt lines.
-They also do not have any interrupt wired above the 992 limit.
-So it should be fine to cap the number of interrupt lines for dom0 to 992 lines.
-
-Signed-off-by: Lukas Juenger <juenger@ice.rwth-aachen.de>
-Acked-by: Julien Grall <julien.grall@arm.com>
----
- xen/arch/arm/setup.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
-index 444857a967..ccb0f181ea 100644
---- a/xen/arch/arm/setup.c
-+++ b/xen/arch/arm/setup.c
-@@ -888,7 +888,13 @@ void __init start_xen(unsigned long boot_phys_offset,
- /* Create initial domain 0. */
- /* The vGIC for DOM0 is exactly emulating the hardware GIC */
- dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
-- dom0_cfg.arch.nr_spis = gic_number_lines() - 32;
-+ /*
-+ * Xen vGIC supports a maximum of 992 interrupt lines.
-+ * 32 are substracted to cover local IRQs.
-+ */
-+ dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) - 32;
-+ if ( gic_number_lines() > 992 )
-+ printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
- dom0_cfg.max_vcpus = dom0_max_vcpus();
-
- dom0 = domain_create(0, &dom0_cfg, true);
---
-2.17.1
-
diff --git a/meta-arm-bsp/recipes-extended/xen/files/fvp/defconfig b/meta-arm-bsp/recipes-extended/xen/files/fvp/defconfig
deleted file mode 100644
index f13327c..0000000
--- a/meta-arm-bsp/recipes-extended/xen/files/fvp/defconfig
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Xen/arm 4.12.0 Configuration
-#
-CONFIG_64BIT=y
-CONFIG_ARM_64=y
-CONFIG_ARM=y
-CONFIG_ARCH_DEFCONFIG="arch/arm/configs/arm64_defconfig"
-
-#
-# Architecture Features
-#
-CONFIG_NR_CPUS=128
-CONFIG_GICV3=y
-CONFIG_HVM=y
-# CONFIG_NEW_VGIC is not set
-CONFIG_SBSA_VUART_CONSOLE=y
-CONFIG_ARM_SSBD=y
-CONFIG_HARDEN_BRANCH_PREDICTOR=y
-
-#
-# ARM errata workaround via the alternative framework
-#
-CONFIG_ARM64_ERRATUM_827319=y
-CONFIG_ARM64_ERRATUM_824069=y
-CONFIG_ARM64_ERRATUM_819472=y
-CONFIG_ARM64_ERRATUM_832075=y
-CONFIG_ARM64_ERRATUM_834220=y
-CONFIG_ARM64_HARDEN_BRANCH_PREDICTOR=y
-CONFIG_ALL_PLAT=y
-# CONFIG_QEMU is not set
-# CONFIG_RCAR3 is not set
-# CONFIG_MPSOC is not set
-# CONFIG_NO_PLAT is not set
-CONFIG_ALL64_PLAT=y
-# CONFIG_ALL32_PLAT is not set
-CONFIG_MPSOC_PLATFORM=y
-
-#
-# Common Features
-#
-CONFIG_HAS_ALTERNATIVE=y
-CONFIG_HAS_DEVICE_TREE=y
-CONFIG_MEM_ACCESS=y
-CONFIG_HAS_PDX=y
-# CONFIG_XSM is not set
-CONFIG_SCHED_CREDIT=y
-CONFIG_SCHED_CREDIT2=y
-CONFIG_SCHED_RTDS=y
-# CONFIG_SCHED_ARINC653 is not set
-CONFIG_SCHED_NULL=y
-CONFIG_SCHED_DEFAULT="credit2"
-# CONFIG_LIVEPATCH is not set
-CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS=y
-CONFIG_CMDLINE=""
-CONFIG_DOM0_MEM=""
-
-#
-# Device Drivers
-#
-CONFIG_HAS_NS16550=y
-CONFIG_HAS_CADENCE_UART=y
-CONFIG_HAS_MVEBU=y
-CONFIG_HAS_PL011=y
-CONFIG_HAS_SCIF=y
-CONFIG_HAS_PASSTHROUGH=y
-CONFIG_ARM_SMMU=y
-CONFIG_DEFCONFIG_LIST="arch/arm/configs/arm64_defconfig"
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
diff --git a/meta-arm-bsp/recipes-extended/xen/files/juno/defconfig b/meta-arm-bsp/recipes-extended/xen/files/juno/defconfig
deleted file mode 100644
index f13327c..0000000
--- a/meta-arm-bsp/recipes-extended/xen/files/juno/defconfig
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Xen/arm 4.12.0 Configuration
-#
-CONFIG_64BIT=y
-CONFIG_ARM_64=y
-CONFIG_ARM=y
-CONFIG_ARCH_DEFCONFIG="arch/arm/configs/arm64_defconfig"
-
-#
-# Architecture Features
-#
-CONFIG_NR_CPUS=128
-CONFIG_GICV3=y
-CONFIG_HVM=y
-# CONFIG_NEW_VGIC is not set
-CONFIG_SBSA_VUART_CONSOLE=y
-CONFIG_ARM_SSBD=y
-CONFIG_HARDEN_BRANCH_PREDICTOR=y
-
-#
-# ARM errata workaround via the alternative framework
-#
-CONFIG_ARM64_ERRATUM_827319=y
-CONFIG_ARM64_ERRATUM_824069=y
-CONFIG_ARM64_ERRATUM_819472=y
-CONFIG_ARM64_ERRATUM_832075=y
-CONFIG_ARM64_ERRATUM_834220=y
-CONFIG_ARM64_HARDEN_BRANCH_PREDICTOR=y
-CONFIG_ALL_PLAT=y
-# CONFIG_QEMU is not set
-# CONFIG_RCAR3 is not set
-# CONFIG_MPSOC is not set
-# CONFIG_NO_PLAT is not set
-CONFIG_ALL64_PLAT=y
-# CONFIG_ALL32_PLAT is not set
-CONFIG_MPSOC_PLATFORM=y
-
-#
-# Common Features
-#
-CONFIG_HAS_ALTERNATIVE=y
-CONFIG_HAS_DEVICE_TREE=y
-CONFIG_MEM_ACCESS=y
-CONFIG_HAS_PDX=y
-# CONFIG_XSM is not set
-CONFIG_SCHED_CREDIT=y
-CONFIG_SCHED_CREDIT2=y
-CONFIG_SCHED_RTDS=y
-# CONFIG_SCHED_ARINC653 is not set
-CONFIG_SCHED_NULL=y
-CONFIG_SCHED_DEFAULT="credit2"
-# CONFIG_LIVEPATCH is not set
-CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS=y
-CONFIG_CMDLINE=""
-CONFIG_DOM0_MEM=""
-
-#
-# Device Drivers
-#
-CONFIG_HAS_NS16550=y
-CONFIG_HAS_CADENCE_UART=y
-CONFIG_HAS_MVEBU=y
-CONFIG_HAS_PL011=y
-CONFIG_HAS_SCIF=y
-CONFIG_HAS_PASSTHROUGH=y
-CONFIG_ARM_SMMU=y
-CONFIG_DEFCONFIG_LIST="arch/arm/configs/arm64_defconfig"
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
diff --git a/meta-arm-bsp/recipes-extended/xen/xen_4.%.bbappend b/meta-arm-bsp/recipes-extended/xen/xen_4.%.bbappend
deleted file mode 100644
index c41b658..0000000
--- a/meta-arm-bsp/recipes-extended/xen/xen_4.%.bbappend
+++ /dev/null
@@ -1,28 +0,0 @@
-# xen settings
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-#
-# Define early console based on board parameters
-#
-
-# This should be set in board.conf or local.conf to enable early printk in xen
-XEN_CONFIG_EARLY_PRINTK ??= "disable"
-
-EXTRA_OEMAKE += "${@bb.utils.contains('XEN_CONFIG_EARLY_PRINTK', 'disable', \
- '', ' CONFIG_DEBUG=y CONFIG_EARLY_PRINTK=${XEN_CONFIG_EARLY_PRINTK}',d)}"
-
-# Foundation-armv8 support
-COMPATIBLE_MACHINE_foundation-armv8 = "foundation-armv8"
-
-SRC_URI_append_foundation-armv8 = " file://fvp/defconfig"
-
-# FVP Base support
-COMPATIBLE_MACHINE_fvp-base = "fvp-base"
-
-SRC_URI_append_fvp-base = " file://fvp/defconfig"
-
-# Juno support
-COMPATIBLE_MACHINE_juno = "juno"
-
-SRC_URI_append_juno = " file://juno/defconfig"
diff --git a/meta-arm-bsp/recipes-extended/xen/xen_4.12.0.bbappend b/meta-arm-bsp/recipes-extended/xen/xen_4.12.0.bbappend
deleted file mode 100644
index 87b1f63..0000000
--- a/meta-arm-bsp/recipes-extended/xen/xen_4.12.0.bbappend
+++ /dev/null
@@ -1,10 +0,0 @@
-# xen version specific patch information
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-# Solve trace.c compilation error on 4.12.0
-# This should only be applied for 4.12.0 (solved in greater versions)
-SRC_URI += "file://4.12.0/0001-trace-fix-build-with-gcc9.patch"
-
-# Fix problem with number of interrupts on gem5
-SRC_URI_append_gem5-arm64 = " file://4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch"
diff --git a/meta-arm-bsp/recipes-kernel/linux/arm-platforms-kmeta/bsp/arm-platforms/fvp/fvp-board.cfg b/meta-arm-bsp/recipes-kernel/linux/arm-platforms-kmeta/bsp/arm-platforms/fvp/fvp-board.cfg
index e10c003..2fd0264 100644
--- a/meta-arm-bsp/recipes-kernel/linux/arm-platforms-kmeta/bsp/arm-platforms/fvp/fvp-board.cfg
+++ b/meta-arm-bsp/recipes-kernel/linux/arm-platforms-kmeta/bsp/arm-platforms/fvp/fvp-board.cfg
@@ -9,8 +9,3 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_CPU_IDLE=y
CONFIG_ARM_CPUIDLE=y
-
-# We need to turn off SVE support in the Linux kernel otherwise Xen is stopping
-# Linux kernel with a coredump while trying to access ZEN bit of CPACR1 core
-# register.
-# CONFIG_ARM64_SVE is not set
diff --git a/meta-arm-bsp/recipes-kernel/linux/arm-platforms-kmeta/bsp/arm-platforms/gem5-arm64/gem5-arm64-board.cfg b/meta-arm-bsp/recipes-kernel/linux/arm-platforms-kmeta/bsp/arm-platforms/gem5-arm64/gem5-arm64-board.cfg
index b1b20e3..56bb9e6 100644
--- a/meta-arm-bsp/recipes-kernel/linux/arm-platforms-kmeta/bsp/arm-platforms/gem5-arm64/gem5-arm64-board.cfg
+++ b/meta-arm-bsp/recipes-kernel/linux/arm-platforms-kmeta/bsp/arm-platforms/gem5-arm64/gem5-arm64-board.cfg
@@ -21,8 +21,3 @@ CONFIG_MFD_VEXPRESS_SYSREG=y
# Turn off RAID to speed up boot
CONFIG_MD=n
CONFIG_BTRFS_FS=n
-
-# We need to turn off SVE support in the Linux kernel otherwise Xen is stopping
-# Linux kernel with a coredump while trying to access ZEN bit of CPACR1 core
-# register.
-# CONFIG_ARM64_SVE is not set
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 2/2] arm-autonomy: Add Xen specifics from meta-arm-bsp
2020-04-08 9:36 [PATCH 0/2] Move Xen specifics from meta-arm-bsp to meta-arm-autonomy Diego Sueiro
2020-04-08 9:36 ` [PATCH 1/2] meta-arm-bsp: Remove Xen specifics Diego Sueiro
@ 2020-04-08 9:36 ` Diego Sueiro
2020-04-08 9:41 ` [meta-arm] [PATCH 0/2] Move Xen specifics from meta-arm-bsp to meta-arm-autonomy Bertrand Marquis
2020-04-08 13:58 ` Jon Mason
3 siblings, 0 replies; 6+ messages in thread
From: Diego Sueiro @ 2020-04-08 9:36 UTC (permalink / raw)
To: meta-arm; +Cc: nd, Diego Sueiro
Variables, settings and operations specific to Xen should be located
at meta-arm-autonomy.
Change-Id: Ida86119e9d196ce8a498b53890b16fefaa3d8d8b
Issue-Id: SCM-769
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
---
.../boot-wrapper-aarch64_%.bbappend | 32 +++++++++
.../trusted-firmware-a/files/juno/images-r0.txt | 78 ++++++++++++++++++++++
.../trusted-firmware-a/files/juno/images-r1.txt | 78 ++++++++++++++++++++++
.../trusted-firmware-a/files/juno/images-r2.txt | 78 ++++++++++++++++++++++
.../trusted-firmware-a/files/juno/uEnv.txt | 15 +++++
.../trusted-firmware-a_2.%.bbappend | 13 ++++
.../4.12.0/0001-trace-fix-build-with-gcc9.patch | 56 ++++++++++++++++
...ap-the-number-of-interrupt-lines-for-dom0.patch | 44 ++++++++++++
.../recipes-extended/xen/files/fvp/defconfig | 73 ++++++++++++++++++++
.../recipes-extended/xen/files/juno/defconfig | 73 ++++++++++++++++++++
.../recipes-extended/xen/xen_4.%.bbappend | 33 +++++++++
.../recipes-extended/xen/xen_4.12.0.bbappend | 10 +++
.../features/arm-autonomy/disable-arm64-sve.cfg | 4 ++
.../features/arm-autonomy/disable-arm64-sve.scc | 3 +
.../recipes-kernel/linux/linux-arm-autonomy.inc | 14 +++-
15 files changed, 603 insertions(+), 1 deletion(-)
create mode 100644 meta-arm-autonomy/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend
create mode 100644 meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/images-r0.txt
create mode 100644 meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/images-r1.txt
create mode 100644 meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/images-r2.txt
create mode 100644 meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/uEnv.txt
create mode 100644 meta-arm-autonomy/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.%.bbappend
create mode 100644 meta-arm-autonomy/recipes-extended/xen/files/4.12.0/0001-trace-fix-build-with-gcc9.patch
create mode 100644 meta-arm-autonomy/recipes-extended/xen/files/4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch
create mode 100644 meta-arm-autonomy/recipes-extended/xen/files/fvp/defconfig
create mode 100644 meta-arm-autonomy/recipes-extended/xen/files/juno/defconfig
create mode 100644 meta-arm-autonomy/recipes-extended/xen/xen_4.%.bbappend
create mode 100644 meta-arm-autonomy/recipes-extended/xen/xen_4.12.0.bbappend
create mode 100644 meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/features/arm-autonomy/disable-arm64-sve.cfg
create mode 100644 meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/features/arm-autonomy/disable-arm64-sve.scc
diff --git a/meta-arm-autonomy/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend b/meta-arm-autonomy/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend
new file mode 100644
index 0000000..3b93b3b
--- /dev/null
+++ b/meta-arm-autonomy/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend
@@ -0,0 +1,32 @@
+# Use OVERRIDES to minimize the usage of
+# ${@bb.utils.contains('DISTRO_FEATURES', 'xen', ...
+OVERRIDES_append = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ':xen', '', d)}"
+
+# Xen image to put in the image
+# This should point to a file in the deploy image directory
+BOOT_WRAPPER_AARCH64_XEN ??= "xen-${MACHINE}"
+
+# Xen command line for the image
+BOOT_WRAPPER_AARCH64_XEN_CMDLINE ??= "noreboot dom0_mem=256M"
+
+BOOT_WRAPPER_AARCH64_XEN_CMDLINE_gem5-arm64 = "noreboot dom0_mem=256M console=dtuart \
+ dtuart=/uart@1c090000 bootscrub=0"
+
+# Fix command line in the axf file for gem5-arm64 when Xen is present
+BOOT_WRAPPER_AARCH64_CMDLINE_xen_gem5-arm64 = "console=hvc0 root=/dev/vda rw"
+
+# Image generated by boot wrapper when Xen is present
+BOOT_WRAPPER_AARCH64_IMAGE_xen ?= "xen-system.axf"
+
+EXTRA_OECONF_append_xen = " \
+--with-xen=${WORKDIR}/kernel/arch/arm64/boot/Image \
+--with-xen-cmdline="" \
+"
+
+EXTRA_OEMAKE_append_xen = " \
+XEN_IMAGE=${DEPLOY_DIR_IMAGE}/${BOOT_WRAPPER_AARCH64_XEN} \
+XEN_CMDLINE="${BOOT_WRAPPER_AARCH64_XEN_CMDLINE}" \
+"
+
+# We need xen if it is activated
+do_deploy[depends] += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'xen:do_deploy', '', d)}"
diff --git a/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/images-r0.txt b/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/images-r0.txt
new file mode 100644
index 0000000..177cf09
--- /dev/null
+++ b/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/images-r0.txt
@@ -0,0 +1,78 @@
+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.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
+
+
diff --git a/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/images-r1.txt b/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/images-r1.txt
new file mode 100644
index 0000000..ac40bf0
--- /dev/null
+++ b/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/images-r1.txt
@@ -0,0 +1,78 @@
+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.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
+
+
diff --git a/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/images-r2.txt b/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/images-r2.txt
new file mode 100644
index 0000000..423a574
--- /dev/null
+++ b/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/images-r2.txt
@@ -0,0 +1,78 @@
+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.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
+
+
diff --git a/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/uEnv.txt b/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/uEnv.txt
new file mode 100644
index 0000000..4307b69
--- /dev/null
+++ b/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/files/juno/uEnv.txt
@@ -0,0 +1,15 @@
+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;
+
diff --git a/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.%.bbappend b/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.%.bbappend
new file mode 100644
index 0000000..49a8228
--- /dev/null
+++ b/meta-arm-autonomy/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.%.bbappend
@@ -0,0 +1,13 @@
+FILESEXTRAPATHS_prepend_juno := "${@bb.utils.contains('DISTRO_FEATURES', 'xen', '${THISDIR}/files/juno:', '', d)}"
+
+JUNO_EXTRA_DEPS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' xen:do_deploy', '', d)}"
+
+do_deploy_append_juno() {
+
+ if [ "${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'yes', 'no', d)}" = "yes" ]; then
+ cp -a \
+ ${DEPLOY_DIR_IMAGE}/xen-${COMPATIBLE_MACHINE}.efi \
+ ${WORKDIR}/juno-oe-uboot/SOFTWARE/xen
+ fi
+
+}
diff --git a/meta-arm-autonomy/recipes-extended/xen/files/4.12.0/0001-trace-fix-build-with-gcc9.patch b/meta-arm-autonomy/recipes-extended/xen/files/4.12.0/0001-trace-fix-build-with-gcc9.patch
new file mode 100644
index 0000000..8ecc904
--- /dev/null
+++ b/meta-arm-autonomy/recipes-extended/xen/files/4.12.0/0001-trace-fix-build-with-gcc9.patch
@@ -0,0 +1,56 @@
+From 0dcd945a675cd12d283121e9b7f1626104b60bcc Mon Sep 17 00:00:00 2001
+From: Jan Beulich <jbeulich@suse.com>
+Date: Tue, 4 Jun 2019 15:32:55 +0200
+Subject: [PATCH] trace: fix build with gcc9
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+While I've not observed this myself, gcc 9 (imo validly) reportedly may
+complain
+
+trace.c: In function '__trace_hypercall':
+trace.c:826:19: error: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Werror=address-of-packed-member]
+ 826 | uint32_t *a = d.args;
+
+and the fix is rather simple - remove the __packed attribute. Introduce
+a BUILD_BUG_ON() as replacement, for the unlikely case that Xen might
+get ported to an architecture where array alignment higher that that of
+its elements.
+
+Reported-by: Martin Liška <martin.liska@suse.com>
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Acked-by: George Dunlap <george.dunlap@citrix.com>
+master commit: 3fd3b266d4198c06e8e421ca515d9ba09ccd5155
+master date: 2019-05-13 09:51:23 +0200
+---
+ xen/common/trace.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/xen/common/trace.c b/xen/common/trace.c
+index cc294fc384..d1ef81407b 100644
+--- a/xen/common/trace.c
++++ b/xen/common/trace.c
+@@ -819,12 +819,18 @@ unlock:
+ void __trace_hypercall(uint32_t event, unsigned long op,
+ const xen_ulong_t *args)
+ {
+- struct __packed {
++ struct {
+ uint32_t op;
+ uint32_t args[6];
+ } d;
+ uint32_t *a = d.args;
+
++ /*
++ * In lieu of using __packed above, which gcc9 legitimately doesn't
++ * like in combination with the address of d.args[] taken.
++ */
++ BUILD_BUG_ON(offsetof(typeof(d), args) != sizeof(d.op));
++
+ #define APPEND_ARG32(i) \
+ do { \
+ unsigned i_ = (i); \
+--
+2.17.1
+
diff --git a/meta-arm-autonomy/recipes-extended/xen/files/4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch b/meta-arm-autonomy/recipes-extended/xen/files/4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch
new file mode 100644
index 0000000..792bc9e
--- /dev/null
+++ b/meta-arm-autonomy/recipes-extended/xen/files/4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch
@@ -0,0 +1,44 @@
+From a41feccdb6c03f12bddb4fb650a0465f0ed6eeca Mon Sep 17 00:00:00 2001
+From: Lukas Juenger <juenger@ice.rwth-aachen.de>
+Date: Fri, 5 Apr 2019 15:54:04 +0200
+Subject: [PATCH] xen/arm: Cap the number of interrupt lines for dom0
+
+Dom0 vGIC will use the same number of interrupt lines as the hardware GIC.
+While the hardware GIC can support up to 1020 interrupt lines,
+the vGIC is only supporting up to 992 interrupt lines.
+This means that Xen will not be able to boot on platforms where the hardware
+GIC supports more than 992 interrupt lines.
+While it would make sense to increase the limits in the vGICs, this is not
+trivial because of the design choices.
+At the moment, only models seem to report the maximum of interrupt lines.
+They also do not have any interrupt wired above the 992 limit.
+So it should be fine to cap the number of interrupt lines for dom0 to 992 lines.
+
+Signed-off-by: Lukas Juenger <juenger@ice.rwth-aachen.de>
+Acked-by: Julien Grall <julien.grall@arm.com>
+---
+ xen/arch/arm/setup.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
+index 444857a967..ccb0f181ea 100644
+--- a/xen/arch/arm/setup.c
++++ b/xen/arch/arm/setup.c
+@@ -888,7 +888,13 @@ void __init start_xen(unsigned long boot_phys_offset,
+ /* Create initial domain 0. */
+ /* The vGIC for DOM0 is exactly emulating the hardware GIC */
+ dom0_cfg.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
+- dom0_cfg.arch.nr_spis = gic_number_lines() - 32;
++ /*
++ * Xen vGIC supports a maximum of 992 interrupt lines.
++ * 32 are substracted to cover local IRQs.
++ */
++ dom0_cfg.arch.nr_spis = min(gic_number_lines(), (unsigned int) 992) - 32;
++ if ( gic_number_lines() > 992 )
++ printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
+ dom0_cfg.max_vcpus = dom0_max_vcpus();
+
+ dom0 = domain_create(0, &dom0_cfg, true);
+--
+2.17.1
+
diff --git a/meta-arm-autonomy/recipes-extended/xen/files/fvp/defconfig b/meta-arm-autonomy/recipes-extended/xen/files/fvp/defconfig
new file mode 100644
index 0000000..f13327c
--- /dev/null
+++ b/meta-arm-autonomy/recipes-extended/xen/files/fvp/defconfig
@@ -0,0 +1,73 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Xen/arm 4.12.0 Configuration
+#
+CONFIG_64BIT=y
+CONFIG_ARM_64=y
+CONFIG_ARM=y
+CONFIG_ARCH_DEFCONFIG="arch/arm/configs/arm64_defconfig"
+
+#
+# Architecture Features
+#
+CONFIG_NR_CPUS=128
+CONFIG_GICV3=y
+CONFIG_HVM=y
+# CONFIG_NEW_VGIC is not set
+CONFIG_SBSA_VUART_CONSOLE=y
+CONFIG_ARM_SSBD=y
+CONFIG_HARDEN_BRANCH_PREDICTOR=y
+
+#
+# ARM errata workaround via the alternative framework
+#
+CONFIG_ARM64_ERRATUM_827319=y
+CONFIG_ARM64_ERRATUM_824069=y
+CONFIG_ARM64_ERRATUM_819472=y
+CONFIG_ARM64_ERRATUM_832075=y
+CONFIG_ARM64_ERRATUM_834220=y
+CONFIG_ARM64_HARDEN_BRANCH_PREDICTOR=y
+CONFIG_ALL_PLAT=y
+# CONFIG_QEMU is not set
+# CONFIG_RCAR3 is not set
+# CONFIG_MPSOC is not set
+# CONFIG_NO_PLAT is not set
+CONFIG_ALL64_PLAT=y
+# CONFIG_ALL32_PLAT is not set
+CONFIG_MPSOC_PLATFORM=y
+
+#
+# Common Features
+#
+CONFIG_HAS_ALTERNATIVE=y
+CONFIG_HAS_DEVICE_TREE=y
+CONFIG_MEM_ACCESS=y
+CONFIG_HAS_PDX=y
+# CONFIG_XSM is not set
+CONFIG_SCHED_CREDIT=y
+CONFIG_SCHED_CREDIT2=y
+CONFIG_SCHED_RTDS=y
+# CONFIG_SCHED_ARINC653 is not set
+CONFIG_SCHED_NULL=y
+CONFIG_SCHED_DEFAULT="credit2"
+# CONFIG_LIVEPATCH is not set
+CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS=y
+CONFIG_CMDLINE=""
+CONFIG_DOM0_MEM=""
+
+#
+# Device Drivers
+#
+CONFIG_HAS_NS16550=y
+CONFIG_HAS_CADENCE_UART=y
+CONFIG_HAS_MVEBU=y
+CONFIG_HAS_PL011=y
+CONFIG_HAS_SCIF=y
+CONFIG_HAS_PASSTHROUGH=y
+CONFIG_ARM_SMMU=y
+CONFIG_DEFCONFIG_LIST="arch/arm/configs/arm64_defconfig"
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
diff --git a/meta-arm-autonomy/recipes-extended/xen/files/juno/defconfig b/meta-arm-autonomy/recipes-extended/xen/files/juno/defconfig
new file mode 100644
index 0000000..f13327c
--- /dev/null
+++ b/meta-arm-autonomy/recipes-extended/xen/files/juno/defconfig
@@ -0,0 +1,73 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Xen/arm 4.12.0 Configuration
+#
+CONFIG_64BIT=y
+CONFIG_ARM_64=y
+CONFIG_ARM=y
+CONFIG_ARCH_DEFCONFIG="arch/arm/configs/arm64_defconfig"
+
+#
+# Architecture Features
+#
+CONFIG_NR_CPUS=128
+CONFIG_GICV3=y
+CONFIG_HVM=y
+# CONFIG_NEW_VGIC is not set
+CONFIG_SBSA_VUART_CONSOLE=y
+CONFIG_ARM_SSBD=y
+CONFIG_HARDEN_BRANCH_PREDICTOR=y
+
+#
+# ARM errata workaround via the alternative framework
+#
+CONFIG_ARM64_ERRATUM_827319=y
+CONFIG_ARM64_ERRATUM_824069=y
+CONFIG_ARM64_ERRATUM_819472=y
+CONFIG_ARM64_ERRATUM_832075=y
+CONFIG_ARM64_ERRATUM_834220=y
+CONFIG_ARM64_HARDEN_BRANCH_PREDICTOR=y
+CONFIG_ALL_PLAT=y
+# CONFIG_QEMU is not set
+# CONFIG_RCAR3 is not set
+# CONFIG_MPSOC is not set
+# CONFIG_NO_PLAT is not set
+CONFIG_ALL64_PLAT=y
+# CONFIG_ALL32_PLAT is not set
+CONFIG_MPSOC_PLATFORM=y
+
+#
+# Common Features
+#
+CONFIG_HAS_ALTERNATIVE=y
+CONFIG_HAS_DEVICE_TREE=y
+CONFIG_MEM_ACCESS=y
+CONFIG_HAS_PDX=y
+# CONFIG_XSM is not set
+CONFIG_SCHED_CREDIT=y
+CONFIG_SCHED_CREDIT2=y
+CONFIG_SCHED_RTDS=y
+# CONFIG_SCHED_ARINC653 is not set
+CONFIG_SCHED_NULL=y
+CONFIG_SCHED_DEFAULT="credit2"
+# CONFIG_LIVEPATCH is not set
+CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS=y
+CONFIG_CMDLINE=""
+CONFIG_DOM0_MEM=""
+
+#
+# Device Drivers
+#
+CONFIG_HAS_NS16550=y
+CONFIG_HAS_CADENCE_UART=y
+CONFIG_HAS_MVEBU=y
+CONFIG_HAS_PL011=y
+CONFIG_HAS_SCIF=y
+CONFIG_HAS_PASSTHROUGH=y
+CONFIG_ARM_SMMU=y
+CONFIG_DEFCONFIG_LIST="arch/arm/configs/arm64_defconfig"
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
diff --git a/meta-arm-autonomy/recipes-extended/xen/xen_4.%.bbappend b/meta-arm-autonomy/recipes-extended/xen/xen_4.%.bbappend
new file mode 100644
index 0000000..e7ddce9
--- /dev/null
+++ b/meta-arm-autonomy/recipes-extended/xen/xen_4.%.bbappend
@@ -0,0 +1,33 @@
+# xen settings
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+#
+# Define early console based on board parameters
+#
+
+XEN_CONFIG_EARLY_PRINTK ??= "disable"
+
+# Machine specific settings
+XEN_CONFIG_EARLY_PRINTK_juno = "juno"
+XEN_CONFIG_EARLY_PRINTK_gem5-arm64 = "vexpress"
+XEN_CONFIG_EARLY_PRINTK_fvp-base = "fastmodel"
+XEN_CONFIG_EARLY_PRINTK_foundation-armv8 = "fastmodel"
+
+EXTRA_OEMAKE += "${@bb.utils.contains('XEN_CONFIG_EARLY_PRINTK', 'disable', \
+ '', ' CONFIG_DEBUG=y CONFIG_EARLY_PRINTK=${XEN_CONFIG_EARLY_PRINTK}',d)}"
+
+# Foundation-armv8 support
+COMPATIBLE_MACHINE_foundation-armv8 = "foundation-armv8"
+
+SRC_URI_append_foundation-armv8 = " file://fvp/defconfig"
+
+# FVP Base support
+COMPATIBLE_MACHINE_fvp-base = "fvp-base"
+
+SRC_URI_append_fvp-base = " file://fvp/defconfig"
+
+# Juno support
+COMPATIBLE_MACHINE_juno = "juno"
+
+SRC_URI_append_juno = " file://juno/defconfig"
diff --git a/meta-arm-autonomy/recipes-extended/xen/xen_4.12.0.bbappend b/meta-arm-autonomy/recipes-extended/xen/xen_4.12.0.bbappend
new file mode 100644
index 0000000..87b1f63
--- /dev/null
+++ b/meta-arm-autonomy/recipes-extended/xen/xen_4.12.0.bbappend
@@ -0,0 +1,10 @@
+# xen version specific patch information
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+# Solve trace.c compilation error on 4.12.0
+# This should only be applied for 4.12.0 (solved in greater versions)
+SRC_URI += "file://4.12.0/0001-trace-fix-build-with-gcc9.patch"
+
+# Fix problem with number of interrupts on gem5
+SRC_URI_append_gem5-arm64 = " file://4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch"
diff --git a/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/features/arm-autonomy/disable-arm64-sve.cfg b/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/features/arm-autonomy/disable-arm64-sve.cfg
new file mode 100644
index 0000000..7e87cab
--- /dev/null
+++ b/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/features/arm-autonomy/disable-arm64-sve.cfg
@@ -0,0 +1,4 @@
+# We need to turn off SVE support in the Linux kernel otherwise Xen is stopping
+# Linux kernel with a coredump while trying to access ZEN bit of CPACR1 core
+# register.
+# CONFIG_ARM64_SVE is not set
diff --git a/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/features/arm-autonomy/disable-arm64-sve.scc b/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/features/arm-autonomy/disable-arm64-sve.scc
new file mode 100644
index 0000000..6bc769c
--- /dev/null
+++ b/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/features/arm-autonomy/disable-arm64-sve.scc
@@ -0,0 +1,3 @@
+define KFEATURE_DESCRIPTION "Disable SVE support"
+
+kconf non-hardware disable-arm64-sve.cfg
diff --git a/meta-arm-autonomy/recipes-kernel/linux/linux-arm-autonomy.inc b/meta-arm-autonomy/recipes-kernel/linux/linux-arm-autonomy.inc
index 8191079..bb48950 100644
--- a/meta-arm-autonomy/recipes-kernel/linux/linux-arm-autonomy.inc
+++ b/meta-arm-autonomy/recipes-kernel/linux/linux-arm-autonomy.inc
@@ -1,12 +1,24 @@
# Add arm-autonomy specific features to the kernel
-FILESEXTRAPATHS_prepend := "${THISDIR}:"
+FILESEXTRAPATHS_prepend := "${THISDIR}:${THISDIR}/files:"
#
# arm-autonomy kmeta
#
SRC_URI_append = " file://arm-autonomy-kmeta;type=kmeta;name=arm-autonomy-kmeta;destsuffix=arm-autonomy-kmeta"
+# We need to turn off SVE support in the Linux kernel otherwise Xen is stopping
+# Linux kernel with a coredump while trying to access XEN bit of CPACR1 core
+# register.
+LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE = "${@bb.utils.contains_any('DISTRO_FEATURES', \
+ 'arm-autonomy-host arm-autonomy-guest', \
+ ' features/arm-autonomy/disable-arm64-sve.scc','',d)}"
+
+KERNEL_FEATURES_append_gem5-arm64 = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}"
+KERNEL_FEATURES_append_fvp-base = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}"
+KERNEL_FEATURES_append_foundation-armv8 = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}"
+
+
# Add xen host drivers to kernel if arm-autonomy-host is activated
KERNEL_FEATURES += "${@bb.utils.contains('DISTRO_FEATURES', \
'arm-autonomy-host', 'features/arm-autonomy/xen-host.scc', '', d)}"
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread