armsr: rename from armvirt

Now that the armvirt target supports real hardware, not just
VMs, thanks to the addition of EFI, rename it to something
more appropriate.

'armsr' (Arm SystemReady) was chosen after the name of
the Arm standards program.

The 32 and 64 bit targets have also been renamed
armv7 and armv8 respectively, to allow future profiles
where required (such as armv9).

See https://developer.arm.com/documentation/102858/0100/Introduction
for more information.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
This commit is contained in:
Mathew McBride 2023-06-06 23:19:16 +00:00 committed by Petr Štetiar
parent ee92550245
commit 40b02a2301
No known key found for this signature in database
GPG key ID: 58EE120F30CC02D3
29 changed files with 38 additions and 34 deletions

View file

@ -4,8 +4,8 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
BOARD:=armvirt BOARD:=armsr
BOARDNAME:=QEMU ARM Virtual Machine BOARDNAME:=Arm SystemReady (EFI) compliant
FEATURES:=fpu pci pcie rtc usb boot-part rootfs-part FEATURES:=fpu pci pcie rtc usb boot-part rootfs-part
FEATURES+=cpiogz ext4 ramdisk squashfs targz vmdk FEATURES+=cpiogz ext4 ramdisk squashfs targz vmdk

View file

@ -1,37 +1,41 @@
This target generates images that can be used on ARM machines with EFI This target generates images that can be used on ARM machines with EFI
support (e.g EDKII/TianoCore or U-Boot with bootefi). support (e.g EDKII/TianoCore or U-Boot with bootefi).
There are two subtargets:
- armv7 for 32-bit machines
- armv8 for 64-bit machines
The kernel and filesystem images can also be used directly by QEMU: The kernel and filesystem images can also be used directly by QEMU:
Run with qemu-system-arm Run with qemu-system-arm
# boot with initramfs embedded in # boot with initramfs embedded in
qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-generic-initramfs-kernel.bin qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armsr-armv7-generic-initramfs-kernel.bin
# boot with accel=kvm # boot with accel=kvm
qemu-system-arm -nographic -M virt,accel=kvm -cpu host -m 64 -kernel qemu-system-arm -nographic -M virt,accel=kvm -cpu host -m 64 -kernel
openwrt-armvirt-32-generic-initramfs-kernel.bin openwrt-armsr-armv7-generic-initramfs-kernel.bin
# boot with a separate rootfs # boot with a separate rootfs
qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-generic-kernel.bin \ qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armsr-armv7-generic-kernel.bin \
-drive file=openwrt-armvirt-32-generic-ext4-rootfs.img,format=raw,if=virtio -append 'root=/dev/vda rootwait' -drive file=openwrt-armsr-armv7-generic-ext4-rootfs.img,format=raw,if=virtio -append 'root=/dev/vda rootwait'
# boot with local dir as rootfs # boot with local dir as rootfs
qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-generic-kernel.bin \ qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armsr-armv7-generic-kernel.bin \
-fsdev local,id=rootdev,path=root-armvirt/,security_model=none \ -fsdev local,id=rootdev,path=root-armsr/,security_model=none \
-device virtio-9p-pci,fsdev=rootdev,mount_tag=/dev/root \ -device virtio-9p-pci,fsdev=rootdev,mount_tag=/dev/root \
-append 'rootflags=trans=virtio,version=9p2000.L,cache=loose rootfstype=9p' -append 'rootflags=trans=virtio,version=9p2000.L,cache=loose rootfstype=9p'
Run with kvmtool Run with kvmtool
# start a named machine # start a named machine
lkvm run -k openwrt-armvirt-32-zImage -i openwrt-armvirt-32-rootfs.cpio --name armvirt0 lkvm run -k openwrt-armsr-armv7-zImage -i openwrt-armsr-armv7-rootfs.cpio --name armsr0
# start with virtio-9p rootfs # start with virtio-9p rootfs
lkvm run -k openwrt-armvirt-32-zImage -d root-armvirt/ lkvm run -k openwrt-armsr-armv7-zImage -d root-armsr/
# stop "armvirt0" # stop "armsr0"
lkvm stop --name armvirt0 lkvm stop --name armsr0
# stop all # stop all
lkvm stop --all lkvm stop --all
@ -39,13 +43,13 @@ Run with kvmtool
The multi-platform ARMv8 target can be used with QEMU: The multi-platform ARMv8 target can be used with QEMU:
qemu-system-aarch64 -machine virt -cpu cortex-a57 -nographic \ qemu-system-aarch64 -machine virt -cpu cortex-a57 -nographic \
-kernel openwrt-armvirt-64-generic-initramfs-kernel.bin \ -kernel openwrt-armsr-armv8-generic-initramfs-kernel.bin \
With a EDKII or U-Boot binary for the QEMU ARM virtual machines, you can use these With a EDKII or U-Boot binary for the QEMU ARM virtual machines, you can use these
images in EFI mode: images in EFI mode:
32-bit: 32-bit:
gunzip -c bin/targets/armvirt/32/openwrt-armvirt-32-generic-ext4-combined.img.gz > openwrt-arm-32.img gunzip -c bin/targets/armsr/armv7/openwrt-armsr-armv7-generic-ext4-combined.img.gz > openwrt-arm-32.img
qemu-system-arm -nographic \ qemu-system-arm -nographic \
-cpu cortex-a15 -machine virt \ -cpu cortex-a15 -machine virt \
-bios QEMU_EFI_32.fd \ -bios QEMU_EFI_32.fd \
@ -56,7 +60,7 @@ qemu-system-arm -nographic \
-netdev user,id=testwan -net nic,netdev=testwan -netdev user,id=testwan -net nic,netdev=testwan
64-bit: 64-bit:
gunzip -c bin/targets/armvirt/64/openwrt-armvirt-64-generic-ext4-combined.img.gz > openwrt-arm-64.img gunzip -c bin/targets/armsr/armv8/openwrt-armsr-armv8-generic-ext4-combined.img.gz > openwrt-arm-64.img
qemu-system-aarch64 -nographic \ qemu-system-aarch64 -nographic \
-cpu cortex-a53 -machine virt \ -cpu cortex-a53 -machine virt \
-bios QEMU_EFI_64.fd \ -bios QEMU_EFI_64.fd \

View file

@ -1,6 +1,6 @@
ARCH:=arm ARCH:=arm
SUBTARGET:=32 SUBTARGET:=armv7
BOARDNAME:=32-bit ARM QEMU Virtual Machine BOARDNAME:=32-bit (armv7) machines
CPU_TYPE:=cortex-a15 CPU_TYPE:=cortex-a15
CPU_SUBTYPE:=neon-vfpv4 CPU_SUBTYPE:=neon-vfpv4
KERNELNAME:=zImage KERNELNAME:=zImage

View file

@ -1,6 +1,6 @@
ARCH:=aarch64 ARCH:=aarch64
SUBTARGET:=64 SUBTARGET:=armv8
BOARDNAME:=64-bit ARM machines BOARDNAME:=64-bit (armv8) machines
define Target/Description define Target/Description
Build multi-platform images for the ARMv8 instruction set architecture Build multi-platform images for the ARMv8 instruction set architecture

View file

@ -1,7 +1,7 @@
define KernelPackage/acpi-mdio define KernelPackage/acpi-mdio
SUBMENU:=$(NETWORK_DEVICES_MENU) SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=ACPI MDIO support TITLE:=ACPI MDIO support
DEPENDS:=@(TARGET_armvirt_64) +kmod-libphy +kmod-mdio-devres DEPENDS:=@(TARGET_armsr_armv8) +kmod-libphy +kmod-mdio-devres
KCONFIG:=CONFIG_ACPI_MDIO KCONFIG:=CONFIG_ACPI_MDIO
FILES:=$(LINUX_DIR)/drivers/net/mdio/acpi_mdio.ko FILES:=$(LINUX_DIR)/drivers/net/mdio/acpi_mdio.ko
AUTOLOAD:=$(call AutoLoad,11,acpi_mdio) AUTOLOAD:=$(call AutoLoad,11,acpi_mdio)
@ -15,7 +15,7 @@ $(eval $(call KernelPackage,acpi-mdio))
define KernelPackage/fsl-pcs-lynx define KernelPackage/fsl-pcs-lynx
SUBMENU=$(NETWORK_DEVICES_MENU) SUBMENU=$(NETWORK_DEVICES_MENU)
DEPENDS:=@(TARGET_armvirt_64) +kmod-libphy +kmod-of-mdio +kmod-phylink DEPENDS:=@(TARGET_armsr_armv8) +kmod-libphy +kmod-of-mdio +kmod-phylink
TITLE:=NXP (Freescale) Lynx PCS TITLE:=NXP (Freescale) Lynx PCS
HIDDEN:=1 HIDDEN:=1
KCONFIG:=CONFIG_PCS_LYNX KCONFIG:=CONFIG_PCS_LYNX
@ -28,7 +28,7 @@ $(eval $(call KernelPackage,fsl-pcs-lynx))
define KernelPackage/pcs-xpcs define KernelPackage/pcs-xpcs
SUBMENU:=$(NETWORK_DEVICES_MENU) SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Synopsis DesignWare PCS driver TITLE:=Synopsis DesignWare PCS driver
DEPENDS:=@(TARGET_armvirt_64) +kmod-phylink DEPENDS:=@(TARGET_armsr_armv8) +kmod-phylink
KCONFIG:=CONFIG_PCS_XPCS KCONFIG:=CONFIG_PCS_XPCS
FILES:=$(LINUX_DIR)/drivers/net/pcs/pcs_xpcs.ko FILES:=$(LINUX_DIR)/drivers/net/pcs/pcs_xpcs.ko
AUTOLOAD:=$(call AutoLoad,20,pcs_xpcs) AUTOLOAD:=$(call AutoLoad,20,pcs_xpcs)
@ -38,7 +38,7 @@ $(eval $(call KernelPackage,pcs-xpcs))
define KernelPackage/fsl-fec define KernelPackage/fsl-fec
SUBMENU:=$(NETWORK_DEVICES_MENU) SUBMENU:=$(NETWORK_DEVICES_MENU)
DEPENDS:=@(TARGET_armvirt_64) +kmod-libphy +kmod-of-mdio \ DEPENDS:=@(TARGET_armsr_armv8) +kmod-libphy +kmod-of-mdio \
+kmod-ptp +kmod-net-selftests +kmod-ptp +kmod-net-selftests
TITLE:=NXP (Freescale) FEC Ethernet controller (i.MX) TITLE:=NXP (Freescale) FEC Ethernet controller (i.MX)
KCONFIG:=CONFIG_FEC KCONFIG:=CONFIG_FEC
@ -50,7 +50,7 @@ $(eval $(call KernelPackage,fsl-fec))
define KernelPackage/fsl-xgmac-mdio define KernelPackage/fsl-xgmac-mdio
SUBMENU=$(NETWORK_DEVICES_MENU) SUBMENU=$(NETWORK_DEVICES_MENU)
DEPENDS:=@(TARGET_armvirt_64) +kmod-libphy +kmod-of-mdio +kmod-acpi-mdio DEPENDS:=@(TARGET_armsr_armv8) +kmod-libphy +kmod-of-mdio +kmod-acpi-mdio
TITLE:=NXP (Freescale) MDIO bus TITLE:=NXP (Freescale) MDIO bus
KCONFIG:=CONFIG_FSL_XGMAC_MDIO KCONFIG:=CONFIG_FSL_XGMAC_MDIO
FILES=$(LINUX_DIR)/drivers/net/ethernet/freescale/xgmac_mdio.ko FILES=$(LINUX_DIR)/drivers/net/ethernet/freescale/xgmac_mdio.ko
@ -74,7 +74,7 @@ $(eval $(call KernelPackage,fsl-mc-dpio))
define KernelPackage/fsl-enetc-net define KernelPackage/fsl-enetc-net
SUBMENU:=$(NETWORK_DEVICES_MENU) SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=:NXP ENETC (LS1028A) Ethernet TITLE:=:NXP ENETC (LS1028A) Ethernet
DEPENDS:=@(TARGET_armvirt_64) +kmod-phylink +kmod-fsl-pcs-lynx DEPENDS:=@(TARGET_armsr_armv8) +kmod-phylink +kmod-fsl-pcs-lynx
KCONFIG:= \ KCONFIG:= \
CONFIG_FSL_ENETC \ CONFIG_FSL_ENETC \
CONFIG_FSL_ENETC_VF \ CONFIG_FSL_ENETC_VF \
@ -92,7 +92,7 @@ $(eval $(call KernelPackage,fsl-enetc-net))
define KernelPackage/fsl-dpaa1-net define KernelPackage/fsl-dpaa1-net
SUBMENU:=$(NETWORK_DEVICES_MENU) SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=NXP DPAA1 (LS1043/LS1046) Ethernet TITLE:=NXP DPAA1 (LS1043/LS1046) Ethernet
DEPENDS:=@(TARGET_armvirt_64) +kmod-fsl-xgmac-mdio +kmod-libphy +kmod-crypto-crc32 DEPENDS:=@(TARGET_armsr_armv8) +kmod-fsl-xgmac-mdio +kmod-libphy +kmod-crypto-crc32
KCONFIG:= \ KCONFIG:= \
CONFIG_FSL_DPAA=y \ CONFIG_FSL_DPAA=y \
CONFIG_FSL_DPAA_ETH \ CONFIG_FSL_DPAA_ETH \
@ -112,7 +112,7 @@ $(eval $(call KernelPackage,fsl-dpaa1-net))
define KernelPackage/fsl-dpaa2-net define KernelPackage/fsl-dpaa2-net
SUBMENU:=$(NETWORK_DEVICES_MENU) SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=NXP DPAA2 Ethernet TITLE:=NXP DPAA2 Ethernet
DEPENDS:=@(TARGET_armvirt_64) +kmod-fsl-xgmac-mdio +kmod-phylink \ DEPENDS:=@(TARGET_armsr_armv8) +kmod-fsl-xgmac-mdio +kmod-phylink \
+kmod-fsl-pcs-lynx +kmod-fsl-mc-dpio +kmod-fsl-pcs-lynx +kmod-fsl-mc-dpio
KCONFIG:= \ KCONFIG:= \
CONFIG_FSL_MC_UAPI_SUPPORT=y \ CONFIG_FSL_MC_UAPI_SUPPORT=y \
@ -127,7 +127,7 @@ $(eval $(call KernelPackage,fsl-dpaa2-net))
define KernelPackage/fsl-dpaa2-console define KernelPackage/fsl-dpaa2-console
SUBMENU:=$(OTHER_MENU) SUBMENU:=$(OTHER_MENU)
TITLE:=NXP DPAA2 Debug console TITLE:=NXP DPAA2 Debug console
DEPENDS:=@(TARGET_armvirt_64) DEPENDS:=@(TARGET_armsr_armv8)
KCONFIG:=CONFIG_DPAA2_CONSOLE KCONFIG:=CONFIG_DPAA2_CONSOLE
FILES=$(LINUX_DIR)/drivers/soc/fsl/dpaa2-console.ko FILES=$(LINUX_DIR)/drivers/soc/fsl/dpaa2-console.ko
AUTOLOAD=$(call AutoLoad,40,dpaa2-console) AUTOLOAD=$(call AutoLoad,40,dpaa2-console)
@ -143,7 +143,7 @@ $(eval $(call KernelPackage,fsl-dpaa2-console))
define KernelPackage/marvell-mdio define KernelPackage/marvell-mdio
SUBMENU:=$(NETWORK_DEVICES_MENU) SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Marvell Armada platform MDIO driver TITLE:=Marvell Armada platform MDIO driver
DEPENDS:=@(TARGET_armvirt_64) +kmod-libphy +kmod-of-mdio +kmod-acpi-mdio DEPENDS:=@(TARGET_armsr_armv8) +kmod-libphy +kmod-of-mdio +kmod-acpi-mdio
KCONFIG:=CONFIG_MVMDIO KCONFIG:=CONFIG_MVMDIO
FILES=$(LINUX_DIR)/drivers/net/ethernet/marvell/mvmdio.ko FILES=$(LINUX_DIR)/drivers/net/ethernet/marvell/mvmdio.ko
AUTOLOAD=$(call AutoLoad,30,marvell-mdio) AUTOLOAD=$(call AutoLoad,30,marvell-mdio)
@ -154,7 +154,7 @@ $(eval $(call KernelPackage,marvell-mdio))
define KernelPackage/phy-marvell-10g define KernelPackage/phy-marvell-10g
SUBMENU:=$(NETWORK_DEVICES_MENU) SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Marvell Alaska 10G PHY driver TITLE:=Marvell Alaska 10G PHY driver
DEPENDS:=@(TARGET_armvirt_64) +kmod-libphy DEPENDS:=@(TARGET_armsr_armv8) +kmod-libphy
KCONFIG:=CONFIG_MARVELL_10G_PHY KCONFIG:=CONFIG_MARVELL_10G_PHY
FILES=$(LINUX_DIR)/drivers/net/phy/marvell10g.ko FILES=$(LINUX_DIR)/drivers/net/phy/marvell10g.ko
AUTOLOAD=$(call AutoLoad,35,marvell10g) AUTOLOAD=$(call AutoLoad,35,marvell10g)
@ -165,7 +165,7 @@ $(eval $(call KernelPackage,phy-marvell-10g))
define KernelPackage/mvneta define KernelPackage/mvneta
SUBMENU:=$(NETWORK_DEVICES_MENU) SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Marvell Armada 370/38x/XP/37xx network driver TITLE:=Marvell Armada 370/38x/XP/37xx network driver
DEPENDS:=@(TARGET_armvirt_64) +kmod-marvell-mdio +kmod-phylink DEPENDS:=@(TARGET_armsr_armv8) +kmod-marvell-mdio +kmod-phylink
KCONFIG:=CONFIG_MVNETA KCONFIG:=CONFIG_MVNETA
FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/mvneta.ko FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/mvneta.ko
AUTOLOAD=$(call AutoLoad,30,mvneta) AUTOLOAD=$(call AutoLoad,30,mvneta)
@ -176,7 +176,7 @@ $(eval $(call KernelPackage,mvneta))
define KernelPackage/mvpp2 define KernelPackage/mvpp2
SUBMENU:=$(NETWORK_DEVICES_MENU) SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Marvell Armada 375/7K/8K network driver TITLE:=Marvell Armada 375/7K/8K network driver
DEPENDS:=@(TARGET_armvirt_64) +kmod-marvell-mdio +kmod-phylink DEPENDS:=@(TARGET_armsr_armv8) +kmod-marvell-mdio +kmod-phylink
KCONFIG:=CONFIG_MVPP2 \ KCONFIG:=CONFIG_MVPP2 \
CONFIG_MVPP2_PTP=n CONFIG_MVPP2_PTP=n
FILES=$(LINUX_DIR)/drivers/net/ethernet/marvell/mvpp2/mvpp2.ko FILES=$(LINUX_DIR)/drivers/net/ethernet/marvell/mvpp2/mvpp2.ko
@ -208,7 +208,7 @@ $(eval $(call KernelPackage,imx7-ulp-wdt))
define KernelPackage/stmmac-core define KernelPackage/stmmac-core
SUBMENU=$(NETWORK_DEVICES_MENU) SUBMENU=$(NETWORK_DEVICES_MENU)
TITLE:=Synopsis Ethernet Controller core (NXP,STMMicro,others) TITLE:=Synopsis Ethernet Controller core (NXP,STMMicro,others)
DEPENDS:=@(TARGET_armvirt_64) +kmod-pcs-xpcs +kmod-ptp \ DEPENDS:=@(TARGET_armsr_armv8) +kmod-pcs-xpcs +kmod-ptp \
+kmod-of-mdio +kmod-of-mdio
KCONFIG:=CONFIG_STMMAC_ETH \ KCONFIG:=CONFIG_STMMAC_ETH \
CONFIG_STMMAC_SELFTESTS=n \ CONFIG_STMMAC_SELFTESTS=n \
@ -259,7 +259,7 @@ $(eval $(call KernelPackage,dwmac-rockchip))
define KernelPackage/thunderx-net define KernelPackage/thunderx-net
SUBMENU:=$(NETWORK_DEVICES_MENU) SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Marvell (Cavium) ThunderX/2 network drivers TITLE:=Marvell (Cavium) ThunderX/2 network drivers
DEPENDS:=@(TARGET_armvirt_64) +kmod-phylink +kmod-of-mdio DEPENDS:=@(TARGET_armsr_armv8) +kmod-phylink +kmod-of-mdio
KCONFIG:=CONFIG_NET_VENDOR_CAVIUM \ KCONFIG:=CONFIG_NET_VENDOR_CAVIUM \
CONFIG_THUNDER_NIC_PF \ CONFIG_THUNDER_NIC_PF \
CONFIG_THUNDER_NIC_VF \ CONFIG_THUNDER_NIC_VF \