From patchwork Tue May 7 11:25:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Naour X-Patchwork-Id: 1096272 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.133; helo=hemlock.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=smile.fr Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=smile-fr.20150623.gappssmtp.com header.i=@smile-fr.20150623.gappssmtp.com header.b="B7bSneB2"; dkim-atps=neutral Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44yy2n6sqfz9sBV for ; Tue, 7 May 2019 21:25:37 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 52D9587B65; Tue, 7 May 2019 11:25:32 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Guy79jjDy3jE; Tue, 7 May 2019 11:25:30 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 3590387B60; Tue, 7 May 2019 11:25:30 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id E41591BF853 for ; Tue, 7 May 2019 11:25:28 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id D863F8584F for ; Tue, 7 May 2019 11:25:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OgzpDcuSHL+w for ; Tue, 7 May 2019 11:25:27 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by whitealder.osuosl.org (Postfix) with ESMTPS id 5D2238588A for ; Tue, 7 May 2019 11:25:27 +0000 (UTC) Received: by mail-wr1-f66.google.com with SMTP id c5so21783400wrs.11 for ; Tue, 07 May 2019 04:25:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smile-fr.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=F9X9jA9ZmRIUWP37GqLoNNszsC7sdpIfEMWyQcTUGTQ=; b=B7bSneB2/+KydM4CvHizpDAwYQXNT/21c/aHXmblkKWJCJxYw1ALoCQnCh1Rlwt0z7 OlqAAdbG/i47nN/67I+C1RQ8gVNVzD/UyMlI2PDuL8nWROcSpS1tHAKZk1bHQEjkoWCe DifA6UuDsY3hwOaL+lKOG+0LFjH1J3hm3/8oHSwRMrP6CK45PgZvFrYM2Cp/p46XNXDs riM4JCF7PVyw/1KkMhYSl7TusPCRB8BouMS7sX5tEtPTBM1j15btbgcT/RhhvBoAjg4u zPCDmSKmupvVazrdkrPJnNhEk8QbMD4Dkuc+RBGB1aiYgpjXFdtGeuVD/2riKUZxfyDF jvWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=F9X9jA9ZmRIUWP37GqLoNNszsC7sdpIfEMWyQcTUGTQ=; b=Gjyhm9FHQWz4MJn36J61VHjP1kbkzqpPYtfjE6AYYlL8IRnidoezKnrUXfDX1SJiT6 IG3+V+W22yrO3JQU6Tfoo5F1XHhtwNK0LyUvUu/6Cedivr3D6bJk5kIHQefQfod4LBlA KbOGOF5jvAFcGw/t/wuTKgFytGoH1A4ZDVrTb3LVs+0PRiG+tmavx/1eAOp7O+v0L9SW xYGOjAt/cBLOsA5zX63eN0fmse4Ril7rrYyp5DKvUER2c1EYKzPjKHChSKvslqYxA7tZ U8nbtjdLSFfPEsY8Kp5DnsTJzHG4YEOW9DJBabxLQlPdXtNS05Cxbp1Rsu7MmuI14Sz4 4fKA== X-Gm-Message-State: APjAAAVyHXNZ7nFZRyb2FaEV+DfJb2mpEjk7qVbN/LerGrvMM3KG3aSx 7yu/BKeLp1kPbECuFjMisOqV6VeI9HM= X-Google-Smtp-Source: APXvYqywlSF+9cTmjLAn0mpthzYO6UtJYMzrNT4doOoMx+yJya8dX3Om6yaJKCtXpjz1bFNAgLDhEA== X-Received: by 2002:adf:ec47:: with SMTP id w7mr12262086wrn.197.1557228325743; Tue, 07 May 2019 04:25:25 -0700 (PDT) Received: from ASN-evian.nantes.intranet (static-css-ccs-204145.business.bouyguestelecom.com. [176.157.204.145]) by smtp.gmail.com with ESMTPSA id h12sm9061375wrq.95.2019.05.07.04.25.24 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 07 May 2019 04:25:25 -0700 (PDT) From: Romain Naour To: buildroot@buildroot.org Date: Tue, 7 May 2019 13:25:21 +0200 Message-Id: <20190507112521.12165-1-romain.naour@smile.fr> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [Buildroot] [PATCH] board/qemu/aarch64: add a aarch64 virt machine using an ARM cortex-a72 core X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Romain Naour , Thomas Petazzoni Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" ARM cortex-a72 core has been added to Qemu since version 3.1.0 [1] [2]. Rebuild the .gitlab-ci.yml. Tested using Qemu 4.0.0. [1] https://git.qemu.org/?p=qemu.git;a=commit;h=f11b452b95df4a0fc6561c278721cad03b24098b [2] https://wiki.qemu.org/ChangeLog/3.1 Signed-off-by: Romain Naour Cc: Thomas Petazzoni --- Qemu also support ARM cortex-a57 cpu core. Should we support and test all cpu emulation available in Qemu ? This can be useful for toolchain-builder project to provide a prebuilt ARM aarch64 toolchain optimized for cortex-a57. --- .gitlab-ci.yml | 1 + .../qemu/aarch64-virt-cortex-a72/linux.config | 54 +++++++++++++++++++ board/qemu/aarch64-virt-cortex-a72/readme.txt | 7 +++ .../qemu_aarch64_virt_cortex-a72_defconfig | 23 ++++++++ 4 files changed, 85 insertions(+) create mode 100644 board/qemu/aarch64-virt-cortex-a72/linux.config create mode 100644 board/qemu/aarch64-virt-cortex-a72/readme.txt create mode 100644 configs/qemu_aarch64_virt_cortex-a72_defconfig diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 374dbfe837..6462ca3a32 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -244,6 +244,7 @@ pc_x86_64_bios_defconfig: { extends: .defconfig } pc_x86_64_efi_defconfig: { extends: .defconfig } pine64_defconfig: { extends: .defconfig } pine64_sopine_defconfig: { extends: .defconfig } +qemu_aarch64_virt_cortex-a72_defconfig: { extends: .defconfig } qemu_aarch64_virt_defconfig: { extends: .defconfig } qemu_arm_versatile_defconfig: { extends: .defconfig } qemu_arm_versatile_nommu_defconfig: { extends: .defconfig } diff --git a/board/qemu/aarch64-virt-cortex-a72/linux.config b/board/qemu/aarch64-virt-cortex-a72/linux.config new file mode 100644 index 0000000000..c9f2708ad5 --- /dev/null +++ b/board/qemu/aarch64-virt-cortex-a72/linux.config @@ -0,0 +1,54 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_TASKSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_PROFILING=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_BLK_DEV_BSGLIB=y +CONFIG_ARCH_VEXPRESS=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_BINFMT_MISC=y +CONFIG_COMPAT=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=y +CONFIG_UNIX=y +CONFIG_NET_KEY=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_BRIDGE=m +CONFIG_NET_SCHED=y +CONFIG_VSOCKETS=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_DEV_SD=y +CONFIG_CHR_DEV_SG=y +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_NETDEVICES=y +CONFIG_DUMMY=y +CONFIG_MACVLAN=y +CONFIG_VIRTIO_NET=y +CONFIG_NLMON=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_RTC_CLASS=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_MAILBOX=y +CONFIG_PL320_MBOX=y +CONFIG_EXT4_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y diff --git a/board/qemu/aarch64-virt-cortex-a72/readme.txt b/board/qemu/aarch64-virt-cortex-a72/readme.txt new file mode 100644 index 0000000000..c1395839f2 --- /dev/null +++ b/board/qemu/aarch64-virt-cortex-a72/readme.txt @@ -0,0 +1,7 @@ +Run the emulation with: + + qemu-system-aarch64 -M virt -cpu cortex-a72 -nographic -smp 1 -kernel output/images/Image -append "root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 + +The login prompt will appear in the terminal that started Qemu. + +Tested with QEMU 4.0.0 diff --git a/configs/qemu_aarch64_virt_cortex-a72_defconfig b/configs/qemu_aarch64_virt_cortex-a72_defconfig new file mode 100644 index 0000000000..703f5797fe --- /dev/null +++ b/configs/qemu_aarch64_virt_cortex-a72_defconfig @@ -0,0 +1,23 @@ +# Architecture +BR2_aarch64=y +BR2_cortex_a72=y + +# System +BR2_SYSTEM_DHCP="eth0" +BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set + +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt-cortex-a72/linux.config" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y