All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] arm-autonomy: Moved dynamic-layers/meta-gem5 to meta-gem5
@ 2021-03-11  9:08 Nathan Dunne
  2021-03-11  9:08 ` [PATCH 2/2] kas: Added yaml to test xen support in meta-gem5 Nathan Dunne
  2021-03-12  2:26 ` [meta-arm] [PATCH 1/2] arm-autonomy: Moved dynamic-layers/meta-gem5 to meta-gem5 Jon Mason
  0 siblings, 2 replies; 3+ messages in thread
From: Nathan Dunne @ 2021-03-11  9:08 UTC (permalink / raw)
  To: meta-arm; +Cc: nd, Nathan Dunne

From: Nathan Dunne <Nathan.Dunne@arm.com>

Gem5 xen support in meta-arm-autonomy moved to meta-gem5 under
dynamic-layers/meta-virtualization. Any dependencies on 'arm-autonomy-host'
or 'arm-autonomy-guest' in DISTRO_FEATURES replaced with 'xen'.

Issue-Id: SCM-2091
Signed-off-by: Nathan Dunne <Nathan.Dunne@arm.com>
Change-Id: Ia2db68e2cd88c4277e8edc213aebb88d90c0cd23
---
 meta-arm-autonomy/conf/layer.conf             |  1 -
 .../xenguest/xenguest-network.bbappend        |  1 -
 .../recipes-kernel/linux/linux-%.bbappend     | 15 --------
 meta-gem5/conf/layer.conf                     |  5 +++
 .../boot-wrapper-aarch64_%.bbappend           |  0
 .../gem5/gem5-aarch64-native_20.bbappend      |  2 +-
 .../xen/files/gem5-arm64/early-printk.cfg     |  0
 .../recipes-extended/xen/xen_%.bbappend       |  0
 .../recipes-kernel/linux/linux-%.bbappend     | 14 +++++++
 .../features}/disable-arm64-sve.cfg           |  0
 .../features}/disable-arm64-sve.scc           |  0
 ...Fix-atomics-permission-checks-in-TLB.patch | 38 +++++++++++++++++++
 .../gem5/gem5-aarch64-native_20.bb            |  3 +-
 13 files changed, 60 insertions(+), 19 deletions(-)
 delete mode 100644 meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xenguest/xenguest-network.bbappend
 delete mode 100644 meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/linux-%.bbappend
 rename {meta-arm-autonomy/dynamic-layers/meta-gem5 => meta-gem5/dynamic-layers/meta-virtualization}/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend (100%)
 rename {meta-arm-autonomy/dynamic-layers/meta-gem5 => meta-gem5/dynamic-layers/meta-virtualization}/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend (80%)
 rename {meta-arm-autonomy/dynamic-layers/meta-gem5 => meta-gem5/dynamic-layers/meta-virtualization}/recipes-extended/xen/files/gem5-arm64/early-printk.cfg (100%)
 rename {meta-arm-autonomy/dynamic-layers/meta-gem5 => meta-gem5/dynamic-layers/meta-virtualization}/recipes-extended/xen/xen_%.bbappend (100%)
 create mode 100644 meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/linux-%.bbappend
 rename {meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/arm-autonomy-kmeta-extra-gem5/features/arm-autonomy => meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features}/disable-arm64-sve.cfg (100%)
 rename {meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/arm-autonomy-kmeta-extra-gem5/features/arm-autonomy => meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features}/disable-arm64-sve.scc (100%)
 create mode 100644 meta-gem5/recipes-devtools/gem5/gem5-aarch64-native/0002-arch-arm-Fix-atomics-permission-checks-in-TLB.patch

diff --git a/meta-arm-autonomy/conf/layer.conf b/meta-arm-autonomy/conf/layer.conf
index 4bcf0cd..d577a55 100644
--- a/meta-arm-autonomy/conf/layer.conf
+++ b/meta-arm-autonomy/conf/layer.conf
@@ -34,7 +34,6 @@ USER_CLASSES_append = " arm-autonomy-features"
 BBFILES_DYNAMIC += " \
     meta-arm-bsp:${LAYERDIR}/dynamic-layers/meta-arm-bsp/*/*/*.bbappend \
     meta-arm-bsp:${LAYERDIR}/dynamic-layers/meta-arm-bsp/*/*/*.bb \
-    meta-gem5:${LAYERDIR}/dynamic-layers/meta-gem5/*/*/*.bbappend \
 "
 # Root directory for the meta-arm-autonomy/dynamic-layers/meta-arm-bsp
 ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR = "${ARM_AUTONOMY_LAYERDIR}/dynamic-layers/meta-arm-bsp"
diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xenguest/xenguest-network.bbappend b/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xenguest/xenguest-network.bbappend
deleted file mode 100644
index 0283702..0000000
--- a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xenguest/xenguest-network.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-XENGUEST_NETWORK_BRIDGE_MEMBERS_gem5-arm64 ?= "eth0"
diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/linux-%.bbappend b/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/linux-%.bbappend
deleted file mode 100644
index 0d0047a..0000000
--- a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/linux-%.bbappend
+++ /dev/null
@@ -1,15 +0,0 @@
-FILESEXTRAPATHS_prepend_gem5-arm64 := "${THISDIR}:"
-
-#
-# arm-autonomy kmeta extra
-#
-SRC_URI_append_gem5-arm64 = " file://arm-autonomy-kmeta-extra-gem5;type=kmeta;name=arm-autonomy-kmeta-extra-gem5;destsuffix=arm-autonomy-kmeta-extra-gem5"
-
-# 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_gem5-arm64 = "${@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}"
diff --git a/meta-gem5/conf/layer.conf b/meta-gem5/conf/layer.conf
index bf42f74..e29c940 100644
--- a/meta-gem5/conf/layer.conf
+++ b/meta-gem5/conf/layer.conf
@@ -12,3 +12,8 @@ BBFILE_PRIORITY_meta-gem5 = "5"
 LAYERDEPENDS_meta-gem5 = "core openembedded-layer meta-arm"
 LAYERSERIES_COMPAT_meta-gem5 = "gatesgarth"
 
+BBFILES_DYNAMIC += " \
+    virtualization-layer:${LAYERDIR}/dynamic-layers/meta-virtualization/*/*/*.bbappend \
+"
+
+DISTRO_FEATURES_NATIVE_append = " ${@bb.utils.filter('DISTRO_FEATURES', 'xen', d)}"
diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend b/meta-gem5/dynamic-layers/meta-virtualization/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend
similarity index 100%
rename from meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend
rename to meta-gem5/dynamic-layers/meta-virtualization/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend
diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend b/meta-gem5/dynamic-layers/meta-virtualization/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
similarity index 80%
rename from meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
rename to meta-gem5/dynamic-layers/meta-virtualization/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
index 71b308a..8239a40 100644
--- a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
+++ b/meta-gem5/dynamic-layers/meta-virtualization/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
@@ -1,7 +1,7 @@
 # When booting gem5-arm64 with Xen we need to set the cpu as Cortex A53 and
 # remove support for pointer authentification
 GEM5_RUN_EXTRA_append = " \
-${@bb.utils.contains('DISTRO_FEATURES_NATIVE', 'arm-autonomy-host', \
+${@bb.utils.contains('DISTRO_FEATURES_NATIVE', 'xen', \
 '--param=system.cpu_cluster[0].cpus[0].isa[0].midr=0x410fd030 \
 --param=system.cpu_cluster[0].cpus[0].isa[0].id_aa64isar1_el1=0x0', \
 '', d)}"
diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xen/files/gem5-arm64/early-printk.cfg b/meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/files/gem5-arm64/early-printk.cfg
similarity index 100%
rename from meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xen/files/gem5-arm64/early-printk.cfg
rename to meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/files/gem5-arm64/early-printk.cfg
diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xen/xen_%.bbappend b/meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/xen_%.bbappend
similarity index 100%
rename from meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xen/xen_%.bbappend
rename to meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/xen_%.bbappend
diff --git a/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/linux-%.bbappend b/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/linux-%.bbappend
new file mode 100644
index 0000000..5d3b52c
--- /dev/null
+++ b/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/linux-%.bbappend
@@ -0,0 +1,14 @@
+FILESEXTRAPATHS_prepend_gem5-arm64 := "${THISDIR}:"
+
+#
+# virtualization kmeta extra
+#
+SRC_URI_append_gem5-arm64 = " file://virtualization-kmeta-extra-gem5;type=kmeta;name=virtualization-kmeta-extra-gem5;destsuffix=virtualization-kmeta-extra-gem5"
+
+# 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_VIRTUALIZATION_DISABLE_ARM64_SVE_gem5-arm64 = "${@bb.utils.contains('DISTRO_FEATURES', \
+                                         'xen', ' features/disable-arm64-sve.scc','',d)}"
+
+KERNEL_FEATURES_append_gem5-arm64 = "${LINUX_VIRTUALIZATION_DISABLE_ARM64_SVE}"
diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/arm-autonomy-kmeta-extra-gem5/features/arm-autonomy/disable-arm64-sve.cfg b/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.cfg
similarity index 100%
rename from meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/arm-autonomy-kmeta-extra-gem5/features/arm-autonomy/disable-arm64-sve.cfg
rename to meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.cfg
diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/arm-autonomy-kmeta-extra-gem5/features/arm-autonomy/disable-arm64-sve.scc b/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.scc
similarity index 100%
rename from meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/arm-autonomy-kmeta-extra-gem5/features/arm-autonomy/disable-arm64-sve.scc
rename to meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.scc
diff --git a/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native/0002-arch-arm-Fix-atomics-permission-checks-in-TLB.patch b/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native/0002-arch-arm-Fix-atomics-permission-checks-in-TLB.patch
new file mode 100644
index 0000000..36cb167
--- /dev/null
+++ b/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native/0002-arch-arm-Fix-atomics-permission-checks-in-TLB.patch
@@ -0,0 +1,38 @@
+From c47920d81c4c29e8c868c005ff4330c46becbad5 Mon Sep 17 00:00:00 2001
+From: Giacomo Travaglini <giacomo.travaglini@arm.com>
+Date: Wed, 03 Mar 2021 11:38:06 +0000
+Subject: [PATCH] arch-arm: Fix atomics permission checks in TLB
+
+For stage 2 translations, atomic accesses were not checking the
+access permission bits in the page table descriptors, and were
+instead wrongly using the nature of the request itself
+(r/w booleans).
+
+Change-Id: I27fbc95f04ea659e77ad5a3afb551873c9c971f0
+Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
+Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42073
+Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
+Reviewed-by: Richard Cooper <richard.cooper@arm.com>
+Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
+Maintainer: Jason Lowe-Power <power.jg@gmail.com>
+Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
+Tested-by: kokoro <noreply+kokoro@google.com>
+
+Upstream-Status: Backport
+Signed-off-By: Nathan Dunne <nathan.dunne@arm.com>
+---
+
+diff --git a/src/arch/arm/tlb.cc b/src/arch/arm/tlb.cc
+index fd72d25..8e5b3ca 100644
+--- a/src/arch/arm/tlb.cc
++++ b/src/arch/arm/tlb.cc
+@@ -872,8 +872,7 @@
+             // sctlr.wxn overrides the xn bit
+             grant = !wxn && !xn;
+         } else if (is_atomic) {
+-            grant = r && w;
+-            grant_read = r;
++            grant = hap;
+         } else if (is_write) {
+             grant = hap & 0x2;
+         } else { // is_read
diff --git a/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bb b/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bb
index 79cf910..711ab95 100644
--- a/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bb
+++ b/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bb
@@ -1,6 +1,7 @@
 require gem5-source_20.inc
 
-SRC_URI += "file://0001-dev-arm-SMMUv3-enable-interrupt-interface.patch"
+SRC_URI += "file://0001-dev-arm-SMMUv3-enable-interrupt-interface.patch \
+            file://0002-arch-arm-Fix-atomics-permission-checks-in-TLB.patch"
 
 BPN = "gem5-aarch64-native"
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] kas: Added yaml to test xen support in meta-gem5
  2021-03-11  9:08 [PATCH 1/2] arm-autonomy: Moved dynamic-layers/meta-gem5 to meta-gem5 Nathan Dunne
@ 2021-03-11  9:08 ` Nathan Dunne
  2021-03-12  2:26 ` [meta-arm] [PATCH 1/2] arm-autonomy: Moved dynamic-layers/meta-gem5 to meta-gem5 Jon Mason
  1 sibling, 0 replies; 3+ messages in thread
From: Nathan Dunne @ 2021-03-11  9:08 UTC (permalink / raw)
  To: meta-arm; +Cc: nd, Nathan Dunne

From: Nathan Dunne <Nathan.Dunne@arm.com>

Created yaml file "gem5-arm64-xen.yml" to build the target xen-image-minimal
for gem5, with required DISTRO_FEATURES 'xen' and 'virtualization'.

Issue-Id: SCM-2091
Signed-off-by: Nathan Dunne <Nathan.Dunne@arm.com>
Change-Id: If21d446ca36ba01657d6b48e4b3370e9d905fd1b
---
 .gitlab-ci.yml         |  3 +++
 kas/gem5-arm64-xen.yml | 28 ++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)
 create mode 100644 kas/gem5-arm64-xen.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ca484c1..a9b0619 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -73,6 +73,9 @@ fvp-base-arm32/external-gcc-arm32:
 gem5-arm64:
   extends: .build
 
+gem5-arm64-xen:
+  extends: .build
+
 juno:
   extends: .build
 
diff --git a/kas/gem5-arm64-xen.yml b/kas/gem5-arm64-xen.yml
new file mode 100644
index 0000000..85763b8
--- /dev/null
+++ b/kas/gem5-arm64-xen.yml
@@ -0,0 +1,28 @@
+
+header:
+  version: 9
+  includes:
+    - base.yml
+    - meta-python.yml
+
+repos:
+  meta-arm:
+    layers:
+      meta-gem5:
+  meta-openembedded:
+    url: https://git.openembedded.org/meta-openembedded
+    layers:
+      meta-oe:
+      meta-filesystems:
+      meta-networking:
+  meta-virtualization:
+    url: git://git.yoctoproject.org/meta-virtualization
+
+machine: gem5-arm64
+
+local_conf_header:
+  meta-virt:
+    DISTRO_FEATURES_append = " virtualization xen"
+
+target:
+  - xen-image-minimal
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [meta-arm] [PATCH 1/2] arm-autonomy: Moved dynamic-layers/meta-gem5 to meta-gem5
  2021-03-11  9:08 [PATCH 1/2] arm-autonomy: Moved dynamic-layers/meta-gem5 to meta-gem5 Nathan Dunne
  2021-03-11  9:08 ` [PATCH 2/2] kas: Added yaml to test xen support in meta-gem5 Nathan Dunne
@ 2021-03-12  2:26 ` Jon Mason
  1 sibling, 0 replies; 3+ messages in thread
From: Jon Mason @ 2021-03-12  2:26 UTC (permalink / raw)
  To: Nathan Dunne; +Cc: meta-arm, nd

On Thu, Mar 11, 2021 at 09:08:08AM +0000, Nathan Dunne wrote:
> From: Nathan Dunne <Nathan.Dunne@arm.com>
> 
> Gem5 xen support in meta-arm-autonomy moved to meta-gem5 under
> dynamic-layers/meta-virtualization. Any dependencies on 'arm-autonomy-host'
> or 'arm-autonomy-guest' in DISTRO_FEATURES replaced with 'xen'.
> 
> Issue-Id: SCM-2091
> Signed-off-by: Nathan Dunne <Nathan.Dunne@arm.com>
> Change-Id: Ia2db68e2cd88c4277e8edc213aebb88d90c0cd23
> ---

Series applied to master.

Thanks,
Jon

>  meta-arm-autonomy/conf/layer.conf             |  1 -
>  .../xenguest/xenguest-network.bbappend        |  1 -
>  .../recipes-kernel/linux/linux-%.bbappend     | 15 --------
>  meta-gem5/conf/layer.conf                     |  5 +++
>  .../boot-wrapper-aarch64_%.bbappend           |  0
>  .../gem5/gem5-aarch64-native_20.bbappend      |  2 +-
>  .../xen/files/gem5-arm64/early-printk.cfg     |  0
>  .../recipes-extended/xen/xen_%.bbappend       |  0
>  .../recipes-kernel/linux/linux-%.bbappend     | 14 +++++++
>  .../features}/disable-arm64-sve.cfg           |  0
>  .../features}/disable-arm64-sve.scc           |  0
>  ...Fix-atomics-permission-checks-in-TLB.patch | 38 +++++++++++++++++++
>  .../gem5/gem5-aarch64-native_20.bb            |  3 +-
>  13 files changed, 60 insertions(+), 19 deletions(-)
>  delete mode 100644 meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xenguest/xenguest-network.bbappend
>  delete mode 100644 meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/linux-%.bbappend
>  rename {meta-arm-autonomy/dynamic-layers/meta-gem5 => meta-gem5/dynamic-layers/meta-virtualization}/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend (100%)
>  rename {meta-arm-autonomy/dynamic-layers/meta-gem5 => meta-gem5/dynamic-layers/meta-virtualization}/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend (80%)
>  rename {meta-arm-autonomy/dynamic-layers/meta-gem5 => meta-gem5/dynamic-layers/meta-virtualization}/recipes-extended/xen/files/gem5-arm64/early-printk.cfg (100%)
>  rename {meta-arm-autonomy/dynamic-layers/meta-gem5 => meta-gem5/dynamic-layers/meta-virtualization}/recipes-extended/xen/xen_%.bbappend (100%)
>  create mode 100644 meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/linux-%.bbappend
>  rename {meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/arm-autonomy-kmeta-extra-gem5/features/arm-autonomy => meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features}/disable-arm64-sve.cfg (100%)
>  rename {meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/arm-autonomy-kmeta-extra-gem5/features/arm-autonomy => meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features}/disable-arm64-sve.scc (100%)
>  create mode 100644 meta-gem5/recipes-devtools/gem5/gem5-aarch64-native/0002-arch-arm-Fix-atomics-permission-checks-in-TLB.patch
> 
> diff --git a/meta-arm-autonomy/conf/layer.conf b/meta-arm-autonomy/conf/layer.conf
> index 4bcf0cd..d577a55 100644
> --- a/meta-arm-autonomy/conf/layer.conf
> +++ b/meta-arm-autonomy/conf/layer.conf
> @@ -34,7 +34,6 @@ USER_CLASSES_append = " arm-autonomy-features"
>  BBFILES_DYNAMIC += " \
>      meta-arm-bsp:${LAYERDIR}/dynamic-layers/meta-arm-bsp/*/*/*.bbappend \
>      meta-arm-bsp:${LAYERDIR}/dynamic-layers/meta-arm-bsp/*/*/*.bb \
> -    meta-gem5:${LAYERDIR}/dynamic-layers/meta-gem5/*/*/*.bbappend \
>  "
>  # Root directory for the meta-arm-autonomy/dynamic-layers/meta-arm-bsp
>  ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR = "${ARM_AUTONOMY_LAYERDIR}/dynamic-layers/meta-arm-bsp"
> diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xenguest/xenguest-network.bbappend b/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xenguest/xenguest-network.bbappend
> deleted file mode 100644
> index 0283702..0000000
> --- a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xenguest/xenguest-network.bbappend
> +++ /dev/null
> @@ -1 +0,0 @@
> -XENGUEST_NETWORK_BRIDGE_MEMBERS_gem5-arm64 ?= "eth0"
> diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/linux-%.bbappend b/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/linux-%.bbappend
> deleted file mode 100644
> index 0d0047a..0000000
> --- a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/linux-%.bbappend
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -FILESEXTRAPATHS_prepend_gem5-arm64 := "${THISDIR}:"
> -
> -#
> -# arm-autonomy kmeta extra
> -#
> -SRC_URI_append_gem5-arm64 = " file://arm-autonomy-kmeta-extra-gem5;type=kmeta;name=arm-autonomy-kmeta-extra-gem5;destsuffix=arm-autonomy-kmeta-extra-gem5"
> -
> -# 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_gem5-arm64 = "${@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}"
> diff --git a/meta-gem5/conf/layer.conf b/meta-gem5/conf/layer.conf
> index bf42f74..e29c940 100644
> --- a/meta-gem5/conf/layer.conf
> +++ b/meta-gem5/conf/layer.conf
> @@ -12,3 +12,8 @@ BBFILE_PRIORITY_meta-gem5 = "5"
>  LAYERDEPENDS_meta-gem5 = "core openembedded-layer meta-arm"
>  LAYERSERIES_COMPAT_meta-gem5 = "gatesgarth"
>  
> +BBFILES_DYNAMIC += " \
> +    virtualization-layer:${LAYERDIR}/dynamic-layers/meta-virtualization/*/*/*.bbappend \
> +"
> +
> +DISTRO_FEATURES_NATIVE_append = " ${@bb.utils.filter('DISTRO_FEATURES', 'xen', d)}"
> diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend b/meta-gem5/dynamic-layers/meta-virtualization/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend
> similarity index 100%
> rename from meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend
> rename to meta-gem5/dynamic-layers/meta-virtualization/recipes-bsp/boot-wrapper-aaarch64/boot-wrapper-aarch64_%.bbappend
> diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend b/meta-gem5/dynamic-layers/meta-virtualization/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
> similarity index 80%
> rename from meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
> rename to meta-gem5/dynamic-layers/meta-virtualization/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
> index 71b308a..8239a40 100644
> --- a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
> +++ b/meta-gem5/dynamic-layers/meta-virtualization/recipes-devtools/gem5/gem5-aarch64-native_20.bbappend
> @@ -1,7 +1,7 @@
>  # When booting gem5-arm64 with Xen we need to set the cpu as Cortex A53 and
>  # remove support for pointer authentification
>  GEM5_RUN_EXTRA_append = " \
> -${@bb.utils.contains('DISTRO_FEATURES_NATIVE', 'arm-autonomy-host', \
> +${@bb.utils.contains('DISTRO_FEATURES_NATIVE', 'xen', \
>  '--param=system.cpu_cluster[0].cpus[0].isa[0].midr=0x410fd030 \
>  --param=system.cpu_cluster[0].cpus[0].isa[0].id_aa64isar1_el1=0x0', \
>  '', d)}"
> diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xen/files/gem5-arm64/early-printk.cfg b/meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/files/gem5-arm64/early-printk.cfg
> similarity index 100%
> rename from meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xen/files/gem5-arm64/early-printk.cfg
> rename to meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/files/gem5-arm64/early-printk.cfg
> diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xen/xen_%.bbappend b/meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/xen_%.bbappend
> similarity index 100%
> rename from meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-extended/xen/xen_%.bbappend
> rename to meta-gem5/dynamic-layers/meta-virtualization/recipes-extended/xen/xen_%.bbappend
> diff --git a/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/linux-%.bbappend b/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/linux-%.bbappend
> new file mode 100644
> index 0000000..5d3b52c
> --- /dev/null
> +++ b/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/linux-%.bbappend
> @@ -0,0 +1,14 @@
> +FILESEXTRAPATHS_prepend_gem5-arm64 := "${THISDIR}:"
> +
> +#
> +# virtualization kmeta extra
> +#
> +SRC_URI_append_gem5-arm64 = " file://virtualization-kmeta-extra-gem5;type=kmeta;name=virtualization-kmeta-extra-gem5;destsuffix=virtualization-kmeta-extra-gem5"
> +
> +# 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_VIRTUALIZATION_DISABLE_ARM64_SVE_gem5-arm64 = "${@bb.utils.contains('DISTRO_FEATURES', \
> +                                         'xen', ' features/disable-arm64-sve.scc','',d)}"
> +
> +KERNEL_FEATURES_append_gem5-arm64 = "${LINUX_VIRTUALIZATION_DISABLE_ARM64_SVE}"
> diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/arm-autonomy-kmeta-extra-gem5/features/arm-autonomy/disable-arm64-sve.cfg b/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.cfg
> similarity index 100%
> rename from meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/arm-autonomy-kmeta-extra-gem5/features/arm-autonomy/disable-arm64-sve.cfg
> rename to meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.cfg
> diff --git a/meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/arm-autonomy-kmeta-extra-gem5/features/arm-autonomy/disable-arm64-sve.scc b/meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.scc
> similarity index 100%
> rename from meta-arm-autonomy/dynamic-layers/meta-gem5/recipes-kernel/linux/arm-autonomy-kmeta-extra-gem5/features/arm-autonomy/disable-arm64-sve.scc
> rename to meta-gem5/dynamic-layers/meta-virtualization/recipes-kernel/linux/virtualization-kmeta-extra-gem5/features/disable-arm64-sve.scc
> diff --git a/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native/0002-arch-arm-Fix-atomics-permission-checks-in-TLB.patch b/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native/0002-arch-arm-Fix-atomics-permission-checks-in-TLB.patch
> new file mode 100644
> index 0000000..36cb167
> --- /dev/null
> +++ b/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native/0002-arch-arm-Fix-atomics-permission-checks-in-TLB.patch
> @@ -0,0 +1,38 @@
> +From c47920d81c4c29e8c868c005ff4330c46becbad5 Mon Sep 17 00:00:00 2001
> +From: Giacomo Travaglini <giacomo.travaglini@arm.com>
> +Date: Wed, 03 Mar 2021 11:38:06 +0000
> +Subject: [PATCH] arch-arm: Fix atomics permission checks in TLB
> +
> +For stage 2 translations, atomic accesses were not checking the
> +access permission bits in the page table descriptors, and were
> +instead wrongly using the nature of the request itself
> +(r/w booleans).
> +
> +Change-Id: I27fbc95f04ea659e77ad5a3afb551873c9c971f0
> +Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
> +Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42073
> +Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
> +Reviewed-by: Richard Cooper <richard.cooper@arm.com>
> +Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
> +Maintainer: Jason Lowe-Power <power.jg@gmail.com>
> +Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
> +Tested-by: kokoro <noreply+kokoro@google.com>
> +
> +Upstream-Status: Backport
> +Signed-off-By: Nathan Dunne <nathan.dunne@arm.com>
> +---
> +
> +diff --git a/src/arch/arm/tlb.cc b/src/arch/arm/tlb.cc
> +index fd72d25..8e5b3ca 100644
> +--- a/src/arch/arm/tlb.cc
> ++++ b/src/arch/arm/tlb.cc
> +@@ -872,8 +872,7 @@
> +             // sctlr.wxn overrides the xn bit
> +             grant = !wxn && !xn;
> +         } else if (is_atomic) {
> +-            grant = r && w;
> +-            grant_read = r;
> ++            grant = hap;
> +         } else if (is_write) {
> +             grant = hap & 0x2;
> +         } else { // is_read
> diff --git a/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bb b/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bb
> index 79cf910..711ab95 100644
> --- a/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bb
> +++ b/meta-gem5/recipes-devtools/gem5/gem5-aarch64-native_20.bb
> @@ -1,6 +1,7 @@
>  require gem5-source_20.inc
>  
> -SRC_URI += "file://0001-dev-arm-SMMUv3-enable-interrupt-interface.patch"
> +SRC_URI += "file://0001-dev-arm-SMMUv3-enable-interrupt-interface.patch \
> +            file://0002-arch-arm-Fix-atomics-permission-checks-in-TLB.patch"
>  
>  BPN = "gem5-aarch64-native"
>  
> -- 
> 2.17.1
> 

> 
> 
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-03-12  2:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-11  9:08 [PATCH 1/2] arm-autonomy: Moved dynamic-layers/meta-gem5 to meta-gem5 Nathan Dunne
2021-03-11  9:08 ` [PATCH 2/2] kas: Added yaml to test xen support in meta-gem5 Nathan Dunne
2021-03-12  2:26 ` [meta-arm] [PATCH 1/2] arm-autonomy: Moved dynamic-layers/meta-gem5 to meta-gem5 Jon Mason

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.