mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-07-16 03:47:19 +00:00
a86f62f144
This is mostly based on the existing qemu-generic-arm64 machine, but by not being based on the genericarm64 and instead being specifically a machine to run on the qemu sbsa-ref machine we get to tune differently. Specifically, this configures sbsa-ref to be a Neoverse N2 (v9), and the tune is set to match. Another notable difference to qemu-generic-arm64 is that the kernel configuration is at present defconfig. We may wish to change this in the future to be the same fragmented configuration as genericarm64. We have to ignore two testimage parselogs failures: one from NUMA which will be fixed in a future EDK2 release, and one from efifb where we should be using the bochsdrm driver instead (further investigation is needed) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
44 lines
1.8 KiB
Plaintext
44 lines
1.8 KiB
Plaintext
#@TYPE: Machine
|
|
#@NAME: sbsa-ref
|
|
#@DESCRIPTION: Reference SBSA machine in qemu-system-aarch64 on Neoverse N2
|
|
|
|
require conf/machine/include/arm/armv9a/tune-neoversen2.inc
|
|
require conf/machine/include/qemu.inc
|
|
|
|
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
|
|
KERNEL_IMAGETYPE = "Image"
|
|
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
|
|
|
|
MACHINE_FEATURES = " alsa bluetooth efi qemu-usermode rtc screen usbhost vfat wifi"
|
|
|
|
IMAGE_FSTYPES += "wic.qcow2"
|
|
|
|
# This unique WIC file is necessary because kernel boot args cannot be passed
|
|
# because there is no default kernel (see below). There is no default kernel
|
|
# because QEMU will only allow firmware or kernel to be passed in as a
|
|
# parameter, and we need the firmware. So, to allow for "ip=dhcp" as a kernel
|
|
# boot arg (which we need for testimage), we have to have a WIC file unique to
|
|
# this platform.
|
|
WKS_FILE = "qemu-efi-disk.wks.in"
|
|
|
|
EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boot", "grub-efi", d)}"
|
|
|
|
SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
|
|
|
|
EXTRA_IMAGEDEPENDS += "edk2-firmware"
|
|
|
|
QB_SYSTEM_NAME = "qemu-system-aarch64"
|
|
QB_MACHINE = "-machine sbsa-ref"
|
|
QB_CPU = "-cpu neoverse-n2"
|
|
QB_MEM = "-m 1024"
|
|
QB_DEFAULT_FSTYPE = "wic.qcow2"
|
|
QB_NETWORK_DEVICE = "-device virtio-net-pci,netdev=net0,mac=@MAC@"
|
|
QB_DRIVE_TYPE = "/dev/hd"
|
|
QB_ROOTFS_OPT = "-drive file=@ROOTFS@,if=ide,format=qcow2"
|
|
QB_DEFAULT_KERNEL = "none"
|
|
QB_OPT_APPEND = "-device usb-tablet -device usb-kbd -pflash @DEPLOY_DIR_IMAGE@/SBSA_FLASH0.fd -pflash @DEPLOY_DIR_IMAGE@/SBSA_FLASH1.fd"
|
|
QB_SERIAL_OPT = "-device virtio-serial-pci -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
|
|
QB_TCPSERIAL_OPT = "-device virtio-serial-pci -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
|
|
# sbsa-ref is a true virtual machine so can't use KVM
|
|
QEMU_USE_KVM = "0"
|