From patchwork Mon Jan 22 19:43:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 864373 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=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; 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="nxzDO8iq"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zQMS73h8zz9s7M for ; Tue, 23 Jan 2018 06:48:38 +1100 (AEDT) Received: from localhost ([::1]:33684 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edi56-0006lx-3v for incoming@patchwork.ozlabs.org; Mon, 22 Jan 2018 14:48:36 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47798) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edi4E-0006l8-4V for qemu-devel@nongnu.org; Mon, 22 Jan 2018 14:47:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edi4A-0005hj-8m for qemu-devel@nongnu.org; Mon, 22 Jan 2018 14:47:42 -0500 Received: from mail-pf0-x244.google.com ([2607:f8b0:400e:c00::244]:34616) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edi4A-0005h4-3A; Mon, 22 Jan 2018 14:47:38 -0500 Received: by mail-pf0-x244.google.com with SMTP id e76so7897270pfk.1; Mon, 22 Jan 2018 11:47:37 -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:mime-version :content-transfer-encoding; bh=SBOROAj8Z7DxT/TEh/cSKb3L28WULAI/Hd5V41wgQi0=; b=nxzDO8iq6EC0F78DZhjk/23GU7CmZII5LE75NIo0CGE5BGO/GopEzdk7clIA0mhIZy YJgt67IgpE6bY3W3OFaKPEvQ+jj4HCLlXz/dCQK6a2iN21kTkhNKQK2GZI1W1YHo1i9N 7cv6AabRLArs6YOHAEYV/tVhxuYIayEi9Z+XUN6U9St5U0bul79LMDRUn80d2AWnMMrI O7vtQzKdES6aT2Q8h0T8dPTVkuaT7TttMjy/A7oBkwYUbG2KOUuIin8bDPxWwhF3J/zg 6EnKUGJ0C6pmaIJgscumfcDYsl+IEdJQgp3FFExkTydjy4fufHJJufaCzp7qk6KxpbRC lQaQ== 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 :mime-version:content-transfer-encoding; bh=SBOROAj8Z7DxT/TEh/cSKb3L28WULAI/Hd5V41wgQi0=; b=YlAcbh3YLo/igjXvyJrEDp9pIozbvXTKXZVOpwoEMOmEa1zU8I7W7PFUeUI8qqHi/P vtW2IdZ83b0Jw3mQKnpuQv3tvPnAPkoo5qnypz1VkrULSsmWi44pjD6Ym6T4VCAtL55G 4cSFq/kD/OMfpPpxvW9nyuzq7AyvHQLKEMbYJYMNCc104It6oLmPtaG46x4qoVpyzTth bkrLMD+sjCzTp+nDWp8SeaRwcqdjgXqTCLkZZp7A5yIK0d6YT1dqhIigzs0cvx7Sy54e 36phi1ji29ZvqU0Uvfq4/Zutn2InbB9JGv/DQQw2M2ALd0v6F7G3qHBJnrFATW/l5iZ7 Y29g== X-Gm-Message-State: AKwxytdkIvKV8cP5XYTrbifN2LkWmyKwL/h+3adN3FC+9+TkxwlwB+it dZ/BhxrfXoAuVy2Ywg5/0RLwJIND X-Google-Smtp-Source: AH8x224vXfkFFhRO4A0whmI62YunOTX6zmKRIpFz3wI/jQoO6M00VjUmnFWo9nV5bz0mKykGCzp/wQ== X-Received: by 10.101.80.204 with SMTP id s12mr7728044pgp.185.1516650456196; Mon, 22 Jan 2018 11:47:36 -0800 (PST) Received: from localhost ([149.199.62.254]) by smtp.gmail.com with ESMTPSA id b69sm2802004pfk.128.2018.01.22.11.47.34 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 22 Jan 2018 11:47:34 -0800 (PST) From: Alistair Francis To: qemu-devel@nongnu.org, edgar.iglesias@xilinx.com, edgar.iglesias@gmail.com Date: Mon, 22 Jan 2018 11:43:11 -0800 Message-Id: X-Mailer: git-send-email 2.14.1 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c00::244 Subject: [Qemu-devel] [PATCH v7 0/9] Add the ZynqMP PMU and IPI 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: alistair23@gmail.com, qemu-arm@nongnu.org, alistair.francis@xilinx.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This series adds the ZynqMP Power Management Unit (PMU) machine with basic functionality. The machine only has the - CPU - Memory - Interrupt controller - IPI device connected, but that is enough to run some of the ROM and firmware code on the machine The series also adds the IPI device and connects it to the ZynqMP ARM side and the ZynqMP PMU. These IPI devices don't connect between the ARM and MicroBlaze instances though. V7: - Fix Phipippe's comments V6: - Pass initrd instead of kernel to microblaze_load_kernel() V5: - Fix clang makecheck error - Rebase on master V4: - Rename the ZCU102 machine to just ZynqMP - Rename the PMC SoC to "xlnx,zynqmp-pmu-soc" - Move the IPI device to the machine instead of the SoC V3: - Add the interrupt controller - Replace some of the error_fatals with errp - Fix the PMU CPU name Alistair Francis (9): microblaze: boot.c: Don't try to find NULL file xlnx-zynqmp-pmu: Initial commit of the ZynqMP PMU xlnx-zynqmp-pmu: Add the CPU and memory aarch64-softmmu.mak: Use an ARM specific config xlnx-pmu-iomod-intc: Add the PMU Interrupt controller xlnx-zynqmp-pmu: Connect the PMU interrupt controller xlnx-zynqmp-ipi: Initial version of the Xilinx IPI device xlnx-zynqmp-pmu: Connect the IPI device to the PMU xlnx-zynqmp: Connect the IPI device to the ZynqMP SoC default-configs/aarch64-softmmu.mak | 1 + default-configs/microblaze-softmmu.mak | 1 + include/hw/arm/xlnx-zynqmp.h | 2 + include/hw/intc/xlnx-pmu-iomod-intc.h | 58 ++++ include/hw/intc/xlnx-zynqmp-ipi.h | 57 ++++ hw/arm/xlnx-zynqmp.c | 14 + hw/intc/xlnx-pmu-iomod-intc.c | 554 +++++++++++++++++++++++++++++++++ hw/intc/xlnx-zynqmp-ipi.c | 377 ++++++++++++++++++++++ hw/microblaze/boot.c | 2 +- hw/microblaze/xlnx-zynqmp-pmu.c | 204 ++++++++++++ hw/arm/Makefile.objs | 2 +- hw/display/Makefile.objs | 2 +- hw/dma/Makefile.objs | 1 + hw/intc/Makefile.objs | 2 + hw/microblaze/Makefile.objs | 1 + 15 files changed, 1275 insertions(+), 3 deletions(-) create mode 100644 include/hw/intc/xlnx-pmu-iomod-intc.h create mode 100644 include/hw/intc/xlnx-zynqmp-ipi.h create mode 100644 hw/intc/xlnx-pmu-iomod-intc.c create mode 100644 hw/intc/xlnx-zynqmp-ipi.c create mode 100644 hw/microblaze/xlnx-zynqmp-pmu.c