From patchwork Sun Jun 23 02:40:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hongbo Zhang X-Patchwork-Id: 167514 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp2551392ilk; Sat, 22 Jun 2019 19:42:52 -0700 (PDT) X-Google-Smtp-Source: APXvYqxoL9LY5hP2MSwtRvpb4vqbhlGDtKFLItiaJuTwMEd5rPVjTMiHYMymKvmfmEGepwum7iuW X-Received: by 2002:a05:6402:1212:: with SMTP id c18mr94878474edw.7.1561257772498; Sat, 22 Jun 2019 19:42:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561257772; cv=none; d=google.com; s=arc-20160816; b=WXJjTfCDSmVdiVtb1tekBvjdD7LpSVSwmtEEvrF1BzKP+JkHMgalP/bdeTWSCsk3gb fRK3RFGhDJanwtn8A8n5hNJcPVU2T6EWPQYjCB+pmPLKRjVULnK/Mrjn5E9OOI+bkKKx nLKcoQNE1xnc1U+Z0VbMLdNNZSXyAVnQQSw0yNtNNo1YjWayA7ymINN2L1lhH+cE3gIU H2tHr4McuQtAzUxmtrqeRcoAcODHkSw6/YktZBhxybokp1Y0KUwtcFQG8+/C+0EeeGjU luJg/NOSq9O3mzTne8rWwWAnt41V1SNfYc3Q+O1/QfHKW4Xv0GNl5ThWgvs/EDoki+fF Xxfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:message-id:date:to:from :dkim-signature; bh=d/UIhArRzZQ/AiYxCwVh0WjkOQYp1EoyTFMKzL/gCPw=; b=rVdVcGyYQMFjQBbRU+WTiqE6zR1Zl5+75HqRlpdhb3URznd1LzQjOiT/+BR3znsxqV ViAr7lWktyUtTgOmi1wsWOtxXfxsmwcUwbdC36ibWz0u/NvHhwGZI/Aa/xu40LjZnjGi iYvpGkWKqZ+cEi0YCRpyny9zvBJqEBE8HoT25dVN/0eYFPQ4cyBE9KENmxJyLorFcsyq 1dK7wG/ptisdhwcmGYARUPVydIq9w2WOvyJ4jAT5HjTBDo3C60Ei6IemPuOLmeqXVvr7 Dnqu+cvag8IMPdPEiUP4+mDsVf0zhv4JH6t2+eDkXsC0/4BROl+HXXhfEcp2+2s1Z7uH d2aw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=tdbHGCRP; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id z29si6498409edc.143.2019.06.22.19.42.52 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 22 Jun 2019 19:42:52 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=tdbHGCRP; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:43034 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hesSx-0000Eh-Hu for patch@linaro.org; Sat, 22 Jun 2019 22:42:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42830) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hesSo-0000EU-EO for qemu-devel@nongnu.org; Sat, 22 Jun 2019 22:42:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hesSn-00032G-CK for qemu-devel@nongnu.org; Sat, 22 Jun 2019 22:42:42 -0400 Received: from mail-pg1-x541.google.com ([2607:f8b0:4864:20::541]:46566) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hesSn-0002yN-5H for qemu-devel@nongnu.org; Sat, 22 Jun 2019 22:42:41 -0400 Received: by mail-pg1-x541.google.com with SMTP id v9so5198835pgr.13 for ; Sat, 22 Jun 2019 19:42:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=d/UIhArRzZQ/AiYxCwVh0WjkOQYp1EoyTFMKzL/gCPw=; b=tdbHGCRPIBoslKmdoU01I/Wwo/ZtvJKSsAmKGtNlfSsBWWP3MXqEm3GXA3gGNsGQn/ IfhHKTdtcXEGFkOe1qWgJ7OblGbK5oVqz1iLb1cyq5ZBDgJzls7ekQgNNRb2P0dz/Eip G3uV9pvj05ThW2aoINEFrxmCRbjWDt+M1v1k0j4FgYxd6DhK+BKgjeHF3DLU3dmzKWNq Gvd5nj3yLH6m/QC0+gvP1rJnMml4OJdyW6WmbhEvf5FkJ5cezwZuhAk4vbzOTCA4RE1H 1ajmlBabO09CMFgyNsZ+efrxB1EdzxR/NV6Q753c3Zy+fBEYzt3iuVpcXFHgoMTomntJ nR6g== 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; bh=d/UIhArRzZQ/AiYxCwVh0WjkOQYp1EoyTFMKzL/gCPw=; b=Xg1fVO5/5GEVVMz4pz1XVt0B9hIoFEs1VcTlmUae5I1pVIcnYwOmHojy09jLfd46Bj P1AIfDlLNN0uoXAntbXjM/pcQs8VD5V/5G8gHE2k7d7BVEiiWRdOWmmx0YMmNFb0iVJi UWO7KjHqW7QxdbdOGhPkKa47DxhlO3+y4UXVKvbCCki/beXbKEpjY5xuGlv0iQ+KZyG3 JIQQRxx704v2tVx8CFKXEF9GaEAa779ImN96vfmmU2q3ZvoKH4yfONO7OECcWf8Q5uoG 5QsYz6YMyAr1InO85QkRWIsvmvrDb0wtsNcBI53fsZbw8NP7H0asQaskE19OEBBptpwy svSg== X-Gm-Message-State: APjAAAU5nisRm6KgGR3F6AUQXhC8aeTu9Ah2qTxZVQcELn6Cc9SlQo9v sjqQmrKV0GExcACm2z+O5myjig== X-Received: by 2002:a17:90a:de02:: with SMTP id m2mr16236861pjv.18.1561257758821; Sat, 22 Jun 2019 19:42:38 -0700 (PDT) Received: from localhost.localdomain ([222.131.159.173]) by smtp.gmail.com with ESMTPSA id o13sm7007146pje.28.2019.06.22.19.42.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 22 Jun 2019 19:42:38 -0700 (PDT) From: Hongbo Zhang To: peter.maydell@linaro.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Date: Sun, 23 Jun 2019 10:40:53 +0800 Message-Id: <1561257655-25907-1-git-send-email-hongbo.zhang@linaro.org> X-Mailer: git-send-email 2.7.4 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::541 Subject: [Qemu-devel] [PATCH v8 0/2] Add Arm SBSA Reference Machine X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Hongbo Zhang , radoslaw.biernacki@linaro.org, leif.lindholm@linaro.org, ard.biesheuvel@linaro.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" For the Aarch64, there is one machine 'virt', it is primarily meant to run on KVM and execute virtualization workloads, but we need an environment as faithful as possible to physical hardware, to support firmware and OS development for pysical Aarch64 machines. This machine comes with: - Re-designed memory map. - CPU cortex-a57. - EL2 and EL3 enabled. - GIC version 3. - System bus AHCI controller. - System bus XHCI controller. - CDROM and hard disc on AHCI bus. - E1000E ethernet card on PCIE bus. - VGA display adaptor on PCIE bus. - Only minimal device tree nodes. And without: - virtio deivces. - fw_cfg device. - ACPI tables. Arm Trusted Firmware and UEFI porting to this are done accordingly, and it should supply ACPI tables to load OS, the minimal device tree nodes supplied from this platform are only to pass the dynamic info reflecting command line input to firmware, not for loading OS. v8 changes: - rebase to latest QEMU tree - use new way of creating flash as in 'virt' machine - other minor typos and comments update v7 changes: - edit memory map for PCIE slightly - add another secure UART which can be used for RAS and MM from EL0. v6 changes: - rebased to the latest QEMU tree - rechecked all the header files included - added the newly introduced system bus EHCI controller - removed the machine_done callback due to commit 5614ca80 - updated block comments styles according to checkpatch.pl - use Kconfig to add new file - use private SBSA* types defination instead of VIRT* in virt.h since nobody else using them so they are in the .c file instead of a new .h file v5 changes: - removed more lines derived from virt.c - designed a new memory map - splitted former one patch into two for easier review - cancled previous EHCI and new HXCI coming later separately V4 changes: - rebased to v3.0.0 - removed timer, uart, rtc, *hci device tree nodes (others were removerd in v3) - other minore codes clean up, mainly unsed header files, comments etc. V3 changes: - rename the platform 'sbsa-ref' - move all the codes to a separate file sbsa-ref.c - remove paravirtualized fw_cfg device - do not supply ACPI tables, since firmware will do it - supply only necessary DT nodes - and other minor code clean up Hongbo Zhang (2): hw/arm: Add arm SBSA reference machine, skeleton part hw/arm: Add arm SBSA reference machine, devices part default-configs/arm-softmmu.mak | 1 + hw/arm/Kconfig | 14 + hw/arm/Makefile.objs | 1 + hw/arm/sbsa-ref.c | 806 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 822 insertions(+) create mode 100644 hw/arm/sbsa-ref.c -- 2.7.4