From patchwork Fri Mar 15 10:07:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hongbo Zhang X-Patchwork-Id: 1056931 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="vOuj/tBU"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44LLrg3F78z9s3l for ; Fri, 15 Mar 2019 21:08:50 +1100 (AEDT) Received: from localhost ([127.0.0.1]:52889 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4jlf-0001P0-1i for incoming@patchwork.ozlabs.org; Fri, 15 Mar 2019 06:08:47 -0400 Received: from eggs.gnu.org ([209.51.188.92]:37951) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4jkt-0001NW-Cp for qemu-devel@nongnu.org; Fri, 15 Mar 2019 06:08:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4jks-0000fA-EU for qemu-devel@nongnu.org; Fri, 15 Mar 2019 06:07:59 -0400 Received: from mail-pf1-x432.google.com ([2607:f8b0:4864:20::432]:37330) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h4jks-0000eU-3P for qemu-devel@nongnu.org; Fri, 15 Mar 2019 06:07:58 -0400 Received: by mail-pf1-x432.google.com with SMTP id 8so2591724pfr.4 for ; Fri, 15 Mar 2019 03:07:57 -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=AQPAVVFYPQO9BLGrVFwWStjiDkzv6k83NnuqXRdfOek=; b=vOuj/tBUXutPF0iCgpoukL/39s6zDaqPFstGPIDcrLNJvGxiIV2yBebTZM1ANJScRA Y/k4iPNox2Q7KQOYK289M4bnEfHHgJC8lx/Q35gxxtxQOjp6tPDg+rJZrdYHQq/7+z73 2dLjKLuJy8OfoOoINLl0GKBYkpzmfVCKi1OB0bK8gkHigkQLluZ2TLVFrlLyCqo5OEiq NugNRtPcCgQjb33KwdgbCOVFmjlLnoG1kV7axpIV9AwdIbGc46ckmxGh/lRZRJQy4SAt nO/K0AwffsUa1pd9JKINAnltzxLz7a4zCXHg9fwtOY5TgRn4xiAnckl6j6wrIifpDRcw xENA== 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=AQPAVVFYPQO9BLGrVFwWStjiDkzv6k83NnuqXRdfOek=; b=j4+ztjdmcI/nlK+lrtBt0P+B8sSMsqEVn/YnsZHmG1EqSN1z1P9Ap6LfLWjTzntU7E NESRE3wPMSogzf/HHGagNuu9l9bkmYOqSyAaB61jNoW3iJE6bArFuxDtUwAiyvRWKIb4 dkdB2OEzkILeSDeWTg0AAccXGb07nceh97B1is81M4wp996QaEDsJVjbhDJz/hm3S2x+ fFEbIlhc+7q1FRtIIu2PMmpdhI9OSA4jyZ21uCBkCJfX6wWBdF95L0B+xUepUoML3QQ+ WAx2zU7sMrbJgOPciuJBpgv3Y4VXei09tSqPh9bXynrfnl3CeNv0nYh8fa+/JuG9JIPj yd1w== X-Gm-Message-State: APjAAAXa3TvKyCEMeb/f42AdhuHwjFygD/vlLMuUFATMMovVZhw40KEo Pvn0H/LpNUI3qCwfdOB7skXQ4g== X-Google-Smtp-Source: APXvYqwDOE5yHxUygQTp0IdRq+Exe/rCSUb5r96NyR9UNkumQb26VV45PSPtaY9ihwMZVR1D76L5gA== X-Received: by 2002:a63:68ca:: with SMTP id d193mr2583822pgc.53.1552644476475; Fri, 15 Mar 2019 03:07:56 -0700 (PDT) Received: from localhost.localdomain ([104.237.86.214]) by smtp.gmail.com with ESMTPSA id b7sm4882128pfi.36.2019.03.15.03.07.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 15 Mar 2019 03:07:55 -0700 (PDT) From: Hongbo Zhang To: peter.maydell@linaro.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Date: Fri, 15 Mar 2019 18:07:44 +0800 Message-Id: <1552644466-24625-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::432 Subject: [Qemu-devel] [PATCH v6 0/2] Add Arm SBSA Reference Machine X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 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+incoming=patchwork.ozlabs.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. 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 In the previous v4 cover letter, https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg04282.html I mentioned I had to revert two commits temperarily to run: Revert "target/arm: Implement new do_transaction_failed hook" Revert "device_tree: Increase FDT_MAX_SIZE to 1 MiB" Now the 1st one is fixed by Ard Biesheuvel in the edk2 side, and for the 2nd one, a simple change in firmware side can fix it, so I won't mention these issues in details in the cover letter any more. I also put a branch here: http://git.linaro.org/people/hongbo.zhang/qemu-enterprise.git/log/?h=sbsa-upstream-v6 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 | 3 + hw/arm/Makefile.objs | 1 + hw/arm/sbsa-ref.c | 754 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 759 insertions(+) create mode 100644 hw/arm/sbsa-ref.c