diff mbox series

[3/3] arm-bsp/sgi575: add FVP support

Message ID 20250328132903.66472-3-jon.mason@arm.com
State New
Headers show
Series [1/3] arm/edk2-firmware: Fix branch name variables | expand

Commit Message

Jon Mason March 28, 2025, 1:29 p.m. UTC
Add FVP support to sgi575 and run a boot test as part of CI.  Networking
is not currently working and seems to require an older version of edk2
to boot the kernel.  Also, the unique files for grub and wks do not seem
to be necessary.

Signed-off-by: Jon Mason <jon.mason@arm.com>
---
 .gitlab-ci.yml                        |  6 ++++
 ci/sgi575.yml                         |  6 ++++
 meta-arm-bsp/conf/machine/sgi575.conf | 49 ++++++++++++++++++++++++---
 meta-arm-bsp/wic/sgi575-efidisk.wks   | 11 ------
 meta-arm-bsp/wic/sgi575-grub.cfg      |  9 -----
 5 files changed, 57 insertions(+), 24 deletions(-)
 delete mode 100644 meta-arm-bsp/wic/sgi575-efidisk.wks
 delete mode 100644 meta-arm-bsp/wic/sgi575-grub.cfg
diff mbox series

Patch

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f4b3262ca437..e655d1e62189 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -339,6 +339,12 @@  selftest:
 
 sgi575:
   extends: .build
+  parallel:
+    matrix:
+      - TESTING: testimage
+  # FVP binary is x86-only
+  tags:
+    - x86_64
 
 toolchains:
   extends: .build
diff --git a/ci/sgi575.yml b/ci/sgi575.yml
index e43138207166..d6e33894e890 100644
--- a/ci/sgi575.yml
+++ b/ci/sgi575.yml
@@ -4,5 +4,11 @@  header:
   version: 14
   includes:
     - ci/base.yml
+    - ci/fvp.yml
+
+local_conf_header:
+  sshpregen: |
+    # Allow the use of the pregen keys as this is CI so safe
+    COMPATIBLE_MACHINE:pn-ssh-pregen-hostkeys:sgi575 = "sgi575"
 
 machine: sgi575
diff --git a/meta-arm-bsp/conf/machine/sgi575.conf b/meta-arm-bsp/conf/machine/sgi575.conf
index 3c2c94b6dcbf..dea764e8cdb6 100644
--- a/meta-arm-bsp/conf/machine/sgi575.conf
+++ b/meta-arm-bsp/conf/machine/sgi575.conf
@@ -7,18 +7,59 @@ 
 require conf/machine/include/arm/armv8-2a/tune-cortexa75.inc
 
 EXTRA_IMAGEDEPENDS += "virtual/control-processor-firmware"
-
 EXTRA_IMAGEDEPENDS += "trusted-firmware-a"
 
 KERNEL_IMAGETYPE ?= "Image"
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
 SERIAL_CONSOLES = "115200;ttyAMA0"
 
-#grub-efi
-EFI_PROVIDER ?= "grub-efi"
+#FIXME - for some reason newer EDK2 refuses to boot the kernel
+PREFERRED_VERSION_edk2-firmware ?= "202408%"
+
+EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boot", "grub-efi", d)}"
 MACHINE_FEATURES += "efi"
 
 IMAGE_FSTYPES += "cpio.gz wic"
+IMAGE_NAME_SUFFIX = ""
+IMAGE_CLASSES += "fvpboot"
 
-WKS_FILE ?= "sgi575-efidisk.wks"
+WKS_FILE ?= "efi-disk.wks.in"
 WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}"
+
+# testimage config
+TEST_TARGET = "OEFVPTarget"
+#TEST_TARGET_IP = "127.0.0.1:222"
+TEST_SUITES = "fvp_boot"
+
+# FVP Config
+FVP_PROVIDER ?= "fvp-sgi575-native"
+FVP_EXE ?= "FVP_CSS_SGI-575"
+
+# Virtio-Net configuration
+FVP_CONFIG[board.virtio_net.enabled] ?= "1"
+FVP_CONFIG[board.virtio_net.hostbridge.userNetworking] ?= "1"
+FVP_CONFIG[board.virtio_net.hostbridge.userNetPorts] = "2222=22"
+FVP_CONFIG[board.virtioblockdevice.image_path] ?= "${IMAGE_NAME}.wic"
+
+#FVP_CONFIG[cache_state_modelled] ?= "0"
+FVP_CONFIG[css.cmn600.mesh_config_file] = "SGI-575_cmn600.yml"
+FVP_CONFIG[css.cmn600.force_rnsam_internal] ?= "false"
+FVP_CONFIG[css.gic_distributor.ITS-device-bits] ?= "20"
+
+FVP_DATA ?= "css.scp.armcortexm7ct=scp_ramfw.bin@0x0BD80000"
+FVP_CONFIG[css.mcp.ROMloader.fname] ?= "mcp_romfw.bin"
+FVP_CONFIG[css.scp.ROMloader.fname] ?= "scp_romfw.bin"
+FVP_CONFIG[css.trustedBootROMloader.fname] ?= "bl1-sgi575.bin"
+FVP_CONFIG[board.flashloader0.fname] ?= "fip-sgi575.bin"
+
+FVP_CONSOLES[default] = "terminal_uart_ap"
+FVP_TERMINALS[css.scp.terminal_uart_aon] ?= "SCP Console"
+FVP_TERMINALS[css.mcp.terminal_uart0] ?= ""
+FVP_TERMINALS[css.mcp.terminal_uart1] ?= ""
+FVP_TERMINALS[css.terminal_uart_ap] ?= "Console"
+FVP_TERMINALS[css.terminal_uart1_ap] ?= ""
+FVP_TERMINALS[soc.terminal_s0] ?= ""
+FVP_TERMINALS[soc.terminal_s1] ?= ""
+FVP_TERMINALS[soc.terminal_mcp] ?= ""
+FVP_TERMINALS[board.terminal_0] ?= ""
+FVP_TERMINALS[board.terminal_1] ?= ""
diff --git a/meta-arm-bsp/wic/sgi575-efidisk.wks b/meta-arm-bsp/wic/sgi575-efidisk.wks
deleted file mode 100644
index d4c79d337bcb..000000000000
--- a/meta-arm-bsp/wic/sgi575-efidisk.wks
+++ /dev/null
@@ -1,11 +0,0 @@ 
-# short-description: Create an EFI disk image
-# long-description: Creates a partitioned EFI disk image that the user
-# can directly dd to boot media. Uses a custom grub.cfg file to configure the boot.
-
-part /boot --source bootimg-efi --sourceparams="loader=grub-efi" --ondisk sda --label msdos --active --align 1024
-
-part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 1024 --uuid=9c53a91b-e182-4ff1-aeac-6ee2c432ae94
-
-part swap --ondisk sda --size 44 --label swap1 --fstype=swap
-
-bootloader --ptable gpt --configfile="sgi575-grub.cfg" --timeout=5
diff --git a/meta-arm-bsp/wic/sgi575-grub.cfg b/meta-arm-bsp/wic/sgi575-grub.cfg
deleted file mode 100644
index a176389746c1..000000000000
--- a/meta-arm-bsp/wic/sgi575-grub.cfg
+++ /dev/null
@@ -1,9 +0,0 @@ 
-set debug="loader,mm"
-set term="vt100"
-set default="0"
-set timeout="1"
-
-menuentry 'Arm reference image boot on sgi575' {
-        linux /Image acpi=force console=ttyAMA0,115200 ip=dhcp root=PARTUUID=9c53a91b-e182-4ff1-aeac-6ee2c432ae94 rootwait verbose debug
-}
-