# Configuration for gem5 running on ARM64 #@TYPE: Machine #@NAME: Gem5 arm64 machine #@DESCRIPTION: Machine configuration for Gem5 arm64 TUNE_FEATURES = "aarch64" require conf/machine/include/arm/arch-armv8a.inc MACHINE_FEATURES = "optee pci" KERNEL_IMAGETYPES = "Image vmlinux" KERNEL_IMAGETYPE = "Image" IMAGE_FSTYPES += "tar.bz2 ext4" SERIAL_CONSOLES = "115200;ttyAMA0" EXTRA_IMAGEDEPENDS += "virtual/gem5-bootloader" PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" PREFERRED_VERSION_linux-yocto ?= "5.4%" # Uncomment the following if you need to build gem5 provided bootloader, else # using standard bootloader by Linux aarch64 # Use gem5 provided bootloader # PREFERRED_PROVIDER_virtual/gem5-bootloader = "gem5-aarch64-bootloader" # use the dtb stored in the kernel recipe # KERNEL_DEVICETREE ?= "gem5-arm64/armv8_gem5_v2_4cpu.dtb" # Use Linux aarch64 boot wrapper with FDT support and generated # dtb (gem5-aarch64-dtb.bb) PREFERRED_PROVIDER_virtual/gem5-bootloader = "boot-wrapper-aarch64" BOOT_WRAPPER_AARCH64_CMDLINE ?= "\ earlyprintk=pl011,0x1c090000 console=ttyAMA0 root=/dev/vda rw mem=1G \ " # Use baremetal profile and axf file so dtb is in axf file GEM5_RUN_PROFILE = "configs/example/arm/baremetal.py" GEM5_RUN_KERNEL = "linux-system.axf" GEM5_RUN_EXTRA = "" GEM5_RUN_DTB = "" GEM5_RUN_CMDLINE = "" EXTRA_IMAGEDEPENDS += "gem5-aarch64-native" # Use haveged as a source of entropy instead of rng-tools (Needed for ssh). # rngd (Part of rng-tools) takes ~7 mins to init resulting in a slow boot time. PACKAGE_EXCLUDE_append = " rng-tools" IMAGE_INSTALL_append = " haveged"