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>
(23.05 version of commit 40b02a2301)
This commit is contained in:
Mathew McBride 2023-06-09 00:43:33 +00:00 committed by Petr Štetiar
parent 963ce6990f
commit 7198185e3a
No known key found for this signature in database
GPG Key ID: 58EE120F30CC02D3
19 changed files with 38 additions and 34 deletions

View File

@ -4,8 +4,8 @@
include $(TOPDIR)/rules.mk
BOARD:=armvirt
BOARDNAME:=QEMU ARM Virtual Machine
BOARD:=armsr
BOARDNAME:=Arm SystemReady (EFI) compliant
FEATURES:=fpu pci pcie rtc usb boot-part rootfs-part
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
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:
Run with qemu-system-arm
# 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
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
qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-generic-kernel.bin \
-drive file=openwrt-armvirt-32-generic-ext4-rootfs.img,format=raw,if=virtio -append 'root=/dev/vda rootwait'
qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armsr-armv7-generic-kernel.bin \
-drive file=openwrt-armsr-armv7-generic-ext4-rootfs.img,format=raw,if=virtio -append 'root=/dev/vda rootwait'
# boot with local dir as rootfs
qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armvirt-32-generic-kernel.bin \
-fsdev local,id=rootdev,path=root-armvirt/,security_model=none \
qemu-system-arm -nographic -M virt -m 64 -kernel openwrt-armsr-armv7-generic-kernel.bin \
-fsdev local,id=rootdev,path=root-armsr/,security_model=none \
-device virtio-9p-pci,fsdev=rootdev,mount_tag=/dev/root \
-append 'rootflags=trans=virtio,version=9p2000.L,cache=loose rootfstype=9p'
Run with kvmtool
# 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
lkvm run -k openwrt-armvirt-32-zImage -d root-armvirt/
lkvm run -k openwrt-armsr-armv7-zImage -d root-armsr/
# stop "armvirt0"
lkvm stop --name armvirt0
# stop "armsr0"
lkvm stop --name armsr0
# stop all
lkvm stop --all
@ -39,13 +43,13 @@ Run with kvmtool
The multi-platform ARMv8 target can be used with QEMU:
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
images in EFI mode:
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 \
-cpu cortex-a15 -machine virt \
-bios QEMU_EFI_32.fd \
@ -56,7 +60,7 @@ qemu-system-arm -nographic \
-netdev user,id=testwan -net nic,netdev=testwan
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 \
-cpu cortex-a53 -machine virt \
-bios QEMU_EFI_64.fd \

View File

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

View File

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

View File

@ -1,7 +1,7 @@
define KernelPackage/acpi-mdio
SUBMENU:=$(NETWORK_DEVICES_MENU)
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
FILES:=$(LINUX_DIR)/drivers/net/mdio/acpi_mdio.ko
AUTOLOAD:=$(call AutoLoad,11,acpi_mdio)
@ -15,7 +15,7 @@ $(eval $(call KernelPackage,acpi-mdio))
define KernelPackage/fsl-pcs-lynx
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
HIDDEN:=1
KCONFIG:=CONFIG_PCS_LYNX
@ -28,7 +28,7 @@ $(eval $(call KernelPackage,fsl-pcs-lynx))
define KernelPackage/pcs-xpcs
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Synopsis DesignWare PCS driver
DEPENDS:=@(TARGET_armvirt_64)
DEPENDS:=@(TARGET_armsr_armv8)
KCONFIG:=CONFIG_PCS_XPCS
FILES:=$(LINUX_DIR)/drivers/net/pcs/pcs_xpcs.ko
AUTOLOAD:=$(call AutoLoad,20,pcs_xpcs)
@ -38,7 +38,7 @@ $(eval $(call KernelPackage,pcs-xpcs))
define KernelPackage/fsl-fec
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
TITLE:=NXP (Freescale) FEC Ethernet controller (i.MX)
KCONFIG:=CONFIG_FEC
@ -50,7 +50,7 @@ $(eval $(call KernelPackage,fsl-fec))
define KernelPackage/fsl-xgmac-mdio
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
KCONFIG:=CONFIG_FSL_XGMAC_MDIO
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
SUBMENU:=$(NETWORK_DEVICES_MENU)
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:= \
CONFIG_FSL_ENETC \
CONFIG_FSL_ENETC_VF \
@ -92,7 +92,7 @@ $(eval $(call KernelPackage,fsl-enetc-net))
define KernelPackage/fsl-dpaa1-net
SUBMENU:=$(NETWORK_DEVICES_MENU)
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:= \
CONFIG_FSL_DPAA=y \
CONFIG_FSL_DPAA_ETH \
@ -112,7 +112,7 @@ $(eval $(call KernelPackage,fsl-dpaa1-net))
define KernelPackage/fsl-dpaa2-net
SUBMENU:=$(NETWORK_DEVICES_MENU)
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
KCONFIG:= \
CONFIG_FSL_MC_UAPI_SUPPORT=y \
@ -127,7 +127,7 @@ $(eval $(call KernelPackage,fsl-dpaa2-net))
define KernelPackage/fsl-dpaa2-console
SUBMENU:=$(OTHER_MENU)
TITLE:=NXP DPAA2 Debug console
DEPENDS:=@(TARGET_armvirt_64)
DEPENDS:=@(TARGET_armsr_armv8)
KCONFIG:=CONFIG_DPAA2_CONSOLE
FILES=$(LINUX_DIR)/drivers/soc/fsl/dpaa2-console.ko
AUTOLOAD=$(call AutoLoad,40,dpaa2-console)
@ -143,7 +143,7 @@ $(eval $(call KernelPackage,fsl-dpaa2-console))
define KernelPackage/marvell-mdio
SUBMENU:=$(NETWORK_DEVICES_MENU)
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
FILES=$(LINUX_DIR)/drivers/net/ethernet/marvell/mvmdio.ko
AUTOLOAD=$(call AutoLoad,30,marvell-mdio)
@ -154,7 +154,7 @@ $(eval $(call KernelPackage,marvell-mdio))
define KernelPackage/phy-marvell-10g
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Marvell Alaska 10G PHY driver
DEPENDS:=@(TARGET_armvirt_64) +kmod-libphy
DEPENDS:=@(TARGET_armsr_armv8) +kmod-libphy
KCONFIG:=CONFIG_MARVELL_10G_PHY
FILES=$(LINUX_DIR)/drivers/net/phy/marvell10g.ko
AUTOLOAD=$(call AutoLoad,35,marvell10g)
@ -165,7 +165,7 @@ $(eval $(call KernelPackage,phy-marvell-10g))
define KernelPackage/mvneta
SUBMENU:=$(NETWORK_DEVICES_MENU)
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
FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/mvneta.ko
AUTOLOAD=$(call AutoLoad,40,mvneta)
@ -176,7 +176,7 @@ $(eval $(call KernelPackage,mvneta))
define KernelPackage/mvpp2
SUBMENU:=$(NETWORK_DEVICES_MENU)
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 \
CONFIG_MVPP2_PTP=n
FILES=$(LINUX_DIR)/drivers/net/ethernet/marvell/mvpp2/mvpp2.ko
@ -208,7 +208,7 @@ $(eval $(call KernelPackage,imx7-ulp-wdt))
define KernelPackage/stmmac-core
SUBMENU=$(NETWORK_DEVICES_MENU)
TITLE:=Synopsis Ethernet Controller core (NXP,STMMicro,others)
DEPENDS:=@(TARGET_armvirt_64) +kmod-phylink +kmod-pcs-xpcs +kmod-ptp
DEPENDS:=@(TARGET_armsr_armv8) +kmod-phylink +kmod-pcs-xpcs +kmod-ptp
KCONFIG:=CONFIG_STMMAC_ETH \
CONFIG_STMMAC_SELFTESTS=n \
CONFIG_STMMAC_PLATFORM \
@ -258,7 +258,7 @@ $(eval $(call KernelPackage,dwmac-rockchip))
define KernelPackage/thunderx-net
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Marvell (Cavium) ThunderX/2 network drivers
DEPENDS:=@(TARGET_armvirt_64) +kmod-phylink
DEPENDS:=@(TARGET_armsr_armv8) +kmod-phylink
KCONFIG:=CONFIG_NET_VENDOR_CAVIUM \
CONFIG_THUNDER_NIC_PF \
CONFIG_THUNDER_NIC_VF \