All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] arm/oeqa/fvp: show more log from the FVP on failure
@ 2022-03-18 16:54 Ross Burton
  2022-03-18 16:54 ` [PATCH 2/4] arm-bsp/fvp-base: consolidate FVP configuration Ross Burton
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Ross Burton @ 2022-03-18 16:54 UTC (permalink / raw)
  To: meta-arm

If the FVP fails to boot, the last 20 lines may just be a stack trace.
Show the last 200 lines for further context.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta-arm/lib/oeqa/controllers/fvp.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta-arm/lib/oeqa/controllers/fvp.py b/meta-arm/lib/oeqa/controllers/fvp.py
index 29ccae5f..7136a003 100644
--- a/meta-arm/lib/oeqa/controllers/fvp.py
+++ b/meta-arm/lib/oeqa/controllers/fvp.py
@@ -63,7 +63,8 @@ class OEFVPTarget(oeqa.core.target.ssh.OESSHTarget):
                 return
         except asyncio.TimeoutError:
             self.logger.info("Timed out waiting for login prompt.")
-        self.logger.info(b"\n".join(bootlog.splitlines()[-20:]).decode("utf-8", errors="replace"))
+        self.logger.info("Boot log follows:")
+        self.logger.info(b"\n".join(bootlog.splitlines()[-200:]).decode("utf-8", errors="replace"))
         raise RuntimeError("Failed to start FVP.")
 
     def start(self, **kwargs):
-- 
2.25.1



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

* [PATCH 2/4] arm-bsp/fvp-base: consolidate FVP configuration
  2022-03-18 16:54 [PATCH 1/4] arm/oeqa/fvp: show more log from the FVP on failure Ross Burton
@ 2022-03-18 16:54 ` Ross Burton
  2022-03-18 16:54 ` [PATCH 3/4] arm-bsp/fvp-base: configure the FVP with v8.4 cores Ross Burton
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Ross Burton @ 2022-03-18 16:54 UTC (permalink / raw)
  To: meta-arm

The bulk of the FVP_* variables are common, so move them into
fvp-common.inc.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta-arm-bsp/conf/machine/fvp-base-arm32.conf | 15 +++++++++++++--
 meta-arm-bsp/conf/machine/fvp-base.conf       | 16 +---------------
 meta-arm-bsp/conf/machine/fvp-common.inc      | 15 +++++++++++++++
 3 files changed, 29 insertions(+), 17 deletions(-)

diff --git a/meta-arm-bsp/conf/machine/fvp-base-arm32.conf b/meta-arm-bsp/conf/machine/fvp-base-arm32.conf
index 9e821b74..acaadbaf 100644
--- a/meta-arm-bsp/conf/machine/fvp-base-arm32.conf
+++ b/meta-arm-bsp/conf/machine/fvp-base-arm32.conf
@@ -7,9 +7,20 @@
 require conf/machine/fvp-common.inc
 require conf/machine/include/arm/arch-armv7a.inc
 
-KERNEL_IMAGETYPE = "zImage"
-
 # FVP u-boot configuration
 UBOOT_MACHINE = "vexpress_aemv8a_aarch32_defconfig"
 
+KERNEL_IMAGETYPE = "zImage"
+
 KERNEL_DEVICETREE = "arm/fvp-base-gicv3-psci-custom.dtb"
+
+FVP_DATA ?= "cluster0.cpu0=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}@0x80080000 \
+             cluster0.cpu0=${DEPLOY_DIR_IMAGE}/fvp-base-gicv3-psci-custom.dtb@0x83000000"
+FVP_CONFIG[cluster0.cpu0.CONFIG64] = "0"
+FVP_CONFIG[cluster0.cpu1.CONFIG64] = "0"
+FVP_CONFIG[cluster0.cpu2.CONFIG64] = "0"
+FVP_CONFIG[cluster0.cpu3.CONFIG64] = "0"
+FVP_CONFIG[cluster1.cpu0.CONFIG64] = "0"
+FVP_CONFIG[cluster1.cpu1.CONFIG64] = "0"
+FVP_CONFIG[cluster1.cpu2.CONFIG64] = "0"
+FVP_CONFIG[cluster1.cpu3.CONFIG64] = "0"
diff --git a/meta-arm-bsp/conf/machine/fvp-base.conf b/meta-arm-bsp/conf/machine/fvp-base.conf
index 06a8bd93..00ef2116 100644
--- a/meta-arm-bsp/conf/machine/fvp-base.conf
+++ b/meta-arm-bsp/conf/machine/fvp-base.conf
@@ -16,19 +16,5 @@ KERNEL_IMAGETYPE = "Image"
 
 KERNEL_DEVICETREE = "arm/fvp-base-revc.dtb"
 
-FVP_PROVIDER ?= "fvp-base-a-aem-native"
-FVP_EXE ?= "FVP_Base_RevC-2xAEMvA"
-FVP_CONFIG[bp.ve_sysregs.exit_on_shutdown] ?= "1"
-FVP_CONFIG[bp.virtio_net.enabled] ?= "1"
-FVP_CONFIG[bp.virtio_net.hostbridge.userNetworking] ?= "1"
-FVP_CONFIG[cache_state_modelled] ?= "0"
-FVP_CONFIG[bp.secureflashloader.fname] ?= "${DEPLOY_DIR_IMAGE}/bl1-fvp.bin"
-FVP_CONFIG[bp.flashloader0.fname] ?= "${DEPLOY_DIR_IMAGE}/fip-fvp.bin"
-FVP_CONFIG[bp.virtioblockdevice.image_path] ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic"
 FVP_DATA ?= "cluster0.cpu0=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}@0x80080000 \
-            cluster0.cpu0=${DEPLOY_DIR_IMAGE}/fvp-base-revc.dtb@0x83000000"
-FVP_CONSOLE ?= "terminal_0"
-FVP_TERMINALS[bp.terminal_0] ?= "Console"
-FVP_TERMINALS[bp.terminal_1] ?= ""
-FVP_TERMINALS[bp.terminal_2] ?= ""
-FVP_TERMINALS[bp.terminal_3] ?= ""
+             cluster0.cpu0=${DEPLOY_DIR_IMAGE}/fvp-base-revc.dtb@0x83000000"
diff --git a/meta-arm-bsp/conf/machine/fvp-common.inc b/meta-arm-bsp/conf/machine/fvp-common.inc
index a8fd60d9..f98f6cc8 100644
--- a/meta-arm-bsp/conf/machine/fvp-common.inc
+++ b/meta-arm-bsp/conf/machine/fvp-common.inc
@@ -25,3 +25,18 @@ PACKAGECONFIG:remove:pn-openssh = "rng-tools"
 MACHINE_EXTRA_RRECOMMENDS += "ssh-pregen-hostkeys"
 
 TEST_TARGET = "OEFVPTarget"
+
+FVP_PROVIDER ?= "fvp-base-a-aem-native"
+FVP_EXE ?= "FVP_Base_RevC-2xAEMvA"
+FVP_CONFIG[bp.ve_sysregs.exit_on_shutdown] ?= "1"
+FVP_CONFIG[bp.virtio_net.enabled] ?= "1"
+FVP_CONFIG[bp.virtio_net.hostbridge.userNetworking] ?= "1"
+FVP_CONFIG[cache_state_modelled] ?= "0"
+FVP_CONFIG[bp.secureflashloader.fname] ?= "${DEPLOY_DIR_IMAGE}/bl1-fvp.bin"
+FVP_CONFIG[bp.flashloader0.fname] ?= "${DEPLOY_DIR_IMAGE}/fip-fvp.bin"
+FVP_CONFIG[bp.virtioblockdevice.image_path] ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic"
+FVP_CONSOLE ?= "terminal_0"
+FVP_TERMINALS[bp.terminal_0] ?= "Console"
+FVP_TERMINALS[bp.terminal_1] ?= ""
+FVP_TERMINALS[bp.terminal_2] ?= ""
+FVP_TERMINALS[bp.terminal_3] ?= ""
-- 
2.25.1



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

* [PATCH 3/4] arm-bsp/fvp-base: configure the FVP with v8.4 cores
  2022-03-18 16:54 [PATCH 1/4] arm/oeqa/fvp: show more log from the FVP on failure Ross Burton
  2022-03-18 16:54 ` [PATCH 2/4] arm-bsp/fvp-base: consolidate FVP configuration Ross Burton
@ 2022-03-18 16:54 ` Ross Burton
  2022-03-18 16:54 ` [PATCH 4/4] arm-bsp/u-boot: use latest u-boot for fvp-base Ross Burton
  2022-03-23 13:31 ` [PATCH 1/4] arm/oeqa/fvp: show more log from the FVP on failure Jon Mason
  3 siblings, 0 replies; 5+ messages in thread
From: Ross Burton @ 2022-03-18 16:54 UTC (permalink / raw)
  To: meta-arm

Configure the FVP to have v8.4 cores, instead of v8.0. This gives us more
useful instructions, such as pointer authentication.

See this document for more details:

https://developer.arm.com/documentation/102378/0201/Armv8-x-and-Armv9-x-extensions-and-features

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta-arm-bsp/conf/machine/fvp-common.inc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta-arm-bsp/conf/machine/fvp-common.inc b/meta-arm-bsp/conf/machine/fvp-common.inc
index f98f6cc8..3da1ef0b 100644
--- a/meta-arm-bsp/conf/machine/fvp-common.inc
+++ b/meta-arm-bsp/conf/machine/fvp-common.inc
@@ -35,6 +35,9 @@ FVP_CONFIG[cache_state_modelled] ?= "0"
 FVP_CONFIG[bp.secureflashloader.fname] ?= "${DEPLOY_DIR_IMAGE}/bl1-fvp.bin"
 FVP_CONFIG[bp.flashloader0.fname] ?= "${DEPLOY_DIR_IMAGE}/fip-fvp.bin"
 FVP_CONFIG[bp.virtioblockdevice.image_path] ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic"
+# Set the baseline to ARMv8.4, as the default is 8.0.
+FVP_CONFIG[cluster0.has_arm_v8-4] = "1"
+FVP_CONFIG[cluster1.has_arm_v8-4] = "1"
 FVP_CONSOLE ?= "terminal_0"
 FVP_TERMINALS[bp.terminal_0] ?= "Console"
 FVP_TERMINALS[bp.terminal_1] ?= ""
-- 
2.25.1



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

* [PATCH 4/4] arm-bsp/u-boot: use latest u-boot for fvp-base
  2022-03-18 16:54 [PATCH 1/4] arm/oeqa/fvp: show more log from the FVP on failure Ross Burton
  2022-03-18 16:54 ` [PATCH 2/4] arm-bsp/fvp-base: consolidate FVP configuration Ross Burton
  2022-03-18 16:54 ` [PATCH 3/4] arm-bsp/fvp-base: configure the FVP with v8.4 cores Ross Burton
@ 2022-03-18 16:54 ` Ross Burton
  2022-03-23 13:31 ` [PATCH 1/4] arm/oeqa/fvp: show more log from the FVP on failure Jon Mason
  3 siblings, 0 replies; 5+ messages in thread
From: Ross Burton @ 2022-03-18 16:54 UTC (permalink / raw)
  To: meta-arm

Explicitly enable use of CRC instructions: we configure fvp-base to have
armv8.4 cores, but the default uboot config disables crc (see uboot 51d8367d8).

Keep fvp-base-arm32 on 2021.10 as the arm32-specific patches need
rebasing, and a trivial rebase doesn't boot successfully.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta-arm-bsp/conf/machine/fvp-base-arm32.conf                | 1 +
 meta-arm-bsp/conf/machine/fvp-common.inc                     | 2 --
 meta-arm-bsp/recipes-bsp/u-boot/u-boot/fvp-base/bootargs.cfg | 2 ++
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta-arm-bsp/conf/machine/fvp-base-arm32.conf b/meta-arm-bsp/conf/machine/fvp-base-arm32.conf
index acaadbaf..b6fe6f77 100644
--- a/meta-arm-bsp/conf/machine/fvp-base-arm32.conf
+++ b/meta-arm-bsp/conf/machine/fvp-base-arm32.conf
@@ -8,6 +8,7 @@ require conf/machine/fvp-common.inc
 require conf/machine/include/arm/arch-armv7a.inc
 
 # FVP u-boot configuration
+PREFERRED_VERSION_u-boot ?= "2021.10"
 UBOOT_MACHINE = "vexpress_aemv8a_aarch32_defconfig"
 
 KERNEL_IMAGETYPE = "zImage"
diff --git a/meta-arm-bsp/conf/machine/fvp-common.inc b/meta-arm-bsp/conf/machine/fvp-common.inc
index 3da1ef0b..b0aeb81f 100644
--- a/meta-arm-bsp/conf/machine/fvp-common.inc
+++ b/meta-arm-bsp/conf/machine/fvp-common.inc
@@ -14,8 +14,6 @@ SERIAL_CONSOLES = "115200;ttyAMA0"
 
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
 
-PREFERRED_VERSION_u-boot ?= "2021.10"
-
 EXTRA_IMAGEDEPENDS += "trusted-firmware-a u-boot"
 
 # As this is a virtual target that will not be used in the real world there is
diff --git a/meta-arm-bsp/recipes-bsp/u-boot/u-boot/fvp-base/bootargs.cfg b/meta-arm-bsp/recipes-bsp/u-boot/u-boot/fvp-base/bootargs.cfg
index b7510f48..716600f4 100644
--- a/meta-arm-bsp/recipes-bsp/u-boot/u-boot/fvp-base/bootargs.cfg
+++ b/meta-arm-bsp/recipes-bsp/u-boot/u-boot/fvp-base/bootargs.cfg
@@ -1 +1,3 @@
 CONFIG_BOOTARGS="console=ttyAMA0 earlycon=pl011,0x1c090000 root=/dev/vda1 rw rootwait"
+# Our FVP support CRC instructions
+CONFIG_ARM64_CRC32=y
-- 
2.25.1



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

* Re: [PATCH 1/4] arm/oeqa/fvp: show more log from the FVP on failure
  2022-03-18 16:54 [PATCH 1/4] arm/oeqa/fvp: show more log from the FVP on failure Ross Burton
                   ` (2 preceding siblings ...)
  2022-03-18 16:54 ` [PATCH 4/4] arm-bsp/u-boot: use latest u-boot for fvp-base Ross Burton
@ 2022-03-23 13:31 ` Jon Mason
  3 siblings, 0 replies; 5+ messages in thread
From: Jon Mason @ 2022-03-23 13:31 UTC (permalink / raw)
  To: meta-arm, Ross Burton

On Fri, 18 Mar 2022 16:54:19 +0000, Ross Burton wrote:
> If the FVP fails to boot, the last 20 lines may just be a stack trace.
> Show the last 200 lines for further context.

Applied, thanks!

[1/4] arm/oeqa/fvp: show more log from the FVP on failure
      commit: 00cde20a9abce366dad1087379a306fe81ceaf72
[2/4] arm-bsp/fvp-base: consolidate FVP configuration
      commit: 583b68cc90380c452278f90feb93409f186dec8d
[3/4] arm-bsp/fvp-base: configure the FVP with v8.4 cores
      commit: f56e69e1356851db19a62a291b24488f73abc443
[4/4] arm-bsp/u-boot: use latest u-boot for fvp-base
      commit: bff49b6a351b2a142cb12cfc97de563ed337ec20

Best regards,
-- 
Jon Mason <jon.mason@arm.com>


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

end of thread, other threads:[~2022-03-23 13:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-18 16:54 [PATCH 1/4] arm/oeqa/fvp: show more log from the FVP on failure Ross Burton
2022-03-18 16:54 ` [PATCH 2/4] arm-bsp/fvp-base: consolidate FVP configuration Ross Burton
2022-03-18 16:54 ` [PATCH 3/4] arm-bsp/fvp-base: configure the FVP with v8.4 cores Ross Burton
2022-03-18 16:54 ` [PATCH 4/4] arm-bsp/u-boot: use latest u-boot for fvp-base Ross Burton
2022-03-23 13:31 ` [PATCH 1/4] arm/oeqa/fvp: show more log from the FVP on failure 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.