diff options
Diffstat (limited to 'poky/meta/conf/machine')
4 files changed, 66 insertions, 0 deletions
diff --git a/poky/meta/conf/machine/include/loongarch/arch-loongarch.inc b/poky/meta/conf/machine/include/loongarch/arch-loongarch.inc new file mode 100644 index 0000000000..4b44614035 --- /dev/null +++ b/poky/meta/conf/machine/include/loongarch/arch-loongarch.inc @@ -0,0 +1,7 @@ +# LoongArch Architecture definition + +DEFAULTTUNE ?= "loongarch64" + +TUNE_ARCH = "${TUNE_ARCH:tune-${DEFAULTTUNE}}" +TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}" +TUNE_CCARGS:append = "${@bb.utils.contains('TUNE_FEATURES', 'loongarch64', ' -march=la464 -mabi=lp64d', ' ', d)}" diff --git a/poky/meta/conf/machine/include/loongarch/qemuloongarch.inc b/poky/meta/conf/machine/include/loongarch/qemuloongarch.inc new file mode 100644 index 0000000000..77245ff85d --- /dev/null +++ b/poky/meta/conf/machine/include/loongarch/qemuloongarch.inc @@ -0,0 +1,35 @@ +PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot" + +require conf/machine/include/qemu.inc +require conf/machine/include/loongarch/tune-loongarch.inc + +MACHINE_FEATURES = "screen keyboard ext2 ext3 serial" + +KERNEL_IMAGETYPE = "vmlinuz" +KERNEL_IMAGETYPES += "vmlinuz" +KEEPUIMAGE = "no" + +SERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0" + +IMAGE_FSTYPES += "ext4 wic.qcow2" + +WKS_FILE ?= "qemuloongarch.wks" + +MACHINE_EXTRA_RRECOMMENDS += " kernel-modules" + +#EXTRA_IMAGEDEPENDS += "opensbi" + +UBOOT_ENTRYPOINT_loongarch32 = "0x80400000" +UBOOT_ENTRYPOINT_loongarch64 = "0x80200000" + +# qemuboot options +QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi" +QB_MACHINE = "-machine virt" +QB_DEFAULT_BIOS = "fw_jump.elf" +QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" +QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" +QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" +QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon" +QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" +# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy +QB_OPT_APPEND = " -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0" diff --git a/poky/meta/conf/machine/include/loongarch/tune-loongarch.inc b/poky/meta/conf/machine/include/loongarch/tune-loongarch.inc new file mode 100644 index 0000000000..f02ddda474 --- /dev/null +++ b/poky/meta/conf/machine/include/loongarch/tune-loongarch.inc @@ -0,0 +1,13 @@ +require conf/machine/include/loongarch/arch-loongarch.inc + +TUNEVALID[loongarch64] = "Enable 64-bit LoongArch optimizations" + +TUNEVALID[littleendian] = "Little endian mode" + +AVAILTUNES += "loongarch64" + +# Default +TUNE_FEATURES:tune-loongarch64 = "loongarch64" +TUNE_ARCH:tune-loongarch64 = "loongarch64" +TUNE_PKGARCH:tune-loongarch64 = "loongarch64" +PACKAGE_EXTRA_ARCHS:tune-loongarch64 = "loongarch64" diff --git a/poky/meta/conf/machine/qemuloongarch64.conf b/poky/meta/conf/machine/qemuloongarch64.conf new file mode 100644 index 0000000000..675d525afd --- /dev/null +++ b/poky/meta/conf/machine/qemuloongarch64.conf @@ -0,0 +1,11 @@ +#@TYPE: Machine +#@NAME: generic loongarch64 machine +#@DESCRIPTION: Machine configuration for running a generic loongarch64 + +require conf/machine/include/loongarch/qemuloongarch.inc + +XVISOR_PLAT = "loongarch/virt64" + +EXTRA_IMAGEDEPENDS += "u-boot" +UBOOT_MACHINE = "qemu-loongarch64_smode_defconfig" +UBOOT_ELF = "u-boot" |