From patchwork Thu Jan 11 14:11:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tuomas Tynkkynen X-Patchwork-Id: 859149 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="XfUQWzru"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zHSW45BsLz9s8J for ; Fri, 12 Jan 2018 01:12:16 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 304F5C221B4; Thu, 11 Jan 2018 14:11:57 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 9315DC2215C; Thu, 11 Jan 2018 14:11:39 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 2EA99C221D2; Thu, 11 Jan 2018 14:11:37 +0000 (UTC) Received: from mail-lf0-f65.google.com (mail-lf0-f65.google.com [209.85.215.65]) by lists.denx.de (Postfix) with ESMTPS id 8D52EC21C8F for ; Thu, 11 Jan 2018 14:11:34 +0000 (UTC) Received: by mail-lf0-f65.google.com with SMTP id v74so973673lfa.7 for ; Thu, 11 Jan 2018 06:11:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=jAP/PPBupbEmwmVa/6xqYzVUmIXAdSYjeG4wjRXGp9Q=; b=XfUQWzruXrmr/CjKKqpVTjAxxCZlYhl2eTSN46otzpjFFxhZsHwse1ev8kGGE0vtud 3rstvzJ2Jjkr2zmf4nvrszal7uF9GS1cRH/0A068Awckbc3kNRoMkV3P8sROj7kHT8dN PYa9Cyptz7DjXKv9UXQ6Ys9jxGvdRCvUqkVlKC8Yhjy1zCUZsFPD7dpZpCl8X5xfap6y WMOtUmWjSGO5W6jr+WT5eMO0M0Oqh4MaNEpYDEvAV34Jk+qawIYWPliA34f4n4EooVwH ohSD1AMw+EEP5eYfZ/7QeiuCEOjnRZPO7JJZiarA0Sv23ys4uExLjeqC66HQgndIRFOE rywQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=jAP/PPBupbEmwmVa/6xqYzVUmIXAdSYjeG4wjRXGp9Q=; b=ZG8x9u9YqiHsfALwSyf/qdamVE4hphOHmIQV2DvuX1VfEnCXRVpG4X0AhoIrAAiSqX pB1KfRkc26NBzLHQQq+bJ32391KnW4M/fwJ1/ArUIBrDlCvvTevcLWlAvx+YDZfH5iQH vhg7safReNGrnp6FvxuhaKjg1rQBOMgb9vq4YLUJUsSojmipsyFqfkSTOllEzIpv8wXV wynwQyvj6OFbVU38CumIXMSChi/Ex4QnoKSbRHjMfwms3o8bQtSoy2WWReRh8kEIxHFi /PZo+fz6qiHJ+RppdIrTonb4mH1bg8uOXf8EH21t/AJK+DCXGKGn5kJTx5gFLk01o0mr y1zg== X-Gm-Message-State: AKGB3mJ1Yq5YTyXoOgWKG/OAC9T8VsmUQsK5QkN2WjVjSvRGA+R3VLoK TTrQimNDJgeNHncWKPQyUxhvLg== X-Google-Smtp-Source: ACJfBov3D13b9zciKB+a2S8EsGg4wIVYdiV5zo1GKmqVvnBuTdSFEfHGnBPANxfa493VTY+nlyLdqg== X-Received: by 10.46.2.88 with SMTP id 85mr13280592ljc.73.1515679893742; Thu, 11 Jan 2018 06:11:33 -0800 (PST) Received: from duuni.helsinki.fi (nat-eduroam-hy-138-171.fe.helsinki.fi. [128.214.138.171]) by smtp.gmail.com with ESMTPSA id 18sm289926lfy.22.2018.01.11.06.11.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 06:11:32 -0800 (PST) From: Tuomas Tynkkynen To: u-boot@lists.denx.de Date: Thu, 11 Jan 2018 16:11:23 +0200 Message-Id: <20180111141126.15432-2-tuomas.tynkkynen@iki.fi> X-Mailer: git-send-email 2.15.0 In-Reply-To: <20180111141126.15432-1-tuomas.tynkkynen@iki.fi> References: <20180111141126.15432-1-tuomas.tynkkynen@iki.fi> Cc: Tom Rini Subject: [U-Boot] [PATCH v2 1/4] ARM: qemu-arm: Add support for AArch64 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" This adds support for '-machine virt' on AArch64. This is rather simple: we just add TARGET_QEMU_ARM_xxBIT to select a few different Kconfig symbols, provide the ARMv8 memory map from the board file and add a new defconfig based on the 32-bit defconfig. Signed-off-by: Tuomas Tynkkynen Reviewed-by: Tom Rini --- v2: No change (except added Reviewed-by) --- arch/arm/Kconfig | 2 -- arch/arm/mach-qemu/Kconfig | 11 +++++++ board/emulation/qemu-arm/MAINTAINERS | 1 + board/emulation/qemu-arm/qemu-arm.c | 35 ++++++++++++++++++++++ .../{qemu_arm_defconfig => qemu_arm64_defconfig} | 1 + configs/qemu_arm_defconfig | 1 + 6 files changed, 49 insertions(+), 2 deletions(-) copy configs/{qemu_arm_defconfig => qemu_arm64_defconfig} (94%) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index f2c35e32c6..ee27f07285 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -642,8 +642,6 @@ config ARCH_MX5 config ARCH_QEMU bool "QEMU Virtual Platform" - select CPU_V7 - select ARCH_SUPPORT_PSCI select DM select DM_SERIAL select OF_CONTROL diff --git a/arch/arm/mach-qemu/Kconfig b/arch/arm/mach-qemu/Kconfig index 3500b56cb0..133163aecf 100644 --- a/arch/arm/mach-qemu/Kconfig +++ b/arch/arm/mach-qemu/Kconfig @@ -10,3 +10,14 @@ config SYS_CONFIG_NAME default "qemu-arm" endif + +config TARGET_QEMU_ARM_32BIT + bool "Support qemu_arm" + depends on ARCH_QEMU + select CPU_V7 + select ARCH_SUPPORT_PSCI + +config TARGET_QEMU_ARM_64BIT + bool "Support qemu_arm64" + depends on ARCH_QEMU + select ARM64 diff --git a/board/emulation/qemu-arm/MAINTAINERS b/board/emulation/qemu-arm/MAINTAINERS index a803061ff4..e757ffc64f 100644 --- a/board/emulation/qemu-arm/MAINTAINERS +++ b/board/emulation/qemu-arm/MAINTAINERS @@ -4,3 +4,4 @@ S: Maintained F: board/emulation/qemu-arm/ F: include/configs/qemu-arm.h F: configs/qemu_arm_defconfig +F: configs/qemu_arm64_defconfig diff --git a/board/emulation/qemu-arm/qemu-arm.c b/board/emulation/qemu-arm/qemu-arm.c index e29ba4630f..1bc7edcfb7 100644 --- a/board/emulation/qemu-arm/qemu-arm.c +++ b/board/emulation/qemu-arm/qemu-arm.c @@ -6,6 +6,41 @@ #include #include +#ifdef CONFIG_ARM64 +#include + +static struct mm_region qemu_arm64_mem_map[] = { + { + /* Flash */ + .virt = 0x00000000UL, + .phys = 0x00000000UL, + .size = 0x08000000UL, + .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_INNER_SHARE + }, { + /* Peripherals */ + .virt = 0x08000000UL, + .phys = 0x08000000UL, + .size = 0x38000000, + .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | + PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, { + /* RAM */ + .virt = 0x40000000UL, + .phys = 0x40000000UL, + .size = 0xc0000000UL, + .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_INNER_SHARE + }, { + /* List terminator */ + 0, + } +}; + +struct mm_region *mem_map = qemu_arm64_mem_map; +#endif + int board_init(void) { return 0; diff --git a/configs/qemu_arm_defconfig b/configs/qemu_arm64_defconfig similarity index 94% copy from configs/qemu_arm_defconfig copy to configs/qemu_arm64_defconfig index 3cd4d45433..4309bd25eb 100644 --- a/configs/qemu_arm_defconfig +++ b/configs/qemu_arm64_defconfig @@ -1,6 +1,7 @@ CONFIG_ARM=y CONFIG_ARM_SMCCC=y CONFIG_ARCH_QEMU=y +CONFIG_TARGET_QEMU_ARM_64BIT=y CONFIG_AHCI=y CONFIG_DISTRO_DEFAULTS=y # CONFIG_DISPLAY_CPUINFO is not set diff --git a/configs/qemu_arm_defconfig b/configs/qemu_arm_defconfig index 3cd4d45433..db61b12869 100644 --- a/configs/qemu_arm_defconfig +++ b/configs/qemu_arm_defconfig @@ -1,6 +1,7 @@ CONFIG_ARM=y CONFIG_ARM_SMCCC=y CONFIG_ARCH_QEMU=y +CONFIG_TARGET_QEMU_ARM_32BIT=y CONFIG_AHCI=y CONFIG_DISTRO_DEFAULTS=y # CONFIG_DISPLAY_CPUINFO is not set