From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673625323; cv=none; d=zohomail.com; s=zohoarc; b=MxDt/3jKcw1QYeohA2Ws3xdraf1wZpG8uny6vlxsQZBoFHk2CVWbtSgISuGkWmAkuS1o+VEvWxi2AcB5zZorKOWqpAqjm4dTxSGcCkw3wMlgmETt1XtwPVJoUtyhJorribfXkPLIJNzSFO7jUh1W7Wemcf4vmbPyUsynneY1K7Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673625323; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=kd2EgP6wBxFIrRNK4hZL/+MuF+0goUK0A/2Kn0YM2Kg=; b=oBT0I6W1gEKH1G/hiaZGXIA3DDMQP58jsKLBbPrFrjqCQbHD8xj7//07jWmtQI1SEmGfZ1pPkDM/4dWKivU0ZbBGfdKjSC/gWQEvtbDf1+j+bUcArNYgTuHoESjr0J8WF77lqm1IQ/XOIscj0gbjkLfhlMV61t738qsgicVX9D4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673625323895467.4237245778587; Fri, 13 Jan 2023 07:55:23 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMFU-00010t-1s; Fri, 13 Jan 2023 10:45:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMFR-0000zL-PY for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:45:41 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMFQ-0005iA-40 for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:45:41 -0500 Received: by mail-wm1-x32b.google.com with SMTP id ja17so15549655wmb.3 for ; Fri, 13 Jan 2023 07:45:39 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id i8-20020a05600c354800b003cf894dbc4fsm27550085wmq.25.2023.01.13.07.45.38 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:45:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kd2EgP6wBxFIrRNK4hZL/+MuF+0goUK0A/2Kn0YM2Kg=; b=y1lancV7vLfcw01RNKhgQ8Oqzbp6XQPkXddF+T5eZOx8cKw00kdzG95dSB9faMsGRj sShMLbGU+MTHNjJi6WFGWRWPg+Xu01+GxyqowBeOHCD4Hqk67hduDjD+v/OE58ipFMsJ aeMRtXUANcyMr/CjgI1YDaT73TrMxEaaxgYS1EM9E/G3BrBFquD9eaNr//YnXzRb/qwK YX7XFVzZGtxQmdZTHfrOzpnTmEbuchJgAAHNkJH3b+cYBKaah4YWONYdQyxSU+LbW5RW W2O3N2VZThcoJG/SE0Hwlhma4NxHn4Yd6k3y0G06QS4Xt93Cjf3vs6IBYSxKabVYNbpZ 1hxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kd2EgP6wBxFIrRNK4hZL/+MuF+0goUK0A/2Kn0YM2Kg=; b=gxJdAMxTtsIhEuDz7AkqTOE07qevZdr5WdrOQGqwobsq/+6mPiZr7IS0ERZfK7yxtb qaqj44Ll6rc7SXGTacmPDNgHGBgXN3mOniO82ySXevp9/aRDQ1NdMBtNeU+zg1NnYl9I 6ALx5vNtQRHTbtXuZol4DSdxkHHwZK+RLtZYu0LYWO7HstrsVU1MertNMq1OIyiGXONt wdBjsjUirgdn9eNdxvdIAKP+jwnvE0VZu/7fwriN5rp9MM8n6j2jhdAKXaBVs7v7jQId SfWUOXhq/apHdcfF+eMrIgtqAIYJZgfB1OY8NHdCkuIgrcQpxwurR6Sdmw1MoXw5eKO6 jLRA== X-Gm-Message-State: AFqh2krXsvQvOnMgpZo/Za5Y8fOaF7eAZ0TtFtYxe5aRSoUtJHppDGFp Qjsk0tS9hQu3V05TIHmH9DqPQw9GM/TghMvO X-Google-Smtp-Source: AMrXdXtxXfUkOsG+JEyoC1U43ugSc7zfSf+nYcUL4eLSggR6lKXLxn391xa1BLY+cYG6DiNSRHnQJA== X-Received: by 2002:a1c:770b:0:b0:3cf:a18d:399c with SMTP id t11-20020a1c770b000000b003cfa18d399cmr61175328wmi.1.1673624739147; Fri, 13 Jan 2023 07:45:39 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 01/46] hw/mips/malta: Split FPGA LEDs/ASCII display updates Date: Fri, 13 Jan 2023 16:44:47 +0100 Message-Id: <20230113154532.49979-2-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=philmd@linaro.org; helo=mail-wm1-x32b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673625325515100001 No need to refresh the ASCII bar when a LED is toggled (and vice versa). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20230104133935.4639-3-philmd@linaro.org> --- hw/mips/malta.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index c0a2e0ab04..e9424150aa 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -106,11 +106,10 @@ static struct _loaderparams { } loaderparams; =20 /* Malta FPGA */ -static void malta_fpga_update_display(void *opaque) +static void malta_fpga_update_display_leds(MaltaFPGAState *s) { char leds_text[9]; int i; - MaltaFPGAState *s =3D opaque; =20 for (i =3D 7 ; i >=3D 0 ; i--) { if (s->leds & (1 << i)) { @@ -123,6 +122,10 @@ static void malta_fpga_update_display(void *opaque) =20 qemu_chr_fe_printf(&s->display, "\e[H\n\n|\e[32m%-8.8s\e[00m|\r\n", leds_text); +} + +static void malta_fpga_update_display_ascii(MaltaFPGAState *s) +{ qemu_chr_fe_printf(&s->display, "\n\n\n\n|\e[31m%-8.8s\e[00m|", s->display_text); } @@ -457,13 +460,13 @@ static void malta_fpga_write(void *opaque, hwaddr add= r, /* LEDBAR Register */ case 0x00408: s->leds =3D val & 0xff; - malta_fpga_update_display(s); + malta_fpga_update_display_leds(s); break; =20 /* ASCIIWORD Register */ case 0x00410: snprintf(s->display_text, 9, "%08X", (uint32_t)val); - malta_fpga_update_display(s); + malta_fpga_update_display_ascii(s); break; =20 /* ASCIIPOS0 to ASCIIPOS7 Registers */ @@ -476,7 +479,7 @@ static void malta_fpga_write(void *opaque, hwaddr addr, case 0x00448: case 0x00450: s->display_text[(saddr - 0x00418) >> 3] =3D (char) val; - malta_fpga_update_display(s); + malta_fpga_update_display_ascii(s); break; =20 /* SOFTRES Register */ --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673629694; cv=none; d=zohomail.com; s=zohoarc; b=CUmD/TxX6am+a0iGp/pg7/yOtchc3OZRMkzn+eJ62kDTPZTNF7nKgGjOKZsios5pPRZgXuafZGRdO/HmB8gRkg+7cHcWt/kkDtioAJDRQeL3KjMj3LmDhBCrSuM8Gi6kKdvyhYdYTXnQdss7mtrSDqiCdlQ6g5wZq16DphEEGFU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673629694; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=EJlrcJcyFySvYUbJirDufyRxi5kq6OsXQnOZADCMTWg=; b=PbZIbZcTspzb0i0bQwTCqM40BMVoaQRfOdDQp3eHp2uK/Tst9uVTzXGjnjBIISYNsq8X6GhuQuaW8LnAzFxekFTlwyA3xys5OPd57+dzHTJkHe0RZFsCMXLhEqeZHEFt4kUCqBQXJo8NeJB64ywXHeeGOPzdc51D9VLLjTk8Nqk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673629694598861.9067542354786; Fri, 13 Jan 2023 09:08:14 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMFa-00015p-1O; Fri, 13 Jan 2023 10:45:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMFY-00013Z-6E for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:45:48 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMFV-0005li-SX for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:45:47 -0500 Received: by mail-wm1-x330.google.com with SMTP id j16-20020a05600c1c1000b003d9ef8c274bso13304494wms.0 for ; Fri, 13 Jan 2023 07:45:45 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id j30-20020a05600c1c1e00b003cfa80443a0sm28765626wms.35.2023.01.13.07.45.43 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:45:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EJlrcJcyFySvYUbJirDufyRxi5kq6OsXQnOZADCMTWg=; b=O6ytDBT2TLweLbMOKWFPT8t+SX+OlMjYasFVTPtUyM1racjyJ/d7mjwagxg0eLUaiP suEMrhTOg9CcYRFWQ4A5bHFGSCcWqo8H9y6kIwK9DDcAa8EcCn346Q6j1z5FDvCqVOiS 5/pAfx6868lJgPRRAidqZ+wB0+ufmdERInC2xDL5s45hZpzvCX2lDchSZ2sIFL9clGqd NHI4GVx1cMNSHH8p1jnAMUPrLesYM92eIQE6Oygjd2vs5Nqd/saKZSNfn3BHgJGxeq+e 6tyDknJowU39tzQMt1Y7pMuvmme6eqvEvi8epDuWgGsBStlX70Y6/2yw+wagaltW7NPz 5urg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EJlrcJcyFySvYUbJirDufyRxi5kq6OsXQnOZADCMTWg=; b=eQgsfM7HICJ/vgd7UGXqDf1+bvZRE4qh0SH36pb9hddN2ZJ7fihJuU4bOj4Av99uG6 hpdqCT/bXQI7ZlU+7JBO54dcWI9we8ipQAam9V7wVvhjyKWhZ8TUHdUk+QD4DxYY+sfD 4EHEfHJ3IAhX4xi4XfWCrBVo/AI20jbukY+HKKg5Fo6hcsXRAFLk6d6nKYNfIx+UKX8G i/ZE4f78WJGF4l3EQ++5NI+E0tnme3O4DsfQNZ0kYgiS+uh2jjKHjhgG0Haqa9A6IXwe XlBIxmp/uf8Tgn1AD18ErMVs70KH/QkqfOEBJXBNpJVzyYI8hTctgvDlM3HCP7t0fQZf naTg== X-Gm-Message-State: AFqh2krj72XD/RWX42unAPCpYfVWRvBPeZixrlhv8IxsF0ixqxkkp8s1 ogilY7BUXlD7AIxI7VdBzGiKc+kWLjIm6q6J X-Google-Smtp-Source: AMrXdXsC9SWqa2siqCCnWzOqFEabENpcVLURyGyZ7pepYjsA+lkFWUwr3xm3dQlVYfhBOpYwId78vg== X-Received: by 2002:a05:600c:6014:b0:3da:2032:6c0f with SMTP id az20-20020a05600c601400b003da20326c0fmr90068wmb.31.1673624743988; Fri, 13 Jan 2023 07:45:43 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 02/46] hw/mips/malta: Trace FPGA LEDs/ASCII display updates Date: Fri, 13 Jan 2023 16:44:48 +0100 Message-Id: <20230113154532.49979-3-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673629695992100003 The FPGA LEDs/ASCII display is mostly used by the bootloader to show very low-level debug info. QEMU connects its output to a character device backend, which is not very practical to correlate with ASM instruction executed, interrupts or MMIO accesses. Also, the display discard the previous states. To ease bootloader debugging experience, add a pair of trace events. Such events can be analyzed over time or diff-ed between different runs. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20230104133935.4639-4-philmd@linaro.org> --- hw/mips/malta.c | 3 +++ hw/mips/trace-events | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index e9424150aa..44d88a24a7 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -58,6 +58,7 @@ #include "semihosting/semihost.h" #include "hw/mips/cps.h" #include "hw/qdev-clock.h" +#include "trace.h" =20 #define ENVP_PADDR 0x2000 #define ENVP_VADDR cpu_mips_phys_to_kseg0(NULL, ENVP_PADDR) @@ -120,12 +121,14 @@ static void malta_fpga_update_display_leds(MaltaFPGAS= tate *s) } leds_text[8] =3D '\0'; =20 + trace_malta_fpga_leds(leds_text); qemu_chr_fe_printf(&s->display, "\e[H\n\n|\e[32m%-8.8s\e[00m|\r\n", leds_text); } =20 static void malta_fpga_update_display_ascii(MaltaFPGAState *s) { + trace_malta_fpga_display(s->display_text); qemu_chr_fe_printf(&s->display, "\n\n\n\n|\e[31m%-8.8s\e[00m|", s->display_text); } diff --git a/hw/mips/trace-events b/hw/mips/trace-events index 13ee731a48..b5b882c6c2 100644 --- a/hw/mips/trace-events +++ b/hw/mips/trace-events @@ -4,3 +4,7 @@ gt64120_write(uint64_t addr, uint64_t value) "gt64120 write= 0x%03"PRIx64" value: gt64120_read_intreg(const char *regname, unsigned size, uint64_t value) "g= t64120 read %s size:%u value:0x%08" PRIx64 gt64120_write_intreg(const char *regname, unsigned size, uint64_t value) "= gt64120 write %s size:%u value:0x%08" PRIx64 gt64120_isd_remap(uint64_t from_length, uint64_t from_addr, uint64_t to_le= ngth, uint64_t to_addr) "ISD: 0x%08" PRIx64 "@0x%08" PRIx64 " -> 0x%08" PRI= x64 "@0x%08" PRIx64 + +# malta.c +malta_fpga_leds(const char *text) "LEDs %s" +malta_fpga_display(const char *text) "ASCII '%s'" --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673627197; cv=none; d=zohomail.com; s=zohoarc; b=G/yDhJHdEe7LvvDxGsBKpNuy4fLEAlmSpJNBDSQZpsVyG4B/RyzXKCIYsgUHswJaW4uLD8xFt+itMexf0QRQyY19omJJ+APY0ukY250tb29qQpOHY5C4zSukSBvHFnZ7HM/SkEGSdVT37hqBeQIBtGz4WTDq0GBCiN5CXToZgzM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673627197; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=pvYLGALX7rNfkYIcU44tpI5yU5Uu3TIO2nPnZ6uyyWs=; b=Zr3fSNhnWYokYrRnLVFUcnaY4vPnPla6Doe6YtXlOb+fb2eU/YnhSHZle7faFFJIuka3jdn0l8CIO1oE5Xl2ry4GcFXKeS5PepyQxOC/shTDBCLs11VmfVIm8xQExr8vxstZ9e3XRqLJWmz82RAt6LANn7OaCiC4uT8Lwu//yoI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673627197345835.8037232484203; Fri, 13 Jan 2023 08:26:37 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMFd-00019R-N6; Fri, 13 Jan 2023 10:45:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMFc-00018O-6g for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:45:52 -0500 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMFa-0005n2-Jl for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:45:51 -0500 Received: by mail-wr1-x429.google.com with SMTP id r2so21452224wrv.7 for ; Fri, 13 Jan 2023 07:45:50 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id m5-20020a056000024500b00267bcb1bbe5sm19729768wrz.56.2023.01.13.07.45.48 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:45:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pvYLGALX7rNfkYIcU44tpI5yU5Uu3TIO2nPnZ6uyyWs=; b=feyTSx0K5N2sG8a5FKNHH/NjCWtn0ene4mufiRXyE4axWlzF5myKcmi+/u8w8m/R0b crc30bYeBdp9ZuPPycBOxIOcEbI7LZ+8X+9elag0JDtcQUXA5kxvGNcyXamyv7hJmTsM f/n3tNlg6smT1DwXYjF78DQT0LUMjddoyZg2lYXD4k1pgDzMoZEDO/hjJfknhCFTDHU5 N1k506Ic3BrWyzf0dPAWNqb3AQLFLJxJAGuOdgk7zXy7TXKql1VO8aF6GgNpi0xY8gVP VxIzSbQZeulSkNCYsFZarrKQEtTwdL/o6J5oSrgSq7waeUUzIwEEK7MlJrCUm2+opAHR 0yMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pvYLGALX7rNfkYIcU44tpI5yU5Uu3TIO2nPnZ6uyyWs=; b=poUTCeiLM4LlBhPCXb6mftg0gS903/X+5zWWIiDT9vo8mE7EfeRnKQoErcSxiMCK12 wONZxBXIWLQXWwTYlUllb3+2SRZuOOaDjk0QZOqx/aVImsh8kRtLPhblfIMafvArdRZ3 zywJPnyphquXrjzePS/UJfb6fOYSZoDy9VLiZJYcXqTopByRZhm0OnvWJwz/urZ6JZ3C oBSeAb9r6pT0vd55ziVmNEOJeolsZNBYt57A29i+HB0C/RNxkl7XIG6AF9JezsO6y4vW n9N1/UODjSqTA2AKAmjlW8ywRxbMyilGvsJJu42Av0qCcl8+yOKw1lLeibWehU4RT+Gq pEEA== X-Gm-Message-State: AFqh2kq2fZuNX+ypBECi8CkpyZyadHsgVmEIH1i/o+d4c8yI+zMbaX9n dFHDDqPJ7z/qZ29IP2FO+p6ChRhmbuO9F0Lj X-Google-Smtp-Source: AMrXdXun9C0mEmk3fHFCd+0J3uJxk6AUWW32vhxnhIFBUrl3kpsOkce53FnZlX9o5FJi0v0F9QwOxw== X-Received: by 2002:a5d:6e07:0:b0:242:285:6b39 with SMTP id h7-20020a5d6e07000000b0024202856b39mr51676173wrz.50.1673624748942; Fri, 13 Jan 2023 07:45:48 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 03/46] hw/mips/gt64xxx_pci: Accumulate address space changes Date: Fri, 13 Jan 2023 16:44:49 +0100 Message-Id: <20230113154532.49979-4-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=philmd@linaro.org; helo=mail-wr1-x429.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673627198861100001 Single registers access in ISD can produce multiple changes in the address spaces. To reduce computational effort, accumulate these as a single memory transaction. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20230104133935.4639-5-philmd@linaro.org> --- hw/mips/gt64xxx_pci.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hw/mips/gt64xxx_pci.c b/hw/mips/gt64xxx_pci.c index 164866cf3e..65416c7b27 100644 --- a/hw/mips/gt64xxx_pci.c +++ b/hw/mips/gt64xxx_pci.c @@ -282,6 +282,8 @@ static void gt64120_isd_mapping(GT64120State *s) hwaddr start =3D ((hwaddr)s->regs[GT_ISD] << 21) & 0xFFFE00000ull; hwaddr length =3D 0x1000; =20 + memory_region_transaction_begin(); + if (s->ISD_length) { memory_region_del_subregion(get_system_memory(), &s->ISD_mem); } @@ -292,10 +294,14 @@ static void gt64120_isd_mapping(GT64120State *s) s->ISD_start =3D start; s->ISD_length =3D length; memory_region_add_subregion(get_system_memory(), s->ISD_start, &s->ISD= _mem); + + memory_region_transaction_commit(); } =20 static void gt64120_pci_mapping(GT64120State *s) { + memory_region_transaction_begin(); + /* Update PCI0IO mapping */ if ((s->regs[GT_PCI0IOLD] & 0x7f) <=3D s->regs[GT_PCI0IOHD]) { /* Unmap old IO address */ @@ -354,6 +360,8 @@ static void gt64120_pci_mapping(GT64120State *s) &s->PCI0M1_mem); } } + + memory_region_transaction_commit(); } =20 static int gt64120_post_load(void *opaque, int version_id) --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673625832; cv=none; d=zohomail.com; s=zohoarc; b=dmWjDe2vRuTDNxKOtSxylV3uybvzYnTAJAsSTqH3yVsz8YCrVbBAJDLCpgp5VFAhFvXk2r+M07DU+8IbJOqoDMUFW9mBn8RNjpQYm6+uHwSMr4y8f+Rs4wuMUo/PJ/ahCO6OuCwKai8eetYKgCkjJ4VbaMyAeZFVfNPIXtp8c08= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673625832; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3Gf+LwcpZ3Ktm+9qB/ZTMzjKqzlYdeXHI3H35FNRABE=; b=jj6AsXFsf3+wMy8gb/oyhqhntAoRI1jd3hVtD9oplDGP1vcOrYlZLc5fTdNVmvUEqktf+PBUV9MM1AJjVdxOauDDNS/GLz7hgDFOvJGiIG0Zu4s/EXae9Lexuxo2mvjZqIgHGCTUMt/DuJ91M+3yPcHhA6lzCdWKqnWOYRk+5Qc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673625832349662.3597814840266; Fri, 13 Jan 2023 08:03:52 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMFi-0001EX-Ep; Fri, 13 Jan 2023 10:45:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMFh-0001Db-8t for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:45:57 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMFf-0005nv-AR for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:45:56 -0500 Received: by mail-wm1-x331.google.com with SMTP id ay40so15559952wmb.2 for ; Fri, 13 Jan 2023 07:45:54 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id o9-20020a05600c510900b003c6f8d30e40sm33854166wms.31.2023.01.13.07.45.52 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:45:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3Gf+LwcpZ3Ktm+9qB/ZTMzjKqzlYdeXHI3H35FNRABE=; b=nxs28CDwfezp4W2I9vhNj96/YgE79ocIU4BPzOCKPSihTcKFyKgKMd7o6yJT5qygEB n7Q+KZnZ5i3/gWH6aOMtY/mKeZBoCbPJa1PNZQ77rrzyyNTHPnDjUw+4bAX4hBSubW75 HhZdycMO4KmgmUGiJj4Mmxk2kAl/00vqA5D8RsUJcmPKIeyVIgPlZ+hqqsOQIwcatvpl rP5fX+qmLdb1PI4l56LKiY+D94fy47FfLvbIYruU/Grvp2RpdEG3Eez26HLGRYDRC48N hnt6zkHHM1hoWbVEqlNp5DzrZmx5F/n9vgQOW+hMj3REjt4HWhe9KyTAEUZC01T9iDJB /pgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3Gf+LwcpZ3Ktm+9qB/ZTMzjKqzlYdeXHI3H35FNRABE=; b=Mc7E9vOBLV9VKNKtdyRtRaLE1dx8ld6MGSDzHdqLqkEtWNgd4UaIdqajNM65TwByEo A6fMUQqdI1DZ1KTYtuhbeHgxQADb2rLm4SIQfABk0oT/Xvb2+/rD1PZpLHfyI7RTqj+l vSWzRAU6M1WWqt1Zx4z2MCuWDgXT3NiSxv7czCubzM94Iz+OF+g9j1WkbinUd17QoKOu WJjK7BeRL01DSSUR0e5FElBQY1qLo8kW3Xfq4U5yzQmqJKjYlFOeoICUiZcpZAREFeTM D9vAxMN7qcnnKLOwcU23b5Om6FKXUKS/e1zgvGCHj3jEcx87M34Y6TXZzuZqaCz9GApx mfEg== X-Gm-Message-State: AFqh2kpwNVk11RzkQ551vSFDEEwNNqmpAwtowWKSjVTp0YadN49ykWaO KnDUQzSG8wl3sohtVJwn7BOD9oTrHPJ3N6a6 X-Google-Smtp-Source: AMrXdXsXHEhoB5XYUEsny5K9EWOFk1O/bcs/blKMDPIdpQXcfVqNBK8dXLqRu6VwXmBWTE95i8rqYw== X-Received: by 2002:a05:600c:154b:b0:3cf:674a:aefe with SMTP id f11-20020a05600c154b00b003cf674aaefemr58939512wmg.22.1673624753622; Fri, 13 Jan 2023 07:45:53 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 04/46] hw/mips/gt64xxx_pci: Endian-swap using PCI_HOST_BRIDGE MemoryRegionOps Date: Fri, 13 Jan 2023 16:44:50 +0100 Message-Id: <20230113154532.49979-5-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673625842388100002 GT64120's PCI endianness swapping works on little-endian hosts, but doesn't on big-endian ones. Instead of complicating how CFGADDR/CFGDATA registers deal with endianness, use the existing MemoryRegionOps from hw/pci/pci_host.c. Doing so also reduce the access to internal PCI_HOST_BRIDGE fields. Map the PCI_HOST_BRIDGE MemoryRegionOps into the corresponding CFGADDR/CFGDATA regions in the ISD MMIO and remove the unused code in the current ISD read/write handlers. Update the mapping when PCI0_CMD register is accessed (in case the endianness is changed). This allows using the GT64120 on a big-endian host (and boot the MIPS Malta machine in little-endian). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20230104133935.4639-6-philmd@linaro.org> --- hw/mips/gt64xxx_pci.c | 70 ++++++++++++++++++++++++++++++------------- 1 file changed, 50 insertions(+), 20 deletions(-) diff --git a/hw/mips/gt64xxx_pci.c b/hw/mips/gt64xxx_pci.c index 65416c7b27..81232514c5 100644 --- a/hw/mips/gt64xxx_pci.c +++ b/hw/mips/gt64xxx_pci.c @@ -298,6 +298,50 @@ static void gt64120_isd_mapping(GT64120State *s) memory_region_transaction_commit(); } =20 +static void gt64120_update_pci_cfgdata_mapping(GT64120State *s) +{ + /* Indexed on MByteSwap bit, see Table 158: PCI_0 Command, Offset: 0xc= 00 */ + static const MemoryRegionOps *pci_host_conf_ops[] =3D { + &pci_host_conf_be_ops, &pci_host_conf_le_ops + }; + static const MemoryRegionOps *pci_host_data_ops[] =3D { + &pci_host_data_be_ops, &pci_host_data_le_ops + }; + PCIHostState *phb =3D PCI_HOST_BRIDGE(s); + + memory_region_transaction_begin(); + + /* + * The setting of the MByteSwap bit and MWordSwap bit in the PCI Inter= nal + * Command Register determines how data transactions from the CPU to/f= rom + * PCI are handled along with the setting of the Endianess bit in the = CPU + * Configuration Register. See: + * - Table 16: 32-bit PCI Transaction Endianess + * - Table 158: PCI_0 Command, Offset: 0xc00 + */ + if (memory_region_is_mapped(&phb->conf_mem)) { + memory_region_del_subregion(&s->ISD_mem, &phb->conf_mem); + object_unparent(OBJECT(&phb->conf_mem)); + } + memory_region_init_io(&phb->conf_mem, OBJECT(phb), + pci_host_conf_ops[s->regs[GT_PCI0_CMD] & 1], + s, "pci-conf-idx", 4); + memory_region_add_subregion_overlap(&s->ISD_mem, GT_PCI0_CFGADDR << 2, + &phb->conf_mem, 1); + + if (memory_region_is_mapped(&phb->data_mem)) { + memory_region_del_subregion(&s->ISD_mem, &phb->data_mem); + object_unparent(OBJECT(&phb->data_mem)); + } + memory_region_init_io(&phb->data_mem, OBJECT(phb), + pci_host_data_ops[s->regs[GT_PCI0_CMD] & 1], + s, "pci-conf-data", 4); + memory_region_add_subregion_overlap(&s->ISD_mem, GT_PCI0_CFGDATA << 2, + &phb->data_mem, 1); + + memory_region_transaction_commit(); +} + static void gt64120_pci_mapping(GT64120State *s) { memory_region_transaction_begin(); @@ -389,7 +433,6 @@ static void gt64120_writel(void *opaque, hwaddr addr, uint64_t val, unsigned size) { GT64120State *s =3D opaque; - PCIHostState *phb =3D PCI_HOST_BRIDGE(s); uint32_t saddr =3D addr >> 2; =20 trace_gt64120_write(addr, val); @@ -592,6 +635,7 @@ static void gt64120_writel(void *opaque, hwaddr addr, case GT_PCI0_CMD: case GT_PCI1_CMD: s->regs[saddr] =3D val & 0x0401fc0f; + gt64120_update_pci_cfgdata_mapping(s); break; case GT_PCI0_TOR: case GT_PCI0_BS_SCS10: @@ -632,15 +676,9 @@ static void gt64120_writel(void *opaque, hwaddr addr, saddr << 2, size, size << 1, val); break; case GT_PCI0_CFGADDR: - phb->config_reg =3D val & 0x80fffffc; - break; case GT_PCI0_CFGDATA: - if (!(s->regs[GT_PCI0_CMD] & 1) && (phb->config_reg & 0x00fff800))= { - val =3D bswap32(val); - } - if (phb->config_reg & (1u << 31)) { - pci_data_write(phb->bus, phb->config_reg, val, 4); - } + /* Mapped via in gt64120_pci_mapping() */ + g_assert_not_reached(); break; =20 /* Interrupts */ @@ -698,7 +736,6 @@ static uint64_t gt64120_readl(void *opaque, hwaddr addr, unsigned size) { GT64120State *s =3D opaque; - PCIHostState *phb =3D PCI_HOST_BRIDGE(s); uint32_t val; uint32_t saddr =3D addr >> 2; =20 @@ -883,17 +920,9 @@ static uint64_t gt64120_readl(void *opaque, =20 /* PCI Internal */ case GT_PCI0_CFGADDR: - val =3D phb->config_reg; - break; case GT_PCI0_CFGDATA: - if (!(phb->config_reg & (1 << 31))) { - val =3D 0xffffffff; - } else { - val =3D pci_data_read(phb->bus, phb->config_reg, 4); - } - if (!(s->regs[GT_PCI0_CMD] & 1) && (phb->config_reg & 0x00fff800))= { - val =3D bswap32(val); - } + /* Mapped via in gt64120_pci_mapping() */ + g_assert_not_reached(); break; =20 case GT_PCI0_CMD: @@ -1153,6 +1182,7 @@ static void gt64120_reset(DeviceState *dev) =20 gt64120_isd_mapping(s); gt64120_pci_mapping(s); + gt64120_update_pci_cfgdata_mapping(s); } =20 static void gt64120_realize(DeviceState *dev, Error **errp) --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673625832; cv=none; d=zohomail.com; s=zohoarc; b=GNgXJ0EoB1+D++mNDyTFdgexl1ct1HCTCUxBn/1Ly8Xx+RZcv9uySAieCZCODPtBC0HxWnySjqKs6+6n1sslWblVReMKfB57gUJfO9eANOTzQn60OBIkCNjj94Gn5nNoAiAdFw9R3NR4TCO09ngu6UxBWy75ZWIgEzV8uvpfBZ0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673625832; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bGCOa5oMG6crU1pmMt6tVFXX/xHui00CJSxQwvzSIuo=; b=f+Y/0vET5JExOEC6t8tXK3hFSNak+pwk/54dPRXC8nHJ1mUEggpISc6DcfQh7Kixc2OpMPs2kcJRHnxa9zCRTnK22whNv7eka3r3mESc7mQKpNIc+CGHV95uorj9G8N8f24J2sN6Ua/Op/m28IFMBZiPTNp82dFXIpjOmmAxgwc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673625832272963.9246384808318; Fri, 13 Jan 2023 08:03:52 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMFm-0001IB-8U; Fri, 13 Jan 2023 10:46:02 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMFk-0001GV-Tb for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:00 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMFj-0005li-BU for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:00 -0500 Received: by mail-wm1-x330.google.com with SMTP id j16-20020a05600c1c1000b003d9ef8c274bso13305054wms.0 for ; Fri, 13 Jan 2023 07:45:58 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id ay13-20020a05600c1e0d00b003d34faca949sm25255510wmb.39.2023.01.13.07.45.57 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:45:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bGCOa5oMG6crU1pmMt6tVFXX/xHui00CJSxQwvzSIuo=; b=V1RvXB7EgIq0a8MNr6MJH5VxJ8s6NkXf0AioHhUiivOz/Db3Nt58cb8kF45dLq9/Ev arHKHSanLoTzfw958qpSO/iS6Tm2xNGO/eq228zo4g1lBIzSPJihy/QHIkzYV8Lgwz2r jI97yXbKEuyT1Zkxwyy9r8JkHHQ8EvUxz49L83hf/cSfNc3grJmFUK9gkggxCuyInJqj 8aaXGI3WM7ed3KZ7NYIUxJJn8tEKoe/7zJTEQIVkEzWH9erjpotNuhBO8ntgQBHtn3CQ 86FQAXUlVuK5MB8x7aFf199wCyclw8V0/7h/8IBptMzDFd9J6OgPwN7wMJcCZG+ZXqSV yOAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bGCOa5oMG6crU1pmMt6tVFXX/xHui00CJSxQwvzSIuo=; b=XhpqZ5Mo4RExnSGVY/A8X7d8pHNy2VD8R9ZIDzxlb2L9SdRutc9a9hKDzzLCGNThYN xjTmyC1mvDDdzWmxmxDdz09C2mCg3PiGqlPL3HbqjmlPbIFu11hnlBI25uBsd7CWoMmR Y6jprmKoG8oFBrtNXdIfR5v28wc8bzTu28UtLf6gZA7MXfbG0lwCY0er2N0CO5qnUCG1 kJ9MxLRWOPWoegxlWRnE6h0DmKbceRESo9UgBIaNxeb7MjcO43swOX0V8WmZ46wNgJJX 0aUnEwuE5+5yMAMe7m8g4B3AIdPnwUFaoQd5JiTIX/YANxhYy0vEeb9KoHRFJm0ELnwS hvfQ== X-Gm-Message-State: AFqh2korRJTFhdcpPqsJSF4mnZEkI7BC0Xp7Eknthke4pkMBVdd84KX9 tcT7OyWmnF9XUIsgnIJewljZVXJnQWp7iZCN X-Google-Smtp-Source: AMrXdXs9l4kEUUpAem4jX/A0giQuViIvWUSD2lmvAOaXC8OBj2CQ+KujD9VEJnLR44CgOJGzlD8jKQ== X-Received: by 2002:a05:600c:4f41:b0:3d9:f806:2f89 with SMTP id m1-20020a05600c4f4100b003d9f8062f89mr11405792wmq.41.1673624758473; Fri, 13 Jan 2023 07:45:58 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Bernhard Beschow , Richard Henderson Subject: [PULL 05/46] hw/mips/Kconfig: Introduce CONFIG_GT64120 to select gt64xxx_pci.c Date: Fri, 13 Jan 2023 16:44:51 +0100 Message-Id: <20230113154532.49979-6-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673625833947100002 From: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Bernhard Beschow Message-Id: <20221209151533.69516-2-philmd@linaro.org> Reviewed-by: Richard Henderson --- hw/mips/Kconfig | 6 ++++++ hw/mips/meson.build | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/hw/mips/Kconfig b/hw/mips/Kconfig index 725525358d..d6bbbe7069 100644 --- a/hw/mips/Kconfig +++ b/hw/mips/Kconfig @@ -1,5 +1,6 @@ config MALTA bool + select GT64120 select ISA_SUPERIO =20 config MIPSSIM @@ -59,3 +60,8 @@ config MIPS_BOSTON =20 config FW_CFG_MIPS bool + +config GT64120 + bool + select PCI + select I8259 diff --git a/hw/mips/meson.build b/hw/mips/meson.build index dd0101ad4d..6ccd385df0 100644 --- a/hw/mips/meson.build +++ b/hw/mips/meson.build @@ -2,7 +2,8 @@ mips_ss =3D ss.source_set() mips_ss.add(files('bootloader.c', 'mips_int.c')) mips_ss.add(when: 'CONFIG_FW_CFG_MIPS', if_true: files('fw_cfg.c')) mips_ss.add(when: 'CONFIG_LOONGSON3V', if_true: files('loongson3_bootp.c',= 'loongson3_virt.c')) -mips_ss.add(when: 'CONFIG_MALTA', if_true: files('gt64xxx_pci.c', 'malta.c= ')) +mips_ss.add(when: 'CONFIG_MALTA', if_true: files('malta.c')) +mips_ss.add(when: 'CONFIG_GT64120', if_true: files('gt64xxx_pci.c')) mips_ss.add(when: 'CONFIG_MIPS_CPS', if_true: files('cps.c')) =20 if 'CONFIG_TCG' in config_all --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673638432; cv=none; d=zohomail.com; s=zohoarc; b=grEPOWBztSP0Ow80dK5yo7Yg92QMJOa6WVTlWRbqXQquJfx5yGgC10Mn+Rk0WLkXy6CBxhhF6CqGEjeVz2RlRgfmJUyflis28wMXW1omdekOmLWnBH3sp9mnSJLgZbSrmifRtfyRDMdIk2F7Wc3kWq6+c81HTR7MtWLy8+kSQPc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673638432; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=d1fzshqbgAk9siGlvQhCRtVRnTKByAhV7Wsl31zfTwU=; b=IB2ExQ9Z+OPVpPTtpwYQD0V4m7wEMy9fBX00vJ6LjPRCRZxmmKvXOTpezY+Fft6Oqiaheq1o7yPCi9BzKdsqG/HLjDK9taSSMRwENMmq+dOyGHmI/SBSjJWO4LFQjzJclHGCPhPZ7UW/cvwdsa9B6Gv2q3rZLHH+/a4PIVTMVL8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673638432272977.7132348809661; Fri, 13 Jan 2023 11:33:52 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMFv-0001Nq-Mc; Fri, 13 Jan 2023 10:46:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMFq-0001Lg-5B for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:06 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMFo-0005iA-Dx for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:05 -0500 Received: by mail-wm1-x32b.google.com with SMTP id ja17so15550551wmb.3 for ; Fri, 13 Jan 2023 07:46:04 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id z14-20020a05600c220e00b003d99fad7511sm24171746wml.22.2023.01.13.07.46.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:46:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=d1fzshqbgAk9siGlvQhCRtVRnTKByAhV7Wsl31zfTwU=; b=RfVbcEiwDC4PYLWyOC/ibMy0CpBCY+rP4FS29sVAQ2RvR7OfzBgtLOPvT9qftzkahB Lhv7USjRmotMYJVKuQxfDpemRrdyL0KY0f4IulfEgNrw6mUNlUJv3k+KJSkZlvhAsSyA 2SL0pqbao54UoGJvEKTJ3wowrOAuxk52p7c8K2A6QTwkFZhNjnihgTfuANLIyM46tGN0 5g9bnDWWG6iLQKAxlqkBnpdgAoUeXgBLtv/q+dzA9a7KH9unew7W3j0Yo4klWOU4OMNI ySFoDs/fT1aEKa8GRTb8do4wBMbsBEcevIJ1cxJYW+YUCoKkAjszAL3ZseSMCu9h7oxT 0Ykg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=d1fzshqbgAk9siGlvQhCRtVRnTKByAhV7Wsl31zfTwU=; b=K6V9fKQNthEqk57N7Fd/XRI+YkoEQKiooS98HtpWLgNEF7+gzlBLKfSexBlonR4yVx XdgVUG9CxBXJtTiLf3kpvrlSCkrFx0HdKThUKAIvrTMbnHngNxnCk9Z3cD6WzSpcuGQd aJmgx6D61p0f9KbVgXJRgf8m4ZuXhvkrX/pLaB1r/Xqzxucuk3CKFCMJAv6bZKRJ10Uh fvyRtXPkKD8q2K9N1MFRZLgbBWScGDcjBXmILGkHVy3626pKjDnkn9ElcM5H0yiRiJ+J O5ONAGwHWpydCqz8N9wf9rAB0d6sIFbUuHUycQuwTvS26aqScFL1lOyThQaFqpOuW9Zn QavQ== X-Gm-Message-State: AFqh2ko+xhYQZOzj1To3qEr6HRmhtQ5NQs/kzyLBYBgMSoJ6JsoA1DVh GSQQ6RgbC1yt4a3qPe5TO1DKLu57aOLqyrps X-Google-Smtp-Source: AMrXdXv/jr58YNjAy2gAo8qjmU7wDJ89l3g3UsNvTETqWI/z5y4kx+gc4vT3S6j0cJF3IRbbBuy2Fw== X-Received: by 2002:a05:600c:5405:b0:3da:632:a8d with SMTP id he5-20020a05600c540500b003da06320a8dmr8979222wmb.10.1673624763447; Fri, 13 Jan 2023 07:46:03 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 06/46] hw/mips/gt64xxx_pci: Let the GT64120 manage the lower 512MiB hole Date: Fri, 13 Jan 2023 16:44:52 +0100 Message-Id: <20230113154532.49979-7-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=philmd@linaro.org; helo=mail-wm1-x32b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673638433759100003 From: Philippe Mathieu-Daud=C3=A9 Per the comment in the Malta board, the [0x0000.0000-0x2000.0000] range is decoded by the GT64120, so move the "empty_slot" there. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20221209151533.69516-3-philmd@linaro.org> Reviewed-by: Richard Henderson --- configs/devices/mips-softmmu/common.mak | 1 - hw/mips/Kconfig | 1 + hw/mips/gt64xxx_pci.c | 8 ++++++++ hw/mips/malta.c | 7 ------- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/configs/devices/mips-softmmu/common.mak b/configs/devices/mips= -softmmu/common.mak index 88aff94625..a125e74f24 100644 --- a/configs/devices/mips-softmmu/common.mak +++ b/configs/devices/mips-softmmu/common.mak @@ -24,7 +24,6 @@ CONFIG_IDE_ISA=3Dy CONFIG_PFLASH_CFI01=3Dy CONFIG_I8259=3Dy CONFIG_MC146818RTC=3Dy -CONFIG_EMPTY_SLOT=3Dy CONFIG_MIPS_CPS=3Dy CONFIG_MIPS_ITU=3Dy CONFIG_MALTA=3Dy diff --git a/hw/mips/Kconfig b/hw/mips/Kconfig index d6bbbe7069..8f7bce38fb 100644 --- a/hw/mips/Kconfig +++ b/hw/mips/Kconfig @@ -64,4 +64,5 @@ config FW_CFG_MIPS config GT64120 bool select PCI + select EMPTY_SLOT select I8259 diff --git a/hw/mips/gt64xxx_pci.c b/hw/mips/gt64xxx_pci.c index 81232514c5..7ba052a2e0 100644 --- a/hw/mips/gt64xxx_pci.c +++ b/hw/mips/gt64xxx_pci.c @@ -28,6 +28,7 @@ #include "qemu/log.h" #include "hw/pci/pci_device.h" #include "hw/pci/pci_host.h" +#include "hw/misc/empty_slot.h" #include "migration/vmstate.h" #include "hw/intc/i8259.h" #include "hw/irq.h" @@ -1200,6 +1201,13 @@ static void gt64120_realize(DeviceState *dev, Error = **errp) PCI_DEVFN(18, 0), TYPE_PCI_BUS); =20 pci_create_simple(phb->bus, PCI_DEVFN(0, 0), "gt64120_pci"); + + /* + * The whole address space decoded by the GT-64120A doesn't generate + * exception when accessing invalid memory. Create an empty slot to + * emulate this feature. + */ + empty_slot_init("GT64120", 0, 0x20000000); } =20 static void gt64120_pci_realize(PCIDevice *d, Error **errp) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index 44d88a24a7..c8fc420e4f 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -53,7 +53,6 @@ #include "sysemu/runstate.h" #include "qapi/error.h" #include "qemu/error-report.h" -#include "hw/misc/empty_slot.h" #include "sysemu/kvm.h" #include "semihosting/semihost.h" #include "hw/mips/cps.h" @@ -1399,12 +1398,6 @@ void mips_malta_init(MachineState *machine) /* Northbridge */ dev =3D sysbus_create_simple("gt64120", -1, NULL); pci_bus =3D PCI_BUS(qdev_get_child_bus(dev, "pci")); - /* - * The whole address space decoded by the GT-64120A doesn't generate - * exception when accessing invalid memory. Create an empty slot to - * emulate this feature. - */ - empty_slot_init("GT64120", 0, 0x20000000); =20 /* Southbridge */ piix4 =3D pci_create_simple_multifunction(pci_bus, PCI_DEVFN(10, 0), t= rue, --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673625779; cv=none; d=zohomail.com; s=zohoarc; b=n4P0ZLjo9FOECzeeXikza6QiGJdRFIctlDgZMXv9MzkpixqpTB73SCaKqjZ1VcZwhrTkVrYYWzgY8GSYjd/7XpuJuP2XJKcrkhPucNkrhXSmgblKAAAEZFEprL23BrqjEkwgMzEVGuA6PZP/p3aNP2Db87s03Wuh/fmHFqPg8LE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673625779; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=IT3IpxyYwIlPuQTuUl1M3op7EMUs1BKHimyoxbFdJ3Y=; b=MdElpuavKk4pgqnbRkcPNp8q1uoPliKokND+MwoMYSafym9zpL5iN06B2uVBv+aILuu3lcHp6G7wKrBZ0GANp8+6zPU4p+qNNU7gYRYDJBCeSAPnCN/Qs4L7PTX8hiyHxjSW87vq3lIFRHEVZj4a4T96nGuyDYGlUBzM4882qYg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673625779324140.90867788210403; Fri, 13 Jan 2023 08:02:59 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGV-0001ou-DP; Fri, 13 Jan 2023 10:46:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMFz-0001Su-Po for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:17 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMFw-00060K-Id for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:15 -0500 Received: by mail-wr1-x42c.google.com with SMTP id v2so10459135wrw.10 for ; Fri, 13 Jan 2023 07:46:09 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id by12-20020a056000098c00b002bdd8f12effsm3867666wrb.30.2023.01.13.07.46.07 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:46:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=IT3IpxyYwIlPuQTuUl1M3op7EMUs1BKHimyoxbFdJ3Y=; b=Q3XRTFbiIPX0wvuv2MIdTzj40sKnSeIsh6zTfSKYFmtkEfAMsw2KvPvqHcIsnyesgS kv/t+V7XpWfAQSFmxtdYodsusjxztwXfM2BzEYjhgxB8SZZWJWhqc+ye8nvFyvRmOlmH QMGAHhociaZ+FDYUEytg44gImsdwgg/TlBUGd8C0/KX6oAsjn8dW8mWW02LX8nRUhnIF qTCLLKnKVgoSuMjB0ZvTADAQ2b7d/UjMUvYopG0MuKlWTwhHKS0r6cVNmylXyYNivNte k+1uHPXSwnrWwfFDxn73F9dIhhz/Yws9LUhN8XqKiQYYoX3TS8AqqDft4fcT38uIoPvo Ao1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IT3IpxyYwIlPuQTuUl1M3op7EMUs1BKHimyoxbFdJ3Y=; b=jiVmv08bwhhPELqalm+B23CD2eHZKNpMnezyVVo1Rs7zAU/xqwuTSk5U+qByCqHPIy jS0u0pzIxvvEL4fGOWbLinb2tzJYkRc+JiB4NaORputY9EDeRWVAiYeAEagQkyvkmsEI zX0d23og4LqSinqUExA6Ny3/9HqWWik1ctfltBnZ+mwDTjJNnhAR7jVRWPtHSSOoGwGm JksSHQO7+7COmjr81qY7asbFqKjDXFelfO2OzwpWmjGppfSJgWZvTu9rCNCBRxmAYXf9 MKpDa3WlGQzABa6YoQYdy6i3O1jOjPgxPKIUeksghHdIufVfpwE80UE0fzsTZzUnPWL3 QDhg== X-Gm-Message-State: AFqh2kqH6LYkxwNegbyhMC4TMCjQbyIzZMwDxugOgMO9xoftsZxweGdD kLwcczJiZrWNzCwhXtWZia11dIug/HZ5DCKu X-Google-Smtp-Source: AMrXdXu9ZLVLPWEZgxytjtgUdZL0u0paG5Ujzx1j5P8n9wtkqq6m7+4uSRyJKO4Hjqx4eRGdlTHxHA== X-Received: by 2002:a5d:564e:0:b0:27d:59a5:28bc with SMTP id j14-20020a5d564e000000b0027d59a528bcmr43072312wrw.35.1673624768084; Fri, 13 Jan 2023 07:46:08 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 07/46] hw/mips/gt64xxx_pci: Manage endian bits with the RegisterFields API Date: Fri, 13 Jan 2023 16:44:53 +0100 Message-Id: <20230113154532.49979-8-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673625780951100001 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20221220113436.14299-4-philmd@linaro.org> Reviewed-by: Richard Henderson --- hw/mips/gt64xxx_pci.c | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/hw/mips/gt64xxx_pci.c b/hw/mips/gt64xxx_pci.c index 7ba052a2e0..85bdf5279c 100644 --- a/hw/mips/gt64xxx_pci.c +++ b/hw/mips/gt64xxx_pci.c @@ -26,6 +26,7 @@ #include "qapi/error.h" #include "qemu/units.h" #include "qemu/log.h" +#include "hw/registerfields.h" #include "hw/pci/pci_device.h" #include "hw/pci/pci_host.h" #include "hw/misc/empty_slot.h" @@ -41,6 +42,9 @@ #define GT_CPU (0x000 >> 2) #define GT_MULTI (0x120 >> 2) =20 +REG32(GT_CPU, 0x000) +FIELD(GT_CPU, Endianness, 12, 1) + /* CPU Address Decode */ #define GT_SCS10LD (0x008 >> 2) #define GT_SCS10HD (0x010 >> 2) @@ -210,6 +214,17 @@ #define GT_PCI0_CFGADDR (0xcf8 >> 2) #define GT_PCI0_CFGDATA (0xcfc >> 2) =20 +REG32(GT_PCI0_CMD, 0xc00) +FIELD(GT_PCI0_CMD, MByteSwap, 0, 1) +FIELD(GT_PCI0_CMD, SByteSwap, 16, 1) +#define R_GT_PCI0_CMD_ByteSwap_MASK \ + (R_GT_PCI0_CMD_MByteSwap_MASK | R_GT_PCI0_CMD_SByteSwap_MASK) +REG32(GT_PCI1_CMD, 0xc80) +FIELD(GT_PCI1_CMD, MByteSwap, 0, 1) +FIELD(GT_PCI1_CMD, SByteSwap, 16, 1) +#define R_GT_PCI1_CMD_ByteSwap_MASK \ + (R_GT_PCI1_CMD_MByteSwap_MASK | R_GT_PCI1_CMD_SByteSwap_MASK) + /* Interrupts */ #define GT_INTRCAUSE (0xc18 >> 2) #define GT_INTRMASK (0xc1c >> 2) @@ -1020,15 +1035,16 @@ static const MemoryRegionOps isd_mem_ops =3D { static void gt64120_reset(DeviceState *dev) { GT64120State *s =3D GT64120_PCI_HOST_BRIDGE(dev); +#if TARGET_BIG_ENDIAN + bool cpu_little_endian =3D false; +#else + bool cpu_little_endian =3D true; +#endif =20 /* FIXME: Malta specific hw assumptions ahead */ =20 /* CPU Configuration */ -#if TARGET_BIG_ENDIAN - s->regs[GT_CPU] =3D 0x00000000; -#else - s->regs[GT_CPU] =3D 0x00001000; -#endif + s->regs[GT_CPU] =3D cpu_little_endian ? R_GT_CPU_Endianness_MASK : 0; s->regs[GT_MULTI] =3D 0x00000003; =20 /* CPU Address decode */ @@ -1135,11 +1151,7 @@ static void gt64120_reset(DeviceState *dev) s->regs[GT_TC_CONTROL] =3D 0x00000000; =20 /* PCI Internal */ -#if TARGET_BIG_ENDIAN - s->regs[GT_PCI0_CMD] =3D 0x00000000; -#else - s->regs[GT_PCI0_CMD] =3D 0x00010001; -#endif + s->regs[GT_PCI0_CMD] =3D cpu_little_endian ? R_GT_PCI0_CMD_ByteSwap_MA= SK : 0; s->regs[GT_PCI0_TOR] =3D 0x0000070f; s->regs[GT_PCI0_BS_SCS10] =3D 0x00fff000; s->regs[GT_PCI0_BS_SCS32] =3D 0x00fff000; @@ -1156,11 +1168,7 @@ static void gt64120_reset(DeviceState *dev) s->regs[GT_PCI0_SSCS10_BAR] =3D 0x00000000; s->regs[GT_PCI0_SSCS32_BAR] =3D 0x01000000; s->regs[GT_PCI0_SCS3BT_BAR] =3D 0x1f000000; -#if TARGET_BIG_ENDIAN - s->regs[GT_PCI1_CMD] =3D 0x00000000; -#else - s->regs[GT_PCI1_CMD] =3D 0x00010001; -#endif + s->regs[GT_PCI1_CMD] =3D cpu_little_endian ? R_GT_PCI1_CMD_ByteSwap_MA= SK : 0; s->regs[GT_PCI1_TOR] =3D 0x0000070f; s->regs[GT_PCI1_BS_SCS10] =3D 0x00fff000; s->regs[GT_PCI1_BS_SCS32] =3D 0x00fff000; --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673627058; cv=none; d=zohomail.com; s=zohoarc; b=EXkXJMmhS+i5wAfVOtnm2W3m93bIR/G2wC/kEKlwd0uEDmLWwB9F+ZaV0a+4IxLQdu/nUMK8Ecw5BlwbbpdWdVXwAT8ALfDLkklSBYdFBJ1/TQBwQYiwv1tJSDC4j/60QfKshCP32w6zx6fGzgXgxxhFZVL9WtyewAFw/uoE49Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673627058; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=rC+XQm2jLSXbgQ7LC1gN01sFQ4DaZrRbxtfq7Vgq2EA=; b=an7nqGBSZTszgK2YkTK0Jn9rUHOKDoecwtC2nMMHnDa3GBUl1Z/8o1Fbsm4GK1w+s/eK7tiW/Sg4QFbaXqcWHrgWqc+i0Orhla2BPshyCDkV7eeoPX/iui1IXnO7WznBbHz/SozLdOQfoW1hsaktNHbTiJMKXKwshldT+y9SX0Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673627058516383.62195331896066; Fri, 13 Jan 2023 08:24:18 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGX-0001rE-RZ; Fri, 13 Jan 2023 10:46:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMG1-0001Uw-1a for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:18 -0500 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMFy-000624-E9 for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:16 -0500 Received: by mail-wr1-x430.google.com with SMTP id k8so6956497wrc.9 for ; Fri, 13 Jan 2023 07:46:14 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id o17-20020a5d4091000000b0028965dc7c6bsm18970645wrp.73.2023.01.13.07.46.11 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:46:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rC+XQm2jLSXbgQ7LC1gN01sFQ4DaZrRbxtfq7Vgq2EA=; b=di/CVOHcvTNSWsVMGq217JKVsnVfzSE6NWoyFpJsci7bhOsbQg4A3jkg1ETCU5j42Q FvxOH0rI4mDiWsclMtyFBso9LdWWkunGx92NdF7nVBq96Jd8IImJO5fS6YbohH4QKPJf wHw+P/O/u3fVvIW/6KZ0DCSZ4Rk9vbf7XxOvwMvP+11ARBTZL4wMJBEf99CsdZo7dxDc 3ASJ9FrzyyaKX0Sls1RhvKNykRNWq6Ves9hH/UEOZIS33yCuCO1e9UBRwcpb8/pcRBsf bqlwiu4b54NgpzgS0HjxtS/ztGIvCwNFEBlUCsEitZ7CHZO3NTByQqK9e2qytVJ3txr/ NwlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rC+XQm2jLSXbgQ7LC1gN01sFQ4DaZrRbxtfq7Vgq2EA=; b=EZJjkL5yS6llr1xf4tqFELssrs4cfsR7nPVyKFgf3ziKWuVXHOSxnsXvq+my4YHA+O hxIPwnFroEXkBnuo63y9I7iJ/crEH0ogwQup1yWQkO45zOQsycNXN5by1XBmD5V8sCSM TySfiWJBl++wz/DV1bBa3egS8C1EEM6yV9Usch3bzGb5PlnYmZkoITfI/KEWx7EaVAPW R5IDPAQqVas8/Ob6tWtP36ulJj0KVq4LBd14bXwjzd+Em0uG3PnwmxHFTD7dwUSJdgVx 59f00OdbOaJji3Tn0AvssgbljB0KmapJim2ngiNQJN8CuSEX/rUneBpjqCSS4zgI0mEN lsag== X-Gm-Message-State: AFqh2kpavZDnhqbjR1DFiAy9d4j+NHdX7vUJ7/X4/EkRmReQVQHp+mLh IZ9LTC+yTEQCn3aVwAUHu/0fpBKdmOAeOr8e X-Google-Smtp-Source: AMrXdXux6zF6MLrWxlaeY8x7+BAouO3WQ2wQ9/XfTYYNIY/AD3jfu9eSJqCmPUaBcatlaXL0v/44lg== X-Received: by 2002:a5d:4904:0:b0:2a6:caa0:f230 with SMTP id x4-20020a5d4904000000b002a6caa0f230mr21955179wrq.66.1673624772696; Fri, 13 Jan 2023 07:46:12 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 08/46] hw/mips/gt64xxx_pci: Add a 'cpu-little-endian' qdev property Date: Fri, 13 Jan 2023 16:44:54 +0100 Message-Id: <20230113154532.49979-9-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=philmd@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673627058847100001 From: Philippe Mathieu-Daud=C3=A9 This device does not have to be TARGET-dependent. Add a 'cpu_big_endian' property which sets the byte-swapping options if required. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20221220113436.14299-5-philmd@linaro.org> Reviewed-by: Richard Henderson --- hw/mips/gt64xxx_pci.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/hw/mips/gt64xxx_pci.c b/hw/mips/gt64xxx_pci.c index 85bdf5279c..79c15a5e3a 100644 --- a/hw/mips/gt64xxx_pci.c +++ b/hw/mips/gt64xxx_pci.c @@ -26,6 +26,7 @@ #include "qapi/error.h" #include "qemu/units.h" #include "qemu/log.h" +#include "hw/qdev-properties.h" #include "hw/registerfields.h" #include "hw/pci/pci_device.h" #include "hw/pci/pci_host.h" @@ -256,6 +257,9 @@ struct GT64120State { PCI_MAPPING_ENTRY(ISD); MemoryRegion pci0_mem; AddressSpace pci0_mem_as; + + /* properties */ + bool cpu_little_endian; }; =20 /* Adjust range to avoid touching space which isn't mappable via PCI */ @@ -1035,16 +1039,11 @@ static const MemoryRegionOps isd_mem_ops =3D { static void gt64120_reset(DeviceState *dev) { GT64120State *s =3D GT64120_PCI_HOST_BRIDGE(dev); -#if TARGET_BIG_ENDIAN - bool cpu_little_endian =3D false; -#else - bool cpu_little_endian =3D true; -#endif =20 /* FIXME: Malta specific hw assumptions ahead */ =20 /* CPU Configuration */ - s->regs[GT_CPU] =3D cpu_little_endian ? R_GT_CPU_Endianness_MASK : 0; + s->regs[GT_CPU] =3D s->cpu_little_endian ? R_GT_CPU_Endianness_MASK : = 0; s->regs[GT_MULTI] =3D 0x00000003; =20 /* CPU Address decode */ @@ -1151,7 +1150,7 @@ static void gt64120_reset(DeviceState *dev) s->regs[GT_TC_CONTROL] =3D 0x00000000; =20 /* PCI Internal */ - s->regs[GT_PCI0_CMD] =3D cpu_little_endian ? R_GT_PCI0_CMD_ByteSwap_MA= SK : 0; + s->regs[GT_PCI0_CMD] =3D s->cpu_little_endian ? R_GT_PCI0_CMD_ByteSwap= _MASK : 0; s->regs[GT_PCI0_TOR] =3D 0x0000070f; s->regs[GT_PCI0_BS_SCS10] =3D 0x00fff000; s->regs[GT_PCI0_BS_SCS32] =3D 0x00fff000; @@ -1168,7 +1167,7 @@ static void gt64120_reset(DeviceState *dev) s->regs[GT_PCI0_SSCS10_BAR] =3D 0x00000000; s->regs[GT_PCI0_SSCS32_BAR] =3D 0x01000000; s->regs[GT_PCI0_SCS3BT_BAR] =3D 0x1f000000; - s->regs[GT_PCI1_CMD] =3D cpu_little_endian ? R_GT_PCI1_CMD_ByteSwap_MA= SK : 0; + s->regs[GT_PCI1_CMD] =3D s->cpu_little_endian ? R_GT_PCI1_CMD_ByteSwap= _MASK : 0; s->regs[GT_PCI1_TOR] =3D 0x0000070f; s->regs[GT_PCI1_BS_SCS10] =3D 0x00fff000; s->regs[GT_PCI1_BS_SCS32] =3D 0x00fff000; @@ -1262,11 +1261,18 @@ static const TypeInfo gt64120_pci_info =3D { }, }; =20 +static Property gt64120_properties[] =3D { + DEFINE_PROP_BOOL("cpu-little-endian", GT64120State, + cpu_little_endian, !TARGET_BIG_ENDIAN), + DEFINE_PROP_END_OF_LIST(), +}; + static void gt64120_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); + device_class_set_props(dc, gt64120_properties); dc->realize =3D gt64120_realize; dc->reset =3D gt64120_reset; dc->vmsd =3D &vmstate_gt64120; --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673625932; cv=none; d=zohomail.com; s=zohoarc; b=QzSAgyJkb4th48EIapj1d9tBiWi8NhWBuTMZw8N+Gu3DQdtrT8pj3I4gZTQI+wwcPMDXGuU6CAIVRMjsBD+ciXiIzhFs+/6zGaKQA7snGdk2I3Cx9lndkSydTHXxXIZi7TntYP8rjLgm7TU1VECVXm4WEOUiTd2yGGbA4UY0/Hc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673625932; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GKmMPSZpu0s5Io751sC2xrOw1/RiRYL5xp96bZDv0UU=; b=QOg3MEq7S8B02t4lEI/giNysf5D+jJGXaDWaW2MmE36m6LtAlvDINMI8Wealev6o/S/tHVssZI5siqGwsku5ER3Cbxju1/FhMzFOW3fakV41nvCGNTjFnBdBvtZ0a9yMx1znSUN3DH4PQL+9QMRO21SlkBs9XhiwmH9NqL5oPGA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673625932922169.03283650790684; Fri, 13 Jan 2023 08:05:32 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGV-0001oo-8N; Fri, 13 Jan 2023 10:46:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMG5-0001aH-Ba for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:25 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMG3-00064c-Mb for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:21 -0500 Received: by mail-wm1-x331.google.com with SMTP id bg13-20020a05600c3c8d00b003d9712b29d2so19074191wmb.2 for ; Fri, 13 Jan 2023 07:46:18 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id hg9-20020a05600c538900b003cfa622a18asm29156461wmb.3.2023.01.13.07.46.16 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:46:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GKmMPSZpu0s5Io751sC2xrOw1/RiRYL5xp96bZDv0UU=; b=GxbnCbztQtwYQgRVOWksMajIiZ7n8foHN3l8FPA+cqSteXMTf6VWdaVSjzbVepDRb1 fudaRFXHDMT+Qx1yqkgCG7rEnR1CGQPrwL3z02GwA5Kj11VPwJVtSqghL1nWLG9gRuLi 9LHqEtt+gVeYi/b7xdasoZWIcH8syxf48bJgqOcqb1DKe34jPfX7laX9NcyEgVk4tedU JFG1AZuG/otfljNxorDURmh3Sq0fSwDPFOpwQDkpQ1cqUDempaTI858rUy89yJp4ENh/ BenBJI3hoEg6uyz/58FY1+IveKCANOGHmu1W7zBL1zTZ53BeFq5kG7+abuHJopcTdi1j 5svg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GKmMPSZpu0s5Io751sC2xrOw1/RiRYL5xp96bZDv0UU=; b=El49/5RW5PbLm35aVautEkJ8LTqRU9lvsfXCGQEsE54T8BhLb5cOjE3VR2fXLKA9Mu Xc0sjaVyDZltWjqev2LqGThkVI+bUoBC04RYy/D1kGG3vMYWNP8/ikvcFDLoXcXi57Oq OaNqJ1J/IcPiWaKsxTIXX1X0lWDkzhVwh+K6aUPoKYdE4bjyr7UIVcssGTGf7dzBltXk z9QaJxKf6HBbqDWWTZnYFl8XKyw/i2OzVVp/LTXVbEnEBGa0ojRBrCCxM2BwRAjy8DVr Zb32fxHH1pxvvHVHYE0IhcXi5ND43dHTkATfnPuyXZC47kucgwtHPbjc1zYH7Vu3LTqg g2ag== X-Gm-Message-State: AFqh2koeo9URpXHxOWi96XPWBf5CPnaD13zVPUvELdXcIT1EKE6LrM2P rVf63mzmn9My8qf2lkaZiCfQMIJDhWkhc+fk X-Google-Smtp-Source: AMrXdXvgkg64dbNPADQhZyGapBtoTzUxCsTSuzpRcxho7jJwSppLMBr4m9YgPY7nno/Dg4GrSKEBzA== X-Received: by 2002:a05:600c:3d0e:b0:3d3:4aa6:4fd0 with SMTP id bh14-20020a05600c3d0e00b003d34aa64fd0mr59180465wmb.6.1673624777378; Fri, 13 Jan 2023 07:46:17 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 09/46] hw/mips/malta: Explicit GT64120 endianness upon device creation Date: Fri, 13 Jan 2023 16:44:55 +0100 Message-Id: <20230113154532.49979-10-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673625933992100001 Propagate the controller endianess from the machine, setting the "cpu-little-endian" property. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20221209151533.69516-6-philmd@linaro.org> Reviewed-by: Richard Henderson --- hw/mips/malta.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index c8fc420e4f..f959bce673 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -1396,7 +1396,9 @@ void mips_malta_init(MachineState *machine) stl_p(memory_region_get_ram_ptr(bios_copy) + 0x10, 0x00000420); =20 /* Northbridge */ - dev =3D sysbus_create_simple("gt64120", -1, NULL); + dev =3D qdev_new("gt64120"); + qdev_prop_set_bit(dev, "cpu-little-endian", !be); + sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); pci_bus =3D PCI_BUS(qdev_get_child_bus(dev, "pci")); =20 /* Southbridge */ --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673628557; cv=none; d=zohomail.com; s=zohoarc; b=CvjbEixOyVXs79s+KTAZI8hmBk+DVSZVv2q5L6t0oLLd8KcBw2B8JW0oC6w2ShPax3+KViySA+jtMUHK3b0ROJGbDlU5dqquAnZxKvP3u8O1lYEAwUldNXhttoqPPalqOYJu+jC5So9fPmvUO2eYpz7FJ5u6z16fwzSp/ZNU/wo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673628557; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=cYKnpcqtl1IesJfxp1MkApNk/L1MdcSC7q7TRVPYdkk=; b=D7byhkAqeHwQ5ckh50WwF4msE+baK79JK2iBPHQveVJcUjWT+yrXoox/0ScueLvMeyAcMJvw5v73vZE5j2+bYo+Hwkb8ERHv0G/PgCsxwmqwjCojnkV8VPH8V/W9Uad/630aiafiYwYTI0erAa+5XmsjFQLvhgSiLTCkD1gLMFU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673628557659120.50715742509044; Fri, 13 Jan 2023 08:49:17 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGW-0001pF-5e; Fri, 13 Jan 2023 10:46:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMGB-0001cM-E8 for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:32 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMG9-00066B-OO for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:27 -0500 Received: by mail-wr1-x433.google.com with SMTP id bs20so21461803wrb.3 for ; Fri, 13 Jan 2023 07:46:23 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id k5-20020adfd845000000b002bdd96d88b4sm3758850wrl.75.2023.01.13.07.46.21 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:46:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cYKnpcqtl1IesJfxp1MkApNk/L1MdcSC7q7TRVPYdkk=; b=UAPRGsm4Gn9yS+aDTyVl7MuE17S+rGvaGc2Cps/J8ZGPAuSbelKh0B5mdqN86dbCER 203Y0kmqinvAZ24rIW1rvzB9tBREYvQSUHUd7bwpyLunqBDS4+Ueqk0AUli76VO7nK6V 4DE54Y0csDUvjVTI+aO1ex8Tuouu7NTFlajrtecWcVJzQw6kW/a8K7RpL6oeJtLScLbY wncL2MRXx4gub0D0Rv5BcQmqAU7cAwUgYQxrahDx2BPxkdrK462PMPcUWdi+568xZsXI zI06q0z14RXqSmshp9ztPC+icGLHWnPhIXJ4W2CfNikfzqPEm2Q58+E5afXOV+fWBVzG C/GA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cYKnpcqtl1IesJfxp1MkApNk/L1MdcSC7q7TRVPYdkk=; b=XMe6vI9OUtsS3hC/e3aIIQVsRNJD3WBElmFN6cbreFSxTdEGKp7p3wTvQkYuaabFuj tu/pZcy2WrV25WWzyWkrjTzhG8UWLawAucctqgjZYjLf+0EHhbRzlElcTc4Z1lWOGZqH 9inH8L+2H4H/L0Wo6efvuUZ25nKbKXDAMt3G6m0eplfkd77oGOf7SPfO4YDN6IkklZ0u PLI5ewcSs+QWm7MUHHPvPceztkPwmOEj03/48CZWQ4jrOeYMfaTPckn6Khgw963mVhld QPP/hs0e6UGMF0YYkjhUXf9N3UPv2QT2335MrDxCedeZXphXuYmVlLtYl/BaEdn5p0/a YnAw== X-Gm-Message-State: AFqh2kpLoV4Xzjg2ekbWafTuX9nQCLxXWAR40THwaLacLHQLpzjN+CGq 7v3Ff0QE4/wREpnKJvJU/blpGI2BWEoP3lzL X-Google-Smtp-Source: AMrXdXuY9XYo7+eYzJIVrGpmlIRzukhvAS4N1+M+jgPik0LBVDehMx0HEVi3XT064LZc5olkW19PmQ== X-Received: by 2002:a5d:44c9:0:b0:2bb:dc8e:3d5f with SMTP id z9-20020a5d44c9000000b002bbdc8e3d5fmr18504303wrr.67.1673624782221; Fri, 13 Jan 2023 07:46:22 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 10/46] hw/mips/meson: Make gt64xxx_pci.c endian-agnostic Date: Fri, 13 Jan 2023 16:44:56 +0100 Message-Id: <20230113154532.49979-11-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=philmd@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673628559588100001 From: Philippe Mathieu-Daud=C3=A9 The single machine using this device explicitly sets its endianness. We don't need to set a default. This allow us to remove the target specificity from the build system. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20221209151533.69516-7-philmd@linaro.org> Reviewed-by: Richard Henderson --- hw/mips/gt64xxx_pci.c | 2 +- hw/mips/meson.build | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/mips/gt64xxx_pci.c b/hw/mips/gt64xxx_pci.c index 79c15a5e3a..f226d03420 100644 --- a/hw/mips/gt64xxx_pci.c +++ b/hw/mips/gt64xxx_pci.c @@ -1263,7 +1263,7 @@ static const TypeInfo gt64120_pci_info =3D { =20 static Property gt64120_properties[] =3D { DEFINE_PROP_BOOL("cpu-little-endian", GT64120State, - cpu_little_endian, !TARGET_BIG_ENDIAN), + cpu_little_endian, false), DEFINE_PROP_END_OF_LIST(), }; =20 diff --git a/hw/mips/meson.build b/hw/mips/meson.build index 6ccd385df0..152103f15f 100644 --- a/hw/mips/meson.build +++ b/hw/mips/meson.build @@ -3,7 +3,7 @@ mips_ss.add(files('bootloader.c', 'mips_int.c')) mips_ss.add(when: 'CONFIG_FW_CFG_MIPS', if_true: files('fw_cfg.c')) mips_ss.add(when: 'CONFIG_LOONGSON3V', if_true: files('loongson3_bootp.c',= 'loongson3_virt.c')) mips_ss.add(when: 'CONFIG_MALTA', if_true: files('malta.c')) -mips_ss.add(when: 'CONFIG_GT64120', if_true: files('gt64xxx_pci.c')) +softmmu_ss.add(when: 'CONFIG_GT64120', if_true: files('gt64xxx_pci.c')) mips_ss.add(when: 'CONFIG_MIPS_CPS', if_true: files('cps.c')) =20 if 'CONFIG_TCG' in config_all --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673628099; cv=none; d=zohomail.com; s=zohoarc; b=dhvhjwNLv8/BoYU6PWv9gBF4VUotffZCZ/Q0msuDpKfAsRnWbyR0vq/S50gHIQmsqKhs7MutFqCis0L2jPNRcQnjIUVa+no6zpBFDI6GnwBRQxYxbEf6GUSK2zQXV9Dj+RD45DCPMBSRIzMp6r7V5d+/9BVaU1wl4HzthSVDgUc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673628099; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Yelke7zGVGxtCJv6hIoquQumyPLK+LvkoIli13Jmif4=; b=M4zUqwGeE9Ia81IqgQHoNLVkTfSCBZ1xoMDwq90N9gSsJXVFpzd1OWQvUQCHh+Ok7B91UGr8xbnwhaTIoyvcF/gWXiLRm+1Ifv05MZjnaJ9aQSK4qsiTeevex7XE7DzO8Gezimoyx6VP8CTM/0VRXtUpBV286n5F6QzD3l4Fuj8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673628099350480.5626354092973; Fri, 13 Jan 2023 08:41:39 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGX-0001q0-18; Fri, 13 Jan 2023 10:46:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMGJ-0001ho-MM for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:37 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMGF-000688-VE for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:34 -0500 Received: by mail-wm1-x32e.google.com with SMTP id z8-20020a05600c220800b003d33b0bda11so1157901wml.0 for ; Fri, 13 Jan 2023 07:46:29 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id r16-20020a05600c35d000b003d2157627a8sm32286830wmq.47.2023.01.13.07.46.26 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:46:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Yelke7zGVGxtCJv6hIoquQumyPLK+LvkoIli13Jmif4=; b=fiM4eVfgp4fVpa1iB05bOXu7MABPlV9GAxGX1YfylOkjN5heP6CVwX69T8A8Q3pKyl tXZjVU5NrlS71U9L3hXpFkCkdu979qYEvha8XQMH2Gvg1kXJKZj6N1ow8sJKpp7qpCXf 1sYUDUigwmzweLarl8w3yYmXCMTMAZQPnL7KHA9TArfaJMgSAeAPjFL8tbZavES1/LmZ 9G9TvJdMenbP2VhCoalGgCIrBF9d7kQ9zxETcS4p/mu+Vh4UBBNyu1h1pNaOPiBtasEd 7loXOfoeCjpfqc9qo3p0BUIbr6deuvSy8CRVF2XUdwwmaYVHKdvzBeg2kU3cbgmJ9+fB 4uZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Yelke7zGVGxtCJv6hIoquQumyPLK+LvkoIli13Jmif4=; b=1rpcQrvfv7pCJejWl90Hzwf7KqzNF9cbqKT9J/gOZtdkPbqyg0LVdrPSwivfe4BdW+ XzbLeLYtbmPQNzArqPobGiDLdW4mYL/3S/vw6HOTlCyzJPXRFzr7mbfLqcg/8sV5tK7K p8sOd6DwY52ecmteVFL+FVkyQfVQu/+710NbXupJdCOFRtcbqUYn3kl+q9hW+uWh0bzQ rLNEKcP/eifWNSFR4tfXM75eBf+Yh6B+wJy0nvcRRyXYMXHNet1nJpk1+YDKjByrptPM 4wp0SesnTsKqEi9nTTGKf1UDf1CiXSbMDfFintSL9g3xbHwReUXwmEnwlofOpTvPF0nU 6SZw== X-Gm-Message-State: AFqh2koRGRJpqKzz4B3ThV4DZ9Wz0T++MIwmu3hwQkJjlZk0BWSQWcZs 6yLMYvY2T1ViQiARSqapuowDaKsX2N1J8zq+ X-Google-Smtp-Source: AMrXdXugMdXf8e1PmDFP5k7Ie7GnYef9LkMGNaTn6RUutLIB9ymjcwm2dJucB4S0DtGXOyGKubpeFg== X-Received: by 2002:a05:600c:19cb:b0:3da:db4:6105 with SMTP id u11-20020a05600c19cb00b003da0db46105mr7565385wmq.37.1673624787474; Fri, 13 Jan 2023 07:46:27 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 11/46] hw/mips/gt64xxx_pci: Move it to hw/pci-host/ Date: Fri, 13 Jan 2023 16:44:57 +0100 Message-Id: <20230113154532.49979-12-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673628100342100001 The GT-64120 is a north-bridge, and it is not MIPS specific. Move it with the other north-bridge devices. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20221209151533.69516-8-philmd@linaro.org> Reviewed-by: Richard Henderson --- MAINTAINERS | 2 +- hw/mips/Kconfig | 6 ------ hw/mips/meson.build | 1 - hw/mips/trace-events | 7 ------- hw/pci-host/Kconfig | 6 ++++++ hw/{mips/gt64xxx_pci.c =3D> pci-host/gt64120.c} | 0 hw/pci-host/meson.build | 1 + hw/pci-host/trace-events | 7 +++++++ 8 files changed, 15 insertions(+), 15 deletions(-) rename hw/{mips/gt64xxx_pci.c =3D> pci-host/gt64120.c} (100%) diff --git a/MAINTAINERS b/MAINTAINERS index 5606e5dbd2..a670fbc926 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1241,7 +1241,7 @@ S: Odd Fixes F: hw/isa/piix4.c F: hw/acpi/piix4.c F: hw/mips/malta.c -F: hw/mips/gt64xxx_pci.c +F: hw/pci-host/gt64120.c F: include/hw/southbridge/piix.h F: tests/avocado/linux_ssh_mips_malta.py F: tests/avocado/machine_mips_malta.py diff --git a/hw/mips/Kconfig b/hw/mips/Kconfig index 8f7bce38fb..7a55143f8a 100644 --- a/hw/mips/Kconfig +++ b/hw/mips/Kconfig @@ -60,9 +60,3 @@ config MIPS_BOSTON =20 config FW_CFG_MIPS bool - -config GT64120 - bool - select PCI - select EMPTY_SLOT - select I8259 diff --git a/hw/mips/meson.build b/hw/mips/meson.build index 152103f15f..900613fc08 100644 --- a/hw/mips/meson.build +++ b/hw/mips/meson.build @@ -3,7 +3,6 @@ mips_ss.add(files('bootloader.c', 'mips_int.c')) mips_ss.add(when: 'CONFIG_FW_CFG_MIPS', if_true: files('fw_cfg.c')) mips_ss.add(when: 'CONFIG_LOONGSON3V', if_true: files('loongson3_bootp.c',= 'loongson3_virt.c')) mips_ss.add(when: 'CONFIG_MALTA', if_true: files('malta.c')) -softmmu_ss.add(when: 'CONFIG_GT64120', if_true: files('gt64xxx_pci.c')) mips_ss.add(when: 'CONFIG_MIPS_CPS', if_true: files('cps.c')) =20 if 'CONFIG_TCG' in config_all diff --git a/hw/mips/trace-events b/hw/mips/trace-events index b5b882c6c2..4a4e5fe1a1 100644 --- a/hw/mips/trace-events +++ b/hw/mips/trace-events @@ -1,10 +1,3 @@ -# gt64xxx_pci.c -gt64120_read(uint64_t addr, uint64_t value) "gt64120 read 0x%03"PRIx64" va= lue:0x%08" PRIx64 -gt64120_write(uint64_t addr, uint64_t value) "gt64120 write 0x%03"PRIx64" = value:0x%08" PRIx64 -gt64120_read_intreg(const char *regname, unsigned size, uint64_t value) "g= t64120 read %s size:%u value:0x%08" PRIx64 -gt64120_write_intreg(const char *regname, unsigned size, uint64_t value) "= gt64120 write %s size:%u value:0x%08" PRIx64 -gt64120_isd_remap(uint64_t from_length, uint64_t from_addr, uint64_t to_le= ngth, uint64_t to_addr) "ISD: 0x%08" PRIx64 "@0x%08" PRIx64 " -> 0x%08" PRI= x64 "@0x%08" PRIx64 - # malta.c malta_fpga_leds(const char *text) "LEDs %s" malta_fpga_display(const char *text) "ASCII '%s'" diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig index 38fd2ee8f3..a07070eddf 100644 --- a/hw/pci-host/Kconfig +++ b/hw/pci-host/Kconfig @@ -81,3 +81,9 @@ config MV64361 config DINO bool select PCI + +config GT64120 + bool + select PCI + select EMPTY_SLOT + select I8259 diff --git a/hw/mips/gt64xxx_pci.c b/hw/pci-host/gt64120.c similarity index 100% rename from hw/mips/gt64xxx_pci.c rename to hw/pci-host/gt64120.c diff --git a/hw/pci-host/meson.build b/hw/pci-host/meson.build index e832babc9d..9a813d552e 100644 --- a/hw/pci-host/meson.build +++ b/hw/pci-host/meson.build @@ -1,6 +1,7 @@ pci_ss =3D ss.source_set() pci_ss.add(when: 'CONFIG_PAM', if_true: files('pam.c')) pci_ss.add(when: 'CONFIG_PCI_BONITO', if_true: files('bonito.c')) +pci_ss.add(when: 'CONFIG_GT64120', if_true: files('gt64120.c')) pci_ss.add(when: 'CONFIG_PCI_EXPRESS_DESIGNWARE', if_true: files('designwa= re.c')) pci_ss.add(when: 'CONFIG_PCI_EXPRESS_GENERIC_BRIDGE', if_true: files('gpex= .c')) pci_ss.add(when: ['CONFIG_PCI_EXPRESS_GENERIC_BRIDGE', 'CONFIG_ACPI'], if_= true: files('gpex-acpi.c')) diff --git a/hw/pci-host/trace-events b/hw/pci-host/trace-events index 437e66ff50..9d216bb89f 100644 --- a/hw/pci-host/trace-events +++ b/hw/pci-host/trace-events @@ -6,6 +6,13 @@ bonito_spciconf_small_access(uint64_t addr, unsigned size)= "PCI config address i # grackle.c grackle_set_irq(int irq_num, int level) "set_irq num %d level %d" =20 +# gt64120.c +gt64120_read(uint64_t addr, uint64_t value) "gt64120 read 0x%03"PRIx64" va= lue:0x%08" PRIx64 +gt64120_write(uint64_t addr, uint64_t value) "gt64120 write 0x%03"PRIx64" = value:0x%08" PRIx64 +gt64120_read_intreg(const char *regname, unsigned size, uint64_t value) "g= t64120 read %s size:%u value:0x%08" PRIx64 +gt64120_write_intreg(const char *regname, unsigned size, uint64_t value) "= gt64120 write %s size:%u value:0x%08" PRIx64 +gt64120_isd_remap(uint64_t from_length, uint64_t from_addr, uint64_t to_le= ngth, uint64_t to_addr) "ISD: 0x%08" PRIx64 "@0x%08" PRIx64 " -> 0x%08" PRI= x64 "@0x%08" PRIx64 + # mv64361.c mv64361_region_map(const char *name, uint64_t poffs, uint64_t size, uint64= _t moffs) "Mapping %s 0x%"PRIx64"+0x%"PRIx64" @ 0x%"PRIx64 mv64361_region_enable(const char *op, int num) "Should %s region %d" --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673627379; cv=none; d=zohomail.com; s=zohoarc; b=A4qgnhXeggbvJR7f+/pke8wCqzi8j5qt+4z/YBkr2Dap2DfkLxNSgBi1s6spanCb+kLEY3QuSEAHnldstagQiY7JUPil6X670VffbrYTD+0BnHe5lnTsFYVXL3PQGa2lEbQTBM5r3UDBIfh1PoqJ17OWS8fKfrpcdLrTZXZ042c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673627379; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=T3G7QMmtWQGs6Pv27KQ4kq/TbMIOtKy3Cuo5JWRlvQY=; b=Wb5yw0XCjSMjBJ0WLZUrrnbIR2K/ubBPncjqGTy4/e++CjInElBLs/G14PFlmSgCOhQ/GyJx/vApN4QvOJjInBuBR3JHKCx2FTxf6JJq8vQoNOMISohZoeQjmKrTEBDLNGFGOIrAlejXddz7rGKokbvuXR18G/C0JlmoAv1kPrQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 16736273791584.869938475553795; Fri, 13 Jan 2023 08:29:39 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGZ-0001sG-Rv; Fri, 13 Jan 2023 10:46:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMGL-0001i0-DO for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:37 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMGJ-00069h-Cj for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:37 -0500 Received: by mail-wr1-x436.google.com with SMTP id h16so21446871wrz.12 for ; Fri, 13 Jan 2023 07:46:33 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id g2-20020a5d4882000000b00286ad197346sm19246972wrq.70.2023.01.13.07.46.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:46:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=T3G7QMmtWQGs6Pv27KQ4kq/TbMIOtKy3Cuo5JWRlvQY=; b=XHeOo+CcBaz9HBgvESunDcN1mK8nyZMgc8uxOvQ6GvZ7KxxheM/hDTYwcuIaXwvYqC jIEz2u01mdnhWEQ1yOFr9m/8gt3WzGi3Ars1NzbhWLdXz3tPAToTqJ2GGFEvrje3n9ND BK+MgpVMxG97csGm6SClLsXeRXxDHhSShtroL6QDjKV3hqY16Z0CdJAxS72MW9eTiVHl e4JSBvbRQsE02xN78ounaFj/+/xJLHdS5GutciHTK5M1f1nB0U/CxyYeNnY8tpeZUZoh XgwteH9Z/slUErn5XwCNBj369WPIeahQIxOwj7cu5aPsMc4q5yZSgx3rZ2i8QkOdVSAE ktBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=T3G7QMmtWQGs6Pv27KQ4kq/TbMIOtKy3Cuo5JWRlvQY=; b=S2pEtf9AKteVs6S34XJNGjTc1nf3St/GT98+QEaLrL7MDXBjt+mTZjsyRLGcrz0JYT LoW+DTI9/a17XI599H3CLZiKUzgDsoGo7mJrTdIZq9qH6pySlea+A49yC83rd6tORfTt bvBAOVb7GZQpVE7o8ggpqHCzxT7UDzOzzqQlzeDy9iAk656jFbbz0/pPofJT98tWd/UQ tC6PLb9mltafvs1jQqNauRFZSLQIOeky+vXgBRLl0cH4wczD/1NwuLV7hLvB5fTUY0RU 1gI1w3858j/JnQPIie0ldmo1lX2z84kENdmtNaIBmRDtmctTnL0dom+LJvgH2xmF2pSP OjOg== X-Gm-Message-State: AFqh2kqPJxxxEdfxFQ5PfQgDZwjgd6MP/Oj51zmEyQHnT7k0wrArpBl7 vpy3uLZcyqMTUgQrlEyeC34xuJOsZNg/tCrs X-Google-Smtp-Source: AMrXdXsNet3egOiibvwliVAst7LW/MdK4a1k43Yul6vdJ7MIJQofWvBcumPZ9ndCJ+U8FkGlkgXWlA== X-Received: by 2002:a5d:640c:0:b0:29f:7c0c:5a46 with SMTP id z12-20020a5d640c000000b0029f7c0c5a46mr26090624wru.68.1673624792323; Fri, 13 Jan 2023 07:46:32 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 12/46] tests/avocado: Add tests booting YAMON ROM on MIPS Malta machines Date: Fri, 13 Jan 2023 16:44:58 +0100 Message-Id: <20230113154532.49979-13-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673627379915100001 Add quick tests booting YAMON: $ avocado --show=3Dapp,console run -t machine:malta tests/avocado/machine= _mips_malta.py (1/2) tests/avocado/machine_mips_malta.py:MaltaMachine.test_mipsel_malta= _yamon: console: YAMON ROM Monitor, Revision 02.22. console: Copyright (c) 1999-2007 MIPS Technologies, Inc. - All Rights Res= erved. console: For a list of available commands, type 'help'. console: Compilation time =3D May 24 2013 12:16:34 (pburton) console: Board type/revision =3D 0x02 (Malta) / 0x00 console: Core board type/revision =3D 0x01 (CoreLV) / 0x00 console: System controller/revision =3D Galileo / GT_64120A-B-0 console: FPGA revision =3D 0x0000 console: MAC address =3D ff.ff.ff.ff.ff.ff console: Board S/N =3D 0123456789 console: PCI bus frequency =3D 33.33 MHz console: Processor Company ID/options =3D 0x01 (MIPS Technologies, Inc.)= / 0x00 console: Processor ID/revision =3D 0x93 (MIPS 24Kf) / 0x00 console: Endianness =3D Little console: CPU/Bus frequency =3D 333 MHz / 419 MHz console: Coherency =3D None console: Flash memory size =3D 4 MByte console: SDRAM size =3D 128 MByte console: First free SDRAM address =3D 0x800c32f0 console: WARNING: Environment variable flash area is invalid! console: HINT : Perform "erase -e" console: YAMON> PASS (1.88 s) (2/2) tests/avocado/machine_mips_malta.py:MaltaMachine.test_mips64el_mal= ta_yamon: ... console: System controller/revision =3D Galileo / GT_64120A-B-0 console: Processor Company ID/options =3D 0x01 (MIPS Technologies, Inc.)= / 0x00 console: Processor ID/revision =3D 0x82 (MIPS 20Kc) / 0xa0 ... console: YAMON> PASS (1.89 s) RESULTS : PASS 2 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | = CANCEL 0 JOB TIME : 4.57 s YAMON does some endian-swapped acceses on the ISD<->PCI CFG/DATA registers. These tests are useful to debug cross-endianness issues, in particular on big-endian host. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20230104133935.4639-7-philmd@linaro.org> --- tests/avocado/machine_mips_malta.py | 47 ++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/tests/avocado/machine_mips_malta.py b/tests/avocado/machine_mi= ps_malta.py index f1895d59f3..92233451c5 100644 --- a/tests/avocado/machine_mips_malta.py +++ b/tests/avocado/machine_mips_malta.py @@ -11,11 +11,13 @@ import gzip import logging =20 -from avocado import skipUnless -from avocado_qemu import QemuSystemTest -from avocado_qemu import wait_for_console_pattern -from avocado.utils import archive from avocado import skipIf +from avocado import skipUnless +from avocado.utils import archive +from avocado_qemu import QemuSystemTest +from avocado_qemu import exec_command_and_wait_for_pattern +from avocado_qemu import interrupt_interactive_console_until_pattern +from avocado_qemu import wait_for_console_pattern =20 =20 NUMPY_AVAILABLE =3D True @@ -118,3 +120,40 @@ def test_mips_malta_i6400_framebuffer_logo_8cores(self= ): :avocado: tags=3Dmips:smp """ self.do_test_i6400_framebuffer_logo(8) + +class MaltaMachine(QemuSystemTest): + + def do_test_yamon(self): + rom_url =3D ('http://www.imgtec.com/tools/mips-tools/downloads/' + 'yamon/yamon-bin-02.22.zip') + rom_hash =3D '8da7ecddbc5312704b8b324341ee238189bde480' + zip_path =3D self.fetch_asset(rom_url, asset_hash=3Drom_hash) + + archive.extract(zip_path, self.workdir) + yamon_path =3D os.path.join(self.workdir, 'yamon-02.22.bin') + + self.vm.set_console() + self.vm.add_args('-bios', yamon_path) + self.vm.launch() + + prompt =3D 'YAMON>' + pattern =3D 'YAMON ROM Monitor' + interrupt_interactive_console_until_pattern(self, pattern, prompt) + wait_for_console_pattern(self, prompt) + self.vm.shutdown() + + def test_mipsel_malta_yamon(self): + """ + :avocado: tags=3Darch:mipsel + :avocado: tags=3Dmachine:malta + :avocado: tags=3Dendian:little + """ + self.do_test_yamon() + + def test_mips64el_malta_yamon(self): + """ + :avocado: tags=3Darch:mips64el + :avocado: tags=3Dmachine:malta + :avocado: tags=3Dendian:little + """ + self.do_test_yamon() --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673627008; cv=none; d=zohomail.com; s=zohoarc; b=lLVhk3yHK9xKL7OxfLA1dWvK7/OPrNGAc280OqmrAnfk0FvmOy1emVeceNchUq8GS97Gd/OBquzMoqf/Y2WFRd1l6p84Utx1w2zmP9qlpLAFGHrS1B5ABeTYZFQKTTDyxB9yWdiZmF94r3s0wOqCu3bD7+espo0/5CLPo9SxcfE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673627008; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FnaB4clCbE9uvopcTUJEnBZ953UIAfNsnouP718za2w=; b=dPnh3uVaVBj+79wYXklOmP3w2DzyBdZNre5ju6Y3VFNbs6cN7AkuycahzsQsH4u7hJQ1gT5mrBRTOTG9xDFt3qs0Z/6Mj1cojXmU9Xule0S0CKYyYTYZUmWK37bhBhK6o3TcOUOXxf7tvT/AJ6N4+Iwk5lhq2JggtrUjW8oe1Do= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673627008648878.9203986999412; Fri, 13 Jan 2023 08:23:28 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGV-0001os-Bk; Fri, 13 Jan 2023 10:46:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMGP-0001md-7i for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:44 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMGM-0006An-Io for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:40 -0500 Received: by mail-wm1-x331.google.com with SMTP id c4-20020a1c3504000000b003d9e2f72093so14238121wma.1 for ; Fri, 13 Jan 2023 07:46:38 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id m18-20020a05600c4f5200b003c71358a42dsm40091998wmq.18.2023.01.13.07.46.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:46:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FnaB4clCbE9uvopcTUJEnBZ953UIAfNsnouP718za2w=; b=xq0DinAzMYrsRXeLPQqe13D5LbC+5r9NcDMrECAwcqiqCc8bqrGwispdR+AKWfS2A7 AE3j8bjWvTH0quKZ3p1t83s3HGUcJTwPh1c5JkgbD+vZszbId3d0+6AK+5GuTwIC7LhX xaUTKKQNk9TqPxMAk+funWD4IkMW237FyqbQ35TyS/8BjT2m+mS/XxnIU8cv0dA21u8R 6YFSVcXGGAD7Py3rJS2y4PokJ4XMPFxuk0JsiYaQWntdhyhBZRTn7ozPf2SW4j5G4vKJ sLZb6Mo2YtWuJxRm6RWWHDNhGDcdkh2tOfvd96NohQ9S9AhtbnPq69eCWP6cuq2FoYN8 YVRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FnaB4clCbE9uvopcTUJEnBZ953UIAfNsnouP718za2w=; b=7YwmbnH3bOASXuEevP1bU8xE5xfoknaDQriHro7kLjxlLmkfpwD8nd1ZiO14MGSNBp n7KtH5y6NwyRqps7+GrFdNZPJ7ZVgzOBmUxlaLrWrxa+QRIG5z8Qpxvc6H4d/9Tx9mPG eNwOoKyyiDTdFhVbUIpA+QdNyo4xumOOZne39ejaU+i1jjqd/we+t1qeRA0s8FFto7qN 0JjLoI6gPxEZnHOneWoSKwXocTqBLCx+/LjKTjhENToqOA9s86hK9ehr6UFRxTDvzYex /yb3d/r2EAeE6kuZLBuKRezcIVghtW3bDscwayeTfltpi15QosnpAqbTvMh2fqN++WFJ UHQQ== X-Gm-Message-State: AFqh2kosbtDuu1nxeSHoCbhYx0ctCF3NdTTBGF4Igo/h0pi44Wlrzecx av0QtFZ1e9FcUQRUMJpG57TnrQUmTjYooaJw X-Google-Smtp-Source: AMrXdXtSlI5gp9eMMmSj2PGhp6ZUctrjGnG8ZDimzpaN58w9d+mQJIoVU1GWHaie68py1H9HEfCrHA== X-Received: by 2002:a05:600c:2d07:b0:3cf:497c:c59e with SMTP id x7-20020a05600c2d0700b003cf497cc59emr187236wmf.6.1673624797062; Fri, 13 Jan 2023 07:46:37 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 13/46] hw/mips/bootloader: Handle buffers as opaque arrays Date: Fri, 13 Jan 2023 16:44:59 +0100 Message-Id: <20230113154532.49979-14-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673627010492100003 It is irrelevant to the API what the buffers to fill are made of. In particular, some MIPS ISA have 16-bit wide instructions. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20221211204533.85359-2-philmd@linaro.org> --- hw/mips/bootloader.c | 55 +++++++++++++++++++++--------------- hw/mips/boston.c | 2 +- hw/mips/fuloong2e.c | 2 +- hw/mips/malta.c | 19 +++++++------ include/hw/mips/bootloader.h | 10 +++---- 5 files changed, 50 insertions(+), 38 deletions(-) diff --git a/hw/mips/bootloader.c b/hw/mips/bootloader.c index f5f42f2bf2..21ffd4d772 100644 --- a/hw/mips/bootloader.c +++ b/hw/mips/bootloader.c @@ -55,16 +55,20 @@ static bool bootcpu_supports_isa(uint64_t isa_mask) } =20 /* Base types */ -static void bl_gen_nop(uint32_t **p) +static void bl_gen_nop(void **ptr) { - stl_p(*p, 0); - *p =3D *p + 1; + uint32_t *p =3D *ptr; + + stl_p(p, 0); + p++; + *ptr =3D p; } =20 -static void bl_gen_r_type(uint32_t **p, uint8_t opcode, +static void bl_gen_r_type(void **ptr, uint8_t opcode, bl_reg rs, bl_reg rt, bl_reg rd, uint8_t shift, uint8_t funct) { + uint32_t *p =3D *ptr; uint32_t insn =3D 0; =20 insn =3D deposit32(insn, 26, 6, opcode); @@ -74,13 +78,16 @@ static void bl_gen_r_type(uint32_t **p, uint8_t opcode, insn =3D deposit32(insn, 6, 5, shift); insn =3D deposit32(insn, 0, 6, funct); =20 - stl_p(*p, insn); - *p =3D *p + 1; + stl_p(p, insn); + p++; + + *ptr =3D p; } =20 -static void bl_gen_i_type(uint32_t **p, uint8_t opcode, +static void bl_gen_i_type(void **ptr, uint8_t opcode, bl_reg rs, bl_reg rt, uint16_t imm) { + uint32_t *p =3D *ptr; uint32_t insn =3D 0; =20 insn =3D deposit32(insn, 26, 6, opcode); @@ -88,12 +95,14 @@ static void bl_gen_i_type(uint32_t **p, uint8_t opcode, insn =3D deposit32(insn, 16, 5, rt); insn =3D deposit32(insn, 0, 16, imm); =20 - stl_p(*p, insn); - *p =3D *p + 1; + stl_p(p, insn); + p++; + + *ptr =3D p; } =20 /* Single instructions */ -static void bl_gen_dsll(uint32_t **p, bl_reg rd, bl_reg rt, uint8_t sa) +static void bl_gen_dsll(void **p, bl_reg rd, bl_reg rt, uint8_t sa) { if (bootcpu_supports_isa(ISA_MIPS3)) { bl_gen_r_type(p, 0, 0, rt, rd, sa, 0x38); @@ -102,28 +111,28 @@ static void bl_gen_dsll(uint32_t **p, bl_reg rd, bl_r= eg rt, uint8_t sa) } } =20 -static void bl_gen_jalr(uint32_t **p, bl_reg rs) +static void bl_gen_jalr(void **p, bl_reg rs) { bl_gen_r_type(p, 0, rs, 0, BL_REG_RA, 0, 0x09); } =20 -static void bl_gen_lui(uint32_t **p, bl_reg rt, uint16_t imm) +static void bl_gen_lui(void **p, bl_reg rt, uint16_t imm) { /* R6: It's a alias of AUI with RS =3D 0 */ bl_gen_i_type(p, 0x0f, 0, rt, imm); } =20 -static void bl_gen_ori(uint32_t **p, bl_reg rt, bl_reg rs, uint16_t imm) +static void bl_gen_ori(void **p, bl_reg rt, bl_reg rs, uint16_t imm) { bl_gen_i_type(p, 0x0d, rs, rt, imm); } =20 -static void bl_gen_sw(uint32_t **p, bl_reg rt, uint8_t base, uint16_t offs= et) +static void bl_gen_sw(void **p, bl_reg rt, uint8_t base, uint16_t offset) { bl_gen_i_type(p, 0x2b, base, rt, offset); } =20 -static void bl_gen_sd(uint32_t **p, bl_reg rt, uint8_t base, uint16_t offs= et) +static void bl_gen_sd(void **p, bl_reg rt, uint8_t base, uint16_t offset) { if (bootcpu_supports_isa(ISA_MIPS3)) { bl_gen_i_type(p, 0x3f, base, rt, offset); @@ -133,13 +142,13 @@ static void bl_gen_sd(uint32_t **p, bl_reg rt, uint8_= t base, uint16_t offset) } =20 /* Pseudo instructions */ -static void bl_gen_li(uint32_t **p, bl_reg rt, uint32_t imm) +static void bl_gen_li(void **p, bl_reg rt, uint32_t imm) { bl_gen_lui(p, rt, extract32(imm, 16, 16)); bl_gen_ori(p, rt, rt, extract32(imm, 0, 16)); } =20 -static void bl_gen_dli(uint32_t **p, bl_reg rt, uint64_t imm) +static void bl_gen_dli(void **p, bl_reg rt, uint64_t imm) { bl_gen_li(p, rt, extract64(imm, 32, 32)); bl_gen_dsll(p, rt, rt, 16); @@ -148,7 +157,7 @@ static void bl_gen_dli(uint32_t **p, bl_reg rt, uint64_= t imm) bl_gen_ori(p, rt, rt, extract64(imm, 0, 16)); } =20 -static void bl_gen_load_ulong(uint32_t **p, bl_reg rt, target_ulong imm) +static void bl_gen_load_ulong(void **p, bl_reg rt, target_ulong imm) { if (bootcpu_supports_isa(ISA_MIPS3)) { bl_gen_dli(p, rt, imm); /* 64bit */ @@ -158,14 +167,14 @@ static void bl_gen_load_ulong(uint32_t **p, bl_reg rt= , target_ulong imm) } =20 /* Helpers */ -void bl_gen_jump_to(uint32_t **p, target_ulong jump_addr) +void bl_gen_jump_to(void **p, target_ulong jump_addr) { bl_gen_load_ulong(p, BL_REG_T9, jump_addr); bl_gen_jalr(p, BL_REG_T9); bl_gen_nop(p); /* delay slot */ } =20 -void bl_gen_jump_kernel(uint32_t **p, +void bl_gen_jump_kernel(void **p, bool set_sp, target_ulong sp, bool set_a0, target_ulong a0, bool set_a1, target_ulong a1, @@ -192,7 +201,7 @@ void bl_gen_jump_kernel(uint32_t **p, bl_gen_jump_to(p, kernel_addr); } =20 -void bl_gen_write_ulong(uint32_t **p, target_ulong addr, target_ulong val) +void bl_gen_write_ulong(void **p, target_ulong addr, target_ulong val) { bl_gen_load_ulong(p, BL_REG_K0, val); bl_gen_load_ulong(p, BL_REG_K1, addr); @@ -203,14 +212,14 @@ void bl_gen_write_ulong(uint32_t **p, target_ulong ad= dr, target_ulong val) } } =20 -void bl_gen_write_u32(uint32_t **p, target_ulong addr, uint32_t val) +void bl_gen_write_u32(void **p, target_ulong addr, uint32_t val) { bl_gen_li(p, BL_REG_K0, val); bl_gen_load_ulong(p, BL_REG_K1, addr); bl_gen_sw(p, BL_REG_K0, BL_REG_K1, 0x0); } =20 -void bl_gen_write_u64(uint32_t **p, target_ulong addr, uint64_t val) +void bl_gen_write_u64(void **p, target_ulong addr, uint64_t val) { bl_gen_dli(p, BL_REG_K0, val); bl_gen_load_ulong(p, BL_REG_K1, addr); diff --git a/hw/mips/boston.c b/hw/mips/boston.c index edda87e23c..b6dd9fb200 100644 --- a/hw/mips/boston.c +++ b/hw/mips/boston.c @@ -323,7 +323,7 @@ static void boston_register_types(void) } type_init(boston_register_types) =20 -static void gen_firmware(uint32_t *p, hwaddr kernel_entry, hwaddr fdt_addr) +static void gen_firmware(void *p, hwaddr kernel_entry, hwaddr fdt_addr) { uint64_t regaddr; =20 diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 34befa5dd5..cfc8ca6ae4 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -179,7 +179,7 @@ static void write_bootloader(CPUMIPSState *env, uint8_t= *base, /* Second part of the bootloader */ p =3D (uint32_t *)(base + 0x040); =20 - bl_gen_jump_kernel(&p, + bl_gen_jump_kernel((void **)&p, true, ENVP_VADDR - 64, true, 2, true, ENVP_VADDR, true, ENVP_VADDR + 8, diff --git a/hw/mips/malta.c b/hw/mips/malta.c index f959bce673..b5b62e7245 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -844,6 +844,7 @@ static void write_bootloader(uint8_t *base, uint64_t ru= n_addr, uint64_t kernel_entry) { uint32_t *p; + void *v; =20 /* Small bootloader */ p =3D (uint32_t *)base; @@ -886,38 +887,39 @@ static void write_bootloader(uint8_t *base, uint64_t = run_addr, #else #define cpu_to_gt32 cpu_to_be32 #endif + v =3D p; =20 /* move GT64120 registers from 0x14000000 to 0x1be00000 */ - bl_gen_write_u32(&p, /* GT_ISD */ + bl_gen_write_u32(&v, /* GT_ISD */ cpu_mips_phys_to_kseg1(NULL, 0x14000000 + 0x68), cpu_to_gt32(0x1be00000 << 3)); =20 /* setup MEM-to-PCI0 mapping */ /* setup PCI0 io window to 0x18000000-0x181fffff */ - bl_gen_write_u32(&p, /* GT_PCI0IOLD */ + bl_gen_write_u32(&v, /* GT_PCI0IOLD */ cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x48), cpu_to_gt32(0x18000000 << 3)); - bl_gen_write_u32(&p, /* GT_PCI0IOHD */ + bl_gen_write_u32(&v, /* GT_PCI0IOHD */ cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x50), cpu_to_gt32(0x08000000 << 3)); /* setup PCI0 mem windows */ - bl_gen_write_u32(&p, /* GT_PCI0M0LD */ + bl_gen_write_u32(&v, /* GT_PCI0M0LD */ cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x58), cpu_to_gt32(0x10000000 << 3)); - bl_gen_write_u32(&p, /* GT_PCI0M0HD */ + bl_gen_write_u32(&v, /* GT_PCI0M0HD */ cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x60), cpu_to_gt32(0x07e00000 << 3)); =20 - bl_gen_write_u32(&p, /* GT_PCI0M1LD */ + bl_gen_write_u32(&v, /* GT_PCI0M1LD */ cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x80), cpu_to_gt32(0x18200000 << 3)); - bl_gen_write_u32(&p, /* GT_PCI0M1HD */ + bl_gen_write_u32(&v, /* GT_PCI0M1HD */ cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x88), cpu_to_gt32(0x0bc00000 << 3)); =20 #undef cpu_to_gt32 =20 - bl_gen_jump_kernel(&p, + bl_gen_jump_kernel(&v, true, ENVP_VADDR - 64, /* * If semihosting is used, arguments have already b= een @@ -928,6 +930,7 @@ static void write_bootloader(uint8_t *base, uint64_t ru= n_addr, true, ENVP_VADDR + 8, true, loaderparams.ram_low_size, kernel_entry); + p =3D v; =20 /* YAMON subroutines */ p =3D (uint32_t *) (base + 0x800); diff --git a/include/hw/mips/bootloader.h b/include/hw/mips/bootloader.h index fffb0b7da8..c32f6c2835 100644 --- a/include/hw/mips/bootloader.h +++ b/include/hw/mips/bootloader.h @@ -11,16 +11,16 @@ =20 #include "exec/cpu-defs.h" =20 -void bl_gen_jump_to(uint32_t **p, target_ulong jump_addr); -void bl_gen_jump_kernel(uint32_t **p, +void bl_gen_jump_to(void **ptr, target_ulong jump_addr); +void bl_gen_jump_kernel(void **ptr, bool set_sp, target_ulong sp, bool set_a0, target_ulong a0, bool set_a1, target_ulong a1, bool set_a2, target_ulong a2, bool set_a3, target_ulong a3, target_ulong kernel_addr); -void bl_gen_write_ulong(uint32_t **p, target_ulong addr, target_ulong val); -void bl_gen_write_u32(uint32_t **p, target_ulong addr, uint32_t val); -void bl_gen_write_u64(uint32_t **p, target_ulong addr, uint64_t val); +void bl_gen_write_ulong(void **ptr, target_ulong addr, target_ulong val); +void bl_gen_write_u32(void **ptr, target_ulong addr, uint32_t val); +void bl_gen_write_u64(void **ptr, target_ulong addr, uint64_t val); =20 #endif --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673628851; cv=none; d=zohomail.com; s=zohoarc; b=ko+/Q1CuKN9t7EtO3RCKRtxHB0kzRWkvXs0Zid5y2sbf9XiSFzrHpPn0Y9nrZ7pa/6NrS5rJgRQsXx/daKbBAUsZQ8ZZd/OcTIojrs9eZZxOL+SLoXk04PTGgDbsOddk3NLwGsYBgXCpR/UVMMpwIH6FtcuDupCr2N4QLIamBZ8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673628851; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=J0uzoxyewG1CZd1qWugKwgkYzf3Ypnm7BiOFvHDY2zE=; b=mMuUZgDuLqfU4wUcXnOsykDkr+JbkrT3oWlzwzo0f8JjxVSaELFXIljgRmwcK0z5yrixAAyb2sBOImtCcoVYOZp7NpKTZyVlaOog/BVj/nb62hxpKj87OREd0pksKcy6MVcL/98IcvNYe4OyNwQl2vW8x1GxFLbHLi2txpSrNhI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673628851630914.3038346490965; Fri, 13 Jan 2023 08:54:11 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGW-0001pa-Ij; Fri, 13 Jan 2023 10:46:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMGT-0001np-9t for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:46 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMGR-00066B-Oz for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:45 -0500 Received: by mail-wr1-x433.google.com with SMTP id bs20so21462698wrb.3 for ; Fri, 13 Jan 2023 07:46:42 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id b2-20020a056000054200b0022584c82c80sm19288392wrf.19.2023.01.13.07.46.40 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:46:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=J0uzoxyewG1CZd1qWugKwgkYzf3Ypnm7BiOFvHDY2zE=; b=LB6hXVzkjzaI5ZlsZ7G/6yCU+EKu+Qp7QcCn9SYK/bJkaxz53Pdau4aPsentQWbTMD ao2tbCaLOzoLfwkUklS4Ie3VgXpDj1xE+YMe7DhoB4cXjl+XctTfENRPH3hykU43HBS1 Py0NYys2lYXLm/Jey6/cus/wNGFMBx1JcvJl4dY0d7QJW766ttYLTOBBNE9+2q652lOI NtRqNOUyoUp/XnPVuqolbBN0CKlVP445hJ44IGw4HEa9gc4bhOGsSZwbnoHVS8xv5ClM 4HVoVa/9G0fstVo0w/f1UFkq9q9rLFEKcgVu3Rnx1z+unKw+3G4phl5WeGccOT1CT5PX Ny2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=J0uzoxyewG1CZd1qWugKwgkYzf3Ypnm7BiOFvHDY2zE=; b=Kq08dLI7xH0j3LxWIzaJo4K4SESvQyDUKSwuf8OcM9Zle9jpMyrZApb3z5yHmnpIwC p+qO3w5jPsiz2QbBE6MaAciJF3lwlo3ep1D48MP8cC/Ruf9w7C2PjAi8QmXloufN5yPO E+A6Wutfnh+5i2DJrVLW8AzvctBXWunsQh1lLcsS7ETb+WQI1Q6raJSmwMdV9ll9IG7l lCtnhkrq2FbfbIrMsn4mpj//3gUjrVEXnV8XoFtDIZIZ3HW17bCwKqFFwH3wz7HOI7XR FAX6LirjbR3NAsgWqkB5/vJWRx6g1uc9iUOfK141CT+Jh7Jf6grswbK78hqLijY8s4bG 5Frg== X-Gm-Message-State: AFqh2kpDt+7uZmqmVPLL4ka8fOXNG6xTcWVc2L6AB48vN+/uZrdMz1jf rBXW2OFe4VW2AlhElBUduio6GGwSTz5pfVt1 X-Google-Smtp-Source: AMrXdXvjlfrjXG93fdbPiApqSekDM+Lf3LCDkEZRajTh6H2O6da3bT91v+qWLyr8bHBRveraoQoLvw== X-Received: by 2002:a05:6000:a19:b0:2bd:c477:8d6b with SMTP id co25-20020a0560000a1900b002bdc4778d6bmr8143745wrb.42.1673624801640; Fri, 13 Jan 2023 07:46:41 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 14/46] hw/mips/bootloader: Implement nanoMIPS NOP opcode generator Date: Fri, 13 Jan 2023 16:45:00 +0100 Message-Id: <20230113154532.49979-15-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=philmd@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673628852377100001 Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20221211204533.85359-3-philmd@linaro.org> --- hw/mips/bootloader.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/hw/mips/bootloader.c b/hw/mips/bootloader.c index 21ffd4d772..0035f37335 100644 --- a/hw/mips/bootloader.c +++ b/hw/mips/bootloader.c @@ -54,14 +54,30 @@ static bool bootcpu_supports_isa(uint64_t isa_mask) return cpu_supports_isa(&MIPS_CPU(first_cpu)->env, isa_mask); } =20 +static void st_nm32_p(void **ptr, uint32_t insn) +{ + uint16_t *p =3D *ptr; + + stw_p(p, insn >> 16); + p++; + stw_p(p, insn >> 0); + p++; + + *ptr =3D p; +} + /* Base types */ static void bl_gen_nop(void **ptr) { - uint32_t *p =3D *ptr; + if (bootcpu_supports_isa(ISA_NANOMIPS32)) { + st_nm32_p(ptr, 0x8000c000); + } else { + uint32_t *p =3D *ptr; =20 - stl_p(p, 0); - p++; - *ptr =3D p; + stl_p(p, 0); + p++; + *ptr =3D p; + } } =20 static void bl_gen_r_type(void **ptr, uint8_t opcode, --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673626569; cv=none; d=zohomail.com; s=zohoarc; b=gArZsa2Y4KtGmAbwiKdC8bLTqR+1T/vAyr++qHkqtDU9X9bRV5ZAYGhJzX2LEKrkxcvAM5zDCtEf0C5G2WUohlEflCT/qyUKFUI8mhUlzGuQzOGCxm1Vb2veiDO2eszJq8c/BRSjFnkAwY3dqFqcQBEjtBV6V+qlHZOllCjkAtg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673626569; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UbzdZb+OzerP2cRuuXtHruzXTN86VcNwiX22MbAg0J0=; b=AEmDNkAmyM2V4T4ywPRsKNcswVr9dmEyBBmDHjI0rgUr81b49RlPBdR+faJ7dDgpPnY9sfEuG6ycEsgxZQBvL3KBy0ca3j4kD28+zNl6XteTpXO2wVyoIV0GrQqCPUhEUdfsTbP3q2gwgR+b8J3BorYN9F2hzqYibB02Bd20fMU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673626569468964.4280027638172; Fri, 13 Jan 2023 08:16:09 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGZ-0001s0-AL; Fri, 13 Jan 2023 10:46:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMGX-0001rF-QK for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:49 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMGW-0006CN-0h for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:49 -0500 Received: by mail-wr1-x42f.google.com with SMTP id bk16so21432317wrb.11 for ; Fri, 13 Jan 2023 07:46:47 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id n6-20020adfe786000000b002bdbde1d3absm9021406wrm.78.2023.01.13.07.46.45 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:46:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UbzdZb+OzerP2cRuuXtHruzXTN86VcNwiX22MbAg0J0=; b=m8mUDO0QIXanTl48+f6oFRQmAl2odzqX4xd7eCWIcFOmK3KnAsvBq4vX9ve4pcAss+ YyciNvvnN54s0kHCt7gllC1niX0dODanS2Gk9FrfnM8E7spq1F0HSyhkCb1ZgJj00u/Q fEi4vUORMGT73Rc3Jw3JT04R0TKrhAwxUtlbb8UkP6Ec2tQ8loQ0QH+Bbxr+KZ5rG9WT hu8bAQzATl91kpAiZQTBlq6eGZrjq+q+Bw5miqoXejNZFaxhCPDHgupEBNmeQ2tfPmil 2fpgCFFY0uLGF3enfWsFfHtPhj4yk0WbwvqCYWsKx4qFo6IuOLYyDi5DilChyFgH8/gy hbzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UbzdZb+OzerP2cRuuXtHruzXTN86VcNwiX22MbAg0J0=; b=DXKboUxR2UeI1yd0vO+vaY3OV9u3jV7GKzc4dAZ9ZwDlEdQ0RETKNJyVBkQXGyspxs MBt4N1SGhbusMieUz4lB6v8nDxSGrzflvGWg8PyD5FIymHE+oPBBa3k9GtFmZmUzBGBi sgKpJOPhQCv5IkzI2KHnnWGnl2x3r96rblYcbSINbANraWT/xF5HJ4K0AG73o2MGkLX0 bwQftK+tOv01wmtoUkb1bPJZZri+zp9Xul7oa3zhkZr6gVObOizEQ7T8jCf36iJSHvEF 4yVoC0TcB8yJ274gXAU0WSRXp3v3518KXwZHHWvloGJOiEZaBSGaOys70i7Id8lTRicD IPxQ== X-Gm-Message-State: AFqh2krDRfLFByTcb6z9L3fkzzBXbbXGIDg57MqZWh1F1asO5Cxnzjpj pUvNUerO7EEn2WSC+xQF4E5UE401WyYDlsWB X-Google-Smtp-Source: AMrXdXuA3T1KZ4f2K35mYgB5nnYLIS5kbUCLBwOEoDiHC/sBSQH/trxhNuq6uKrHQDFwfoqYXQEK7w== X-Received: by 2002:a5d:640c:0:b0:29f:7c0c:5a46 with SMTP id z12-20020a5d640c000000b0029f7c0c5a46mr26091107wru.68.1673624806296; Fri, 13 Jan 2023 07:46:46 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 15/46] hw/mips/bootloader: Implement nanoMIPS SW opcode generator Date: Fri, 13 Jan 2023 16:45:01 +0100 Message-Id: <20230113154532.49979-16-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673626571345100001 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20221211204533.85359-4-philmd@linaro.org> --- hw/mips/bootloader.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/hw/mips/bootloader.c b/hw/mips/bootloader.c index 0035f37335..3e1e73360f 100644 --- a/hw/mips/bootloader.c +++ b/hw/mips/bootloader.c @@ -143,9 +143,27 @@ static void bl_gen_ori(void **p, bl_reg rt, bl_reg rs,= uint16_t imm) bl_gen_i_type(p, 0x0d, rs, rt, imm); } =20 +static void bl_gen_sw_nm(void **ptr, bl_reg rt, uint8_t rs, uint16_t ofs12) +{ + uint32_t insn =3D 0; + + assert(extract32(ofs12, 0, 12) =3D=3D ofs12); + insn =3D deposit32(insn, 26, 6, 0b100001); + insn =3D deposit32(insn, 21, 5, rt); + insn =3D deposit32(insn, 16, 5, rs); + insn =3D deposit32(insn, 12, 4, 0b1001); + insn =3D deposit32(insn, 0, 12, ofs12); + + st_nm32_p(ptr, insn); +} + static void bl_gen_sw(void **p, bl_reg rt, uint8_t base, uint16_t offset) { - bl_gen_i_type(p, 0x2b, base, rt, offset); + if (bootcpu_supports_isa(ISA_NANOMIPS32)) { + bl_gen_sw_nm(p, rt, base, offset); + } else { + bl_gen_i_type(p, 0x2b, base, rt, offset); + } } =20 static void bl_gen_sd(void **p, bl_reg rt, uint8_t base, uint16_t offset) --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673628312; cv=none; d=zohomail.com; s=zohoarc; b=LOTwurp+I4NJQGS1X5JWciIhCPaX6ZJ2ylzUbg1w6lqCkmbww71zTFhUCfmBTsl/wcHK4lL3AefEeVuYgzvLdLD4if9PZfsrD3QNSdB5BkmRxSGYv+8CNb/Cdj70IG5lss3LyREOaQvdidARy0N2QjFD2IuXufGiLqbRdS29+Ec= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673628312; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FGEpGMVpJi52vNK6cQWH7oVqlSqUk/J+h6xw06+rMj4=; b=aHHScqM27tJU1Amo3V4jE9OcwjQMYO186eWP/X+Py0ayaa7WcIhktfwms/pTiTMgpqKmd/czkdhq6qRz1dU0jpQ5tCq1PCTVVjMBzH14wyqLnxmcwv/MsR8qhvrW/DdTEbBxnmBFOln4SSnyn+vdl5Vs42eonsf5AsyZhZUMRqg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673628312079919.727483376729; Fri, 13 Jan 2023 08:45:12 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGe-0001uY-3K; Fri, 13 Jan 2023 10:46:56 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMGc-0001tI-8w for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:54 -0500 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMGa-0006DI-L8 for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:54 -0500 Received: by mail-wr1-x430.google.com with SMTP id k8so6958184wrc.9 for ; Fri, 13 Jan 2023 07:46:52 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id s1-20020a5d4ec1000000b002882600e8a0sm19303708wrv.12.2023.01.13.07.46.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:46:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FGEpGMVpJi52vNK6cQWH7oVqlSqUk/J+h6xw06+rMj4=; b=qBkxH2Bt0zYCrZkMtbBgwmKePZiQBDZIIqAh8uYqxgU9n7kZxqxVb8WzaohuWGEgG3 aAm6LQNObYzW62ysXre2mCnjleSkYTNaMb5Xj6g72hraBwWvnxoVcH/IaThJV441jOIU Fi3+AFglY9Sf76eJC6FME5H2tVQoYiLSxNJ09kaJ/5rUajie4BN5GKZrUSHnYGH1CO3P KxEx38RYSfZnxkVaV4+zHnhHqKa0BYLnv2oeHZ2M2OSEZo7u15bMs1AhCEwjx81A+/Am HcihSuswzscL+X+4+SJDqYgbhvPqYToxrXkHYNvwJLWUEeZEaY0h3HPhb+CfLl6hQy95 MaYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FGEpGMVpJi52vNK6cQWH7oVqlSqUk/J+h6xw06+rMj4=; b=2fQuSumuEwyReVXgz11qPlDFV5bXCwN0S5z/HEW4tFW5L45R4stYWZdjVKq743ASI7 MOAR10UTbvw9vjfJe5uGsNxdrrr8EQAjx1wuB3jroqSY9fnUr/UPplc+LUUmw/Sg4bCh RfnKpZ1X6QCl0YykIB48UXFupJHC+yNoVUjVfHCsq6j55ck22QXyOCL4tpxC2nDFDOQk wiicJDo1YjSWcG2oNiCVtNCVb32/rCxi9VWuXGflzeMhDqLRKblsvqKXiOieVeVdXToj 9ELrxZ8TdKQ++0/UvPvHOrX48WJiiE0JYF+nVqhv0ClloaUHP+h/w2znClgCkc/9JQtG Qdsg== X-Gm-Message-State: AFqh2krGzWHPJB7ITxHhJoVRIfvc2NTVK2faCAlOjmbX7xclwStHdzx8 Y/IWBcRXbgc7ssPz3wbdtnIG4tdY7ecdzfPu X-Google-Smtp-Source: AMrXdXu27uDg59g7LrcjfF8SU+BA+ZRrkKt7/mIAgWGQYg+TEdtiHPzigsH/QtZTQeSWRLvKmh84pQ== X-Received: by 2002:adf:fd11:0:b0:28a:8b5d:6f47 with SMTP id e17-20020adffd11000000b0028a8b5d6f47mr34481969wrr.1.1673624811061; Fri, 13 Jan 2023 07:46:51 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 16/46] hw/mips/bootloader: Implement nanoMIPS LI (LUI+ORI) opcode generator Date: Fri, 13 Jan 2023 16:45:02 +0100 Message-Id: <20230113154532.49979-17-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=philmd@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673628313517100001 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20221211204533.85359-5-philmd@linaro.org> --- hw/mips/bootloader.c | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/hw/mips/bootloader.c b/hw/mips/bootloader.c index 3e1e73360f..9fc926d83f 100644 --- a/hw/mips/bootloader.c +++ b/hw/mips/bootloader.c @@ -132,12 +132,39 @@ static void bl_gen_jalr(void **p, bl_reg rs) bl_gen_r_type(p, 0, rs, 0, BL_REG_RA, 0, 0x09); } =20 +static void bl_gen_lui_nm(void **ptr, bl_reg rt, uint32_t imm20) +{ + uint32_t insn =3D 0; + + assert(extract32(imm20, 0, 20) =3D=3D imm20); + insn =3D deposit32(insn, 26, 6, 0b111000); + insn =3D deposit32(insn, 21, 5, rt); + insn =3D deposit32(insn, 12, 9, extract32(imm20, 0, 9)); + insn =3D deposit32(insn, 2, 10, extract32(imm20, 9, 10)); + insn =3D deposit32(insn, 0, 1, sextract32(imm20, 19, 1)); + + st_nm32_p(ptr, insn); +} + static void bl_gen_lui(void **p, bl_reg rt, uint16_t imm) { /* R6: It's a alias of AUI with RS =3D 0 */ bl_gen_i_type(p, 0x0f, 0, rt, imm); } =20 +static void bl_gen_ori_nm(void **ptr, bl_reg rt, bl_reg rs, uint16_t imm12) +{ + uint32_t insn =3D 0; + + assert(extract32(imm12, 0, 12) =3D=3D imm12); + insn =3D deposit32(insn, 26, 6, 0b100000); + insn =3D deposit32(insn, 21, 5, rt); + insn =3D deposit32(insn, 16, 5, rs); + insn =3D deposit32(insn, 0, 12, imm12); + + st_nm32_p(ptr, insn); +} + static void bl_gen_ori(void **p, bl_reg rt, bl_reg rs, uint16_t imm) { bl_gen_i_type(p, 0x0d, rs, rt, imm); @@ -178,8 +205,13 @@ static void bl_gen_sd(void **p, bl_reg rt, uint8_t bas= e, uint16_t offset) /* Pseudo instructions */ static void bl_gen_li(void **p, bl_reg rt, uint32_t imm) { - bl_gen_lui(p, rt, extract32(imm, 16, 16)); - bl_gen_ori(p, rt, rt, extract32(imm, 0, 16)); + if (bootcpu_supports_isa(ISA_NANOMIPS32)) { + bl_gen_lui_nm(p, rt, extract32(imm, 12, 20)); + bl_gen_ori_nm(p, rt, rt, extract32(imm, 0, 12)); + } else { + bl_gen_lui(p, rt, extract32(imm, 16, 16)); + bl_gen_ori(p, rt, rt, extract32(imm, 0, 16)); + } } =20 static void bl_gen_dli(void **p, bl_reg rt, uint64_t imm) --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673626918; cv=none; d=zohomail.com; s=zohoarc; b=Qi7sGA1FuNjntWrboqNUGDXvvj1JTlpWglvmEL76oh8hKGvMh/O/VathTsiJFrBp3U1bmjTSbTxe4Cq+L66EbCkYrh6jD1gyA991STg/tKML9qIMBKKWW54jZ5uHlsBQU0baZtKdtMtTyQCxfESSUdlLlMWcGyt6rWPJTaXIQOY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673626918; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1qPfxBX17QwjQQWrVKyI6Qs1xSLlsiE1fYEVpC7zrok=; b=KASfwJexbbKq+NZ9HPcv+ueDdskaluxtH41LcfKReJXLMo5tyu5nTs4ryg4ZZMNb7eJAj1Uyr0P4I2yQ4EfNiFxw0Tz93OIB0zlAm71W9onONSRDV9rU/Pbpr5dj/FbGXRD0gjQi0mfIkZLegES9kCqrO9P6wYnvm2DuAr199IQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673626918599518.83776794584; Fri, 13 Jan 2023 08:21:58 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGi-0001xl-3t; Fri, 13 Jan 2023 10:47:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMGg-0001xP-PX for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:58 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMGf-0006GR-9K for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:46:58 -0500 Received: by mail-wm1-x32e.google.com with SMTP id g10so15553548wmo.1 for ; Fri, 13 Jan 2023 07:46:56 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id h19-20020a05600c351300b003d9a86a13bfsm27617575wmq.28.2023.01.13.07.46.55 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:46:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1qPfxBX17QwjQQWrVKyI6Qs1xSLlsiE1fYEVpC7zrok=; b=rnCr6ONs9ou+aMrbfAhsXS4kWDbDTLdT95lSvvnmUJMh85rqoeA2Pph8koWdLS5bJU ZoQ2cjZH54VioNeAZU9UGdafSjiPLxe/m5p6nPzzLhat+rIvLFpw/ay+IrnenPBZOO23 chFw0s9rNA32qvKc1+pakQJqFG7A+zzsBG5IZ3QBNjIaYdSiV1YPx9+y/hbFLV9iILUR Qrf0iI2IA/v2bCOVSZIJOnHQ+FUrsV0zr9RaGIY+TI/UvZ2zSSb4baqkoBMQgcY/SMJS 2u58ddzZujAZ2io52H1S//R176Rj5bpsGgs53s9AdAbYH8HjxQJanqEvg0MD5FoJ7d9o /liQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1qPfxBX17QwjQQWrVKyI6Qs1xSLlsiE1fYEVpC7zrok=; b=Bui3nIixX9E6snzy2Z0G3qsxcO1tmjtUGPUkXeoQ9P70sD/VI6hP/NykoNH2Z//bGx vNDfk9TsU/6uu5c70wXifgb0TsOde8W98tekg1dIrlyAzlRc66xVsVjnMKwwRlqIch15 fXYpNzQ4dOdbMcYsigcIE9EsnMRB4AgucdTkpnV+YIxegWLjLM9Zde7tglECzi24Zl82 YHZsvB0X9YIeFD0nuMuLMeA8RPtDUh22CZaxF2ob+q9a58IT5mQxEJDo/GRv6fC1JyFN LjedDsEMq6oCyhmni5B+6AyK284RdxPch1ZjnunbMKIVRP19RGSv8U7y1j1NLAcu5CUB Un6Q== X-Gm-Message-State: AFqh2kpsHJJ77HSqO6AlPMNkBuQCG4CC4H2X2j7qpKvWB+lvPIgNa9q7 al+VU1RIFVU0V7KSSBLVvLZavKJKpfJ0l+BB X-Google-Smtp-Source: AMrXdXtiCe2kaaSXwzpABNi5ozVcHGbaBWtIENQMhTsGbDDExhtDQrBKLiy4G6PXwk6c7sLTQtcPaQ== X-Received: by 2002:a05:600c:4f88:b0:3da:e4d:e6ba with SMTP id n8-20020a05600c4f8800b003da0e4de6bamr7855745wmq.14.1673624815820; Fri, 13 Jan 2023 07:46:55 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 17/46] hw/mips/bootloader: Implement nanoMIPS JALRc opcode generator Date: Fri, 13 Jan 2023 16:45:03 +0100 Message-Id: <20230113154532.49979-18-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673626919403100001 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20221211204533.85359-6-philmd@linaro.org> --- hw/mips/bootloader.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/hw/mips/bootloader.c b/hw/mips/bootloader.c index 9fc926d83f..1dd6ef2096 100644 --- a/hw/mips/bootloader.c +++ b/hw/mips/bootloader.c @@ -129,7 +129,17 @@ static void bl_gen_dsll(void **p, bl_reg rd, bl_reg rt= , uint8_t sa) =20 static void bl_gen_jalr(void **p, bl_reg rs) { - bl_gen_r_type(p, 0, rs, 0, BL_REG_RA, 0, 0x09); + if (bootcpu_supports_isa(ISA_NANOMIPS32)) { + uint32_t insn =3D 0; + + insn =3D deposit32(insn, 26, 6, 0b010010); /* JALRC */ + insn =3D deposit32(insn, 21, 5, BL_REG_RA); + insn =3D deposit32(insn, 16, 5, rs); + + st_nm32_p(p, insn); + } else { + bl_gen_r_type(p, 0, rs, 0, BL_REG_RA, 0, 0x09); + } } =20 static void bl_gen_lui_nm(void **ptr, bl_reg rt, uint32_t imm20) --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673625233; cv=none; d=zohomail.com; s=zohoarc; b=Blspa0PebIwxMDTv3AXLBJZMaEJDH3gq1AlmTNYGz0rGZuaPFIHWQOrKZrXglFV+p0alaLmGbuQ1LFOvrRCKQDmajVnUJLWTjUurv1AwD9nbtgvVrtauLzJCTnoGI9hpbYjZvmsse4PrU+0W4B3UtAUXJGssgZoBFyhi4j7QpWU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673625233; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=KfwA7R8MzV84uWf1n09fJfRvu4+D8tshi1nr8jmckno=; b=XRm5VTATZIePOg0g+Z6AfK26ttI2OLeKgpkdgRfAbvz1Z7NuUuweIkSPulNcUveQqIE9YMvh6TD1RImVVNoaV8upVvq6TnfqemU884wlHm6Vl+lRErULrvEhfk/hHO7wD7Yi0oP3fj2pF5NgnCRxgJB7DqKo5QGdbqBm1vSELDU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673625233038881.0200835467048; Fri, 13 Jan 2023 07:53:53 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGn-0001zy-N1; Fri, 13 Jan 2023 10:47:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMGm-0001z0-0e for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:04 -0500 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMGk-0006Jq-9c for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:03 -0500 Received: by mail-wr1-x434.google.com with SMTP id t5so17051283wrq.1 for ; Fri, 13 Jan 2023 07:47:01 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id f2-20020adfdb42000000b0024274a5db0asm19414427wrj.2.2023.01.13.07.47.00 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:47:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KfwA7R8MzV84uWf1n09fJfRvu4+D8tshi1nr8jmckno=; b=ldaZZqiFvPDR5kLGFnQJhCeQah+mYENaOUlk1wHsuRn4JLDoxv7Z13xKWzR+e0jsQu sIBZW9DV/6/0nH2s8A3JbH12HgTUbe1IvJwFtCO8OsVYOLulcNUmpu0A8VexSrnPkHYs T2m/8liGaLb1etNBynw1YrmWNEBL8PP/q+JmLKytUhmp9qWBOxCVc0Ab4pOswTfpKkWS nvaClc0MK6jr+br9lXfVMQ0pDLe0A+gCljNbMcy4IFPkTA1fxvvgJksno4BBc0IS8Hkl TJZoEFMdjpchGObs6t2cRiVSGZVx4V7h0R+cZXbDpa4IriVFEFs8Makxx+yWwg1r8+lt wHAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KfwA7R8MzV84uWf1n09fJfRvu4+D8tshi1nr8jmckno=; b=r5xm91Qt+Qyu9PlAvhxmxgZts5YWw2ATYiE7mpAH6zauVicjfmTPh5g4WATjw/eqdN UKWTUtu+Hda1x27GXNVOs+O54wQNYgRHfSkmEB2p4RJxBG8dFON7mYgjHPy4ThZdfMsX 98B4N0UjFBAyoB2Z8jzvch44vzixyJTJj0E7uv0Rs2OeZdWkYpyTKx5zTDV9OQ4LUwWo 3359gLKV+VKuC4lU1iRCkQ1ASwa3yisLAEp9uGmJxV5FxT1SEMIUjZ6GyqN1Ls7pxtPJ 5pCzI1RbH3jk4Srpl9BWympOgsNs0VUudvyiBTcCvwLeDqQWOWZKC+nDzTrTIkKt3FbL GNrA== X-Gm-Message-State: AFqh2kotaqKbB5D4Tbmsttfudn7aTbtMQZa0XXM4m1dIMrthu+3DR+Jk HEfZgvisYqdmF35nKpKre5/Z7QLtr0I7HbA6 X-Google-Smtp-Source: AMrXdXv4D3UJ3hEpj54cfrhmkCPYbwjxMw6Vd3HoNGxPxjmjW7JWXxQq3jcHQJq0AX/xypZ4KEnbcg== X-Received: by 2002:a5d:4c51:0:b0:2b7:88d3:d221 with SMTP id n17-20020a5d4c51000000b002b788d3d221mr19119494wrt.1.1673624820752; Fri, 13 Jan 2023 07:47:00 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 18/46] hw/mips/malta: Use bootloader generator API for nanoMIPS CPUs (1/5) Date: Fri, 13 Jan 2023 16:45:04 +0100 Message-Id: <20230113154532.49979-19-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=philmd@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673625235436100001 Similarly to how commit 0c8427baf0 ("hw/mips/malta: Use bootloader helper to set BAR registers") converted write_bootloader(), convert the equivalent write_bootloader_nanomips(), allowing us to modify the bootloader code more easily in the future. Part 1/5: Convert PCI0 MEM1 BAR setup Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20221211204533.85359-7-philmd@linaro.org> --- hw/mips/malta.c | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index b5b62e7245..a496053a9a 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -620,6 +620,7 @@ static void write_bootloader_nanomips(uint8_t *base, ui= nt64_t run_addr, uint64_t kernel_entry) { uint16_t *p; + void *v; =20 /* Small bootloader */ p =3D (uint16_t *)base; @@ -693,13 +694,13 @@ static void write_bootloader_nanomips(uint8_t *base, = uint64_t run_addr, * * - set up PCI0 I/O BARs from 0x18000000 to 0x181fffff * - set up PCI0 MEM0 at 0x10000000, size 0x8000000 - * - set up PCI0 MEM1 at 0x18200000, size 0xbe00000 * */ stw_p(p++, 0xe040); stw_p(p++, 0x0681); /* lui t1, %hi(0xb4000000) */ =20 #if TARGET_BIG_ENDIAN +#define cpu_to_gt32 cpu_to_le32 =20 stw_p(p++, 0xe020); stw_p(p++, 0x0be1); /* lui t0, %hi(0xdf000000) */ @@ -742,14 +743,8 @@ static void write_bootloader_nanomips(uint8_t *base, u= int64_t run_addr, stw_p(p++, 0xe020); stw_p(p++, 0x0821); /* lui t0, %hi(0xc1000000) */ =20 - /* 0x80 corresponds to GT_PCI0M1LD */ - stw_p(p++, 0x8422); stw_p(p++, 0x9080); - /* sw t0, 0x80(t1) */ - - stw_p(p++, 0xe020); stw_p(p++, 0x0bc0); - /* lui t0, %hi(0x5e000000) */ - #else +#define cpu_to_gt32 cpu_to_be32 =20 stw_p(p++, 0x0020); stw_p(p++, 0x00df); /* addiu[32] t0, $0, 0xdf */ @@ -792,19 +787,20 @@ static void write_bootloader_nanomips(uint8_t *base, = uint64_t run_addr, =20 stw_p(p++, 0x0020); stw_p(p++, 0x00c1); /* addiu[32] t0, $0, 0xc1 */ - - /* 0x80 corresponds to GT_PCI0M1LD */ - stw_p(p++, 0x8422); stw_p(p++, 0x9080); - /* sw t0, 0x80(t1) */ - - stw_p(p++, 0x0020); stw_p(p++, 0x005e); - /* addiu[32] t0, $0, 0x5e */ - #endif + v =3D p; =20 - /* 0x88 corresponds to GT_PCI0M1HD */ - stw_p(p++, 0x8422); stw_p(p++, 0x9088); - /* sw t0, 0x88(t1) */ + /* setup PCI0 mem windows */ + bl_gen_write_u32(&v, /* GT_PCI0M1LD */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x80), + cpu_to_gt32(0x18200000 << 3)); + bl_gen_write_u32(&v, /* GT_PCI0M1HD */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x88), + cpu_to_gt32(0x0bc00000 << 3)); + + p =3D v; + +#undef cpu_to_gt32 =20 stw_p(p++, 0xe320 | NM_HI1(kernel_entry)); =20 --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673630551; cv=none; d=zohomail.com; s=zohoarc; b=fFxQ/rA4dgc+jjd1ouGHrvdEtT+okHMMUvQMTzuZfyDLH5U9R4tUY7gd21YiASSbHAbkBDx+zgf4R2tj9Qxbj1gtMXVxkosbuj/JiMarpXXZy1mxxw8x741kHvut3KMCDIjjGcq0kk0I07qNQORr+z3o7sg7B3UrNdSe2lQtoyU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673630551; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=8CMDTWyaM/sURRlt0mwrX8M++JXQ4OKCfWi58ZO4hlM=; b=OoAh/FPaMBkdVQsdC0SXLUt5QrCuttanGddFYsWYFv2j+2b+tsNG4rUH4Cf7VT6KeVETKn/WhIofBEc+fYUu346J4ut0WzR3dj/xYM/PHfPq67KKkQBODsisbFVd0TMPVt8oBx8oyaKmr9yXln7+kC/MaONXOQJ50VsCZ5VC2VM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673630551398947.0307904775019; Fri, 13 Jan 2023 09:22:31 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGt-00022F-2O; Fri, 13 Jan 2023 10:47:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMGq-00021W-TK for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:08 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMGp-0006ME-BC for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:08 -0500 Received: by mail-wm1-x332.google.com with SMTP id p1-20020a05600c1d8100b003d8c9b191e0so17666156wms.4 for ; Fri, 13 Jan 2023 07:47:06 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id l24-20020a1ced18000000b003d99da8d30asm29512215wmh.46.2023.01.13.07.47.04 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:47:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8CMDTWyaM/sURRlt0mwrX8M++JXQ4OKCfWi58ZO4hlM=; b=IuRcJ0AHK+xb4gZylByCYAi+Qh8nEObUJO6bv0pq6YyTKXP9o6YJ7yp8G3qswec9IP w1Xn9Jpo88gwPDO7FIQhy3d2iQ/IBN9rihz/PGX3zHCvJOPkVjKHpOSqaVU0FxovZ7CK P3sDiBX9rB4DzYVzgLbp5blNC/9CSSSu4HbV0qKouHjKKl6B2JKR6fOQKC9dNg3Lfc7M 6wX3nSn9Tu9LApiMKsx5/TPhzWj9Pv4mMmN4bTo9ZpnecjELm/bTQ0E7rCBeVOoGM21F UVVgDMIOZeGPp5wV7OfQH711ZqpVbvzuAJnvw0hY0mV69pUIYVNRqOmhOGEYfxMrjkWH YoPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8CMDTWyaM/sURRlt0mwrX8M++JXQ4OKCfWi58ZO4hlM=; b=e4pfMtG2IX81jC9wIduNJaxhTcHhlAVZLNuIEO34ga9qMxlyD3uMipSJol0K875sXk 3aFPeKYymaCZNomMlt/PQPV0RwxdWiJwiJ+6KaBUvCVtBWgMYxnHkq2rchd7dadecfCQ jgj6Qahh4oS22vG8KG5p/NHZJOmHob3S8lNRKDktqv3ZmGEFmOv1qVwmM0oXTZgjNkIR Jh+YzeEuBPFOHr2E4JLTHmH2YCJ3wFN4frmHz4I9v8KBzP7A0Oy7QfhCNDzWsEevOIHP 1yB+ZsgnC7zESvF8CEEsKz9JBHPr4YXp5NIBkjqDFjddn/YWgQex4cnXLHgU3XH3ACX2 W0Gw== X-Gm-Message-State: AFqh2ko0nw9rGsfAWlVYyhtWpyow41krfO4QzcJnmgU9MGDcwEoCw0jI oj63wjm084UeRUISq2yNZMn18ilmHsUIsAGo X-Google-Smtp-Source: AMrXdXuCsIpQbeRbpgy9/r9ddDRnGcJ/ZzP61LeSMOqsZKY6pBMEs0palb6y3UiWwqi+u6oMFulnAA== X-Received: by 2002:a05:600c:ac7:b0:3cf:9ac8:c537 with SMTP id c7-20020a05600c0ac700b003cf9ac8c537mr154698wmr.14.1673624825552; Fri, 13 Jan 2023 07:47:05 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 19/46] hw/mips/malta: Use bootloader generator API for nanoMIPS CPUs (2/5) Date: Fri, 13 Jan 2023 16:45:05 +0100 Message-Id: <20230113154532.49979-20-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673630552502100001 Part 2/5: Convert PCI0 MEM0 BAR setup Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20221211204533.85359-8-philmd@linaro.org> --- hw/mips/malta.c | 35 ++++++----------------------------- 1 file changed, 6 insertions(+), 29 deletions(-) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index a496053a9a..7d0fc5d0c8 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -693,7 +693,6 @@ static void write_bootloader_nanomips(uint8_t *base, ui= nt64_t run_addr, * Load BAR registers as done by YAMON: * * - set up PCI0 I/O BARs from 0x18000000 to 0x181fffff - * - set up PCI0 MEM0 at 0x10000000, size 0x8000000 * */ stw_p(p++, 0xe040); stw_p(p++, 0x0681); @@ -729,20 +728,6 @@ static void write_bootloader_nanomips(uint8_t *base, u= int64_t run_addr, stw_p(p++, 0xe020); stw_p(p++, 0x0001); /* lui t0, %hi(0x80000000) */ =20 - /* 0x58 corresponds to GT_PCI0M0LD */ - stw_p(p++, 0x8422); stw_p(p++, 0x9058); - /* sw t0, 0x58(t1) */ - - stw_p(p++, 0xe020); stw_p(p++, 0x07e0); - /* lui t0, %hi(0x3f000000) */ - - /* 0x60 corresponds to GT_PCI0M0HD */ - stw_p(p++, 0x8422); stw_p(p++, 0x9060); - /* sw t0, 0x60(t1) */ - - stw_p(p++, 0xe020); stw_p(p++, 0x0821); - /* lui t0, %hi(0xc1000000) */ - #else #define cpu_to_gt32 cpu_to_be32 =20 @@ -773,24 +758,16 @@ static void write_bootloader_nanomips(uint8_t *base, = uint64_t run_addr, =20 stw_p(p++, 0x0020); stw_p(p++, 0x0080); /* addiu[32] t0, $0, 0x80 */ - - /* 0x58 corresponds to GT_PCI0M0LD */ - stw_p(p++, 0x8422); stw_p(p++, 0x9058); - /* sw t0, 0x58(t1) */ - - stw_p(p++, 0x0020); stw_p(p++, 0x003f); - /* addiu[32] t0, $0, 0x3f */ - - /* 0x60 corresponds to GT_PCI0M0HD */ - stw_p(p++, 0x8422); stw_p(p++, 0x9060); - /* sw t0, 0x60(t1) */ - - stw_p(p++, 0x0020); stw_p(p++, 0x00c1); - /* addiu[32] t0, $0, 0xc1 */ #endif v =3D p; =20 /* setup PCI0 mem windows */ + bl_gen_write_u32(&v, /* GT_PCI0M0LD */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x58), + cpu_to_gt32(0x10000000 << 3)); + bl_gen_write_u32(&v, /* GT_PCI0M0HD */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x60), + cpu_to_gt32(0x07e00000 << 3)); bl_gen_write_u32(&v, /* GT_PCI0M1LD */ cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x80), cpu_to_gt32(0x18200000 << 3)); --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673632253; cv=none; d=zohomail.com; s=zohoarc; b=PoFhypCnniMl6EaS8rbQ7H3mEqQXhDlzFhB/4KdFP/aheqHz6LcnL9R3iMG6gXT/BbXU3FFfxjOf9gUtjXtdcSs1fNchPet7n/wVGk34WrFVKHv5aZrmgVEVPRJrX3DmHSa/hsupm0IyJ9G32h8A1f4TzYH0jIF4vA1H5ky4XwI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673632253; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=NMXgF+Gc7juCbht5l+F0PLKgPsDNWhWX1dOXeDIs2ls=; b=GtvurwLD+sc9+5HjAHHPmhUg6bgcqnr2sO7yd7xu0g8WjZf897KaCgTSMmpPnvqN9hyo0BARybua4W21n+eQ+f1UvD3ri7awSX4mrjiTpqjk8u4zAuu+XrqwJt7toim58nTPVmQYMqcew0v5rg59JBx3uOx143tIXSjWFg3cwGQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 167363225393044.88077510495725; Fri, 13 Jan 2023 09:50:53 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMGv-000246-PP; Fri, 13 Jan 2023 10:47:13 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMGu-00023V-Ms for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:12 -0500 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMGt-0006DI-3G for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:12 -0500 Received: by mail-wr1-x430.google.com with SMTP id k8so6959074wrc.9 for ; Fri, 13 Jan 2023 07:47:10 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id q4-20020adff784000000b0026e94493858sm18818239wrp.106.2023.01.13.07.47.09 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:47:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NMXgF+Gc7juCbht5l+F0PLKgPsDNWhWX1dOXeDIs2ls=; b=JfWwF8gNFDGm3Mb63NiaHVyWcD6Gcspt+Cey0dqc5NxNAqLc5nMhq0BQ2kv+X3Ckqe gLNknLv0utEzddRdgB6KDJ+x/5qEcq6oeTUpN41JL/b6kEFQPa3/arZ+RvbeH+aFLWje je6TyVqq5xd5BvEKYuNNpdh1etOoUL7BPQ6AeLy78yQQkVn1d06aWHAQDJS5nzg0k5+M gP+USM52k1V7NPAyuCDerMnSrWcvHO9zhH50ReBwVaCZnPvt0wQHN5+8XqfemMz/U+c2 J/h1ly0nHXmhQn1X0+daK3TXzXbS672d0anyQI+9QR6b4u0sJHZgnBh5XQiGqbwpIqFA Rwyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NMXgF+Gc7juCbht5l+F0PLKgPsDNWhWX1dOXeDIs2ls=; b=zxFB41YXqNgI+Wu2M8OTgZRbFg8epXM3RoMb9qu6Z2UijARzVnAjSZiD/Kr+gblTvE UeEbvSV4L5sra8G3hUZPi6b351Val/ONqjTzZCDbRr0X6n6m30W0c6eJwcXuecutXUZx hrO4olBlsGOlODcP7pF/S+WxM1JuX3EUTG6aBsWgKNm83e/dzT7Y0+3X/w8slCqr8wNE 7mVMUk4MbyLc7+ebeSuzQXQD52AZdWX5I/Ju27vhd0YJWJD0lZOW/1B5S+S7eTptkSlf wuk+Ja4q+WChAkHEHJ31l/aaLy7RwTLaVMDZfUf0mJh/T7iwrAY/jmO5Jc4+5hSk/cSR X0kg== X-Gm-Message-State: AFqh2kqPTyhEMbmP/SQmonIlIURtXCAQ2FymhZ3iGEfoP7qiisEbvrim +mw5ffmWAQILNVaLFoZC7TBuE1rCo78Ccqee X-Google-Smtp-Source: AMrXdXswnwVHs3qYpriYg7OpSqFL3IlV3mvb/2+cY7V3fJdJselWkckEwRwtaXAeWsdFHGKpgsnE2w== X-Received: by 2002:a05:6000:1f14:b0:242:5a34:fb7b with SMTP id bv20-20020a0560001f1400b002425a34fb7bmr52624957wrb.70.1673624830204; Fri, 13 Jan 2023 07:47:10 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 20/46] hw/mips/malta: Use bootloader generator API for nanoMIPS CPUs (3/5) Date: Fri, 13 Jan 2023 16:45:06 +0100 Message-Id: <20230113154532.49979-21-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=philmd@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673632254284100001 Part 3/5: Convert PCI0 I/O BAR setup Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20221211204533.85359-9-philmd@linaro.org> --- hw/mips/malta.c | 40 ++++++++-------------------------------- 1 file changed, 8 insertions(+), 32 deletions(-) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index 7d0fc5d0c8..f0ed32167f 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -691,9 +691,6 @@ static void write_bootloader_nanomips(uint8_t *base, ui= nt64_t run_addr, =20 /* * Load BAR registers as done by YAMON: - * - * - set up PCI0 I/O BARs from 0x18000000 to 0x181fffff - * */ stw_p(p++, 0xe040); stw_p(p++, 0x0681); /* lui t1, %hi(0xb4000000) */ @@ -713,21 +710,6 @@ static void write_bootloader_nanomips(uint8_t *base, u= int64_t run_addr, =20 stw_p(p++, 0xe020); stw_p(p++, 0x0801); /* lui t0, %hi(0xc0000000) */ - - /* 0x48 corresponds to GT_PCI0IOLD */ - stw_p(p++, 0x8422); stw_p(p++, 0x9048); - /* sw t0, 0x48(t1) */ - - stw_p(p++, 0xe020); stw_p(p++, 0x0800); - /* lui t0, %hi(0x40000000) */ - - /* 0x50 corresponds to GT_PCI0IOHD */ - stw_p(p++, 0x8422); stw_p(p++, 0x9050); - /* sw t0, 0x50(t1) */ - - stw_p(p++, 0xe020); stw_p(p++, 0x0001); - /* lui t0, %hi(0x80000000) */ - #else #define cpu_to_gt32 cpu_to_be32 =20 @@ -744,23 +726,17 @@ static void write_bootloader_nanomips(uint8_t *base, = uint64_t run_addr, =20 stw_p(p++, 0x0020); stw_p(p++, 0x00c0); /* addiu[32] t0, $0, 0xc0 */ - - /* 0x48 corresponds to GT_PCI0IOLD */ - stw_p(p++, 0x8422); stw_p(p++, 0x9048); - /* sw t0, 0x48(t1) */ - - stw_p(p++, 0x0020); stw_p(p++, 0x0040); - /* addiu[32] t0, $0, 0x40 */ - - /* 0x50 corresponds to GT_PCI0IOHD */ - stw_p(p++, 0x8422); stw_p(p++, 0x9050); - /* sw t0, 0x50(t1) */ - - stw_p(p++, 0x0020); stw_p(p++, 0x0080); - /* addiu[32] t0, $0, 0x80 */ #endif v =3D p; =20 + /* setup PCI0 io window to 0x18000000-0x181fffff */ + bl_gen_write_u32(&v, /* GT_PCI0IOLD */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x48), + cpu_to_gt32(0x18000000 << 3)); + bl_gen_write_u32(&v, /* GT_PCI0IOHD */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x50), + cpu_to_gt32(0x08000000 << 3)); + /* setup PCI0 mem windows */ bl_gen_write_u32(&v, /* GT_PCI0M0LD */ cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x58), --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673632115; cv=none; d=zohomail.com; s=zohoarc; b=aKJN7abXRdc5Vo6TWZ8pSSEMrVBY5IBFb2PnrdxUfYiVdsM8pV8aG7Zey/KeOxYtzIgZulG85KiCHHsxAYssxMzbThKDCzBFUIWmD6fjuUFLNchgloOeVwkj5fkN1Pg4n0XhSYXizo+bGx8qzq8NywNifMvbn4Eegrg218qrzOw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673632115; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=H6DJtZKnE0X5ILJFWUs2yDx+gOQeyUHjuQj0hCzkqe8=; b=ecmHASs1s8Lk2TuXnO5UCIF0UKv2duB6xTwD2cYCkVpjh+lWqlzz3nTOKhFn3OSa6iut6oILfqn18Cun/6G1nygk5WD3BnIZmEM6uB1GDnQk5Qpi6RA7zTxIMvhl9ZOeBEA7zubIpmvPcBPPVfGdImYZLmu05Fj+oRBuwRlO5R0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16736321152191000.6085825521926; Fri, 13 Jan 2023 09:48:35 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMH1-000292-G5; Fri, 13 Jan 2023 10:47:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMGz-00027J-H9 for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:17 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMGx-0006CN-Vs for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:17 -0500 Received: by mail-wr1-x42f.google.com with SMTP id bk16so21433633wrb.11 for ; Fri, 13 Jan 2023 07:47:15 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id v14-20020adff68e000000b002365730eae8sm19202385wrp.55.2023.01.13.07.47.14 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:47:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=H6DJtZKnE0X5ILJFWUs2yDx+gOQeyUHjuQj0hCzkqe8=; b=r44MOmYlEhgE5V3qKLlIt5LuVyDFdiCqZl+MNi801RCZjUpbPL+1GLr/q2lYRPelT+ +0bXxJVsrzsxC1quEslxeb25+1y0KgAFdGST7/LJqwcPu62cMKXZoKtoHOVd6XSCUvau GyK9WyGZb0intAdIteZXB/eMgaFGDu4GU8TMNrBQtJSxP+VIrzXQ2NYZ200wbKGxB/oY asPkL6gULCGtHDXgXIiW9F/QX8YXndfW7X0E9aR4AXb8pwbc1+YImptyRoaL0hqufNdm GdwJ3ucddOucSf726Y07ZlDMty6mhX6dBB13ttxVI/jM/tyJ+FaxwphOLjO9EoV5MoZ0 4tgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=H6DJtZKnE0X5ILJFWUs2yDx+gOQeyUHjuQj0hCzkqe8=; b=qkqUxQzZIcQ2NtjtjkvZwBl90Ut5+vqtXlic9lTgprLGpeTWLrtBxgIMfMdEyY4XWN FCmWgzYpquBtSBRYE/VcpR8HwvzEHlnTqy4wq6op+UZ7oA9Lh+SLrEJmj1S+N1dH7rVc u5vmZarbKLxOsxS91Z/dbhLmp6914Cf2GsPTamH1fD4DJpS94quHsByC//fx5dFaUQnI NOz5xDPL+NdHDZBQ1vyuDBoDWrEzG3rtCbOSXmyY0Ktv+XX5fda6fsAF6PfAJCQFpxhU 4ZZyA3WGrpKx1evKH0FvbJbzOH84y0xYLp8xBzZ/cchw1WceSLfGDelYHsOjuvlDBybi /v5w== X-Gm-Message-State: AFqh2kp70LiFLkLLoTEkBt/3d5l5zJH56CSygfn0//CFoKoZZUEaqRqs tjowCmqguW4TBe4nO6DNonKy+ag0j1qwcNsJ X-Google-Smtp-Source: AMrXdXsl0hMWi4W+dLMaRK8xq1qSTwIJp02G/p2R6i+ZAYfAQGDUNHt1FxCN1r8r88G/aljTBerR1Q== X-Received: by 2002:a05:6000:60c:b0:242:40de:332 with SMTP id bn12-20020a056000060c00b0024240de0332mr58479032wrb.40.1673624835088; Fri, 13 Jan 2023 07:47:15 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 21/46] hw/mips/malta: Use bootloader generator API for nanoMIPS CPUs (4/5) Date: Fri, 13 Jan 2023 16:45:07 +0100 Message-Id: <20230113154532.49979-22-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673632115697100001 Part 4/5: Convert GT64120 ISD base address setup Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20221211204533.85359-10-philmd@linaro.org> --- hw/mips/malta.c | 40 +++++++--------------------------------- 1 file changed, 7 insertions(+), 33 deletions(-) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index f0ed32167f..e618513e35 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -689,46 +689,20 @@ static void write_bootloader_nanomips(uint8_t *base, = uint64_t run_addr, stw_p(p++, 0x80e7); stw_p(p++, NM_LO(loaderparams.ram_low_size)); /* ori a3,a3,%lo(loaderparams.ram_low_size= ) */ =20 - /* - * Load BAR registers as done by YAMON: - */ - stw_p(p++, 0xe040); stw_p(p++, 0x0681); - /* lui t1, %hi(0xb4000000) */ - #if TARGET_BIG_ENDIAN #define cpu_to_gt32 cpu_to_le32 - - stw_p(p++, 0xe020); stw_p(p++, 0x0be1); - /* lui t0, %hi(0xdf000000) */ - - /* 0x68 corresponds to GT_ISD (from hw/mips/gt64xxx_pci.c) */ - stw_p(p++, 0x8422); stw_p(p++, 0x9068); - /* sw t0, 0x68(t1) */ - - stw_p(p++, 0xe040); stw_p(p++, 0x077d); - /* lui t1, %hi(0xbbe00000) */ - - stw_p(p++, 0xe020); stw_p(p++, 0x0801); - /* lui t0, %hi(0xc0000000) */ #else #define cpu_to_gt32 cpu_to_be32 - - stw_p(p++, 0x0020); stw_p(p++, 0x00df); - /* addiu[32] t0, $0, 0xdf */ - - /* 0x68 corresponds to GT_ISD */ - stw_p(p++, 0x8422); stw_p(p++, 0x9068); - /* sw t0, 0x68(t1) */ - - /* Use kseg2 remapped address 0x1be00000 */ - stw_p(p++, 0xe040); stw_p(p++, 0x077d); - /* lui t1, %hi(0xbbe00000) */ - - stw_p(p++, 0x0020); stw_p(p++, 0x00c0); - /* addiu[32] t0, $0, 0xc0 */ #endif v =3D p; =20 + /* setup MEM-to-PCI0 mapping as done by YAMON */ + + /* move GT64120 registers from 0x14000000 to 0x1be00000 */ + bl_gen_write_u32(&v, /* GT_ISD */ + cpu_mips_phys_to_kseg1(NULL, 0x14000000 + 0x68), + cpu_to_gt32(0x1be00000 << 3)); + /* setup PCI0 io window to 0x18000000-0x181fffff */ bl_gen_write_u32(&v, /* GT_PCI0IOLD */ cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x48), --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673628950; cv=none; d=zohomail.com; s=zohoarc; b=nGEr5UtuwGFoT8nixXuVejrDlLHh0bb8dF/SFJndCLTmsD0fxsBRzUzG67yXMtvhM/klKMuVIkP4AJdwt58fImr+vQ5oM8U+pj181XJXkQc+6O+Omp7O02xwTe6ZYDA9LSBbNQ/8KmJlg8FYuJGTgl6HXSSKwfR9CQAkVZ102pE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673628950; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hGNLpc3KFK10A/aPMRWO52DZ2IuO8Bnj/8mkbLJTAeI=; b=Lvu7mJ6xiZKAQ3w6QCu5SO/yh0CybWa46OmF8x9SlULb0XzrNRXImn6lo4elhGbvaFfewnLAsOKwp6V9MPOfEUyoAYXCXSGNljZuA0PonY8dX2gicOsqA+Hdx7rLd4G9sF29R3oVmjJJ/XOtcme8jHcv3SL9bcu7IDYl1gb5OYs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673628950866309.19623347461743; Fri, 13 Jan 2023 08:55:50 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMH6-0002Fr-U8; Fri, 13 Jan 2023 10:47:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMH5-0002FF-Hz for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:23 -0500 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMH3-0006PD-Vf for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:23 -0500 Received: by mail-wr1-x42a.google.com with SMTP id co23so21470999wrb.4 for ; Fri, 13 Jan 2023 07:47:21 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id g2-20020a5d4882000000b00286ad197346sm19248538wrq.70.2023.01.13.07.47.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:47:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hGNLpc3KFK10A/aPMRWO52DZ2IuO8Bnj/8mkbLJTAeI=; b=t7kQubY6RHVLKS/DKP2mYUJqszwP5zOpbUtCTkrk/SFQkfaq1oYHSlBN7JffZUQRAv OdsPvcin9nhBtonni0cW+a4VgPMYMmpwUakOleJ52vd7GmQwzOePA81wYRHzhLK3hDKY iUee/k6imT6WZhYrPG3m7n+15oqm99ZyulZp7mscmchtnNobZXqb15WLX9OATviHoh3W AIaRxCU54uj2u84Td60ouG1Pz3SOCRTMsSlI6vjarzhdnQeqAj3m293wHdlPu9Y3d8Sb NI3Yz2HlKHOLs4NQPV0tTPuzw7BgCD13NqAFQC2OKaUqBnMS1Nq2zcxNyrrHMKsBUVuM dXYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hGNLpc3KFK10A/aPMRWO52DZ2IuO8Bnj/8mkbLJTAeI=; b=YFwE2AzQ+lm474r20/5JrUn/xmf1GXx7prpjr/uHDdxP0gzcsKEUj0XIOju20L11I2 mCIqfg4wKLiM8uGR5/zGJA5qGC3wdulNbaBjygI1CX2/JjM+LS6NedQAr+uXxzcmAL4o gt2nDIPRVNTcxmA5pnV8iVRIeVwdKtY9Edns3VtQsh5N5hNxUTV9yrYZntJv3tUkiU36 et8cxoQSmyZIxsSaBlackJys3pNjMgbXF+P7smpGhfvjgkbXARRHp6fdYcFi0Eo/RAkc IqlB1Xmniqqm4TPsNa2YRtUCFgY8Tbu4Ptjle7jExGEpF5+R5SI6qf/N9wIDTYOcdkhI Ve3A== X-Gm-Message-State: AFqh2kqUe9wqWnn3CrO/fzBUPpZovibO8t5wHA9WqjDCevp5TzdBdyvY 6s+l3+eqyXCbwgIzgIUyFvvUNfvk08iXM213 X-Google-Smtp-Source: AMrXdXvpFX1ttsOqcg0gprsVDHlaIKnvomif+45BSY1B8NwixmikBTj0YC1YnKZdz6QI6hf7posOFg== X-Received: by 2002:adf:a408:0:b0:26f:6bf:348f with SMTP id d8-20020adfa408000000b0026f06bf348fmr196950wra.6.1673624839949; Fri, 13 Jan 2023 07:47:19 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 22/46] hw/mips/malta: Use bootloader generator API for nanoMIPS CPUs (5/5) Date: Fri, 13 Jan 2023 16:45:08 +0100 Message-Id: <20230113154532.49979-23-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=philmd@linaro.org; helo=mail-wr1-x42a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673628953065100001 Part 5/5: Convert jumping to kernel Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20221211204533.85359-11-philmd@linaro.org> --- hw/mips/malta.c | 68 ++++++++----------------------------------------- 1 file changed, 11 insertions(+), 57 deletions(-) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index e618513e35..b66dad0510 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -625,11 +625,6 @@ static void write_bootloader_nanomips(uint8_t *base, u= int64_t run_addr, /* Small bootloader */ p =3D (uint16_t *)base; =20 -#define NM_HI1(VAL) (((VAL) >> 16) & 0x1f) -#define NM_HI2(VAL) \ - (((VAL) & 0xf000) | (((VAL) >> 19) & 0xffc) | (((VAL) >> 31) & 0= x1)) -#define NM_LO(VAL) ((VAL) & 0xfff) - stw_p(p++, 0x2800); stw_p(p++, 0x001c); /* bc to_here */ stw_p(p++, 0x8000); stw_p(p++, 0xc000); @@ -648,46 +643,6 @@ static void write_bootloader_nanomips(uint8_t *base, u= int64_t run_addr, /* nop */ =20 /* to_here: */ - if (semihosting_get_argc()) { - /* Preserve a0 content as arguments have been passed */ - stw_p(p++, 0x8000); stw_p(p++, 0xc000); - /* nop */ - } else { - stw_p(p++, 0x0080); stw_p(p++, 0x0002); - /* li a0,2 */ - } - - stw_p(p++, 0xe3a0 | NM_HI1(ENVP_VADDR - 64)); - - stw_p(p++, NM_HI2(ENVP_VADDR - 64)); - /* lui sp,%hi(ENVP_VADDR - 64) */ - - stw_p(p++, 0x83bd); stw_p(p++, NM_LO(ENVP_VADDR - 64)); - /* ori sp,sp,%lo(ENVP_VADDR - 64) */ - - stw_p(p++, 0xe0a0 | NM_HI1(ENVP_VADDR)); - - stw_p(p++, NM_HI2(ENVP_VADDR)); - /* lui a1,%hi(ENVP_VADDR) */ - - stw_p(p++, 0x80a5); stw_p(p++, NM_LO(ENVP_VADDR)); - /* ori a1,a1,%lo(ENVP_VADDR) */ - - stw_p(p++, 0xe0c0 | NM_HI1(ENVP_VADDR + 8)); - - stw_p(p++, NM_HI2(ENVP_VADDR + 8)); - /* lui a2,%hi(ENVP_VADDR + 8) */ - - stw_p(p++, 0x80c6); stw_p(p++, NM_LO(ENVP_VADDR + 8)); - /* ori a2,a2,%lo(ENVP_VADDR + 8) */ - - stw_p(p++, 0xe0e0 | NM_HI1(loaderparams.ram_low_size)); - - stw_p(p++, NM_HI2(loaderparams.ram_low_size)); - /* lui a3,%hi(loaderparams.ram_low_size) */ - - stw_p(p++, 0x80e7); stw_p(p++, NM_LO(loaderparams.ram_low_size)); - /* ori a3,a3,%lo(loaderparams.ram_low_size= ) */ =20 #if TARGET_BIG_ENDIAN #define cpu_to_gt32 cpu_to_le32 @@ -725,20 +680,19 @@ static void write_bootloader_nanomips(uint8_t *base, = uint64_t run_addr, cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x88), cpu_to_gt32(0x0bc00000 << 3)); =20 - p =3D v; - #undef cpu_to_gt32 =20 - stw_p(p++, 0xe320 | NM_HI1(kernel_entry)); - - stw_p(p++, NM_HI2(kernel_entry)); - /* lui t9,%hi(kernel_entry) */ - - stw_p(p++, 0x8339); stw_p(p++, NM_LO(kernel_entry)); - /* ori t9,t9,%lo(kernel_entry) */ - - stw_p(p++, 0x4bf9); stw_p(p++, 0x0000); - /* jalrc t8 */ + bl_gen_jump_kernel(&v, + true, ENVP_VADDR - 64, + /* + * If semihosting is used, arguments have already b= een + * passed, so we preserve $a0. + */ + !semihosting_get_argc(), 2, + true, ENVP_VADDR, + true, ENVP_VADDR + 8, + true, loaderparams.ram_low_size, + kernel_entry); } =20 /* --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673628343; cv=none; d=zohomail.com; s=zohoarc; b=Y8+4fKY7fFnNNh71l3PbH9K8wG222yclsYLVKazlhkhAh132e81IJ2qggW9nrIMp4uhhycYsDdudPTv89+sqbFkCpy2d5eZCQMax7NV95RmB1Trr3iDsri1Vm/46Vz+XDDNvzAlDYww1rw4+g6Hg3vKvHkxWVx081HsQwvKFIY0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673628343; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=T4yHKwLa0eOU7lIkX7VogKZwEOB3VNYYLjvGA5PLysQ=; b=noV7t7hN0NQDDo+GoODDiBN8MsAV3x+cyOE1dCUm28RIEnD0luAuNoWV/9Wgu0e7alAoi7XFuNCJaIg27TO56UrBsHiNexQLg/b+KLMrQfcxXq/QBAD1qJi2694op8jXs/tdw/s0ZBZanbePe2FJ8UOz8y9CdMN6DiSzv8xR1EM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673628343276603.3442941958413; Fri, 13 Jan 2023 08:45:43 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMHB-0002L0-A2; Fri, 13 Jan 2023 10:47:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMH9-0002Gz-Id for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:27 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMH7-0006ME-Mk for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:27 -0500 Received: by mail-wm1-x332.google.com with SMTP id p1-20020a05600c1d8100b003d8c9b191e0so17666821wms.4 for ; Fri, 13 Jan 2023 07:47:25 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id z6-20020a05600c0a0600b003d96efd09b7sm35169581wmp.19.2023.01.13.07.47.24 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:47:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=T4yHKwLa0eOU7lIkX7VogKZwEOB3VNYYLjvGA5PLysQ=; b=mi1CTKRMdH+WSeNuLrnPRutL7WHVbVc+WWwDD49DWxtpbi8XJcjIwHaQwH71v1mDiG blvJXQWjNL+jAH3Fb5swWibxhmJrNbnfZsvI81tCtrV99IvP66IHILwVkljYh3OSEJYz 3dUdgGjA5cdP98iefxipBVuM1Uj6e33Ncn0/z/T+sTbZ0RngqSvkhtoPech2vMZnHNIn ZJo6hQRGn6zyC1MKZUd7hsWbLl5XGqmEenmTqZsqKAmM5ejooizucW9TYKNUywqXTd4e ureuufKhhSfazlZyuBkjxTgRwlNH2nLJ7Qmu+Oux6JVrhpBueI9vlwDQjlCiz97SnNN0 Y4bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=T4yHKwLa0eOU7lIkX7VogKZwEOB3VNYYLjvGA5PLysQ=; b=QZq0m0e+7Fx3VSHNONySjXyFay/8O4oTdNsFIFPPxTUudD+dkPyIuhqipwYKUYnRyZ T6XkFxCdCdUXxfi2LxuAhWo1vuepwHzMSwQN2j1VAJosxwiaCScufaIghf3Z7x5tDdd+ T8s9HsMeVxQa7so44fOdXOuwcvx+UgbR8lRoXiq1bT0hZGHIO+gPWV1Le+0fJWJwLq6C J2n4Wh+ydNyLyPKHwwLF8JoEUk3VLU2Qd7alRU3F3EPcasEZqGlDNFRvODiWMwOoOiHe EFxROAuiNZSCermRmvk0PDdcE6uPttK95TOMv7OA9ooiXWOSxMnANZ5iLN8Z7x58qwj0 7bhg== X-Gm-Message-State: AFqh2ko1+xmd3qCnLtWX9IAAco+9cCP4D3Eh+fuFHqQl1gCJnvX7CUd2 8h/NFMplUm7rvFjsLDBUf0qWjxcUa3pUTZX9 X-Google-Smtp-Source: AMrXdXsrgqgDmrb+DrhP7sqw0qYHzC1Hqm1aJzggMgVY5o8NOpbug8ELQH9Lu2WSkm61Xb/uK8+Wgw== X-Received: by 2002:a05:600c:4f12:b0:3d9:f9ef:3d23 with SMTP id l18-20020a05600c4f1200b003d9f9ef3d23mr10975662wmq.23.1673624844812; Fri, 13 Jan 2023 07:47:24 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 23/46] hw/mips/malta: Merge common BL code as bl_setup_gt64120_jump_kernel() Date: Fri, 13 Jan 2023 16:45:09 +0100 Message-Id: <20230113154532.49979-24-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673628421267100001 Merge common code shared between write_bootloader() and write_bootloader_nanomips() into bl_setup_gt64120_jump_kernel(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20221211204533.85359-12-philmd@linaro.org> --- hw/mips/malta.c | 155 +++++++++++++++++------------------------------- 1 file changed, 56 insertions(+), 99 deletions(-) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index b66dad0510..34c24110cd 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -616,11 +616,64 @@ static void network_init(PCIBus *pci_bus) } } =20 +static void bl_setup_gt64120_jump_kernel(void **p, uint64_t run_addr, + uint64_t kernel_entry) +{ + /* Bus endianess is always reversed */ +#if TARGET_BIG_ENDIAN +#define cpu_to_gt32 cpu_to_le32 +#else +#define cpu_to_gt32 cpu_to_be32 +#endif + + /* setup MEM-to-PCI0 mapping as done by YAMON */ + + /* move GT64120 registers from 0x14000000 to 0x1be00000 */ + bl_gen_write_u32(p, /* GT_ISD */ + cpu_mips_phys_to_kseg1(NULL, 0x14000000 + 0x68), + cpu_to_gt32(0x1be00000 << 3)); + + /* setup PCI0 io window to 0x18000000-0x181fffff */ + bl_gen_write_u32(p, /* GT_PCI0IOLD */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x48), + cpu_to_gt32(0x18000000 << 3)); + bl_gen_write_u32(p, /* GT_PCI0IOHD */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x50), + cpu_to_gt32(0x08000000 << 3)); + + /* setup PCI0 mem windows */ + bl_gen_write_u32(p, /* GT_PCI0M0LD */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x58), + cpu_to_gt32(0x10000000 << 3)); + bl_gen_write_u32(p, /* GT_PCI0M0HD */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x60), + cpu_to_gt32(0x07e00000 << 3)); + bl_gen_write_u32(p, /* GT_PCI0M1LD */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x80), + cpu_to_gt32(0x18200000 << 3)); + bl_gen_write_u32(p, /* GT_PCI0M1HD */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x88), + cpu_to_gt32(0x0bc00000 << 3)); + +#undef cpu_to_gt32 + + bl_gen_jump_kernel(p, + true, ENVP_VADDR - 64, + /* + * If semihosting is used, arguments have already + * been passed, so we preserve $a0. + */ + !semihosting_get_argc(), 2, + true, ENVP_VADDR, + true, ENVP_VADDR + 8, + true, loaderparams.ram_low_size, + kernel_entry); +} + static void write_bootloader_nanomips(uint8_t *base, uint64_t run_addr, uint64_t kernel_entry) { uint16_t *p; - void *v; =20 /* Small bootloader */ p =3D (uint16_t *)base; @@ -644,55 +697,7 @@ static void write_bootloader_nanomips(uint8_t *base, u= int64_t run_addr, =20 /* to_here: */ =20 -#if TARGET_BIG_ENDIAN -#define cpu_to_gt32 cpu_to_le32 -#else -#define cpu_to_gt32 cpu_to_be32 -#endif - v =3D p; - - /* setup MEM-to-PCI0 mapping as done by YAMON */ - - /* move GT64120 registers from 0x14000000 to 0x1be00000 */ - bl_gen_write_u32(&v, /* GT_ISD */ - cpu_mips_phys_to_kseg1(NULL, 0x14000000 + 0x68), - cpu_to_gt32(0x1be00000 << 3)); - - /* setup PCI0 io window to 0x18000000-0x181fffff */ - bl_gen_write_u32(&v, /* GT_PCI0IOLD */ - cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x48), - cpu_to_gt32(0x18000000 << 3)); - bl_gen_write_u32(&v, /* GT_PCI0IOHD */ - cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x50), - cpu_to_gt32(0x08000000 << 3)); - - /* setup PCI0 mem windows */ - bl_gen_write_u32(&v, /* GT_PCI0M0LD */ - cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x58), - cpu_to_gt32(0x10000000 << 3)); - bl_gen_write_u32(&v, /* GT_PCI0M0HD */ - cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x60), - cpu_to_gt32(0x07e00000 << 3)); - bl_gen_write_u32(&v, /* GT_PCI0M1LD */ - cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x80), - cpu_to_gt32(0x18200000 << 3)); - bl_gen_write_u32(&v, /* GT_PCI0M1HD */ - cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x88), - cpu_to_gt32(0x0bc00000 << 3)); - -#undef cpu_to_gt32 - - bl_gen_jump_kernel(&v, - true, ENVP_VADDR - 64, - /* - * If semihosting is used, arguments have already b= een - * passed, so we preserve $a0. - */ - !semihosting_get_argc(), 2, - true, ENVP_VADDR, - true, ENVP_VADDR + 8, - true, loaderparams.ram_low_size, - kernel_entry); + bl_setup_gt64120_jump_kernel((void **)&p, run_addr, kernel_entry); } =20 /* @@ -758,55 +763,8 @@ static void write_bootloader(uint8_t *base, uint64_t r= un_addr, * */ =20 - /* Bus endianess is always reversed */ -#if TARGET_BIG_ENDIAN -#define cpu_to_gt32 cpu_to_le32 -#else -#define cpu_to_gt32 cpu_to_be32 -#endif v =3D p; - - /* move GT64120 registers from 0x14000000 to 0x1be00000 */ - bl_gen_write_u32(&v, /* GT_ISD */ - cpu_mips_phys_to_kseg1(NULL, 0x14000000 + 0x68), - cpu_to_gt32(0x1be00000 << 3)); - - /* setup MEM-to-PCI0 mapping */ - /* setup PCI0 io window to 0x18000000-0x181fffff */ - bl_gen_write_u32(&v, /* GT_PCI0IOLD */ - cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x48), - cpu_to_gt32(0x18000000 << 3)); - bl_gen_write_u32(&v, /* GT_PCI0IOHD */ - cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x50), - cpu_to_gt32(0x08000000 << 3)); - /* setup PCI0 mem windows */ - bl_gen_write_u32(&v, /* GT_PCI0M0LD */ - cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x58), - cpu_to_gt32(0x10000000 << 3)); - bl_gen_write_u32(&v, /* GT_PCI0M0HD */ - cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x60), - cpu_to_gt32(0x07e00000 << 3)); - - bl_gen_write_u32(&v, /* GT_PCI0M1LD */ - cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x80), - cpu_to_gt32(0x18200000 << 3)); - bl_gen_write_u32(&v, /* GT_PCI0M1HD */ - cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0x88), - cpu_to_gt32(0x0bc00000 << 3)); - -#undef cpu_to_gt32 - - bl_gen_jump_kernel(&v, - true, ENVP_VADDR - 64, - /* - * If semihosting is used, arguments have already b= een - * passed, so we preserve $a0. - */ - !semihosting_get_argc(), 2, - true, ENVP_VADDR, - true, ENVP_VADDR + 8, - true, loaderparams.ram_low_size, - kernel_entry); + bl_setup_gt64120_jump_kernel(&v, run_addr, kernel_entry); p =3D v; =20 /* YAMON subroutines */ @@ -851,7 +809,6 @@ static void write_bootloader(uint8_t *base, uint64_t ru= n_addr, stl_p(p++, 0x00000000); /* nop */ stl_p(p++, 0x03e00009); /* jalr ra */ stl_p(p++, 0xa1040000); /* sb a0,0(t0) */ - } =20 static void G_GNUC_PRINTF(3, 4) prom_set(uint32_t *prom_buf, int index, --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673627223; cv=none; d=zohomail.com; s=zohoarc; b=PM4e5OnR66Xnd+DZ8BqJ0tXkfhpjN4AvUk3lGDfhA4hgfPjn01EqE+2g4J+8M9eJ7kDHD0jRrmS3r4bixCaG1c5NpjbJR43g4UG2Kfr9cWjzEHn5thKO5/RIDz5exfA3x4chCts0U4KU0H7mDtMkJYH7F8nINpFKmAviGU4gNI8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673627223; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=w8hMS9BXzYnzncszcpUENaGcSPp4qf+CCZgWrkLFPz8=; b=KL91EkkhrDvkUtTULEZO8dYfezuufdFh5hH/NX/6uRO0SDO5UT1ASDU4nssQiaogoWWwPUqufCDumL1oBHQ1EU8D6p8wfunNXYmCmgGPraZLn/5tS1kiEAHCx2tvfI+L4F798p9dXTiGXPV2DnrE25hsoBTa9lBq721fidIW/7c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673627223204742.2949968441646; Fri, 13 Jan 2023 08:27:03 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMHG-0002MB-3H; Fri, 13 Jan 2023 10:47:34 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMHE-0002Lq-Mh for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:32 -0500 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMHD-0006Jq-3W for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:32 -0500 Received: by mail-wr1-x434.google.com with SMTP id t5so17052599wrq.1 for ; Fri, 13 Jan 2023 07:47:30 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id f2-20020adfdb42000000b0024274a5db0asm19415361wrj.2.2023.01.13.07.47.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:47:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=w8hMS9BXzYnzncszcpUENaGcSPp4qf+CCZgWrkLFPz8=; b=sdsORpm8N0McvSOt1oyq6vQ3CVpMgAcOLpfWqLnL5gze6zuICPJdR51kE3xA1nZphn h2+zzfyxKuj3uwNqNSamuejQU8HZuzISODkqalUj7BxMlvu5YUbERdxPKVqpcjax5Nyt 5IdtohrMDGe3jat6N8VM/nCz2QXfzHhafRIefFQRgIKTzk4jvOidsGa69St6xr/u0jie np/emipmB6MY04IEXy19qbl7WEFDtr5LeTgy5zkVejrhBSVOuwgKXKDZQDUNVnDQfFfj I1W/a8z7UapHvhYg0PCU74TYYknoLp9cjuBJ9shUGHySVmWucwVCl8NKCMLFeKKY89so 7gxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=w8hMS9BXzYnzncszcpUENaGcSPp4qf+CCZgWrkLFPz8=; b=g1xKpGeP8RVOI9hYgJykzXa7J5VDnr+YH/PhSUg4b5lXLakLG0wO7Q3qFecqQW86Gp ZXQvwI3jR1ZI6ViftkdJDSZvU/aSVEotIFj6VtMoZN0MkLb3zmtl181RGiVsaQbxeBro s368pLZfY4ZJyE42agv3QPc6yvb9kE0LgOL2yDMv3pfJXZDMyXOnaKmNXojDxEPlm+/b p6RlWovXgme5nQRDn8ElHt9AOGdo3zfOe0eEmW2OoRk6ZxQTJ14vjeOAuXAZ8OalQPDh 7pKhRydwK1AGCMeeFjPIDUQ4CTyOs+DNx0jWuSSqValSy34Xb8TWZgv9/CP/CEOJPdDH XTTQ== X-Gm-Message-State: AFqh2kqMwr4X2U8AFfHCD+D1my/sUMOZ8j8Y/5dXdsTZJX3Aj4HIjJH5 Y7u1saz5JtW4HNY0ioTLEnOr3Mu3avNI3hij X-Google-Smtp-Source: AMrXdXtfAp8ClCEYicR7u66mbLvApWhNJB9lCyaTkM/PwqjRHcyYs28IjLSDbRJKVMNRzUM/snkitA== X-Received: by 2002:a5d:55c5:0:b0:242:3812:f948 with SMTP id i5-20020a5d55c5000000b002423812f948mr156443wrw.24.1673624850215; Fri, 13 Jan 2023 07:47:30 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Bernhard Beschow , Igor Mammedov , "Michael S . Tsirkin" Subject: [PULL 24/46] hw/mips/malta: Introduce PIIX4_PCI_DEVFN definition Date: Fri, 13 Jan 2023 16:45:10 +0100 Message-Id: <20230113154532.49979-25-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=philmd@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673627225057100001 The PIIX4 PCI-ISA bridge function is always located at 10:0. Since we want to re-use its address, add the PIIX4_PCI_DEVFN definition. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Bernhard Beschow Reviewed-by: Igor Mammedov Reviewed-by: Michael S. Tsirkin Message-Id: <20221027204720.33611-2-philmd@linaro.org> --- hw/mips/malta.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index 34c24110cd..9fc3280407 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -71,6 +71,8 @@ =20 #define FLASH_SIZE 0x400000 =20 +#define PIIX4_PCI_DEVFN PCI_DEVFN(10, 0) + typedef struct { MemoryRegion iomem; MemoryRegion iomem_lo; /* 0 - 0x900 */ @@ -1239,7 +1241,7 @@ void mips_malta_init(MachineState *machine) pci_bus =3D PCI_BUS(qdev_get_child_bus(dev, "pci")); =20 /* Southbridge */ - piix4 =3D pci_create_simple_multifunction(pci_bus, PCI_DEVFN(10, 0), t= rue, + piix4 =3D pci_create_simple_multifunction(pci_bus, PIIX4_PCI_DEVFN, tr= ue, TYPE_PIIX4_PCI_DEVICE); isa_bus =3D ISA_BUS(qdev_get_child_bus(DEVICE(piix4), "isa.0")); =20 --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673628301; cv=none; d=zohomail.com; s=zohoarc; b=J5VPaRS0Qtc+j1rCFvVIh8Y0r9KEot5jiP3O9Eg9NHkZoVqkky3zFRhBlu5/JmaqGz4BTnlrTULtvuqoJXwzJJuKoVkl6NZlQr9yAmAUkW8tT0jpAkWJ1S3BxEEdTt0GbaHUxieOEBjnPZnjsqTKPDaHcaY25GcPCXfCBQ629dA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673628301; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/lve/VP9rdCZNT+dVW+MP0O31KuoNjsj6O9zBWuWgJ0=; b=Ohao6fNilJLyuVS7S2XjtFtCwvQth89hfgzWsQADCSTpt1+PlEAExqXWiVqmOU7gojNWWI52ApU+smtIi6aKARQJKwkwdBXzSccX4R4E6PFVk0jt4R+WvYJwXjJVzqlYvgOvO98KGSkjNkHf8hBrUQTNtxsp3/nFn7l2/ZPwjl4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673628301727894.4918093453887; Fri, 13 Jan 2023 08:45:01 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMHL-0002O1-1F; Fri, 13 Jan 2023 10:47:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMHK-0002Nb-5n for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:38 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMHI-0006Rg-LB for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:37 -0500 Received: by mail-wm1-x32c.google.com with SMTP id f25-20020a1c6a19000000b003da221fbf48so1346928wmc.1 for ; Fri, 13 Jan 2023 07:47:36 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id m25-20020a05600c3b1900b003d9ed49ee2bsm21649052wms.1.2023.01.13.07.47.34 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:47:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/lve/VP9rdCZNT+dVW+MP0O31KuoNjsj6O9zBWuWgJ0=; b=qxwokEqbtqY4ZmQPpKl0bS0Se69TQSGUmMP8i3MG3LVwqhTpdRcRvqaK3A4DPy8IC+ 3V3450YPW0cPK59G1qObE7nfFoZxulcbepDIjD8HlxFizvB7dEdoD9r893p7gMUzO7Z+ K/iOea7CWBtqQ0J3n5QzPWmVyHC9EHARhhnS2zvlhtyvEWzy6cNlD9ZNLqkJ9LQOQISz ktxRY5uOdLE5KgL3lRrbu2zH5LllNH3fZOPneQ1hPfO1Il3N3dVTOosc9Uw1fHiSjWfU irQR+zGplcgM50tIklBIA/p20sGL3+16UUENANQzwIVdjCTayfcjbM4pu9NIS9GJML8Z TiWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/lve/VP9rdCZNT+dVW+MP0O31KuoNjsj6O9zBWuWgJ0=; b=4cJmSwzWJYsqz2azaBkmaVvgH9UoPOGjO8DDrdgOxIT0JCPqJznGj1LZqTy6XJ2gmL MxEk27KHWdd61nv8fhI5oYU3X03OF7u9lGQiV1RTwS7kDhei0slZCEWH8Rbz67GSmCd6 083GbqLIrrNe85lzmqUOme3jOG3l1H5GXXpt+zeccNXpiPwuKfBUSlmh34ESLrcvI66D Ri3ZyqVoiStmM/098Ru8S2irGaMJnVFhzgQ+Q7RG/3Aecsw0fY98Hvg9xEvGcOV1DxU7 OyZsVLCnED2tEp96EYQRCB8H8JN+mvDDZnFdyBTXcdA3N4+kZHq56rRom7uAFsjk75+L ATrw== X-Gm-Message-State: AFqh2ko9+hWv+w7eH/kypeCPattHg1Wx4GbLDJEd8Xy0LEcXbr2450mr BJnI066ZeBE2PNjs4q4du2o382NDF+HPPUns X-Google-Smtp-Source: AMrXdXtU+mkDXLAUiJQL1/cr3W78k/NOghKAjpJnWaf78VL5umrtc5V4FDlZejyj90SVa2q9RE0TjQ== X-Received: by 2002:a05:600c:3ca8:b0:3d9:e8b3:57fa with SMTP id bg40-20020a05600c3ca800b003d9e8b357famr17284984wmb.30.1673624855133; Fri, 13 Jan 2023 07:47:35 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Michael S . Tsirkin" Subject: [PULL 25/46] hw/mips/malta: Set PIIX4 IRQ routes in embedded bootloader Date: Fri, 13 Jan 2023 16:45:11 +0100 Message-Id: <20230113154532.49979-26-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673628303593100001 Linux kernel expects the northbridge & southbridge chipsets configured by the BIOS firmware. We emulate that by writing a tiny bootloader code in write_bootloader(). Upon introduction in commit 5c2b87e34d ("PIIX4 support"), the PIIX4 configuration space included values specific to the Malta board. Set the Malta-specific IRQ routing values in the embedded bootloader, so the next commit can remove the Malta specific bits from the PIIX4 PCI-ISA bridge and make it generic (matching the real hardware). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Michael S. Tsirkin Message-Id: <20221027204720.33611-3-philmd@linaro.org> --- hw/mips/malta.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index 9fc3280407..ae76b4db70 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -621,6 +621,10 @@ static void network_init(PCIBus *pci_bus) static void bl_setup_gt64120_jump_kernel(void **p, uint64_t run_addr, uint64_t kernel_entry) { + static const char pci_pins_cfg[PCI_NUM_PINS] =3D { + 10, 10, 11, 11 /* PIIX IRQRC[A:D] */ + }; + /* Bus endianess is always reversed */ #if TARGET_BIG_ENDIAN #define cpu_to_gt32 cpu_to_le32 @@ -659,6 +663,20 @@ static void bl_setup_gt64120_jump_kernel(void **p, uin= t64_t run_addr, =20 #undef cpu_to_gt32 =20 + /* + * The PIIX ISA bridge is on PCI bus 0 dev 10 func 0. + * Load the PIIX IRQC[A:D] routing config address, then + * write routing configuration to the config data register. + */ + bl_gen_write_u32(p, /* GT_PCI0_CFGADDR */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0xcf8), + tswap32((1 << 31) /* ConfigEn */ + | PCI_BUILD_BDF(0, PIIX4_PCI_DEVFN) << 8 + | PIIX_PIRQCA)); + bl_gen_write_u32(p, /* GT_PCI0_CFGDATA */ + cpu_mips_phys_to_kseg1(NULL, 0x1be00000 + 0xcfc), + tswap32(ldl_be_p(pci_pins_cfg))); + bl_gen_jump_kernel(p, true, ENVP_VADDR - 64, /* --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673627126; cv=none; d=zohomail.com; s=zohoarc; b=finx8d8Zzav5s9cGk7dVDH1B5sx1RgJObOwqIzIDMRZVaXljjvb8YtOkVjRpDPd8A9GcgB/+RqsRX8Pq5xbgWGWPVZ+8EPmepFpd59Jx02XWx9YWzqupQwWjIIljYCbjGqP/AOt3mDYiQSjgq9X2ZLMCzT35aRf4WaVSAhBsNPY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673627126; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3Z1QUovQY9GKd51k95q8FPVeLQ1Fen4KUg1KYYN83u4=; b=QoLvAC7h7VT1PfmRlTNR5f9xxyBFMG4O7pcO/SIo3p3Wbv1AGqAmk/Yb5sA9l81ljnISJpFPZKmj2yN6Awjl4fma8Yd1yyggMhZ0nqxy0OG2lrz89uZeRWUp4mhVQsjugruSn9/zTC7I4+RL3JbH1YeAApIn0Xl2H5tcIwSQvoM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 167362712651051.75927873065086; Fri, 13 Jan 2023 08:25:26 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMHR-0002S0-4B; Fri, 13 Jan 2023 10:47:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMHP-0002Qs-CP for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:43 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMHN-0006TF-Qq for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:43 -0500 Received: by mail-wm1-x32a.google.com with SMTP id j16-20020a05600c1c1000b003d9ef8c274bso13308678wms.0 for ; Fri, 13 Jan 2023 07:47:41 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id k18-20020adfb352000000b00241fab5a296sm19578418wrd.40.2023.01.13.07.47.39 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:47:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3Z1QUovQY9GKd51k95q8FPVeLQ1Fen4KUg1KYYN83u4=; b=fIE0ch0J3BH9QGEYCNjI8wX5vGODP7Gc1HzCxVMcwBN6bVPKRbmt/bmqnXQlQrDSHs tuuFk7QQIbGTo0gjXA1N3zrnZq0Y2BMoG4gR2gCt7L2+AwzKw8fdYNNNOtXqkgd/PQD6 DSggEPA93m8x6jXcgYcaYNdC+KD+DUB5mlSy+HLkMPfl/CQREsKNusFFT7WXY7komnYU +8n8nZDImIjO286o26sIqwSPkPIehCYhX0j9yQBrW9swndM5aiW5GlnZsD+D4ebMhQ2L hPDdvkDwKBtSf0foOVZ8ElSAyKhAUic62A+tIbcWRNV3g/l+2y1QNBmT2zv/z/eSr+Bw rV7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3Z1QUovQY9GKd51k95q8FPVeLQ1Fen4KUg1KYYN83u4=; b=F34ahSRDtry3e5+zvRv5WLcuxQFY5EJfCMbov//i7Lfv5HThvHWYmwIwv0tHjMKYYr wXJcCumK0q/fetglRyAI3+dqF/FLHWdbmiuZDQfJMX4N34OPOHvGtpJNQYSzacumQ42X +7Uy3aErBJhwqtDacVpyKwxJG0BIzSrehlrOnlHIRWnAGlcKnBeefE37mKK4mK+ehfE5 JX0gWRyo9+j7fRdnT2eS/xEBbRooBl2EXEoUD+hHtsR4OLx5C+n/FzkjWSV30v5PyLxM MsVfCtJnDcaSrfCF0ZiXbl812pSN+6t5WO5HWsIbU2NleWsSs0PZQDrfoWcB2wm2GQO6 kQ7Q== X-Gm-Message-State: AFqh2krAP1udr+e9GaRs8aEXayPeiDJ3LqOvhGXFFbrzlzwwm7DSinoA eu0Rgo6gBf6X3MbCF5b/vrY3V8POnNHGvmce X-Google-Smtp-Source: AMrXdXs1IRX02wByoqDiOVmRCRlrCy3KXKYjVAHSRq530bqvw1mNx07wqzet/W3Pvstt25Cy9wpvJw== X-Received: by 2002:a1c:c90d:0:b0:3d3:3d1b:6354 with SMTP id f13-20020a1cc90d000000b003d33d1b6354mr190776wmb.3.1673624860020; Fri, 13 Jan 2023 07:47:40 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Bernhard Beschow , "Michael S . Tsirkin" Subject: [PULL 26/46] hw/isa/piix4: Correct IRQRC[A:D] reset values Date: Fri, 13 Jan 2023 16:45:12 +0100 Message-Id: <20230113154532.49979-27-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673627127482100001 IRQRC[A:D] registers reset value is 0x80. We were forcing the MIPS Malta machine routing to be able to boot a Linux kernel without any bootloader. We now have these registers initialized in the Malta machine write_bootloader(), so we can use the correct reset values. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin Message-Id: <20221027204720.33611-4-philmd@linaro.org> --- hw/isa/piix4.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index 8fc1db6dc9..0d23e11a39 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -116,10 +116,10 @@ static void piix4_isa_reset(DeviceState *dev) pci_conf[0x4c] =3D 0x4d; pci_conf[0x4e] =3D 0x03; pci_conf[0x4f] =3D 0x00; - pci_conf[0x60] =3D 0x0a; // PCI A -> IRQ 10 - pci_conf[0x61] =3D 0x0a; // PCI B -> IRQ 10 - pci_conf[0x62] =3D 0x0b; // PCI C -> IRQ 11 - pci_conf[0x63] =3D 0x0b; // PCI D -> IRQ 11 + pci_conf[0x60] =3D 0x80; + pci_conf[0x61] =3D 0x80; + pci_conf[0x62] =3D 0x80; + pci_conf[0x63] =3D 0x80; pci_conf[0x69] =3D 0x02; pci_conf[0x70] =3D 0x80; pci_conf[0x76] =3D 0x0c; --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673625530; cv=none; d=zohomail.com; s=zohoarc; b=DKmbzy1jy6t0xOMmz7SB3Y9/1EO+NXYSzr3rVhY2x2euYFL2NEB04VRTSwxeKu0TzC9zC33RN8Y5un32JkKvQryDwoQtwt5gJcNl326r4Ejuh5tTFCE1oLJJJTYthcOOG4wb1LsGCty9m4fwmjerqxaUtrYqADC4dtQBhLANsgY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673625530; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dp3ay3h1wkIShEs7P3B3oIFgf4T+8GNNeso8XrNH/mo=; b=UeF0wLGM2WfP5JkM9G7SpWjahgo56Y2l8z4GcLaGAHTwNgKTTHoeaj4CO/kZ1D3OBt7XOYg9AvG4FCkKZE/OHbn6+xvMRIk92Uat1SZiz2ZX3Jc1a/5yl9KJZGH8EmaLwCAwZdr+KXmkPHJkTxt9L+PEu8SVhu6LQFUTEFpkry8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673625530025887.7331219391165; Fri, 13 Jan 2023 07:58:50 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMHX-0002Uo-5d; Fri, 13 Jan 2023 10:47:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMHT-0002UD-U8 for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:48 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMHR-0006CN-NF for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:47 -0500 Received: by mail-wr1-x42f.google.com with SMTP id bk16so21435002wrb.11 for ; Fri, 13 Jan 2023 07:47:45 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id q14-20020adff94e000000b002b065272da2sm18990221wrr.13.2023.01.13.07.47.43 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:47:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dp3ay3h1wkIShEs7P3B3oIFgf4T+8GNNeso8XrNH/mo=; b=byf7qgAyeZkJ57F1AGZhICYZCkOXMk8Y1WQPAGoSliIcoi3G2nhD90Zuu+DK9A2xXL 64aAuZI0NCHlIcFgCrbrt5rNJ1iX6B97tSo7Oo6RTfGygftv73+EU4hw74gyNJYP9TZ5 95B21Fx3KHgy1/Y/rspGSSoFsEyejy6ZtzCwBIeChNnfPumN093CGXohhu48M9fEaUkH YnRkwkahmwJ/l3v6F9B4N9Q5LR7MewD3ufek1IpN9AKQrQAPi5+pBRpHmvKrs8NwyqH7 woAU4s0uqvMQH3CLZegbT1xLG6ngUJoT7fM3BLVGBk5Z1JPI1Gp8ioKof4t6h9dJGpaZ URZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dp3ay3h1wkIShEs7P3B3oIFgf4T+8GNNeso8XrNH/mo=; b=RcnqaZzCg2H40ud+oAtCQ9+Ad2AENEkpWtB6Mw3ZwaI6lX3IOwtdXASyB1Q/H0KdBX yvTr4xdIWrYqOiP8q3KYqZuOPfvptIz+fwK1pwNCUag5pgTpP+q1r35mMjF+Vt0Q1s2+ /nEKtTAtAkZfELmSnBJL+xkyMZYosiW0Sh2E8uj8JHtGweNFyBlG4qJHFSu2e4H7rqHe I/BqpBCtC5s/NKj5hLTckTqtwWuJiL/yrQmIL1YFvlQfAb9F487ocqSTxscHDZm7kmKE wPZy5c703B2LJjun0uV8bULDDRntJh4nlCl2OXJvkbcMipfuc7b1FXrH3e78lYP2yksG QbGg== X-Gm-Message-State: AFqh2kpj4Nc8LIWU1wkecc8HiUYhJmQ7kVdCiH8t1u2GRpCwxpa4FMmS 6idXkOkoH/d9VMRggZwBdJDB7hp4//1ZWQnu X-Google-Smtp-Source: AMrXdXsmllVz+3oOzaCb8Pi+6X5/zLTbdHIxAx9XcoTN0g9v1Z0rDihEoH3ZfHg0kq0TsRMfBE/CUA== X-Received: by 2002:a05:6000:16cb:b0:242:1b0d:9c58 with SMTP id h11-20020a05600016cb00b002421b0d9c58mr59746842wrf.69.1673624864725; Fri, 13 Jan 2023 07:47:44 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 27/46] mips: Remove support for trap and emulate KVM Date: Fri, 13 Jan 2023 16:45:13 +0100 Message-Id: <20230113154532.49979-28-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673625530766100001 From: Paolo Bonzini This support was limited to the Malta board, drop it. I do not have a machine that can run VZ KVM, so I am assuming that it works for -M malta as well. Signed-off-by: Paolo Bonzini Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20221221091718.71844-1-philmd@linaro.org> --- docs/about/deprecated.rst | 9 ------- docs/about/removed-features.rst | 9 +++++++ hw/mips/malta.c | 46 +++++---------------------------- target/mips/cpu.c | 7 +---- target/mips/cpu.h | 3 --- target/mips/internal.h | 3 --- target/mips/kvm.c | 11 +------- target/mips/sysemu/addr.c | 17 ------------ target/mips/sysemu/physaddr.c | 13 ---------- 9 files changed, 18 insertions(+), 100 deletions(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 68d29642d7..9f1bbc495d 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -171,15 +171,6 @@ accepted incorrect commands will return an error. User= s should make sure that all arguments passed to ``device_add`` are consistent with the documented property types. =20 -System accelerators -------------------- - -MIPS ``Trap-and-Emul`` KVM support (since 6.0) -'''''''''''''''''''''''''''''''''''''''''''''' - -The MIPS ``Trap-and-Emul`` KVM host and guest support has been removed -from Linux upstream kernel, declare it deprecated. - Host Architectures ------------------ =20 diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.= rst index c918cabd1a..6c3aa5097f 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -652,6 +652,15 @@ Userspace local APIC with KVM (x86, removed 8.0) a local APIC. The ``split`` setting is supported, as is using ``-M kernel-irqchip=3Doff`` when the CPU does not have a local APIC. =20 +System accelerators +------------------- + +MIPS "Trap-and-Emulate" KVM support (removed in 8.0) +'''''''''''''''''''''''''''''''''''''''''''''''''''' + +The MIPS "Trap-and-Emulate" KVM host and guest support was removed +from Linux in 2021, and is not supported anymore by QEMU either. + System emulator machines ------------------------ =20 diff --git a/hw/mips/malta.c b/hw/mips/malta.c index ae76b4db70..8bf2e2ff5f 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -57,6 +57,7 @@ #include "semihosting/semihost.h" #include "hw/mips/cps.h" #include "hw/qdev-clock.h" +#include "target/mips/internal.h" #include "trace.h" =20 #define ENVP_PADDR 0x2000 @@ -875,7 +876,6 @@ static uint64_t load_kernel(void) uint32_t *prom_buf; long prom_size; int prom_index =3D 0; - uint64_t (*xlate_to_kseg0) (void *opaque, uint64_t addr); uint8_t rng_seed[32]; char rng_seed_hex[sizeof(rng_seed) * 2 + 1]; size_t rng_seed_prom_offset; @@ -899,19 +899,10 @@ static uint64_t load_kernel(void) } =20 /* Check where the kernel has been linked */ - if (kernel_entry & 0x80000000ll) { - if (kvm_enabled()) { - error_report("KVM guest kernels must be linked in useg. " - "Did you forget to enable CONFIG_KVM_GUEST?"); - exit(1); - } - - xlate_to_kseg0 =3D cpu_mips_phys_to_kseg0; - } else { - /* if kernel entry is in useg it is probably a KVM T&E kernel */ - mips_um_ksegs_enable(); - - xlate_to_kseg0 =3D cpu_mips_kvm_um_phys_to_kseg0; + if (kernel_entry <=3D USEG_LIMIT) { + error_report("Trap-and-Emul kernels (Linux CONFIG_KVM_GUEST)" + " are not supported"); + exit(1); } =20 /* load initrd */ @@ -952,7 +943,7 @@ static uint64_t load_kernel(void) if (initrd_size > 0) { prom_set(prom_buf, prom_index++, "rd_start=3D0x%" PRIx64 " rd_size=3D%" PRId64 " %s", - xlate_to_kseg0(NULL, initrd_offset), + cpu_mips_phys_to_kseg0(NULL, initrd_offset), initrd_size, loaderparams.kernel_cmdline); } else { prom_set(prom_buf, prom_index++, "%s", loaderparams.kernel_cmdline= ); @@ -1019,11 +1010,6 @@ static void main_cpu_reset(void *opaque) } =20 malta_mips_config(cpu); - - if (kvm_enabled()) { - /* Start running from the bootloader we wrote to end of RAM */ - env->active_tc.PC =3D 0x40000000 + loaderparams.ram_low_size; - } } =20 static void create_cpu_without_cps(MachineState *ms, MaltaState *s, @@ -1157,13 +1143,7 @@ void mips_malta_init(MachineState *machine) fl_idx++; if (kernel_filename) { ram_low_size =3D MIN(ram_size, 256 * MiB); - /* For KVM we reserve 1MB of RAM for running bootloader */ - if (kvm_enabled()) { - ram_low_size -=3D 0x100000; - bootloader_run_addr =3D cpu_mips_kvm_um_phys_to_kseg0(NULL, ra= m_low_size); - } else { - bootloader_run_addr =3D cpu_mips_phys_to_kseg0(NULL, RESET_ADD= RESS); - } + bootloader_run_addr =3D cpu_mips_phys_to_kseg0(NULL, RESET_ADDRESS= ); =20 /* Write a small bootloader to the flash location. */ loaderparams.ram_size =3D ram_size; @@ -1180,20 +1160,8 @@ void mips_malta_init(MachineState *machine) write_bootloader_nanomips(memory_region_get_ram_ptr(bios), bootloader_run_addr, kernel_entry); } - if (kvm_enabled()) { - /* Write the bootloader code @ the end of RAM, 1MB reserved */ - write_bootloader(memory_region_get_ram_ptr(ram_low_preio) + - ram_low_size, - bootloader_run_addr, kernel_entry); - } } else { target_long bios_size =3D FLASH_SIZE; - /* The flash region isn't executable from a KVM guest */ - if (kvm_enabled()) { - error_report("KVM enabled but no -kernel argument was specifie= d. " - "Booting from flash is not supported with KVM."); - exit(1); - } /* Load firmware from flash. */ if (!dinfo) { /* Load a BIOS image. */ diff --git a/target/mips/cpu.c b/target/mips/cpu.c index c614b04607..052e54bda3 100644 --- a/target/mips/cpu.c +++ b/target/mips/cpu.c @@ -292,12 +292,7 @@ static void mips_cpu_reset_hold(Object *obj) env->tlb->tlb_in_use =3D env->tlb->nb_tlb; env->CP0_Wired =3D 0; env->CP0_GlobalNumber =3D (cs->cpu_index & 0xFF) << CP0GN_VPId; - env->CP0_EBase =3D (cs->cpu_index & 0x3FF); - if (mips_um_ksegs_enabled()) { - env->CP0_EBase |=3D 0x40000000; - } else { - env->CP0_EBase |=3D (int32_t)0x80000000; - } + env->CP0_EBase =3D KSEG0_BASE | (cs->cpu_index & 0x3FF); if (env->CP0_Config3 & (1 << CP0C3_CMGCR)) { env->CP0_CMGCRBase =3D 0x1fbf8000 >> 4; } diff --git a/target/mips/cpu.h b/target/mips/cpu.h index 0a085643a3..caf2b06911 100644 --- a/target/mips/cpu.h +++ b/target/mips/cpu.h @@ -1296,11 +1296,8 @@ void cpu_set_exception_base(int vp_index, target_ulo= ng address); uint64_t cpu_mips_kseg0_to_phys(void *opaque, uint64_t addr); uint64_t cpu_mips_phys_to_kseg0(void *opaque, uint64_t addr); =20 -uint64_t cpu_mips_kvm_um_phys_to_kseg0(void *opaque, uint64_t addr); uint64_t cpu_mips_kseg1_to_phys(void *opaque, uint64_t addr); uint64_t cpu_mips_phys_to_kseg1(void *opaque, uint64_t addr); -bool mips_um_ksegs_enabled(void); -void mips_um_ksegs_enable(void); =20 #if !defined(CONFIG_USER_ONLY) =20 diff --git a/target/mips/internal.h b/target/mips/internal.h index 57b312689a..4b0031d10d 100644 --- a/target/mips/internal.h +++ b/target/mips/internal.h @@ -99,9 +99,6 @@ int mips_cpu_gdb_write_register(CPUState *cpu, uint8_t *b= uf, int reg); #define KSEG2_BASE ((target_ulong)(int32_t)0xC0000000UL) #define KSEG3_BASE ((target_ulong)(int32_t)0xE0000000UL) =20 -#define KVM_KSEG0_BASE ((target_ulong)(int32_t)0x40000000UL) -#define KVM_KSEG2_BASE ((target_ulong)(int32_t)0x60000000UL) - #if !defined(CONFIG_USER_ONLY) =20 enum { diff --git a/target/mips/kvm.c b/target/mips/kvm.c index bcb8e06b2c..c14e8f550f 100644 --- a/target/mips/kvm.c +++ b/target/mips/kvm.c @@ -1268,25 +1268,16 @@ int kvm_arch_msi_data_to_gsi(uint32_t data) =20 int mips_kvm_type(MachineState *machine, const char *vm_type) { -#if defined(KVM_CAP_MIPS_VZ) || defined(KVM_CAP_MIPS_TE) +#if defined(KVM_CAP_MIPS_VZ) int r; KVMState *s =3D KVM_STATE(machine->accelerator); -#endif =20 -#if defined(KVM_CAP_MIPS_VZ) r =3D kvm_check_extension(s, KVM_CAP_MIPS_VZ); if (r > 0) { return KVM_VM_MIPS_VZ; } #endif =20 -#if defined(KVM_CAP_MIPS_TE) - r =3D kvm_check_extension(s, KVM_CAP_MIPS_TE); - if (r > 0) { - return KVM_VM_MIPS_TE; - } -#endif - return -1; } =20 diff --git a/target/mips/sysemu/addr.c b/target/mips/sysemu/addr.c index 86f1c129c9..4f025be44a 100644 --- a/target/mips/sysemu/addr.c +++ b/target/mips/sysemu/addr.c @@ -23,8 +23,6 @@ #include "qemu/osdep.h" #include "cpu.h" =20 -static int mips_um_ksegs; - uint64_t cpu_mips_kseg0_to_phys(void *opaque, uint64_t addr) { return addr & 0x1fffffffll; @@ -35,11 +33,6 @@ uint64_t cpu_mips_phys_to_kseg0(void *opaque, uint64_t a= ddr) return addr | ~0x7fffffffll; } =20 -uint64_t cpu_mips_kvm_um_phys_to_kseg0(void *opaque, uint64_t addr) -{ - return addr | 0x40000000ll; -} - uint64_t cpu_mips_kseg1_to_phys(void *opaque, uint64_t addr) { return addr & 0x1fffffffll; @@ -49,13 +42,3 @@ uint64_t cpu_mips_phys_to_kseg1(void *opaque, uint64_t a= ddr) { return (addr & 0x1fffffffll) | 0xffffffffa0000000ll; } - -bool mips_um_ksegs_enabled(void) -{ - return mips_um_ksegs; -} - -void mips_um_ksegs_enable(void) -{ - mips_um_ksegs =3D 1; -} diff --git a/target/mips/sysemu/physaddr.c b/target/mips/sysemu/physaddr.c index 1918633aa1..2970df8a09 100644 --- a/target/mips/sysemu/physaddr.c +++ b/target/mips/sysemu/physaddr.c @@ -130,19 +130,6 @@ int get_physical_address(CPUMIPSState *env, hwaddr *ph= ysical, /* effective address (modified for KVM T&E kernel segments) */ target_ulong address =3D real_address; =20 - if (mips_um_ksegs_enabled()) { - /* KVM T&E adds guest kernel segments in useg */ - if (real_address >=3D KVM_KSEG0_BASE) { - if (real_address < KVM_KSEG2_BASE) { - /* kseg0 */ - address +=3D KSEG0_BASE - KVM_KSEG0_BASE; - } else if (real_address <=3D USEG_LIMIT) { - /* kseg2/3 */ - address +=3D KSEG2_BASE - KVM_KSEG2_BASE; - } - } - } - if (address <=3D USEG_LIMIT) { /* useg */ uint16_t segctl; --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673629813; cv=none; d=zohomail.com; s=zohoarc; b=QJ6V2lPTZpn5XcNvaYStu1BedUtb763vm/P1YoON8qJ+Mo/J/oKy7VTmOevUf1Lvf1Xild96N3ry4hYjZ+cifDcqCsO5s4HaGI1P2Ftv9Ccs51rjxN1TaYAgILUFg2Fi4JJ7Ywqam53R718alIvY78M56VVBN+9kOOHdJPy4b1A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673629813; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=jtdqQxMj5WaUzOLBOctCzxB17/kRHA+6/4w50t6C8Lo=; b=i1pTT5VeEIjGDuY0gMLcNlV9TUIaE1vSADNcUdwuHJRgYhPKQf+ucexJBwYWWHNbtZrBzlMuFeC5BmC+EqdyGEeSH7bvZbwZo8HsBOSX1uugbUbzcyUSEcyhL5VcRD7sfZymXX2ZD/ZrOO5ofrGH966PNxSpWHxKNL/T5KcjBYQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673629813609578.1325988034517; Fri, 13 Jan 2023 09:10:13 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMHZ-0002Vt-RM; Fri, 13 Jan 2023 10:47:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMHZ-0002VL-0w for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:53 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMHX-0006US-07 for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:52 -0500 Received: by mail-wr1-x42c.google.com with SMTP id q10so2139136wrs.2 for ; Fri, 13 Jan 2023 07:47:50 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id f2-20020adff982000000b002bde537721dsm1221156wrr.20.2023.01.13.07.47.48 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:47:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jtdqQxMj5WaUzOLBOctCzxB17/kRHA+6/4w50t6C8Lo=; b=dCX41eY9gYmNgiHnsIm1jG+rOHxr4t5dQxXfHnCo57wQvNGI5hJoebf24/XwtWIcte 0Ne/hCHosju9Ta9M1J9mVv2cP47hp9CuvwOGH6dJsMySccfNsCG3wvGiCUranxGuKRGp 9SOOZcpGVdQVtLGziOPjGu3r3FV2B/d9zYpUpRXaSn4/EaLbmLIeYv+EUmN3qcteoict FDQQ4N0UVM77YcUhLu2oDfCk2Bvw2LHyh+CBOi9wg+wZemtRyEbDEI50qCvmR9ClvHNS +09p+enenB4YOZdS6ABRm7dvUnWRWmDiiKEBjPRWEEkoLXdessro6xi9UfjpFruvaCrG Y5Vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jtdqQxMj5WaUzOLBOctCzxB17/kRHA+6/4w50t6C8Lo=; b=nybCsAF5aBuCraFmvzAA7w3SKUGxOsR8B+XGraPRW96efHLRyT18UYqmY4fyg4ftRU NeJHwHby5g8kelOKkuv76TR86SRAlJxaFeXOObmu482RTu0pqrceIC2otyL4BZMLeAzS p0W7c1ffoyLWhkrHxiCCY7YCeEl+I0eVV/WaEamWXeEV3fp/VXi90otI/hG78MzlRckC +CseqP/KqR1CpvtBc1D2UfCJz/8wyN6gLojLQ3WuER67dZyVZa06DTP7k6xj90LkY8CW yAuSTWiC5dOzD1Yn7FnPS6tdO3tlTP9nc44epzkc+UX/1HPNyvYfgu7/T2yvtRLr2pn8 KJlQ== X-Gm-Message-State: AFqh2koZaw2w3P3/9DqIQ2ydfXGaik31zonSclUpBq+nWMeilWYz3Y3R 1/xCVzRso4qc9zeUJCGDVTmSBJmzr4HvryVY X-Google-Smtp-Source: AMrXdXsxhWLWoBJWCzKNAIRdP+SLCViv2DEbwx6ZtglguvClhTxA5Szporq/gRNGrj+TIOYLQ64QTg== X-Received: by 2002:adf:f2cc:0:b0:2bb:4628:c02c with SMTP id d12-20020adff2cc000000b002bb4628c02cmr19107705wrp.53.1673624869462; Fri, 13 Jan 2023 07:47:49 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= Subject: [PULL 28/46] mips: Always include nanomips disassembler Date: Fri, 13 Jan 2023 16:45:14 +0100 Message-Id: <20230113154532.49979-29-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673629815575100003 From: Paolo Bonzini Since the nanomips disassembler is not C++ code anymore, it need not depend on link_language =3D=3D cpp. Always include it and remove the CONFIG_NANOMIPS_DIS symbol. Cc: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Paolo Bonzini Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Daniel P. Berrang=C3=A9 Message-Id: <20230110084942.299460-1-pbonzini@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- disas/meson.build | 3 +-- include/exec/poison.h | 1 - meson.build | 5 ----- target/mips/cpu.c | 2 -- 4 files changed, 1 insertion(+), 10 deletions(-) diff --git a/disas/meson.build b/disas/meson.build index 1977f5cd92..c865bdd882 100644 --- a/disas/meson.build +++ b/disas/meson.build @@ -4,8 +4,7 @@ common_ss.add(when: 'CONFIG_HEXAGON_DIS', if_true: files('h= exagon.c')) common_ss.add(when: 'CONFIG_HPPA_DIS', if_true: files('hppa.c')) common_ss.add(when: 'CONFIG_M68K_DIS', if_true: files('m68k.c')) common_ss.add(when: 'CONFIG_MICROBLAZE_DIS', if_true: files('microblaze.c'= )) -common_ss.add(when: 'CONFIG_MIPS_DIS', if_true: files('mips.c')) -common_ss.add(when: 'CONFIG_NANOMIPS_DIS', if_true: files('nanomips.c')) +common_ss.add(when: 'CONFIG_MIPS_DIS', if_true: files('mips.c', 'nanomips.= c')) common_ss.add(when: 'CONFIG_NIOS2_DIS', if_true: files('nios2.c')) common_ss.add(when: 'CONFIG_RISCV_DIS', if_true: files('riscv.c')) common_ss.add(when: 'CONFIG_SH4_DIS', if_true: files('sh4.c')) diff --git a/include/exec/poison.h b/include/exec/poison.h index f0959bc84e..140daa4a85 100644 --- a/include/exec/poison.h +++ b/include/exec/poison.h @@ -74,7 +74,6 @@ #pragma GCC poison CONFIG_M68K_DIS #pragma GCC poison CONFIG_MICROBLAZE_DIS #pragma GCC poison CONFIG_MIPS_DIS -#pragma GCC poison CONFIG_NANOMIPS_DIS #pragma GCC poison CONFIG_NIOS2_DIS #pragma GCC poison CONFIG_PPC_DIS #pragma GCC poison CONFIG_RISCV_DIS diff --git a/meson.build b/meson.build index 175517eafd..5d68a8fd23 100644 --- a/meson.build +++ b/meson.build @@ -2490,11 +2490,6 @@ disassemblers =3D { 'xtensa' : ['CONFIG_XTENSA_DIS'], 'loongarch' : ['CONFIG_LOONGARCH_DIS'], } -if link_language =3D=3D 'cpp' - disassemblers +=3D { - 'mips' : [ 'CONFIG_MIPS_DIS', 'CONFIG_NANOMIPS_DIS'], - } -endif =20 have_ivshmem =3D config_host_data.get('CONFIG_EVENTFD') host_kconfig =3D \ diff --git a/target/mips/cpu.c b/target/mips/cpu.c index 052e54bda3..f995e88776 100644 --- a/target/mips/cpu.c +++ b/target/mips/cpu.c @@ -434,9 +434,7 @@ static void mips_cpu_disas_set_info(CPUState *s, disass= emble_info *info) info->print_insn =3D print_insn_little_mips; #endif } else { -#if defined(CONFIG_NANOMIPS_DIS) info->print_insn =3D print_insn_nanomips; -#endif } } =20 --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673626155; cv=none; d=zohomail.com; s=zohoarc; b=EcFe+uHDbatJENnvWChL7BJ886AtFPeN/WTLhN+Fsx3q3gWuj0fOFnNGsXKTadu5V5VPV4H1sXIdwIRxADp1vwJU7dharEk1IgsIUsYzOSiEzQgD3vK6WNkcR5SzCwW8VRyL2GF5H8H2+66ZKb4ICTOnxjRLJnPRa+b9CbbhKrA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673626155; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3WSU7eqoou0ND/hnMQSDXwNv2R4bWt5GFJigtA+wKxc=; b=FvWhjuTrWKiPMN5GK2NspOGOUZI5sYb1v69o1ll03Q+0+loiJj6HgP725yKTOEd+2OOon7lz9cZP0fltJCvWizNN6fXIkQm6wX3/lDw21vhiNUPkl6tf9wBq85VUvQfv0qRc+mMfqI1tHAO79ABtJgOUc3xma/+ObxzkoHY0ris= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673626155221354.03655000486845; Fri, 13 Jan 2023 08:09:15 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMHi-0002a3-K6; Fri, 13 Jan 2023 10:48:02 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMHd-0002YJ-1O for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:00 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMHb-0006Rg-4R for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:47:56 -0500 Received: by mail-wm1-x32c.google.com with SMTP id f25-20020a1c6a19000000b003da221fbf48so1347634wmc.1 for ; Fri, 13 Jan 2023 07:47:54 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id q1-20020a1ce901000000b003b3307fb98fsm24452136wmc.24.2023.01.13.07.47.53 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:47:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3WSU7eqoou0ND/hnMQSDXwNv2R4bWt5GFJigtA+wKxc=; b=U713nI2UYw0noBPlVXlb02z38asf3xlxabCS99/Z+USeGqPNGUOJdFfci31YAHV4Dp 3nZS08TUIC2EvotWnkydnxuZSJdwoHwuQ1jsC73OIev/mYdtEZEMlf7xbra7tfaeM0D+ UQbz4cyX/C/KAvrEk+3UZoCIbdGqAEzNgsnOBVbuZyL9yrWl6SIeHHrfX0jjmrXUFQi3 amzJQDhk2uRAXiMmGWI9h182oDWuo65Y6Bt0ukaSSY9wGrSxfICWOldj7yBx5FyW8BMz uNGCT3ISvpcQ+QYaMrR8zocb87bOvv/PT5pTP8et2kQVZBJqbDk1JZ1veq745y34NXGd /LQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3WSU7eqoou0ND/hnMQSDXwNv2R4bWt5GFJigtA+wKxc=; b=A7rPRPSCqCvrk0ht9IS4LDVNNnB504QCfKWWIxEylKfHrHw1rNT2+1Jr4/flJPnMAW WQmnqydYIdpJ64ld1vQM91KvjDt9TyaUKKZ/TBZsDyUb5iBDR37COShjgYBnWhtrZwg7 dRoJniKOoApW5fQ2P2j7zFP27R6YAXaJS6EL5ZowiVaikwdDRUa5Ns8bHChmo8oaxool JTwCI1XJfXgwZko7v+RkyCmrFJYmwL9qG5G1LUS0GcPeHyKHtU79oLiPRBUI+ztxYows +I5d63itS/YtLVBiij3VmfUWdWg8eHvld+ukkLsUsIfffZXnDC6TtL3Flq6N6ffAyC7L 3Cxg== X-Gm-Message-State: AFqh2kr1iBsSAFLnp8bq7H1WSFyhIitvovxtqoFw4Mnn10hbkrFvr++V WsCXR5cUwo5HyU0FpUj5EmJdpA6Q+/pmK1G/ X-Google-Smtp-Source: AMrXdXu5ICu5pZc1+mU9+dWd8LZfcKF5JWki+iA0tASmxy3jF1xJo4pxtSwDZARIuA1QiInEuBHJ4w== X-Received: by 2002:a05:600c:4f84:b0:3d9:f758:e280 with SMTP id n4-20020a05600c4f8400b003d9f758e280mr13055657wmq.24.1673624874274; Fri, 13 Jan 2023 07:47:54 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 29/46] hw/pci/pci_host: Trace config accesses on unexisting functions Date: Fri, 13 Jan 2023 16:45:15 +0100 Message-Id: <20230113154532.49979-30-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673626157846100001 Currently we only emit trace events for existing PCI functions. In order to ease debugging PCI enumeration process, also emit for unexisting functions: $ qemu-system-foo -trace pci_cfg_\* ... pci_cfg_read empty 00:0a.4 @0x0 -> 0xffffffff pci_cfg_read empty 00:0a.5 @0x0 -> 0xffffffff pci_cfg_read empty 00:0a.6 @0x0 -> 0xffffffff pci_cfg_read empty 00:0a.7 @0x0 -> 0xffffffff pci_cfg_read pcnet 00:0b.0 @0x0 -> 0x20001022 pci_cfg_read empty 00:0c.0 @0x0 -> 0xffffffff pci_cfg_read empty 00:0d.0 @0x0 -> 0xffffffff pci_cfg_read empty 00:0e.0 @0x0 -> 0xffffffff pci_cfg_read empty 00:0f.0 @0x0 -> 0xffffffff pci_cfg_read empty 00:10.0 @0x0 -> 0xffffffff pci_cfg_read empty 00:11.0 @0x0 -> 0xffffffff pci_cfg_read cirrus-vga 00:12.0 @0x0 -> 0xb81013 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20230104133935.4639-2-philmd@linaro.org> --- hw/pci/pci_host.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hw/pci/pci_host.c b/hw/pci/pci_host.c index eaf217ff55..ead1d3e61c 100644 --- a/hw/pci/pci_host.c +++ b/hw/pci/pci_host.c @@ -118,6 +118,9 @@ void pci_data_write(PCIBus *s, uint32_t addr, uint32_t = val, unsigned len) uint32_t config_addr =3D addr & (PCI_CONFIG_SPACE_SIZE - 1); =20 if (!pci_dev) { + trace_pci_cfg_write("empty", extract32(addr, 16, 8), + extract32(addr, 11, 5), extract32(addr, 8, 3), + config_addr, val); return; } =20 @@ -131,6 +134,9 @@ uint32_t pci_data_read(PCIBus *s, uint32_t addr, unsign= ed len) uint32_t config_addr =3D addr & (PCI_CONFIG_SPACE_SIZE - 1); =20 if (!pci_dev) { + trace_pci_cfg_read("empty", extract32(addr, 16, 8), + extract32(addr, 11, 5), extract32(addr, 8, 3), + config_addr, ~0x0); return ~0x0; } =20 --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673626946; cv=none; d=zohomail.com; s=zohoarc; b=ZkSf0OQEBglLnQGuTj3MtUDGPqze2IXgaVoHVnL5yPx6AiXJ72XITkRRxG8yImMERWdbu5bWmt3SMVFE/afwkph5OnEpukepZsrJQ28Zf5BJKSlfktIZbv/8BW+lehZqq/qI4qrHfz6w44OzqfIDD8dUNJO+5y/SgWmkBz1mxPQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673626946; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=WH9GQjpC73Nm42Qui6dFATC8DIhCEY7mdkzf8yyt/VY=; b=jvqUhV5/eF2ZXzYI2my3jEwFk3TpnzGyo05nw5Dil7n7q5kfSHhXwJE7NkivDxwT2FSabiQIXJdqMkgrJIWSMWTiyQe0FI847eReK1B9/ZLSCUatB3e70WPqx5ssBcc85V79j0ADwd9NMfNrJlxNeO8fPGY8dJI6PuLU5nsu8v4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673626946244501.973829307334; Fri, 13 Jan 2023 08:22:26 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMHk-0002aw-Ei; Fri, 13 Jan 2023 10:48:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMHi-0002a5-Kb for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:02 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMHg-0006CN-Ju for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:02 -0500 Received: by mail-wr1-x42f.google.com with SMTP id bk16so21435678wrb.11 for ; Fri, 13 Jan 2023 07:48:00 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id l1-20020adfe9c1000000b00289bdda07b7sm18722236wrn.92.2023.01.13.07.47.58 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:47:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WH9GQjpC73Nm42Qui6dFATC8DIhCEY7mdkzf8yyt/VY=; b=lL/v/06gZRORqDp4mCEdSRwT//m8jtZb7Nvdlqt4B3ffXmwswHps8cKH1gN5GTc08X fNKi1sV8qdV5ezn1HjH6S+E7cGf5+qWvOVdHUCnuQoPTYbDNPkTazICE1rWT/9MJRrHI TxJRieqGTqSxMVWGFOQiEbV4S6dC1QbY1rpzjEWAE9Fg9opvIg8uv+Sd5NpLwSjxwt3H ypnh+vqk3fKnRVka/q++GpcIhtUff2CeAapAHG2vmzUaym75dOx5oNyTWptVnJNQpfOU lcgqnwrnyyb5JsCa6GLp9YgeTLWYbRJh9VGK0PJJuFKvG/FHVHVTaG7RVsKLLQiPwDii n6jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WH9GQjpC73Nm42Qui6dFATC8DIhCEY7mdkzf8yyt/VY=; b=w9bfueNeu6XCqGRNk9YLb2KgCxdqlARzObwjxHMbX28YQWgcNtNZGrFqKy1nV99yz+ KVr9zEdJaGC6vR0CysIHmBEB+C5XduXyJHtiyP2wmGCnjTPE9HtvvFpmeG2fKAGwY/lN HvP49Qg0vQC80G7+uyzGoRl/TbZRO5pK+iLYVrOJ8SZzQExPInEUu6aaRCdOTBJL3Rf8 yQAKp0M7kc+d91XE3aRc6dS1v1EdxC2Ch7IuULH1Pljftkwk/G255ImwyhFiVtwdDMlJ qLhVO4g9hzSowbjTZ94SEkCCvJF0YNqplzuzZmQnlJkBMgqD9h/IhnYy5nT6A97bMU2d 9Dog== X-Gm-Message-State: AFqh2krXGmuXIkgj0MdLupzGzZUhZbmAwy1hRrj0SDY325sN7mBIdbIn LP08t1uKX0dOu9Aqb95EPAlDj4auJCq1SFaG X-Google-Smtp-Source: AMrXdXtAP0+tdySnvA2teVg4gKE8xIaGI21Qp30CfrGPLLWHZnplU8JotO2ghAO02GxmDtJs6G3YsQ== X-Received: by 2002:a05:6000:803:b0:2bd:da9b:b88f with SMTP id bt3-20020a056000080300b002bdda9bb88fmr203211wrb.8.1673624879441; Fri, 13 Jan 2023 07:47:59 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Bernhard Beschow , "Michael S . Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 30/46] hw/pci/pci: Factor out pci_bus_map_irqs() from pci_bus_irqs() Date: Fri, 13 Jan 2023 16:45:16 +0100 Message-Id: <20230113154532.49979-31-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673626947423100001 From: Bernhard Beschow pci_bus_irqs() coupled together the assignment of pci_set_irq_fn and pci_map_irq_fn to a PCI bus. This coupling gets in the way when the pci_map_irq_fn is board-specific while the pci_set_irq_fn is device- specific. For example, both of QEMU's PIIX south bridge models have different pci_map_irq_fn implementations which are board-specific rather than device-specific. These implementations should therefore reside in board code. The pci_set_irq_fn's, however, should stay in the device models because they access memory internal to the model. Factoring out pci_bus_map_irqs() from pci_bus_irqs() allows the assignments to be decoupled, resolving the problem described above. Note also how pci_vpb_realize() which gets touched in this commit assigns different pci_map_irq_fn's depending on the board. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20230109172347.1830-5-shentey@gmail.com> [PMD: Factor out in vfu_object_set_bus_irq()] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/i386/pc_q35.c | 4 ++-- hw/isa/piix3.c | 8 ++++---- hw/isa/piix4.c | 3 ++- hw/pci-host/raven.c | 3 ++- hw/pci-host/versatile.c | 3 ++- hw/pci/pci.c | 12 +++++++++--- hw/remote/machine.c | 3 ++- hw/remote/vfio-user-obj.c | 4 ++-- include/hw/pci/pci.h | 3 ++- 9 files changed, 27 insertions(+), 16 deletions(-) diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 67ceb04bcc..65ea226211 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -268,8 +268,8 @@ static void pc_q35_init(MachineState *machine) for (i =3D 0; i < GSI_NUM_PINS; i++) { qdev_connect_gpio_out_named(lpc_dev, ICH9_GPIO_GSI, i, x86ms->gsi[= i]); } - pci_bus_irqs(host_bus, ich9_lpc_set_irq, ich9_lpc_map_irq, ich9_lpc, - ICH9_LPC_NB_PIRQS); + pci_bus_irqs(host_bus, ich9_lpc_set_irq, ich9_lpc, ICH9_LPC_NB_PIRQS); + pci_bus_map_irqs(host_bus, ich9_lpc_map_irq); pci_bus_set_route_irq_fn(host_bus, ich9_route_intx_pin_to_irq); isa_bus =3D ich9_lpc->isa_bus; =20 diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index eabad7ba58..666e794f77 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -384,8 +384,8 @@ static void piix3_realize(PCIDevice *dev, Error **errp) return; } =20 - pci_bus_irqs(pci_bus, piix3_set_irq, pci_slot_get_pirq, - piix3, PIIX_NUM_PIRQS); + pci_bus_irqs(pci_bus, piix3_set_irq, piix3, PIIX_NUM_PIRQS); + pci_bus_map_irqs(pci_bus, pci_slot_get_pirq); pci_bus_set_route_irq_fn(pci_bus, piix3_route_intx_pin_to_irq); } =20 @@ -420,8 +420,8 @@ static void piix3_xen_realize(PCIDevice *dev, Error **e= rrp) * connected to the IOAPIC directly. * These additional routes can be discovered through ACPI. */ - pci_bus_irqs(pci_bus, xen_piix3_set_irq, xen_pci_slot_get_pirq, - piix3, XEN_PIIX_NUM_PIRQS); + pci_bus_irqs(pci_bus, xen_piix3_set_irq, piix3, XEN_PIIX_NUM_PIRQS); + pci_bus_map_irqs(pci_bus, xen_pci_slot_get_pirq); } =20 static void piix3_xen_class_init(ObjectClass *klass, void *data) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index 0d23e11a39..9c79c9677b 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -271,7 +271,8 @@ static void piix4_realize(PCIDevice *dev, Error **errp) } qdev_connect_gpio_out(DEVICE(&s->pm), 0, s->isa[9]); =20 - pci_bus_irqs(pci_bus, piix4_set_irq, pci_slot_get_pirq, s, PIIX_NUM_PI= RQS); + pci_bus_irqs(pci_bus, piix4_set_irq, s, PIIX_NUM_PIRQS); + pci_bus_map_irqs(pci_bus, pci_slot_get_pirq); } =20 static void piix4_init(Object *obj) diff --git a/hw/pci-host/raven.c b/hw/pci-host/raven.c index 2c96ddf8fe..5b00b4e462 100644 --- a/hw/pci-host/raven.c +++ b/hw/pci-host/raven.c @@ -258,7 +258,8 @@ static void raven_pcihost_realizefn(DeviceState *d, Err= or **errp) =20 qdev_init_gpio_in(d, raven_change_gpio, 1); =20 - pci_bus_irqs(&s->pci_bus, raven_set_irq, raven_map_irq, s, PCI_NUM_PIN= S); + pci_bus_irqs(&s->pci_bus, raven_set_irq, s, PCI_NUM_PINS); + pci_bus_map_irqs(&s->pci_bus, raven_map_irq); =20 memory_region_init_io(&h->conf_mem, OBJECT(h), &pci_host_conf_le_ops, = s, "pci-conf-idx", 4); diff --git a/hw/pci-host/versatile.c b/hw/pci-host/versatile.c index 0d50ea4cc0..60d4e7cd92 100644 --- a/hw/pci-host/versatile.c +++ b/hw/pci-host/versatile.c @@ -422,7 +422,8 @@ static void pci_vpb_realize(DeviceState *dev, Error **e= rrp) mapfn =3D pci_vpb_map_irq; } =20 - pci_bus_irqs(&s->pci_bus, pci_vpb_set_irq, mapfn, s->irq, 4); + pci_bus_irqs(&s->pci_bus, pci_vpb_set_irq, s->irq, 4); + pci_bus_map_irqs(&s->pci_bus, mapfn); =20 /* Our memory regions are: * 0 : our control registers diff --git a/hw/pci/pci.c b/hw/pci/pci.c index c2fb88f9a3..39a7bb32aa 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -280,6 +280,7 @@ static void pci_change_irq_level(PCIDevice *pci_dev, in= t irq_num, int change) PCIBus *bus; for (;;) { bus =3D pci_get_bus(pci_dev); + assert(bus->map_irq); irq_num =3D bus->map_irq(pci_dev, irq_num); if (bus->set_irq) break; @@ -518,16 +519,20 @@ void pci_root_bus_cleanup(PCIBus *bus) qbus_unrealize(BUS(bus)); } =20 -void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq, pci_map_irq_fn map_= irq, +void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq, void *irq_opaque, int nirq) { bus->set_irq =3D set_irq; - bus->map_irq =3D map_irq; bus->irq_opaque =3D irq_opaque; bus->nirq =3D nirq; bus->irq_count =3D g_malloc0(nirq * sizeof(bus->irq_count[0])); } =20 +void pci_bus_map_irqs(PCIBus *bus, pci_map_irq_fn map_irq) +{ + bus->map_irq =3D map_irq; +} + void pci_bus_irqs_cleanup(PCIBus *bus) { bus->set_irq =3D NULL; @@ -549,7 +554,8 @@ PCIBus *pci_register_root_bus(DeviceState *parent, cons= t char *name, =20 bus =3D pci_root_bus_new(parent, name, address_space_mem, address_space_io, devfn_min, typename); - pci_bus_irqs(bus, set_irq, map_irq, irq_opaque, nirq); + pci_bus_irqs(bus, set_irq, irq_opaque, nirq); + pci_bus_map_irqs(bus, map_irq); return bus; } =20 diff --git a/hw/remote/machine.c b/hw/remote/machine.c index 75d550daae..519f855ec1 100644 --- a/hw/remote/machine.c +++ b/hw/remote/machine.c @@ -63,8 +63,9 @@ static void remote_machine_init(MachineState *machine) } else { remote_iohub_init(&s->iohub); =20 - pci_bus_irqs(pci_host->bus, remote_iohub_set_irq, remote_iohub_map= _irq, + pci_bus_irqs(pci_host->bus, remote_iohub_set_irq, &s->iohub, REMOTE_IOHUB_NB_PIRQS); + pci_bus_map_irqs(pci_host->bus, remote_iohub_map_irq); } =20 qbus_set_hotplug_handler(BUS(pci_host->bus), OBJECT(s)); diff --git a/hw/remote/vfio-user-obj.c b/hw/remote/vfio-user-obj.c index fe1fdfb5f7..88ffafc73e 100644 --- a/hw/remote/vfio-user-obj.c +++ b/hw/remote/vfio-user-obj.c @@ -665,8 +665,8 @@ void vfu_object_set_bus_irq(PCIBus *pci_bus) int bus_num =3D pci_bus_num(pci_bus); int max_bdf =3D PCI_BUILD_BDF(bus_num, PCI_DEVFN_MAX - 1); =20 - pci_bus_irqs(pci_bus, vfu_object_set_irq, vfu_object_map_irq, pci_bus, - max_bdf); + pci_bus_irqs(pci_bus, vfu_object_set_irq, pci_bus, max_bdf); + pci_bus_map_irqs(pci_bus, vfu_object_map_irq); } =20 static int vfu_object_device_reset(vfu_ctx_t *vfu_ctx, vfu_reset_type_t ty= pe) diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h index 7048a373d1..85ee458cd2 100644 --- a/include/hw/pci/pci.h +++ b/include/hw/pci/pci.h @@ -282,8 +282,9 @@ PCIBus *pci_root_bus_new(DeviceState *parent, const cha= r *name, MemoryRegion *address_space_io, uint8_t devfn_min, const char *typename); void pci_root_bus_cleanup(PCIBus *bus); -void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq, pci_map_irq_fn map_= irq, +void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq, void *irq_opaque, int nirq); +void pci_bus_map_irqs(PCIBus *bus, pci_map_irq_fn map_irq); void pci_bus_irqs_cleanup(PCIBus *bus); int pci_bus_get_irq_level(PCIBus *bus, int irq_num); /* 0 <=3D pin <=3D 3 0 =3D INTA, 1 =3D INTB, 2 =3D INTC, 3 =3D INTD */ --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673627246; cv=none; d=zohomail.com; s=zohoarc; b=isyn/eLRyCNpcvrarTDRwWev4k2j1pRcORkty2UDl53+mys/Lf30UjZVR51sRhhJI9tVGaZiM9tyIHhHWmE9kbOTRJLM0XMKiOecIwlbNbFg1K56niaZ0zIjuFMAhTSKyOpGAjH3AgF30h3+ZPUmOmWChYZGVyZmRJ8+35hQSVM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673627246; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=t5euQ36VIHDBpJngs0VMt3+ocu7xkQmgUOfoh2CL5Lw=; b=Ns1LhLwbjosxMlmfs6wiPRpNsetXMuZbxuG9a7nHXjYMRxmpxo+Clw9Lu7I9+3s9QFTFFCEAPSvXY9f68jiUiwSoIp0ki7EPusWAwSQua5fvI7uFdO3b2O8oVsPscAoRPu22uW91F82X0x5eEFO/Y4gvE83Il7r4bXv0UrhNs7g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673627246287721.1575987351762; Fri, 13 Jan 2023 08:27:26 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMHq-0002db-3A; Fri, 13 Jan 2023 10:48:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMHo-0002cf-6D for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:08 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMHm-0006XF-8l for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:07 -0500 Received: by mail-wr1-x436.google.com with SMTP id t5so17054123wrq.1 for ; Fri, 13 Jan 2023 07:48:05 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id k9-20020a5d66c9000000b002bdd7ce63b2sm3823475wrw.38.2023.01.13.07.48.03 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:48:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=t5euQ36VIHDBpJngs0VMt3+ocu7xkQmgUOfoh2CL5Lw=; b=kuLE82fsfFXMcJZreympZCqLvGgQXBJ5bQEXdIV3dDN97tNFQ7Im15zStMav865269 wh6W5RzDWNrDOHOey26qAVcchqdjClhMI0rwWVaOTf3f1KM66C79piWn9mXuViA1NJ5S Jylgadl69yeWieNCpL54P/Xu6WYALnBdbMF2KQK1FLpYN2wDsXqypbGueB0ri3NBkuZi tRDz1DoOhSELnYGa0wpaJdIyb1XtZ63qIfruwQfLYDgzlE3lRC+gnaB7hB8Y2KAiUnVR lAfhhA8sdJf6U4pEWHZ3hFdPjQHBZzi134AYcF3JK726dSK1ucLhGUUgJNzus5vcWS2v lShQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=t5euQ36VIHDBpJngs0VMt3+ocu7xkQmgUOfoh2CL5Lw=; b=IxbElraqdVXkKdS10Q15c9uaCqVr+olpcO/Xoj7Irq2OVhYovnBVGOUh226SemBvyj qSrj7usowXRiJO+Kpm6Kv5iunRpB/whlxhc9HU3JTxVZKVU2fhOUfv0WZZj9sGYHST/C giNVjW0a+vaJbYjA73iyBn8hsR0q4vbVLt2Lz1E8GqgYznJS0LnVC2ccRQy1nZxln0C2 xEZxZ3iaPgNGECaa2UHW44S7JOzUVeTEDGlBd4iw2HdFLJ/TfUaSwmltRztWHf6tBjHB B+bswY+ZsL+Qme9cmsECeQRSS9HyjvnB5lomPvIkaPZmsjqb+yBXR4sdh9EoPkieZEE4 rEWw== X-Gm-Message-State: AFqh2kpTjm3x4GrWvLjyFHqU7sEg/kuto7ZM2P9qlJM1edCEvPgo4gRG XQnm7Ec2Ie6Q+lI88D/CNw2jNWfJ63F+NWE4 X-Google-Smtp-Source: AMrXdXsBc2Dhn4j+nZ9kEr0sXAKQxxzmh5s38sOQGtYkf8sn/RVOzG4OhefEEgUPdxPBK33XtDJ+/w== X-Received: by 2002:a5d:670d:0:b0:2bd:c19f:8e90 with SMTP id o13-20020a5d670d000000b002bdc19f8e90mr7478854wru.7.1673624884389; Fri, 13 Jan 2023 07:48:04 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Bernhard Beschow , "Michael S . Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 31/46] hw/isa/piix3: Decouple INTx-to-LNKx routing which is board-specific Date: Fri, 13 Jan 2023 16:45:17 +0100 Message-Id: <20230113154532.49979-32-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673627246883100001 From: Bernhard Beschow pci_map_irq_fn's in general seem to be board-specific. So move PIIX3's pci_slot_get_pirq() to board code to not have PIIX3 make assuptions about its board. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20230109172347.1830-6-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/i386/pc_piix.c | 15 +++++++++++++++ hw/isa/piix3.c | 13 ------------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index b48047f50c..bb3b10557f 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -47,6 +47,7 @@ #include "hw/sysbus.h" #include "hw/i2c/smbus_eeprom.h" #include "hw/xen/xen-x86.h" +#include "hw/xen/xen.h" #include "exec/memory.h" #include "hw/acpi/acpi.h" #include "hw/acpi/piix4.h" @@ -73,6 +74,17 @@ static const int ide_iobase2[MAX_IDE_BUS] =3D { 0x3f6, 0= x376 }; static const int ide_irq[MAX_IDE_BUS] =3D { 14, 15 }; #endif =20 +/* + * Return the global irq number corresponding to a given device irq + * pin. We could also use the bus number to have a more precise mapping. + */ +static int pc_pci_slot_get_pirq(PCIDevice *pci_dev, int pci_intx) +{ + int slot_addend; + slot_addend =3D PCI_SLOT(pci_dev->devfn) - 1; + return (pci_intx + slot_addend) & 3; +} + /* PC hardware initialisation */ static void pc_init1(MachineState *machine, const char *host_type, const char *pci_type) @@ -216,6 +228,9 @@ static void pc_init1(MachineState *machine, x86ms->below_4g_mem_size, x86ms->above_4g_mem_size, pci_memory, ram_memory); + pci_bus_map_irqs(pci_bus, + xen_enabled() ? xen_pci_slot_get_pirq + : pc_pci_slot_get_pirq); pcms->bus =3D pci_bus; =20 pci_dev =3D pci_create_simple_multifunction(pci_bus, -1, true, typ= e); diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 666e794f77..283b971ec4 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -79,17 +79,6 @@ static void piix3_set_irq(void *opaque, int pirq, int le= vel) piix3_set_irq_level(piix3, pirq, level); } =20 -/* - * Return the global irq number corresponding to a given device irq - * pin. We could also use the bus number to have a more precise mapping. - */ -static int pci_slot_get_pirq(PCIDevice *pci_dev, int pci_intx) -{ - int slot_addend; - slot_addend =3D PCI_SLOT(pci_dev->devfn) - 1; - return (pci_intx + slot_addend) & 3; -} - static PCIINTxRoute piix3_route_intx_pin_to_irq(void *opaque, int pin) { PIIX3State *piix3 =3D opaque; @@ -385,7 +374,6 @@ static void piix3_realize(PCIDevice *dev, Error **errp) } =20 pci_bus_irqs(pci_bus, piix3_set_irq, piix3, PIIX_NUM_PIRQS); - pci_bus_map_irqs(pci_bus, pci_slot_get_pirq); pci_bus_set_route_irq_fn(pci_bus, piix3_route_intx_pin_to_irq); } =20 @@ -421,7 +409,6 @@ static void piix3_xen_realize(PCIDevice *dev, Error **e= rrp) * These additional routes can be discovered through ACPI. */ pci_bus_irqs(pci_bus, xen_piix3_set_irq, piix3, XEN_PIIX_NUM_PIRQS); - pci_bus_map_irqs(pci_bus, xen_pci_slot_get_pirq); } =20 static void piix3_xen_class_init(ObjectClass *klass, void *data) --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673629692; cv=none; d=zohomail.com; s=zohoarc; b=hyf26VrrkrB1Txnun2NpuWy1niEQGZx2k+yTKpbjPGqcDG5H+Dhz5nZtU7ZoeOMuF8p+2Hk3YPwMEore4paPtOZ6i3/AK9XnoLj9iKQ6rzm1rncBO6dilAp/Mu7axIJIMnBDF5S0kWqmeqUTlBJKgTWKY21so9sJCr86Db8bca4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673629692; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=oZv1aBP22CJYNPpwWsHYyzzFVllV/sO8yGsxaU0io8I=; b=F9tQmtDdBpRgxuR/iYROVf4awkALErTCBTTmyBXxytDVeObtjKVP29ssbf/BXnLS8KwR/nYrNnFBfHCVSXprX5uVkt0WRAWg6LIBC8TjMaVZu/rwDrjHrVP/BM6Lwu+XHZPbh5dsN59BazdJEL6VEJrBxmxM9uTmNhxm3B3szGE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673629692964611.3259956321862; Fri, 13 Jan 2023 09:08:12 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMHu-0002hg-PS; Fri, 13 Jan 2023 10:48:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMHs-0002fO-HY for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:12 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMHq-0006Xt-RY for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:12 -0500 Received: by mail-wm1-x329.google.com with SMTP id m8-20020a05600c3b0800b003d96f801c48so19056035wms.0 for ; Fri, 13 Jan 2023 07:48:10 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id p9-20020a05600c358900b003cffd3c3d6csm27758505wmq.12.2023.01.13.07.48.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:48:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oZv1aBP22CJYNPpwWsHYyzzFVllV/sO8yGsxaU0io8I=; b=bm+dGUdhHEfD75vWbztUhfTJ0PxzE8gf4WERZKG3a6E7v+qJebAQpVuCDK9mikJwJd j1ji8NDg/oBqdMrTwq+cUU/ZSq9l1gVY8gq8y4O6+UeTY/EGwGIrBamCe25hyqhI02sh Yhfrl48DMvouFonhdx6k1QdQ1b70z8u5eYOikNrr+pnKoYZcDCt04f8CkYaLD3gEocId TjjXVy2GTr2Iu1DV1BgKOrV8YVzSAhIwPAfPGjowZpuIANAJDT8bOMeyvm5y7DRGqbU3 ax/ulOy3fIlFDGmccgnIjTimmvQLr3enFTSiZ8DE3uz7BQSsgP9TCdNa6pDmRSOQ8Dxz +sAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oZv1aBP22CJYNPpwWsHYyzzFVllV/sO8yGsxaU0io8I=; b=KotCjj8QK/b4IHgDWHMEJB8pkTQINLGL5irCtIPAhqtiPjznVUsaE36jDQQPsHfnnj w/Y3oT+hLuguLnMQ2DahY3oNLARcmo+wiJJAFnzJGBbOe8BwD8BBzr4Z8PYH3ZCm5lyu DYN7CJ4wmnYMK7woFJFmdPiRPDvXxn98sjRmJPrzjXshsMxuVDaiqTx64NWeaM8y4Zi/ QmtkZ5G3+uc1dJ/fdwJaviHzo5ZleDk6B6oPeN0KLvM5Ljtd2cnjT4hzznsqMYcO6iG4 QvQGdvr1gBEpO6vRIB5eNVwZm1bqq11+qik2siQtPNOt3SKlXdxmuadl/6Khl3/7dX7I 7eFQ== X-Gm-Message-State: AFqh2kpCacXf9KD97nGlMOFGG+lNSCfc98eSBKYH7nbUiYgfiA/ASl8d oAQ+CMz012gBN3RDezJIxIzLZsnLJVplGwYF X-Google-Smtp-Source: AMrXdXuAru47IE3qtXS2KfStwuAZIgg+DkbyEVLOST03AhPyAKRt8p6Xk4RaIG5LWVSHfdv1mKFmqA== X-Received: by 2002:a05:600c:4fcf:b0:3d1:d396:1ade with SMTP id o15-20020a05600c4fcf00b003d1d3961ademr58308745wmq.9.1673624889098; Fri, 13 Jan 2023 07:48:09 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Bernhard Beschow , "Michael S . Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 32/46] hw/isa/piix4: Decouple INTx-to-LNKx routing which is board-specific Date: Fri, 13 Jan 2023 16:45:18 +0100 Message-Id: <20230113154532.49979-33-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=philmd@linaro.org; helo=mail-wm1-x329.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673629694010100001 From: Bernhard Beschow pci_map_irq_fn's in general seem to be board-specific, and PIIX4's pci_slot_get_pirq() in particular seems very Malta-specific. So move the latter to malta.c to 1/ keep the board logic in one place and 2/ avoid PIIX4 to make assumptions about its board. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20230109172347.1830-7-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/isa/piix4.c | 26 -------------------------- hw/mips/malta.c | 27 +++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index 9c79c9677b..6e9434129d 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -79,31 +79,6 @@ static void piix4_set_irq(void *opaque, int irq_num, int= level) } } =20 -static int pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num) -{ - int slot; - - slot =3D PCI_SLOT(pci_dev->devfn); - - switch (slot) { - /* PIIX4 USB */ - case 10: - return 3; - /* AMD 79C973 Ethernet */ - case 11: - return 1; - /* Crystal 4281 Sound */ - case 12: - return 2; - /* PCI slot 1 to 4 */ - case 18 ... 21: - return ((slot - 18) + irq_num) & 0x03; - /* Unknown device, don't do any translation */ - default: - return irq_num; - } -} - static void piix4_isa_reset(DeviceState *dev) { PIIX4State *d =3D PIIX4_PCI_DEVICE(dev); @@ -272,7 +247,6 @@ static void piix4_realize(PCIDevice *dev, Error **errp) qdev_connect_gpio_out(DEVICE(&s->pm), 0, s->isa[9]); =20 pci_bus_irqs(pci_bus, piix4_set_irq, s, PIIX_NUM_PIRQS); - pci_bus_map_irqs(pci_bus, pci_slot_get_pirq); } =20 static void piix4_init(Object *obj) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index 8bf2e2ff5f..ec172b111a 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -39,6 +39,7 @@ #include "hw/mips/bootloader.h" #include "hw/mips/cpudevs.h" #include "hw/pci/pci.h" +#include "hw/pci/pci_bus.h" #include "qemu/log.h" #include "hw/mips/bios.h" #include "hw/ide/pci.h" @@ -993,6 +994,31 @@ static void malta_mips_config(MIPSCPU *cpu) } } =20 +static int malta_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num) +{ + int slot; + + slot =3D PCI_SLOT(pci_dev->devfn); + + switch (slot) { + /* PIIX4 USB */ + case 10: + return 3; + /* AMD 79C973 Ethernet */ + case 11: + return 1; + /* Crystal 4281 Sound */ + case 12: + return 2; + /* PCI slot 1 to 4 */ + case 18 ... 21: + return ((slot - 18) + irq_num) & 0x03; + /* Unknown device, don't do any translation */ + default: + return irq_num; + } +} + static void main_cpu_reset(void *opaque) { MIPSCPU *cpu =3D opaque; @@ -1225,6 +1251,7 @@ void mips_malta_init(MachineState *machine) qdev_prop_set_bit(dev, "cpu-little-endian", !be); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); pci_bus =3D PCI_BUS(qdev_get_child_bus(dev, "pci")); + pci_bus_map_irqs(pci_bus, malta_pci_slot_get_pirq); =20 /* Southbridge */ piix4 =3D pci_create_simple_multifunction(pci_bus, PIIX4_PCI_DEVFN, tr= ue, --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673627277; cv=none; d=zohomail.com; s=zohoarc; b=mKdg0Bq4zVzk+/RYul6Nw2rREqBQZ2Pty4ULz7E2tXoExfE+pWma/F8ft21RMmLtaucQ4JF8qgrhD7EtSzgC7Wr5sG6iJFaGrA493XZ8tkZA6mCLDIjNG9ubV9PMYIz6QftucbIE4KytQgJhJFWPTscPMV1slOdAWEPf8XsUdXo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673627277; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nIm4MVJ8aUOwKK7xBJBOGuVSBH/I4+feZNPHpy6igyQ=; b=KitZJR0Nc85GbtHqo/zI5B738H/4JXuq2HC9XB5f62VnKpvcyCdJj1xvgYBCgUe9ZzXKyuxyE5pHUB7EAw2j/Qw4qfCjeTJ6jkgHzwzi2l0GPGEBvqSMy+hlHPtNep9A5jU3I7ICrS2yyf33HP/o5fCmDkmAb+L9dj29UM0uBXc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673627277389225.80495644730888; Fri, 13 Jan 2023 08:27:57 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMHx-0002kM-Bi; Fri, 13 Jan 2023 10:48:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMHw-0002jI-7q for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:16 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMHu-0006US-NP for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:15 -0500 Received: by mail-wr1-x42c.google.com with SMTP id q10so2140240wrs.2 for ; Fri, 13 Jan 2023 07:48:14 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id e1-20020adfdbc1000000b002b8fe58d6desm19382149wrj.62.2023.01.13.07.48.12 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:48:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nIm4MVJ8aUOwKK7xBJBOGuVSBH/I4+feZNPHpy6igyQ=; b=ARMoEgehhuc7B+LJ7woHqqRzoi+Af9HPdk7PY/h91/RY6bQ83N1t1Oq/nOQKKyeUO7 qnQvLsNRRE/0A4Lv/or7Byi0JofykhjdYulGH27efuwddu4oE6Vgx9Bawo/SsGD+J7v9 P3abHaIy+h4gQpeMunkDiGEGzvue1wJGxewsiLHrdIPWXNUVv8sUPps/C789EoxpUh2J a9b0CiPtA/iWOX+702/kEBTCZhnan9H0H9uNxBvmod9/Idjbh4LGkCytK2+c9soJ1/EO J/FzXYmyGNLm4OJj+cBkARHbRZ/GzBpeLzCjzi+AJrLRUIRek7jUgVz8c7GRJi+CCw/N itDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nIm4MVJ8aUOwKK7xBJBOGuVSBH/I4+feZNPHpy6igyQ=; b=SGYsXMcRba6R7qiQCIzyH7kgXNIHwzSbEa8oocy3lx09FraMTZlPUEesFv8fi/JuA2 8+CCukbASTv6pq/dm+iP4v6DSBaANyIROEMiz5g5OAaWeb/SkxTI/EIggrgXwQkezVaX oNhD7kqmgCnqPxC1bMtZvotgPp2EBIPLk75sv0LaJ6eDr0pgC32b+HWsbJyJ9SvC7wlW /+MLafStaqWeTz+suN2X8aDDrQ079gv8Ml3iPIDG8Lu4KHzjZQUHxVrzorFfO5GoxnlQ LMjaSLFJ7XOLSuZUzJpYjdpQcAi95UofNOhYMDiar2H20BhMJNCDr31VkfXxS5LFpsCs iSrg== X-Gm-Message-State: AFqh2kpA2Bjdq7OS8z/t96VXdjL3sOWP4w2p1sSMnhSopfDYzZj02QcO N+aHjJfwbf9A7F0nCUpJfCf4R/iCB7kceLP8 X-Google-Smtp-Source: AMrXdXuSv+Rzu3Vt1ganL6gTLqUWk+g4z+AQoXR00kGnzeG4UtTo4/72bjSFb14eK0zEZNFbQfcH6Q== X-Received: by 2002:adf:eb04:0:b0:2bc:7e19:fe84 with SMTP id s4-20020adfeb04000000b002bc7e19fe84mr59990wrn.62.1673624893855; Fri, 13 Jan 2023 07:48:13 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Bernhard Beschow , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Michael S . Tsirkin" Subject: [PULL 33/46] hw/mips/Kconfig: Track Malta's PIIX dependencies via Kconfig Date: Fri, 13 Jan 2023 16:45:19 +0100 Message-Id: <20230113154532.49979-34-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673627278972100001 From: Bernhard Beschow Tracking dependencies via Kconfig seems much cleaner. Note that PIIX4 already depends on ACPI_PIIX4. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Michael S. Tsirkin Message-Id: <20230109172347.1830-8-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- configs/devices/mips-softmmu/common.mak | 2 -- hw/mips/Kconfig | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/configs/devices/mips-softmmu/common.mak b/configs/devices/mips= -softmmu/common.mak index a125e74f24..7da99327a7 100644 --- a/configs/devices/mips-softmmu/common.mak +++ b/configs/devices/mips-softmmu/common.mak @@ -17,9 +17,7 @@ CONFIG_I8254=3Dy CONFIG_PCSPK=3Dy CONFIG_PCKBD=3Dy CONFIG_FDC=3Dy -CONFIG_ACPI_PIIX4=3Dy CONFIG_I8257=3Dy -CONFIG_PIIX4=3Dy CONFIG_IDE_ISA=3Dy CONFIG_PFLASH_CFI01=3Dy CONFIG_I8259=3Dy diff --git a/hw/mips/Kconfig b/hw/mips/Kconfig index 7a55143f8a..da3a37e215 100644 --- a/hw/mips/Kconfig +++ b/hw/mips/Kconfig @@ -2,6 +2,7 @@ config MALTA bool select GT64120 select ISA_SUPERIO + select PIIX4 =20 config MIPSSIM bool --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673626739; cv=none; d=zohomail.com; s=zohoarc; b=EW4sCeC+9o1QP35RQw37F8cf8dvuFU3L8Y2QecWi77RTrXnAxWVTp29dVY5hYKDZE4HQNTcFAIJYSPXvOSO3HFXJ5UP14Jz7YixGtFD+uvYcfPQN80Yc1mQStv5xbi5s/aEjRoxV+7iFCgLkD9YeRJSYcCw483FrBkFBjfxHW5Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673626739; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=gGd9eOsU7rweNW2/1pgo2+qNNDc66xrcChI/4DrvO/Q=; b=HPutBoYi8z/B8lkWt1xZVY0hCXpBnrRyN4q2AWdmiJs06kcD0E3YSHne1IBhe21EwBSqelaW0FOPhrFYLFcRA1o7ejNtgzKVnC/PYgO5lKWaMpP47xn+t3Mf2rYWZe3vkHX1SFF39G50iT0hCbro1CeBg/hVyrO1txQO+AIk+Wo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673626739557882.2438614759163; Fri, 13 Jan 2023 08:18:59 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMIG-00034k-Mp; Fri, 13 Jan 2023 10:48:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMI5-0002sj-09 for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:26 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMHz-0006XF-L7 for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:22 -0500 Received: by mail-wr1-x436.google.com with SMTP id t5so17054828wrq.1 for ; Fri, 13 Jan 2023 07:48:19 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id m5-20020adfdc45000000b002428c4fb16asm19705578wrj.10.2023.01.13.07.48.17 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:48:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gGd9eOsU7rweNW2/1pgo2+qNNDc66xrcChI/4DrvO/Q=; b=gCji1OLkNOvyZVuo7nYe7wVmBx+keoQrxxtXP+eMBi18s1JBljr7ET1c9YETkL0ZDV V0+w2W8JSfs3RQmidDQUGsb8KWF6HMGz6CyQcK7aofiFz00AqjGa8EYf9T2kKtREUPdm yiG5xP6lrcJdWbtZjNIjdfPl4TJmfoQiBtmdYsQuGJz/LP3w0HrBFeO7ovkWKqqVZ7la ayFfRIuF73120LI1L+flwtDzf9b2aVUmKFM6HIRVlb8T2QH5IV10IXmVVy5c9IJI3UMC jlJEJDUxlB3Gr5h8FNLFQw5gadN5SDNZphopM/3dPbMfffzG4StpZjL7dYmnULCUQniM SqWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gGd9eOsU7rweNW2/1pgo2+qNNDc66xrcChI/4DrvO/Q=; b=I0AXPa8L2ewF5BEZv6E719bTDDQPGBiU7VmX56ZnzWOQUJEeOwsDJ/OZcPaYyYzn2y 46xH9/K0dE36hRvlrgNgBxMDYAGIFA8e2n8QwRXlO4lgvPtm/2abL7yLxB5m0a0M0pxn WAzEVlCUYBocoNzIHMtOpdr1z3dqFaY18RkIVTW/RF9+DXNFyQq9BRs2MAHNQbn3cvHN msynjYI31TlU57knRqzUNo06zR/dtjiF/hanH2uVT+mKOE69QulGJV+gD49BF/UO+dGt 0FT4xqRy0GDFgsfB2sA0Bz/HtA6oCJf9PkITr5rwHODT2TTdAOQSvpur/i1qSHukDtHX 4LxQ== X-Gm-Message-State: AFqh2kpE9NQPmQk/lCy0k4o/ZNAG+BoA5NXbwkOpsmjvKgPgtSwT22vF CoH4x4he4BMoY6ASAPP6+dLoZpLIPwP9DRBr X-Google-Smtp-Source: AMrXdXsRUAV5+A5YFpJ5FjO5P8h3TsZ93nuNoikWeiHJy8/mK+tOUSpaNWZeB2hBsrV2y/NxFrEJ8A== X-Received: by 2002:a5d:5948:0:b0:2bb:f255:6bb4 with SMTP id e8-20020a5d5948000000b002bbf2556bb4mr159563wri.25.1673624898738; Fri, 13 Jan 2023 07:48:18 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Bernhard Beschow , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Michael S . Tsirkin" Subject: [PULL 34/46] hw/usb/hcd-uhci: Introduce TYPE_ defines for device models Date: Fri, 13 Jan 2023 16:45:20 +0100 Message-Id: <20230113154532.49979-35-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673626740624100001 From: Bernhard Beschow Suggested-by: Mark Cave-Ayland Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Michael S. Tsirkin Message-Id: <20221204190553.3274-7-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/i386/pc_piix.c | 3 ++- hw/i386/pc_q35.c | 13 +++++++------ hw/isa/piix4.c | 2 +- hw/usb/hcd-uhci.c | 16 ++++++++-------- hw/usb/hcd-uhci.h | 4 ++++ 5 files changed, 22 insertions(+), 16 deletions(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index bb3b10557f..df64dd8dcc 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -51,6 +51,7 @@ #include "exec/memory.h" #include "hw/acpi/acpi.h" #include "hw/acpi/piix4.h" +#include "hw/usb/hcd-uhci.h" #include "qapi/error.h" #include "qemu/error-report.h" #include "sysemu/xen.h" @@ -305,7 +306,7 @@ static void pc_init1(MachineState *machine, #endif =20 if (pcmc->pci_enabled && machine_usb(machine)) { - pci_create_simple(pci_bus, piix3_devfn + 2, "piix3-usb-uhci"); + pci_create_simple(pci_bus, piix3_devfn + 2, TYPE_PIIX3_USB_UHCI); } =20 if (pcmc->pci_enabled && x86_machine_is_acpi_enabled(X86_MACHINE(pcms)= )) { diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 65ea226211..83c57c6eb1 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -48,6 +48,7 @@ #include "hw/ide/pci.h" #include "hw/ide/ahci.h" #include "hw/usb.h" +#include "hw/usb/hcd-uhci.h" #include "qapi/error.h" #include "qemu/error-report.h" #include "sysemu/numa.h" @@ -65,15 +66,15 @@ struct ehci_companions { }; =20 static const struct ehci_companions ich9_1d[] =3D { - { .name =3D "ich9-usb-uhci1", .func =3D 0, .port =3D 0 }, - { .name =3D "ich9-usb-uhci2", .func =3D 1, .port =3D 2 }, - { .name =3D "ich9-usb-uhci3", .func =3D 2, .port =3D 4 }, + { .name =3D TYPE_ICH9_USB_UHCI(1), .func =3D 0, .port =3D 0 }, + { .name =3D TYPE_ICH9_USB_UHCI(2), .func =3D 1, .port =3D 2 }, + { .name =3D TYPE_ICH9_USB_UHCI(3), .func =3D 2, .port =3D 4 }, }; =20 static const struct ehci_companions ich9_1a[] =3D { - { .name =3D "ich9-usb-uhci4", .func =3D 0, .port =3D 0 }, - { .name =3D "ich9-usb-uhci5", .func =3D 1, .port =3D 2 }, - { .name =3D "ich9-usb-uhci6", .func =3D 2, .port =3D 4 }, + { .name =3D TYPE_ICH9_USB_UHCI(4), .func =3D 0, .port =3D 0 }, + { .name =3D TYPE_ICH9_USB_UHCI(5), .func =3D 1, .port =3D 2 }, + { .name =3D TYPE_ICH9_USB_UHCI(6), .func =3D 2, .port =3D 4 }, }; =20 static int ehci_create_ich9_with_companions(PCIBus *bus, int slot) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index 6e9434129d..de60ceef73 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -255,7 +255,7 @@ static void piix4_init(Object *obj) =20 object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC); object_initialize_child(obj, "ide", &s->ide, TYPE_PIIX4_IDE); - object_initialize_child(obj, "uhci", &s->uhci, "piix4-usb-uhci"); + object_initialize_child(obj, "uhci", &s->uhci, TYPE_PIIX4_USB_UHCI); =20 object_initialize_child(obj, "pm", &s->pm, TYPE_PIIX4_PM); qdev_prop_set_uint32(DEVICE(&s->pm), "smb_io_base", 0x1100); diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c index d1b5657d72..30ae0104bb 100644 --- a/hw/usb/hcd-uhci.c +++ b/hw/usb/hcd-uhci.c @@ -1292,56 +1292,56 @@ void uhci_data_class_init(ObjectClass *klass, void = *data) =20 static UHCIInfo uhci_info[] =3D { { - .name =3D "piix3-usb-uhci", + .name =3D TYPE_PIIX3_USB_UHCI, .vendor_id =3D PCI_VENDOR_ID_INTEL, .device_id =3D PCI_DEVICE_ID_INTEL_82371SB_2, .revision =3D 0x01, .irq_pin =3D 3, .unplug =3D true, },{ - .name =3D "piix4-usb-uhci", + .name =3D TYPE_PIIX4_USB_UHCI, .vendor_id =3D PCI_VENDOR_ID_INTEL, .device_id =3D PCI_DEVICE_ID_INTEL_82371AB_2, .revision =3D 0x01, .irq_pin =3D 3, .unplug =3D true, },{ - .name =3D "ich9-usb-uhci1", /* 00:1d.0 */ + .name =3D TYPE_ICH9_USB_UHCI(1), /* 00:1d.0 */ .vendor_id =3D PCI_VENDOR_ID_INTEL, .device_id =3D PCI_DEVICE_ID_INTEL_82801I_UHCI1, .revision =3D 0x03, .irq_pin =3D 0, .unplug =3D false, },{ - .name =3D "ich9-usb-uhci2", /* 00:1d.1 */ + .name =3D TYPE_ICH9_USB_UHCI(2), /* 00:1d.1 */ .vendor_id =3D PCI_VENDOR_ID_INTEL, .device_id =3D PCI_DEVICE_ID_INTEL_82801I_UHCI2, .revision =3D 0x03, .irq_pin =3D 1, .unplug =3D false, },{ - .name =3D "ich9-usb-uhci3", /* 00:1d.2 */ + .name =3D TYPE_ICH9_USB_UHCI(3), /* 00:1d.2 */ .vendor_id =3D PCI_VENDOR_ID_INTEL, .device_id =3D PCI_DEVICE_ID_INTEL_82801I_UHCI3, .revision =3D 0x03, .irq_pin =3D 2, .unplug =3D false, },{ - .name =3D "ich9-usb-uhci4", /* 00:1a.0 */ + .name =3D TYPE_ICH9_USB_UHCI(4), /* 00:1a.0 */ .vendor_id =3D PCI_VENDOR_ID_INTEL, .device_id =3D PCI_DEVICE_ID_INTEL_82801I_UHCI4, .revision =3D 0x03, .irq_pin =3D 0, .unplug =3D false, },{ - .name =3D "ich9-usb-uhci5", /* 00:1a.1 */ + .name =3D TYPE_ICH9_USB_UHCI(5), /* 00:1a.1 */ .vendor_id =3D PCI_VENDOR_ID_INTEL, .device_id =3D PCI_DEVICE_ID_INTEL_82801I_UHCI5, .revision =3D 0x03, .irq_pin =3D 1, .unplug =3D false, },{ - .name =3D "ich9-usb-uhci6", /* 00:1a.2 */ + .name =3D TYPE_ICH9_USB_UHCI(6), /* 00:1a.2 */ .vendor_id =3D PCI_VENDOR_ID_INTEL, .device_id =3D PCI_DEVICE_ID_INTEL_82801I_UHCI6, .revision =3D 0x03, diff --git a/hw/usb/hcd-uhci.h b/hw/usb/hcd-uhci.h index 5843af504a..e0fdb98ef1 100644 --- a/hw/usb/hcd-uhci.h +++ b/hw/usb/hcd-uhci.h @@ -91,4 +91,8 @@ typedef struct UHCIInfo { void uhci_data_class_init(ObjectClass *klass, void *data); void usb_uhci_common_realize(PCIDevice *dev, Error **errp); =20 +#define TYPE_PIIX3_USB_UHCI "piix3-usb-uhci" +#define TYPE_PIIX4_USB_UHCI "piix4-usb-uhci" +#define TYPE_ICH9_USB_UHCI(fn) "ich9-usb-uhci" #fn + #endif --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673626215; cv=none; d=zohomail.com; s=zohoarc; b=LsQtJq5fJVLhR6m0COKWEXczRp/MFcLAM1yHcjZUWobGR6jMlsWTHQFRdbwOT26UXdIxKxPjQ09jxsfshGCEF1SxPDKwdTQdUT64aWO9OIiMG9A+5MrLSmopwo3hvrAWFg8O6u0mFJQ/r0vwh5x5rLHmd7PE0Uui1I0AkN+H7io= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673626215; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=e5EF39XPzrJs41yZ+ui/UtGx91WtVsmBYUeR//O1mUQ=; b=hXTAfEFdgc8LDllvmGlbx0KloaGyupQv5yoTDkRIIyjIABw81W4SqMJdRUWVeuuLepAJm3jU1S6SIZsQSI9BvK41aIr0QFhM7484WIUUM4q14+CvR61fDmkFr8WtMz9ob3eyTzEdBkiCh2QeLE2nVU2VCtLvDasTo2Nd+r3tHEk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673626215666556.2238959288536; Fri, 13 Jan 2023 08:10:15 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMIc-0003BM-Ur; Fri, 13 Jan 2023 10:49:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMI8-0002wY-MX for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:32 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMI5-0006Zl-1G for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:27 -0500 Received: by mail-wm1-x331.google.com with SMTP id j16-20020a05600c1c1000b003d9ef8c274bso13310289wms.0 for ; Fri, 13 Jan 2023 07:48:24 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id h10-20020a05600c2caa00b003cfd58409desm31241749wmc.13.2023.01.13.07.48.22 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:48:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=e5EF39XPzrJs41yZ+ui/UtGx91WtVsmBYUeR//O1mUQ=; b=nFVmWjUZX6a6Hz/ufIYxAGI6TkrkPCoB/yXabLdqg4p0/of8r+p6ixWvnA2yDuqwRf e7HGDYt9uHS42kRweQtqAJ+4cHL9r+XyGyTyD3oOB8N0wVzxQ8kdKZYgjigqXusMFC+S 2Kuh4fUwr+TTeT4nBG3QyjEh5aq+GvsB/8XGmps44nVDZ5JAxZlGpqiz0yjWqi9u4Tyc zXJ9haG7eA8hpdwGgbdgg/Yn2JwfyP0A+CHAESPZtnfy8yJfEHTcEIk+t5Q/46YUBrdf Zrs7XUT5KglLcvDoes6XvWP7VVyqgSercMZobZZaU0VekDwl+IHwA+SJPQ5ISXWV8VUS lezg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=e5EF39XPzrJs41yZ+ui/UtGx91WtVsmBYUeR//O1mUQ=; b=ICnewVo9wnZjHPPagnrUqeLlehkZEV55rDvWLNGFLPmJup9b+9K5LPkI8h2xrGJe+L 40GhV9TaKyVboR4bjK9lcQbc6jAQIpxAgvoFKhBQYVEICQodnbEAxSwk6Z74d2eKCFAI 7qrqGuDO4e3igMfFyY6Sunxs1ahUifLNUQ5NTxgxr4bGYlS3eO9gKXhkMRd1dU3peAnO rEetNgooVRHgCA3bGwihQV6g/gQGnQ+VGu2+CFTrjgb8tyoiA0kwyjPL3hxpTX3BbEdw /DJhDA4H2vci/u0hR/uM6jlRKu7fQr1gEof2r0OR0cUqPDHSyQ9TnBGkZBHeJERdDkfy z5rg== X-Gm-Message-State: AFqh2kqUPhyRSHf1xrronhAQjquRkQxkgvFVfOwmx0+cJpMzE/T0eNeN muaf8qxDP3soCai8GcqZEMtdmDjPEB5cNWjY X-Google-Smtp-Source: AMrXdXtN9YcrhcSbcRZVWo/rVodnphSq4rWRcGMD+szcdOeHEHhb1esrtYevl9OngGUGhhWfbXVgHQ== X-Received: by 2002:a05:600c:2e44:b0:3d3:4406:8a3c with SMTP id q4-20020a05600c2e4400b003d344068a3cmr58317617wmf.32.1673624903455; Fri, 13 Jan 2023 07:48:23 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Bernhard Beschow , "Michael S . Tsirkin" , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 35/46] hw/intc/i8259: Make using the isa_pic singleton more type-safe Date: Fri, 13 Jan 2023 16:45:21 +0100 Message-Id: <20230113154532.49979-36-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=philmd@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673626217735100001 From: Bernhard Beschow This even spares some casts in hot code paths along the way. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin Reviewed-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20230109172347.1830-10-shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/intc/i8259.c | 11 ++++------- include/hw/intc/i8259.h | 6 +++--- include/qemu/typedefs.h | 1 + 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/hw/intc/i8259.c b/hw/intc/i8259.c index cc4e21ffec..0261f087b2 100644 --- a/hw/intc/i8259.c +++ b/hw/intc/i8259.c @@ -55,7 +55,7 @@ struct PICClass { #ifdef DEBUG_IRQ_LATENCY static int64_t irq_time[16]; #endif -DeviceState *isa_pic; +PICCommonState *isa_pic; static PICCommonState *slave_pic; =20 /* return the highest priority found in mask (highest =3D smallest @@ -173,9 +173,8 @@ static void pic_intack(PICCommonState *s, int irq) pic_update_irq(s); } =20 -int pic_read_irq(DeviceState *d) +int pic_read_irq(PICCommonState *s) { - PICCommonState *s =3D PIC_COMMON(d); int irq, intno; =20 irq =3D pic_get_irq(s); @@ -354,10 +353,8 @@ static uint64_t pic_ioport_read(void *opaque, hwaddr a= ddr, return ret; } =20 -int pic_get_output(DeviceState *d) +int pic_get_output(PICCommonState *s) { - PICCommonState *s =3D PIC_COMMON(d); - return (pic_get_irq(s) >=3D 0); } =20 @@ -426,7 +423,7 @@ qemu_irq *i8259_init(ISABus *bus, qemu_irq parent_irq) irq_set[i] =3D qdev_get_gpio_in(dev, i); } =20 - isa_pic =3D dev; + isa_pic =3D PIC_COMMON(dev); =20 isadev =3D i8259_init_chip(TYPE_I8259, bus, false); dev =3D DEVICE(isadev); diff --git a/include/hw/intc/i8259.h b/include/hw/intc/i8259.h index e2b1e8c59a..a0e34dd990 100644 --- a/include/hw/intc/i8259.h +++ b/include/hw/intc/i8259.h @@ -3,10 +3,10 @@ =20 /* i8259.c */ =20 -extern DeviceState *isa_pic; +extern PICCommonState *isa_pic; qemu_irq *i8259_init(ISABus *bus, qemu_irq parent_irq); qemu_irq *kvm_i8259_init(ISABus *bus); -int pic_get_output(DeviceState *d); -int pic_read_irq(DeviceState *d); +int pic_get_output(PICCommonState *s); +int pic_read_irq(PICCommonState *s); =20 #endif diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h index 073abab998..fba04875c2 100644 --- a/include/qemu/typedefs.h +++ b/include/qemu/typedefs.h @@ -99,6 +99,7 @@ typedef struct PCIExpressDevice PCIExpressDevice; typedef struct PCIExpressHost PCIExpressHost; typedef struct PCIHostDeviceAddress PCIHostDeviceAddress; typedef struct PCIHostState PCIHostState; +typedef struct PICCommonState PICCommonState; typedef struct PostcopyDiscardState PostcopyDiscardState; typedef struct Property Property; typedef struct PropertyInfo PropertyInfo; --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673625294; cv=none; d=zohomail.com; s=zohoarc; b=g1nMYGOYKujAdsWFLGHJIP6lQZLvAwreg7daPokoD6DkKjNVZ/2ScIp2WQj4Ax4A9zNEWwxRhDA5sWOvohG2pNhowVHFxNcteKeJsDO5qcEeFyM2Hu5ZJ05A5Hx6IFLyg4DC0musTYutIaIXXl/U3gDkyLZa5ezSVOo2jj/VjXw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673625294; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qFFSd+Kp9vMRpNGab1GjdoBbBkvNzRzwyTYYss87muw=; b=Kh0Z0CS+d+C85IJRekGZE3zRBmGQrN/FX7Nr4eFNwxMpxqlXQN/LzEPJT8G8w6F1jNADJazH7cwhc+eDvpM4FSXwnwTVrO71m4mAVSg5t+9Of/5/VnhD0DE8FtvdTP2DajWMWhviXbKBlDmllbzkjuTW9iz7vGJlonGlmxv1dJ4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673625294154825.1451525890211; Fri, 13 Jan 2023 07:54:54 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMIX-00035t-AU; Fri, 13 Jan 2023 10:48:56 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMIE-00032G-Cd for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:34 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMIA-0006aL-VA for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:34 -0500 Received: by mail-wr1-x433.google.com with SMTP id r2so21459348wrv.7 for ; Fri, 13 Jan 2023 07:48:29 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id s2-20020adff802000000b00241bd7a7165sm19242200wrp.82.2023.01.13.07.48.27 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:48:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qFFSd+Kp9vMRpNGab1GjdoBbBkvNzRzwyTYYss87muw=; b=yKQoCtdEAJPkniO04PAuvZ6tODOPcwZ/SY7rK+3sE6kv8aba3mHXGYYy0wD3XKc1ka /8ClsugV0ThFziE/Vt6crDcGFCybHl0DP73ctFuiL6UgcZLzJKFqT++7HS3WZ4muqbz7 YUHrdFKwZ1X7geA+V/9KUo5MN5k5QKO+JxrMYw1rG/TlisM2fpKgsQHzHxIU6BXVtbs0 C/HO3W7qBssCYuqVXnD0wduddUhRGPe4G/ALzIA7yXQ0ezDZFLWLXT2mT5ugDzpH/7h7 D6MkLj+RnPgu2Vt0VHSQCcWMLk4UOg+WYvUE0wAG5uuo03odt2pojKMT9VTrfvb4Y8di YPcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qFFSd+Kp9vMRpNGab1GjdoBbBkvNzRzwyTYYss87muw=; b=Nk/uxx1EH7QNZLHohdo12JEeRHydYMIC8EkOFCPlkSCtqAbPHlnFvsbOcaZi/0/O2R NwqzOLjcIT+gIBk3h0GIk568AX2luhIuwINoD5Fi+3Yhk/J4Mg39tvtB+5v5lIeJxCqb ZOLbhbNuvDy1lQoJlPeNZmzn39tKHyO9HZxRjNpAIQhvQ1TKm6hcVgksicAncmOFrZWs DuFlEghuvcmJzDupf6yZcmWnU/+iV9dlQsXnZJwq7pGhs6nKDile18oGe1eSl5QKhkW5 /XS0ecyDBoXCtN0zOS05LSFci5J24HOpZANP0c2TlD7VIjNiDlwy4UM7pAp3wpGBQVa0 aVYw== X-Gm-Message-State: AFqh2komfnftvczHhPAbf2/tVU+3TvC7xMpdqITfu5EH9RoSmiL5DLEI aEBiSR/bmkgzSH0e1V1TNzYqa6if+10/Zf1O X-Google-Smtp-Source: AMrXdXt3R4V/qoJcNQye+BgnDJdhz3BbnLlbHH10ruaIGsTGFhtfIq7kvYcWLir5Ghb1hfExMeE0fA== X-Received: by 2002:a5d:5446:0:b0:2bd:d4bd:5824 with SMTP id w6-20020a5d5446000000b002bdd4bd5824mr4197268wrv.27.1673624908415; Fri, 13 Jan 2023 07:48:28 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Thomas Huth , Bernhard Beschow , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Mark Cave-Ayland Subject: [PULL 36/46] hw/intc: Extract the IRQ counting functions into a separate file Date: Fri, 13 Jan 2023 16:45:22 +0100 Message-Id: <20230113154532.49979-37-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=philmd@linaro.org; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673625295468100001 From: Thomas Huth These IRQ counting functions will soon be required in binaries that do not include the APIC code, too, so let's extract them into a separate file that can be linked independently of the APIC code. While we're at it, change the apic_* prefix into kvm_* since the functions are used from the i8259 PIC (i.e. not the APIC), too. Reviewed-by: Bernhard Beschow Signed-off-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mark Cave-Ayland Message-Id: <20230110095351.611724-2-thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/i386/kvm/i8259.c | 4 +-- hw/i386/kvm/ioapic.c | 4 +-- hw/intc/apic.c | 3 +- hw/intc/apic_common.c | 30 ++------------------ hw/intc/kvm_irqcount.c | 49 +++++++++++++++++++++++++++++++++ hw/intc/meson.build | 6 ++++ hw/intc/trace-events | 9 +++--- hw/rtc/mc146818rtc.c | 6 ++-- include/hw/i386/apic.h | 2 -- include/hw/i386/apic_internal.h | 1 - include/hw/intc/kvm_irqcount.h | 10 +++++++ 11 files changed, 81 insertions(+), 43 deletions(-) create mode 100644 hw/intc/kvm_irqcount.c create mode 100644 include/hw/intc/kvm_irqcount.h diff --git a/hw/i386/kvm/i8259.c b/hw/i386/kvm/i8259.c index d61bae4dc3..3ca0e1ff03 100644 --- a/hw/i386/kvm/i8259.c +++ b/hw/i386/kvm/i8259.c @@ -14,7 +14,7 @@ #include "hw/isa/i8259_internal.h" #include "hw/intc/i8259.h" #include "qemu/module.h" -#include "hw/i386/apic_internal.h" +#include "hw/intc/kvm_irqcount.h" #include "hw/irq.h" #include "sysemu/kvm.h" #include "qom/object.h" @@ -117,7 +117,7 @@ static void kvm_pic_set_irq(void *opaque, int irq, int = level) =20 pic_stat_update_irq(irq, level); delivered =3D kvm_set_irq(kvm_state, irq, level); - apic_report_irq_delivered(delivered); + kvm_report_irq_delivered(delivered); } =20 static void kvm_pic_realize(DeviceState *dev, Error **errp) diff --git a/hw/i386/kvm/ioapic.c b/hw/i386/kvm/ioapic.c index ee7c8ef68b..272e26b4a2 100644 --- a/hw/i386/kvm/ioapic.c +++ b/hw/i386/kvm/ioapic.c @@ -15,7 +15,7 @@ #include "hw/i386/x86.h" #include "hw/qdev-properties.h" #include "hw/i386/ioapic_internal.h" -#include "hw/i386/apic_internal.h" +#include "hw/intc/kvm_irqcount.h" #include "sysemu/kvm.h" =20 /* PC Utility function */ @@ -116,7 +116,7 @@ static void kvm_ioapic_set_irq(void *opaque, int irq, i= nt level) =20 ioapic_stat_update_irq(common, irq, level); delivered =3D kvm_set_irq(kvm_state, s->kvm_gsi_base + irq, level); - apic_report_irq_delivered(delivered); + kvm_report_irq_delivered(delivered); } =20 static void kvm_ioapic_realize(DeviceState *dev, Error **errp) diff --git a/hw/intc/apic.c b/hw/intc/apic.c index 3df11c34d6..2d3e55f4e2 100644 --- a/hw/intc/apic.c +++ b/hw/intc/apic.c @@ -22,6 +22,7 @@ #include "hw/i386/apic.h" #include "hw/i386/ioapic.h" #include "hw/intc/i8259.h" +#include "hw/intc/kvm_irqcount.h" #include "hw/pci/msi.h" #include "qemu/host-utils.h" #include "sysemu/kvm.h" @@ -399,7 +400,7 @@ void apic_poll_irq(DeviceState *dev) =20 static void apic_set_irq(APICCommonState *s, int vector_num, int trigger_m= ode) { - apic_report_irq_delivered(!apic_get_bit(s->irr, vector_num)); + kvm_report_irq_delivered(!apic_get_bit(s->irr, vector_num)); =20 apic_set_bit(s->irr, vector_num); if (trigger_mode) diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c index 2a20982066..4a34f03047 100644 --- a/hw/intc/apic_common.c +++ b/hw/intc/apic_common.c @@ -25,6 +25,7 @@ #include "qapi/visitor.h" #include "hw/i386/apic.h" #include "hw/i386/apic_internal.h" +#include "hw/intc/kvm_irqcount.h" #include "trace.h" #include "hw/boards.h" #include "sysemu/hax.h" @@ -33,7 +34,6 @@ #include "hw/sysbus.h" #include "migration/vmstate.h" =20 -static int apic_irq_delivered; bool apic_report_tpr_access; =20 void cpu_set_apic_base(DeviceState *dev, uint64_t val) @@ -122,32 +122,6 @@ void apic_handle_tpr_access_report(DeviceState *dev, t= arget_ulong ip, vapic_report_tpr_access(s->vapic, CPU(s->cpu), ip, access); } =20 -void apic_report_irq_delivered(int delivered) -{ - apic_irq_delivered +=3D delivered; - - trace_apic_report_irq_delivered(apic_irq_delivered); -} - -void apic_reset_irq_delivered(void) -{ - /* Copy this into a local variable to encourage gcc to emit a plain - * register for a sys/sdt.h marker. For details on this workaround, s= ee: - * https://sourceware.org/bugzilla/show_bug.cgi?id=3D13296 - */ - volatile int a_i_d =3D apic_irq_delivered; - trace_apic_reset_irq_delivered(a_i_d); - - apic_irq_delivered =3D 0; -} - -int apic_get_irq_delivered(void) -{ - trace_apic_get_irq_delivered(apic_irq_delivered); - - return apic_irq_delivered; -} - void apic_deliver_nmi(DeviceState *dev) { APICCommonState *s =3D APIC_COMMON(dev); @@ -272,7 +246,7 @@ static void apic_reset_common(DeviceState *dev) s->apicbase =3D APIC_DEFAULT_ADDRESS | bsp | MSR_IA32_APICBASE_ENABLE; s->id =3D s->initial_apic_id; =20 - apic_reset_irq_delivered(); + kvm_reset_irq_delivered(); =20 s->vapic_paddr =3D 0; info->vapic_base_update(s); diff --git a/hw/intc/kvm_irqcount.c b/hw/intc/kvm_irqcount.c new file mode 100644 index 0000000000..2ef8a83a7a --- /dev/null +++ b/hw/intc/kvm_irqcount.c @@ -0,0 +1,49 @@ +/* + * KVM PIC functions for counting the delivered IRQs. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see + */ + +#include "qemu/osdep.h" +#include "hw/intc/kvm_irqcount.h" +#include "trace.h" + +static int kvm_irq_delivered; + +void kvm_report_irq_delivered(int delivered) +{ + kvm_irq_delivered +=3D delivered; + + trace_kvm_report_irq_delivered(kvm_irq_delivered); +} + +void kvm_reset_irq_delivered(void) +{ + /* + * Copy this into a local variable to encourage gcc to emit a plain + * register for a sys/sdt.h marker. For details on this workaround, s= ee: + * https://sourceware.org/bugzilla/show_bug.cgi?id=3D13296 + */ + volatile int k_i_d =3D kvm_irq_delivered; + trace_kvm_reset_irq_delivered(k_i_d); + + kvm_irq_delivered =3D 0; +} + +int kvm_get_irq_delivered(void) +{ + trace_kvm_get_irq_delivered(kvm_irq_delivered); + + return kvm_irq_delivered; +} diff --git a/hw/intc/meson.build b/hw/intc/meson.build index bcbf22ff51..cd9f1ee888 100644 --- a/hw/intc/meson.build +++ b/hw/intc/meson.build @@ -25,6 +25,12 @@ softmmu_ss.add(when: 'CONFIG_XILINX', if_true: files('xi= linx_intc.c')) softmmu_ss.add(when: 'CONFIG_XLNX_ZYNQMP', if_true: files('xlnx-zynqmp-ipi= .c')) softmmu_ss.add(when: 'CONFIG_XLNX_ZYNQMP_PMU', if_true: files('xlnx-pmu-io= mod-intc.c')) =20 +if config_all_devices.has_key('CONFIG_APIC') or \ + config_all_devices.has_key('CONFIG_I8259') or \ + config_all_devices.has_key('CONFIG_MC146818RTC') + softmmu_ss.add(files('kvm_irqcount.c')) +endif + specific_ss.add(when: 'CONFIG_ALLWINNER_A10_PIC', if_true: files('allwinne= r-a10-pic.c')) specific_ss.add(when: 'CONFIG_APIC', if_true: files('apic.c', 'apic_common= .c')) specific_ss.add(when: 'CONFIG_ARM_GIC', if_true: files('arm_gicv3_cpuif_co= mmon.c')) diff --git a/hw/intc/trace-events b/hw/intc/trace-events index 6fbc2045e6..50cadfb996 100644 --- a/hw/intc/trace-events +++ b/hw/intc/trace-events @@ -10,10 +10,6 @@ pic_ioport_read(bool master, uint64_t addr, int val) "ma= ster %d addr 0x%"PRIx64" # apic_common.c cpu_set_apic_base(uint64_t val) "0x%016"PRIx64 cpu_get_apic_base(uint64_t val) "0x%016"PRIx64 -# coalescing -apic_report_irq_delivered(int apic_irq_delivered) "coalescing %d" -apic_reset_irq_delivered(int apic_irq_delivered) "old coalescing %d" -apic_get_irq_delivered(int apic_irq_delivered) "returning coalescing %d" =20 # apic.c apic_local_deliver(int vector, uint32_t lvt) "vector %d delivery mode %d" @@ -30,6 +26,11 @@ ioapic_mem_read(uint8_t addr, uint8_t regsel, uint8_t si= ze, uint32_t val) "ioapi ioapic_mem_write(uint8_t addr, uint8_t regsel, uint8_t size, uint32_t val)= "ioapic mem write addr 0x%"PRIx8" regsel: 0x%"PRIx8" size 0x%"PRIx8" val 0= x%"PRIx32 ioapic_set_irq(int vector, int level) "vector: %d level: %d" =20 +# kvm_irqcount.c +kvm_report_irq_delivered(int irq_delivered) "coalescing %d" +kvm_reset_irq_delivered(int irq_delivered) "old coalescing %d" +kvm_get_irq_delivered(int irq_delivered) "returning coalescing %d" + # slavio_intctl.c slavio_intctl_mem_readl(uint32_t cpu, uint64_t addr, uint32_t ret) "read c= pu %d reg 0x%"PRIx64" =3D 0x%x" slavio_intctl_mem_writel(uint32_t cpu, uint64_t addr, uint32_t val) "write= cpu %d reg 0x%"PRIx64" =3D 0x%x" diff --git a/hw/rtc/mc146818rtc.c b/hw/rtc/mc146818rtc.c index 1ebb412479..947d68c257 100644 --- a/hw/rtc/mc146818rtc.c +++ b/hw/rtc/mc146818rtc.c @@ -27,6 +27,7 @@ #include "qemu/module.h" #include "qemu/bcd.h" #include "hw/acpi/acpi_aml_interface.h" +#include "hw/intc/kvm_irqcount.h" #include "hw/irq.h" #include "hw/qdev-properties.h" #include "hw/qdev-properties-system.h" @@ -46,7 +47,6 @@ =20 #ifdef TARGET_I386 #include "qapi/qapi-commands-misc-target.h" -#include "hw/i386/apic.h" #endif =20 //#define DEBUG_CMOS @@ -124,9 +124,9 @@ void qmp_rtc_reset_reinjection(Error **errp) =20 static bool rtc_policy_slew_deliver_irq(RTCState *s) { - apic_reset_irq_delivered(); + kvm_reset_irq_delivered(); qemu_irq_raise(s->irq); - return apic_get_irq_delivered(); + return kvm_get_irq_delivered(); } =20 static void rtc_coalesced_timer(void *opaque) diff --git a/include/hw/i386/apic.h b/include/hw/i386/apic.h index da1d2fe155..bdc15a7a73 100644 --- a/include/hw/i386/apic.h +++ b/include/hw/i386/apic.h @@ -9,8 +9,6 @@ int apic_accept_pic_intr(DeviceState *s); void apic_deliver_pic_intr(DeviceState *s, int level); void apic_deliver_nmi(DeviceState *d); int apic_get_interrupt(DeviceState *s); -void apic_reset_irq_delivered(void); -int apic_get_irq_delivered(void); void cpu_set_apic_base(DeviceState *s, uint64_t val); uint64_t cpu_get_apic_base(DeviceState *s); void cpu_set_apic_tpr(DeviceState *s, uint8_t val); diff --git a/include/hw/i386/apic_internal.h b/include/hw/i386/apic_interna= l.h index 968b6648b3..5f2ba24bfc 100644 --- a/include/hw/i386/apic_internal.h +++ b/include/hw/i386/apic_internal.h @@ -199,7 +199,6 @@ typedef struct VAPICState { =20 extern bool apic_report_tpr_access; =20 -void apic_report_irq_delivered(int delivered); bool apic_next_timer(APICCommonState *s, int64_t current_time); void apic_enable_tpr_access_reporting(DeviceState *d, bool enable); void apic_enable_vapic(DeviceState *d, hwaddr paddr); diff --git a/include/hw/intc/kvm_irqcount.h b/include/hw/intc/kvm_irqcount.h new file mode 100644 index 0000000000..0ed5999e49 --- /dev/null +++ b/include/hw/intc/kvm_irqcount.h @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +#ifndef KVM_IRQCOUNT_H +#define KVM_IRQCOUNT_H + +void kvm_report_irq_delivered(int delivered); +void kvm_reset_irq_delivered(void); +int kvm_get_irq_delivered(void); + +#endif --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673628455; cv=none; d=zohomail.com; s=zohoarc; b=QhsVmTXyorHxTrdLVgpPI30KlG2NEcrTaftQXSrnFjmNLPoKFyNodIXZ2iYzq16VIf+l3mojEiwFmOMsH+70z6ibYdRUVSbKIrzq7XMT8ewIrnh93yg44gj0Ue+yCkhlK4UZy9cza0zYZ0lYVmrrcCrn0tquG8liwudEkqF2/M0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673628455; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BZCPnB5fIDxgYUOaNTTWB4sTJHEXcsZDKFFOWxxesng=; b=gEsuiqQyDxJV49rAzsOXhY+vHu67fBO/NdfpsRXOv0DUE0pA7TVPsFDRqfxXwiiVzXdFO0wN7gibjxCYncbyWM5uQMmy/+R0dultQI2YhFYyfKQuY2M0HT5R/o9FkTLhyyX3EbtKT7Un57UKKXinQkrnLeYlVzY5GOqkH0phvC8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673628455115449.50976908722066; Fri, 13 Jan 2023 08:47:35 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMIp-0003Iu-Dd; Fri, 13 Jan 2023 10:49:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMII-00035k-Ps for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:39 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMIG-0006an-9g for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:37 -0500 Received: by mail-wm1-x32f.google.com with SMTP id ja17so15555647wmb.3 for ; Fri, 13 Jan 2023 07:48:34 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id hg9-20020a05600c538900b003cfa622a18asm29162279wmb.3.2023.01.13.07.48.32 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:48:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BZCPnB5fIDxgYUOaNTTWB4sTJHEXcsZDKFFOWxxesng=; b=Qlr3Kh+fhzvy5CB2CkMtIai2G7HmFr3XjRI7jT6PTGOpcL79+CVZuEMdzpwtimkch+ eoxXL1PZ0IWuc3leNFClsF+tW2pfa3142F7MeXZbt0eZTIKrpTV91x370TxJn9LbVk/9 kkwHAf9vloMmpsGNKqaI8ht7KQlrv881nqd5OXK6Zs9XbvIMDpFUhfpKK9BDAOjwIk7K 0LaoZySkJnXYIorhg2IzsdNDyF8UseHcYRYai1QgBz4aw7Wz6ValEuV7/dCxe7VynuTo e6PIF6m9UJ0bfYJnxP3J3Qndzj5MxbW0jreRvBxeHNW2sW8h6pmNyg1uy/8ra7ZvBWIc 5b0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BZCPnB5fIDxgYUOaNTTWB4sTJHEXcsZDKFFOWxxesng=; b=0VzotO6llwORJ4Io9K01AFpbYs+PaG7jN2kzV50c6ThcLT/ZGlEoZP8kFNElNjFKIK k/ZeC8FcuQHT4Wsf9bAgBovOvXLJ5LKwQ8lEFrOskv+bhYafVO7SKic+G1W17HXCaxUC ILhq0OF0hpcRo+/6KSBafHx4B4hAb9v9SKCqYQ0VivCey1CL/04joJq/axCvkTbiU0jx 2W/P1Wh+hftnw1db+LbLVbGJIh+DoK3ObCrDPJATkX9w/2SWJ+/9nfF9LhjgclB/Pc6a nBBThMAfKeLdhTnW5rJ7tzjoZ23vRC7lt/UnzUkEAEcs/E55vGxHYIKUxmfAnVm7w/CX i7tg== X-Gm-Message-State: AFqh2kqUmiHbYWmhZLQMMdIZo54mVU4moT6Yx3cj7sUuFUqR7WwsCg1+ X5mzQdHxiQ289Mtu+UxNoS1ny5ZKV2rrEWLb X-Google-Smtp-Source: AMrXdXsThB3s5Rw6Z1hdLOe0V3j6ZcbB75JIVsjratZi/beP0TYvJvZ57L38fZDrfAdMGA1Cqp/j2g== X-Received: by 2002:a05:600c:1c2a:b0:3d9:f217:6f6b with SMTP id j42-20020a05600c1c2a00b003d9f2176f6bmr105890wms.33.1673624913666; Fri, 13 Jan 2023 07:48:33 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Thomas Huth , Mark Cave-Ayland , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Bernhard Beschow Subject: [PULL 37/46] hw/core/qdev-properties-system: Allow the 'slew' policy only on x86 Date: Fri, 13 Jan 2023 16:45:23 +0100 Message-Id: <20230113154532.49979-38-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philmd@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673628480790100001 From: Thomas Huth The 'slew' tick policy is currently enforced to be only available on x86 via some "#ifdef TARGET_I386" statements in mc146818rtc.c. We want to get rid of those #ifdefs, so we need a different way of checking whether the policy is allowed or not. Using the setter function in hw/core/qdev-properties-system.c seems to be a good place, so let's add a check here. Suggested-by: Mark Cave-Ayland Signed-off-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mark Cave-Ayland Reviewed-by: Bernhard Beschow Message-Id: <20230110095351.611724-3-thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/core/qdev-properties-system.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-sys= tem.c index 54a09fa9ac..d42493f630 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -33,6 +33,7 @@ #include "net/net.h" #include "hw/pci/pci.h" #include "hw/pci/pcie.h" +#include "hw/i386/x86.h" #include "util/block-helpers.h" =20 static bool check_prop_still_unset(Object *obj, const char *name, @@ -558,13 +559,38 @@ void qdev_set_nic_properties(DeviceState *dev, NICInf= o *nd) =20 /* --- lost tick policy --- */ =20 +static void qdev_propinfo_set_losttickpolicy(Object *obj, Visitor *v, + const char *name, void *opaqu= e, + Error **errp) +{ + Property *prop =3D opaque; + int *ptr =3D object_field_prop_ptr(obj, prop); + int value; + + if (!visit_type_enum(v, name, &value, prop->info->enum_table, errp)) { + return; + } + + if (value =3D=3D LOST_TICK_POLICY_SLEW) { + MachineState *ms =3D MACHINE(qdev_get_machine()); + + if (!object_dynamic_cast(OBJECT(ms), TYPE_X86_MACHINE)) { + error_setg(errp, + "the 'slew' policy is only available for x86 machin= es"); + return; + } + } + + *ptr =3D value; +} + QEMU_BUILD_BUG_ON(sizeof(LostTickPolicy) !=3D sizeof(int)); =20 const PropertyInfo qdev_prop_losttickpolicy =3D { .name =3D "LostTickPolicy", .enum_table =3D &LostTickPolicy_lookup, .get =3D qdev_propinfo_get_enum, - .set =3D qdev_propinfo_set_enum, + .set =3D qdev_propinfo_set_losttickpolicy, .set_default_value =3D qdev_propinfo_set_default_value_enum, }; =20 --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673627708; cv=none; d=zohomail.com; s=zohoarc; b=Lt2oPd8no6cAg6mY2YfCE36Xqiz8+519KUaw3R8PjGVe31dtYk8JVN9NdoPGwA+160A5pENTj5TK0ExXaQBYdfEmedUa5TFdd2C1nYf9v5p1ChYPh7dweHKUfb5kqcvFuNl0uynaCWiIctkLB/LAlwY7m5955+iYDceJmDMefGc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673627708; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=oNrQ3qjy9n5lhxoh2Nx8ipN2K6i00834cU19JgIQQjA=; b=f7B7Kz+58zLZT+DPnvpI+3ylb3qtmDRX7EqxG5rjrvDdgD6l08tmu+nLVmsKB1i5/nWNCUGgM09+fqfmIP+ZTX+QHlmIk9m4LfIRwOVJpky82t1XL2bD8qKWF5WCnh7k1/kRUULzkSy494y2JIOegOm1sZ9DLAf4FzLr3a1NQfc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673627708797343.7593887445033; Fri, 13 Jan 2023 08:35:08 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMIu-0003RP-UV; Fri, 13 Jan 2023 10:49:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMIM-00036R-T3 for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:47 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMIK-0006bW-7w for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:41 -0500 Received: by mail-wm1-x332.google.com with SMTP id ay40so15565566wmb.2 for ; Fri, 13 Jan 2023 07:48:39 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id r7-20020a05600c458700b003d974076f13sm27186156wmo.3.2023.01.13.07.48.37 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:48:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oNrQ3qjy9n5lhxoh2Nx8ipN2K6i00834cU19JgIQQjA=; b=hAqvUSltCtM0WGXRMcPU2vLhEx/ly9W8vJQWPxx/LJG4jA+vG86Iove/12C9YktyX1 pZkoGkKOGG0vuH8OfcJMkR8YJwn0Qa5+LgGcNn7l250/vBBfkJl6w64Pw36P4ycyAvRB DU+j8GLchx9EQGwcZy0Wjijey8NMU87WhKhwK3F+rtPxDBM6WtjjjPGfvVb4mXfMt1Ip OZzxIzRszlUvc3p5CnSXDHK6oS1SXJVRHyoJdvqGgs5bunYpj4QXX5eU2X+rDwOZSuZb gcx+bN939XOAtL+R+5SVe/GU7BF4FDOFN9YOnCL1BwxVeQ5QOom5d+H9YKq2uxg2enwt Jwfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oNrQ3qjy9n5lhxoh2Nx8ipN2K6i00834cU19JgIQQjA=; b=BstHbwXDmvo3mFe28C9+7FZRas3rnNNqbB8xurcl82Etbn5cIZtMTNVaVCet6eI1dg 5NZjYvt45PwWWPAIiJ/P4GXY+CWgFGp2LcfkzCe03MaJt7MnoLx3BnYZT/X8kJOAh3a6 CIeVhuTvNBSiXlW0a2Y+hsv4rMChrbvYN5zCCT+KTpftRF64AJJBksk94FNaO5D3Lc7A Bke7Pz9KUKLzDNQf1P73H9dbqT6wNxYlTuKsEOfQhdFRy2mKezNa7hlcVwXWAmTfkC+S E1S9w/bDOhr0SjaNjJ7Bykktpb/9eNrohGBRpuBbG5Z6U1uxDzTWfjlg7rFjIyGgnhSO Lthw== X-Gm-Message-State: AFqh2kqj++RKr9MVMsXDG2Tm9ouVuLEMbLV5QBtrbvb1zzvdmMsOdVkB YFFyAFuA8+2stybrtiC9LPPX6M7R33/C05/0 X-Google-Smtp-Source: AMrXdXv8sRPlBFPbKx73f67lGoxSa9/GNxbS7ZZhPLJL9ZtkwoMU1osdcSQl3D3vs7Ks1i7/NDyQ+w== X-Received: by 2002:a05:600c:4153:b0:3da:f0a:83d7 with SMTP id h19-20020a05600c415300b003da0f0a83d7mr7628666wmm.8.1673624918471; Fri, 13 Jan 2023 07:48:38 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Mark Cave-Ayland Subject: [PULL 38/46] hw/rtc/mc146818rtc: Make the mc146818 RTC device target independent Date: Fri, 13 Jan 2023 16:45:24 +0100 Message-Id: <20230113154532.49979-39-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673627709498100001 From: Thomas Huth The only reason for this code being target dependent was the IRQ-counting related code in rtc_policy_slew_deliver_irq(). Since these functions have been moved into a new, separate file (kvm_irqcount.c) which is now always compiled and linked if necessary, we can get rid of the #ifdef TARGET_I386 switches in mc146818rtc.c and declare it in the softmmu_ss instead of specific_ss, so that the code only gets compiled once for all targets. Signed-off-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Mark Cave-Ayland Message-Id: <20230110095351.611724-4-thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/rtc/mc146818rtc.c | 14 -------------- hw/rtc/meson.build | 3 +-- include/hw/rtc/mc146818rtc.h | 1 + 3 files changed, 2 insertions(+), 16 deletions(-) diff --git a/hw/rtc/mc146818rtc.c b/hw/rtc/mc146818rtc.c index 947d68c257..bc1192b7ae 100644 --- a/hw/rtc/mc146818rtc.c +++ b/hw/rtc/mc146818rtc.c @@ -45,10 +45,6 @@ #include "qapi/visitor.h" #include "hw/rtc/mc146818rtc_regs.h" =20 -#ifdef TARGET_I386 -#include "qapi/qapi-commands-misc-target.h" -#endif - //#define DEBUG_CMOS //#define DEBUG_COALESCED =20 @@ -112,7 +108,6 @@ static void rtc_coalesced_timer_update(RTCState *s) static QLIST_HEAD(, RTCState) rtc_devices =3D QLIST_HEAD_INITIALIZER(rtc_devices); =20 -#ifdef TARGET_I386 void qmp_rtc_reset_reinjection(Error **errp) { RTCState *s; @@ -145,13 +140,6 @@ static void rtc_coalesced_timer(void *opaque) =20 rtc_coalesced_timer_update(s); } -#else -static bool rtc_policy_slew_deliver_irq(RTCState *s) -{ - assert(0); - return false; -} -#endif =20 static uint32_t rtc_periodic_clock_ticks(RTCState *s) { @@ -922,12 +910,10 @@ static void rtc_realizefn(DeviceState *dev, Error **e= rrp) rtc_set_date_from_host(isadev); =20 switch (s->lost_tick_policy) { -#ifdef TARGET_I386 case LOST_TICK_POLICY_SLEW: s->coalesced_timer =3D timer_new_ns(rtc_clock, rtc_coalesced_timer, s); break; -#endif case LOST_TICK_POLICY_DISCARD: break; default: diff --git a/hw/rtc/meson.build b/hw/rtc/meson.build index dc33973384..34a4d316fa 100644 --- a/hw/rtc/meson.build +++ b/hw/rtc/meson.build @@ -13,5 +13,4 @@ softmmu_ss.add(when: 'CONFIG_ASPEED_SOC', if_true: files(= 'aspeed_rtc.c')) softmmu_ss.add(when: 'CONFIG_GOLDFISH_RTC', if_true: files('goldfish_rtc.c= ')) softmmu_ss.add(when: 'CONFIG_LS7A_RTC', if_true: files('ls7a_rtc.c')) softmmu_ss.add(when: 'CONFIG_ALLWINNER_H3', if_true: files('allwinner-rtc.= c')) - -specific_ss.add(when: 'CONFIG_MC146818RTC', if_true: files('mc146818rtc.c'= )) +softmmu_ss.add(when: 'CONFIG_MC146818RTC', if_true: files('mc146818rtc.c')) diff --git a/include/hw/rtc/mc146818rtc.h b/include/hw/rtc/mc146818rtc.h index 1db0fcee92..45bcd6f040 100644 --- a/include/hw/rtc/mc146818rtc.h +++ b/include/hw/rtc/mc146818rtc.h @@ -55,5 +55,6 @@ ISADevice *mc146818_rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq); void rtc_set_memory(ISADevice *dev, int addr, int val); int rtc_get_memory(ISADevice *dev, int addr); +void qmp_rtc_reset_reinjection(Error **errp); =20 #endif /* HW_RTC_MC146818RTC_H */ --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673627765; cv=none; d=zohomail.com; s=zohoarc; b=oJ94jMlG0lP3g70re73icB/8atVO1Wo+E1CuBDp2HZcCc/YWJeW1Dlz+P53k9BAd4djH3hDQDhe4OvNg/MIP+QwF/3OY8EC0ltBXIr4jQ7hR85rjKX2cQnKDuyol7r7SrsPKWiRlPYjvX1jsk4I1uu/B1U4gK9koWIywTjs/4ks= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673627765; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=0wPcunVg7yQ5n7dMEXY8T78bqLxi/bsTCdvYF3d+Ri0=; b=OHe8J3R6J/1MjIuVnSp5umFa8XFtafJCtAAQdCJgSUmbt3p/UndjfXY29Xi4cmQUOOJ7jeRWI19QTc5Ttuzfaq6/F2xyqWQ7VDcg4WarBC+prMBKo9l5xT12hwwmgcsftfLHSaOMSslll0IpcbVIwr+6/0whqJ0zX4AGPQZbUDw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673627765645995.6900638849855; Fri, 13 Jan 2023 08:36:05 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMIq-0003JN-3H; Fri, 13 Jan 2023 10:49:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMIP-0003AA-Po for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:53 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMIO-0006US-7E for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:45 -0500 Received: by mail-wr1-x42c.google.com with SMTP id q10so2141659wrs.2 for ; Fri, 13 Jan 2023 07:48:43 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id g2-20020a5d4882000000b00286ad197346sm19251049wrq.70.2023.01.13.07.48.42 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:48:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0wPcunVg7yQ5n7dMEXY8T78bqLxi/bsTCdvYF3d+Ri0=; b=jW+KkVePwiHrYHqSTlutt4x5FaG7P5VF+8zgPTRy2xrgbkFebeTN09+outrrpRZwCy 0PD/WpRH+U4v5B/XSIwDMvPSZm69pzy464Un+VrJNiwiYMXkAnatH/HlmwRqrH2SZjW4 01AZ81S9kx9J0LcFrbeMmc2haxImNaPmCVg95wHX89uQ+7eaCzkYbdFsGlf/r1Jfpe66 5p2L/ohI7MdLEMpj/H/t6LggoffjTzGWOAqZ6nHP57gzVR+Kneom/V8jY/A0DZ2BmH34 LOYARYGFsL+BIii/hql6aR4y9RA+6FwX/qOQllHUndIURncGgi1jCF1hAHtiioZxMxzV oZvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0wPcunVg7yQ5n7dMEXY8T78bqLxi/bsTCdvYF3d+Ri0=; b=KxK3UvEUj5KWKAu45ppIbxufrOoFoju4niJdTPcY+CpwW1tjVkOoi/iiRk5S+rRbDO ZAIpfHUPh4w0EkKqht5uPJDtjis4OA1uSDFLf2MqL36ZFtPMnoGb/wri7vZfznEpwLtA B8fult5TajQhS8A45Q8e6aDpTNKaLOB9CSemyU0I0bkwfpMbDTIKpmuMGK9GPTWmIFdN jSV+2uDR43leNIJkz54XZSxyWxWQVmzFZk7XgGyTTEslkhihsqIOR7rWFbmdKreGpnYF ju1i4cs7iO95D1NnknNTf8qDVuiXkAV/zr8IrIVbiZYH0srOHzf+yhXtw1BSUQydUxBf 8pLA== X-Gm-Message-State: AFqh2koERY1F/iFayYUTSq3llYJtu01YNsRYNPxElrmnE1/C4GU56dRf +XLo9a2OvxpIzVjGM1q+canUX5Ox+yj0JLza X-Google-Smtp-Source: AMrXdXsmDR1QDVXrmvbEsqJM4PQsnA3lEk5xrhr6pK7TQ/4aw4LkwyFR30NeD7ixesjmA2Xe2r2nxQ== X-Received: by 2002:a5d:5b18:0:b0:2bd:db84:d663 with SMTP id bx24-20020a5d5b18000000b002bddb84d663mr256143wrb.5.1673624923179; Fri, 13 Jan 2023 07:48:43 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Mark Cave-Ayland Subject: [PULL 39/46] softmmu/rtc: Emit warning when using driftfix=slew on systems without mc146818 Date: Fri, 13 Jan 2023 16:45:25 +0100 Message-Id: <20230113154532.49979-40-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673627767732100001 From: Thomas Huth The 'slew' lost tick policy is only available on systems with a mc146818 RTC. On other systems, "-rtc driftfix=3Dslew" is currently silently ignored. Let's emit at least a warning in this case to make the users aware that there is something wrong in their command line settings. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Thomas Huth Reviewed-by: Mark Cave-Ayland Message-Id: <20230110095351.611724-5-thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- softmmu/rtc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/softmmu/rtc.c b/softmmu/rtc.c index 7e2956f81e..f7114bed7d 100644 --- a/softmmu/rtc.c +++ b/softmmu/rtc.c @@ -33,6 +33,7 @@ #include "sysemu/replay.h" #include "sysemu/sysemu.h" #include "sysemu/rtc.h" +#include "hw/rtc/mc146818rtc.h" =20 static enum { RTC_BASE_UTC, @@ -177,10 +178,13 @@ void configure_rtc(QemuOpts *opts) value =3D qemu_opt_get(opts, "driftfix"); if (value) { if (!strcmp(value, "slew")) { - object_register_sugar_prop("mc146818rtc", + object_register_sugar_prop(TYPE_MC146818_RTC, "lost_tick_policy", "slew", false); + if (!object_class_by_name(TYPE_MC146818_RTC)) { + warn_report("driftfix 'slew' is not available with this ma= chine"); + } } else if (!strcmp(value, "none")) { /* discard is default */ } else { --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673625557; cv=none; d=zohomail.com; s=zohoarc; b=e44k1gxOhg1RTwDkhdKNlFDBtb3sODboiOPgmiBRLWUOUZnYVVCEla6/fcqBAJetNbDdMaOEe+LpM41GXp0CbM4VJhfv7pX5sSIsxg8jDbAeuHwVCpU/LHEff+/qCm5/ANKVIVZbYVZYWq/Gl/ubaR1Qr3lgz6rQQBMiW/PDfmY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673625557; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=9tT1oW9k+p9Iri79Qb+THu5Qi+IZcPWQrYF+smSoELo=; b=M7Bo0DcBpkKhJ01h5RRqYLsUaP8oZyYkXM1ip5OY/spKtiI8L3j5YZiC6atysKbSt+FOl27oocLQ4Qpv5641iwWcwGnYpaQ5qhcSrMbhfuX76JReGNeXxOQWQ80jsm/BQQEG+TVjxtw3XNh/xyR4a2DSq5U2brggHFyYcWLmjFA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673625556865604.544577135316; Fri, 13 Jan 2023 07:59:16 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMIw-0003TD-Rj; Fri, 13 Jan 2023 10:49:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMIY-0003Bu-8F for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:57 -0500 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMIU-0006XF-2r for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:52 -0500 Received: by mail-wr1-x436.google.com with SMTP id t5so17056143wrq.1 for ; Fri, 13 Jan 2023 07:48:48 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id f6-20020adffcc6000000b002bbdcd15e44sm15486399wrs.37.2023.01.13.07.48.47 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:48:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9tT1oW9k+p9Iri79Qb+THu5Qi+IZcPWQrYF+smSoELo=; b=y0tJcvUB4Q56e9czjVYF43mKmQf1xMNOjmmAc5cHGyfGLryb0XPNYysKDSCJ8Jh99X p5cDEsecnpcGOzWbAJDvHBdSn6kjMWizcMsnf+tjcN4tUCC+SY3VegBCLOkdt9WORE/B IYzuwffGKnQIFfPvA7EbfNbes67MkM9W4m1iuttCZ05oWxyd2Tw0fb2OO8VpyG9ZoqE0 EdsA7hy3OU/+84cAXnCxM4CuBAgRJ4v3+5qwQ9plV5sVxxgDiB5QDxJ4HF5Eoh6U0x9b Cer84KvsVRPkDDVjqQE4N6H0ePNpOTjrTk8EaF8F4lHmFb8TTkY9wYbduQLbxtxqyo7G UR4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9tT1oW9k+p9Iri79Qb+THu5Qi+IZcPWQrYF+smSoELo=; b=uZDDKwIhIov/lG7gXGTUKQg2vd453pIIrUEEoiqLwrnbSzHR6L6F+z+evhXiXUeQ5p USgnlkGkCAfysg1/5k6RgwRGtjC1+taP/ly/hKC83iHUo5Q9GcZ2RgcJxlPGZHAqBODj nsH0WsMyGkRWUiOznlGLy026Cn9aUVLtehpYIT84S+7N6MVwfnSLEvFrdjAHb4PE6z9j dX7qCzIDvVrvhBMozkd6dL62ttberlIms2kna2Phh7sIZZRrycIe4lQEqHTFdhuFIIZG KclE886dJq5TUidZpL373D6TZQtqaYViIqEHjgW2LoZRFHMr9kJojy2wV9MhEFgGNJeR FFbA== X-Gm-Message-State: AFqh2koQT5dnqUKcrzScvG0MYDPiD/ReCjCUCX/kuiIAJSyOCyA+5ozL m1p+wG+nkMeQruJztl/V13SHvdb1TUn8mPTs X-Google-Smtp-Source: AMrXdXvETo2vyBaUmpeMHtVO5qKoF1pI5d9wT4i29uVOV35tdSLgBHMwZkBDZPlNpnNC3Bmb0SeUtw== X-Received: by 2002:adf:dd82:0:b0:2bd:bd54:25 with SMTP id x2-20020adfdd82000000b002bdbd540025mr9186211wrl.29.1673624928406; Fri, 13 Jan 2023 07:48:48 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 40/46] hw/pci-host/bonito: Convert to 3-phase reset Date: Fri, 13 Jan 2023 16:45:26 +0100 Message-Id: <20230113154532.49979-41-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philmd@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673625558849100001 From: Philippe Mathieu-Daud=C3=A9 Convert the TYPE_PCI_BONITO class to use 3-phase reset. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20230105130710.49264-2-philmd@linaro.org> --- hw/pci-host/bonito.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c index f04f3ad668..450eb29ec0 100644 --- a/hw/pci-host/bonito.c +++ b/hw/pci-host/bonito.c @@ -47,7 +47,6 @@ #include "hw/mips/mips.h" #include "hw/pci/pci_host.h" #include "migration/vmstate.h" -#include "sysemu/reset.h" #include "sysemu/runstate.h" #include "hw/misc/unimp.h" #include "hw/registerfields.h" @@ -593,9 +592,9 @@ static int pci_bonito_map_irq(PCIDevice *pci_dev, int i= rq_num) } } =20 -static void bonito_reset(void *opaque) +static void bonito_reset_hold(Object *obj) { - PCIBonitoState *s =3D opaque; + PCIBonitoState *s =3D PCI_BONITO(obj); uint32_t val =3D 0; =20 /* set the default value of north bridge registers */ @@ -739,8 +738,6 @@ static void bonito_realize(PCIDevice *dev, Error **errp) =20 pci_set_byte(dev->config + PCI_MIN_GNT, 0x3c); pci_set_byte(dev->config + PCI_MAX_LAT, 0x00); - - qemu_register_reset(bonito_reset, s); } =20 PCIBus *bonito_init(qemu_irq *pic) @@ -770,7 +767,9 @@ static void bonito_class_init(ObjectClass *klass, void = *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); + ResettableClass *rc =3D RESETTABLE_CLASS(klass); =20 + rc->phases.hold =3D bonito_reset_hold; k->realize =3D bonito_realize; k->vendor_id =3D 0xdf53; k->device_id =3D 0x00d5; --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673627500; cv=none; d=zohomail.com; s=zohoarc; b=fw4MspQP9L9QMmWRxyLALF6W4u44at1OQnHuehjr/eBizeZNvYXsNrr4p9Kfk69t2EoDhXD9JOxIrK94BmTdBfcqRMIe6gYx6O2GSDE7eKFw2hjbi/8EsAnhIo0prue8H3/zLEbN5oJUhaXFHKMUCZhjHFKnAoC5j4UPQu7FolY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673627500; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=wdqhVDWv9Gp7qzXSERirZmjSbsn2UR1g28gq9g6+5/Y=; b=SxjnzTWRviQLRJxFRwCwXMTuul2DWsmjuMQlgxTsfiQ2LihmmFYvqNhfU/4Ta4BBseAyuBO2Dxsl6XMCe8CvQsxsf/sCJrWSEcFVgP5rEBrp0b8ga97aqSGirj13/zil++se4hVSSxyTrrB7itwY5DjCd/+Igpmde9u2DENr0fg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673627500315113.07879363336576; Fri, 13 Jan 2023 08:31:40 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMIx-0003TM-Ac; Fri, 13 Jan 2023 10:49:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMIa-0003D7-CN for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:58 -0500 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMIY-0006dP-JR for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:48:56 -0500 Received: by mail-wr1-x42e.google.com with SMTP id k8so6963819wrc.9 for ; Fri, 13 Jan 2023 07:48:54 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id l1-20020adfe9c1000000b00289bdda07b7sm18724022wrn.92.2023.01.13.07.48.52 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:48:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wdqhVDWv9Gp7qzXSERirZmjSbsn2UR1g28gq9g6+5/Y=; b=FxSXDJ1sJnjouMlE2ebkLJxe5O8HrrxskwRR4CDpWiPwMY0rAHADcUMnyh4T5bDmiz gKuDYGjfAT5ewwP1196P0j6BSVzc8Z5KCO1AUyjYvflR5RqIC19lzYMfCFNaeERuiay9 t3j/Le6JXIpu0mAYwGcIGpFI6AznDirJO4optHBmx6NfuFbdplOsAYpSzaKyKpInEA5m 3oAdH6uLD8A2FdTTe4nTCkhl0sth5tIcKjFUA0cfSgVxUmk+w1B0QHr8nL0Kw5uDuEVf Jbg9MAFiMzhnwZDLd7SWeHSvDOyNnaqbUF3OWl480fWBF37g2oFEvXka72PWyE4tSjWu NMtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wdqhVDWv9Gp7qzXSERirZmjSbsn2UR1g28gq9g6+5/Y=; b=FY+kex7FgbTRo3gXsVREQNG0Dv3MZ/mBnYbdb305Zb7IekpFujDsn6NQ4ZGvVoJ82o 8YJU+SDInmol8dWJWXvFPiMPCpFydQ/atrz03NlEzltjt/cmHPw0ypXZ2v/OdF/plUsl DHatMMyL0vbXbmwpwa+CVu7CIt6KyHYwGCSZtCCgSYUQOsMI4yQIVIDbq/yB2N6LEtoi rU6NkSOjs2BuT0QS+fn5qAQRByF3u+aIKBoEiVbJZPbxomr5vQEjYFRjcc4/dsXYz3va xrzZTGjU2Yxr77PJN0pEnckyIAIukUFSkifjLIQVKbgvQX81XNgUMBvOe+jTDdmS6XAF gEcQ== X-Gm-Message-State: AFqh2krxHMP+Bu5M6KJkDiqFAd+kTdZcMXLwcYUU/cBv88wYh/CKYN5D oRBLBhDMOKLNTYya0zCNrO3i6bNFc9TyZtFa X-Google-Smtp-Source: AMrXdXvFAmIw6I3lSB0fc4zlYk9S4lcegZNxy5M1cZNke2VJ7YLH3lBdT/s6ntKSDLFVr8JLKEa0lw== X-Received: by 2002:a5d:56c1:0:b0:288:d139:3690 with SMTP id m1-20020a5d56c1000000b00288d1393690mr37314619wrw.67.1673624933061; Fri, 13 Jan 2023 07:48:53 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 41/46] hw/pci-host/bonito: Use 'bonito_host' for PCI host bridge code Date: Fri, 13 Jan 2023 16:45:27 +0100 Message-Id: <20230113154532.49979-42-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=philmd@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673627501019100001 To make it easier to differentiate between the Host Bridge object and its PCI function #0, rename bonito_pcihost* as bonito_host*. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20230105130710.49264-3-philmd@linaro.org> --- hw/pci-host/bonito.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c index 450eb29ec0..5c0928ffe6 100644 --- a/hw/pci-host/bonito.c +++ b/hw/pci-host/bonito.c @@ -627,7 +627,7 @@ static const VMStateDescription vmstate_bonito =3D { } }; =20 -static void bonito_pcihost_realize(DeviceState *dev, Error **errp) +static void bonito_host_realize(DeviceState *dev, Error **errp) { PCIHostState *phb =3D PCI_HOST_BRIDGE(dev); BonitoState *bs =3D BONITO_PCI_HOST_BRIDGE(dev); @@ -795,23 +795,23 @@ static const TypeInfo bonito_info =3D { }, }; =20 -static void bonito_pcihost_class_init(ObjectClass *klass, void *data) +static void bonito_host_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 - dc->realize =3D bonito_pcihost_realize; + dc->realize =3D bonito_host_realize; } =20 -static const TypeInfo bonito_pcihost_info =3D { +static const TypeInfo bonito_host_info =3D { .name =3D TYPE_BONITO_PCI_HOST_BRIDGE, .parent =3D TYPE_PCI_HOST_BRIDGE, .instance_size =3D sizeof(BonitoState), - .class_init =3D bonito_pcihost_class_init, + .class_init =3D bonito_host_class_init, }; =20 static void bonito_register_types(void) { - type_register_static(&bonito_pcihost_info); + type_register_static(&bonito_host_info); type_register_static(&bonito_info); } =20 --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673628444; cv=none; d=zohomail.com; s=zohoarc; b=dwdcjCbWTkY0DRmJbIkCBlvHZ4Hx14LessBUhFx577F6N9EUX+XfcFw/DwI44S60Jhpo6floON72FdXwL9EkquNoljrnYUpPWg1pgUiYMt2AsKJeC6LTtjrONLe4YLWp0XOp6PQr+QQ1LSog1YpxypQzIGtPAU5uJeVJHtm6Z7k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673628444; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=KNprIQcFwUnFv12Queibz2aRMJNapfQn9w0bpm4vXUo=; b=DlAqKl8KCFyWROS9IwMjyXko/+WjKpFL7VrvSrjNfbxpO4XkpWM3UcyN/vKSbHSXIxv256JouN/cLBVREA6tozXsj9irCUGqMeLSXjr3bm+3LwKOP4gcN8T8+jwF0q/s8FPJ2Sw3omBZHTIICs3WE4hMBQBupO8lFkYDEsP7q8c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 167362844453680.65656651663426; Fri, 13 Jan 2023 08:47:24 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMIy-0003UM-Vr; Fri, 13 Jan 2023 10:49:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMIf-0003FM-1p for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:49:03 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMIc-0006bW-TV for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:49:00 -0500 Received: by mail-wm1-x332.google.com with SMTP id ay40so15566197wmb.2 for ; Fri, 13 Jan 2023 07:48:58 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id p5-20020a1c5445000000b003b4fe03c881sm4390894wmi.48.2023.01.13.07.48.56 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:48:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KNprIQcFwUnFv12Queibz2aRMJNapfQn9w0bpm4vXUo=; b=huIflwGfvkK+BOfIH5nJKHdTwBThQ5yjH0AIi8X0roNPGpFT8QOpioQH8YvurF5GGA R3ynrfVSTZEp8imIDkh9SjqLZlLd+Tcn5X+OCrdFaf7yUUFTeVligmCbBi161wO+vBkH ba8/tq+xU0d+8K6S05OakNJsA7RbGaSHeRmuJMQ32Sjd8zST4TyPVeFAmeLFViMVwR3i 2dS9MGF0RambXGSO5AIglX9VHqVcNN7VtgB/pqfFeez1dhH3x9cZzDZ/F+TlFbSBefYv a6zSCRYCbcg5GLrPtJ3W8u6XlTco1UT0nOpuploPfQPAc1AmS5l+AtvCxWrgRUltlUNh Q2/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KNprIQcFwUnFv12Queibz2aRMJNapfQn9w0bpm4vXUo=; b=L+GQh9cHHGqRgpL4O4+N38sXIWKUULjPo+Lk1/NW/cX12GnplwjHQ5H7YEuCuf48q6 04F3Cpi4hvoa6fJzLP6K3HiFcI1Il4fZpOWZyiqezPuE1YJ3GdRpXtL6HypjZkFjV8CI qUMQwynSyV+ZDq2kK6hW7vlFok6OMo5+QtcsvYfFHU6PUfJqeYs1POcQDFTqguimwzqI 7gka2Dh+7CNeWXu9K+wpJ8eS6pjtPaqfFx4IWT6Xsxz53VuCL92zf/GFMpvLG2zRcIlr 9qb2PyMCTDjRmx/LsUUmN6uyqZa+QjzNivx2sgiiXQWanG4bWq6vvzgfSGmqrcJlvyaa vzHw== X-Gm-Message-State: AFqh2kpyRfQVtvLzCUToVIrpxcWgk8LUYlVqMShX3GvEI2Kv9MKnUHFe My9mkf9IMvUtostHV3Yuiy83xwG/vBttUcGe X-Google-Smtp-Source: AMrXdXu42hlR1W6jaXLgoPpeTTlB7k1bBE5Lqh5Y0za16WGPvo/YnpvW6ZBZSddf1++Ry8wiQfV0Fw== X-Received: by 2002:a05:600c:3b99:b0:3d2:1bf6:5796 with SMTP id n25-20020a05600c3b9900b003d21bf65796mr100731wms.35.1673624937685; Fri, 13 Jan 2023 07:48:57 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 42/46] hw/pci-host/bonito: Use 'bonito_pci' for PCI function #0 code Date: Fri, 13 Jan 2023 16:45:28 +0100 Message-Id: <20230113154532.49979-43-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673628476128100001 To make it easier to differentiate between the Host Bridge object and its PCI function #0, rename bonito* as bonito_pci*. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20230105130710.49264-4-philmd@linaro.org> --- hw/pci-host/bonito.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c index 5c0928ffe6..9c26aa2ad9 100644 --- a/hw/pci-host/bonito.c +++ b/hw/pci-host/bonito.c @@ -653,7 +653,7 @@ static void bonito_host_realize(DeviceState *dev, Error= **errp) create_unimplemented_device("pci.io", BONITO_PCIIO_BASE, 1 * MiB); } =20 -static void bonito_realize(PCIDevice *dev, Error **errp) +static void bonito_pci_realize(PCIDevice *dev, Error **errp) { PCIBonitoState *s =3D PCI_BONITO(dev); SysBusDevice *sysbus =3D SYS_BUS_DEVICE(s->pcihost); @@ -763,14 +763,14 @@ PCIBus *bonito_init(qemu_irq *pic) return phb->bus; } =20 -static void bonito_class_init(ObjectClass *klass, void *data) +static void bonito_pci_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); ResettableClass *rc =3D RESETTABLE_CLASS(klass); =20 rc->phases.hold =3D bonito_reset_hold; - k->realize =3D bonito_realize; + k->realize =3D bonito_pci_realize; k->vendor_id =3D 0xdf53; k->device_id =3D 0x00d5; k->revision =3D 0x01; @@ -784,11 +784,11 @@ static void bonito_class_init(ObjectClass *klass, voi= d *data) dc->user_creatable =3D false; } =20 -static const TypeInfo bonito_info =3D { +static const TypeInfo bonito_pci_info =3D { .name =3D TYPE_PCI_BONITO, .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(PCIBonitoState), - .class_init =3D bonito_class_init, + .class_init =3D bonito_pci_class_init, .interfaces =3D (InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { }, @@ -812,7 +812,7 @@ static const TypeInfo bonito_host_info =3D { static void bonito_register_types(void) { type_register_static(&bonito_host_info); - type_register_static(&bonito_info); + type_register_static(&bonito_pci_info); } =20 type_init(bonito_register_types) --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673625816; cv=none; d=zohomail.com; s=zohoarc; b=NI3jamQB4G3fwumEykuMa5OoBca38+hf65b9+I4INjNKfsX0/uI23IububsDkGq43ArtN/PCCVMQ/U52btmpIYoWMzTM/dZ6raf+CdDMIX9Xwl7zy22rHmgCXYrjC6oFwIEOPvDQL8e5J2N3r3sKNA+95kpWQQy2ZlGq0/smLFg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673625816; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4/Z0sYNWQlA4hQRv8qfSQLZc2MSoaNRQN3fLqjXEQM8=; b=kZKnvsg5u5e4IlRtUmhqZHdVbOCYKDs+UFX29muraRsMrDkl5q9TRNTuuQJK25CW+E5y0wFHKRr7VVvF3VUjeqGg6bg/fMnlMyyjMPiifwd29gQMI2XtGC5gaxgE0RgG4+i4ktX/7ES9PEhmoUQkxL7tSTxRzpn9AWipYlMFHQs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673625816474555.8084289850924; Fri, 13 Jan 2023 08:03:36 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMJ0-0003Ua-90; Fri, 13 Jan 2023 10:49:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMIk-0003HC-Eo for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:49:06 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMIi-0006US-4Z for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:49:06 -0500 Received: by mail-wr1-x42c.google.com with SMTP id q10so2142478wrs.2 for ; Fri, 13 Jan 2023 07:49:02 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id q11-20020adff50b000000b0027f9f073211sm19488461wro.65.2023.01.13.07.49.01 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:49:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4/Z0sYNWQlA4hQRv8qfSQLZc2MSoaNRQN3fLqjXEQM8=; b=Miclu+NL3wfxcpiG8jVEou8qFPjS3Vt9SE4o/1zbRppqmlOirFvh8T6ixDQHpyVy9O g9xOMHHaTSKupaysk5PZEzbZfU1cWr5I+ikdKzQjpdZqbGtuBwgsfva2rmQizsT3JqZu E5EqufKnj7du1BD8wnvtae1t3RWx7vw5JPiJFQNwO2nOjKh7CHZAvEOFqgRK7bsRZYZl auYU2KmZlbyKxW0hT6QvaSTCCl1Cqml3Vj3nX2pQtPWmp3pX1xoiBn4hkeK7U4jedXkC wecXKYj0rkRzJBeCxXmod/tP2Zv2C26PB5LTIdgyaPjr9QZmqN9jUsz36AuCDxt9qGpj nMjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4/Z0sYNWQlA4hQRv8qfSQLZc2MSoaNRQN3fLqjXEQM8=; b=q1C8tEXCCUr9dEDl/qDeB6Yg5EuxYRrHzeEWXr3hKN4w1VSLEGiCJP6oaDq+dksJO7 fhzsqsyU6hnHw5hX14706lh+skSOi7nKdHOMDCZbzjkrXkXuK3Itv9vwp4446j0zPCFB 6S6dTocMdctOY7cvS9SPjTgvHfEV44ImJHIllufMDxfUTFn+cDYVN6FsszJsbhxNjLGG CR0HWSnzF6JWXUW+Q5zTqm0Yhc12gWisFDD8PWM5cKSig9FhUhOyElwfMUtXKWlfgFXL vt67Idtwe8ZdqXcycR8Zn67tRTa4APjNAuWA+t+oHFIMdGGO5fmhfIZxJd6kWcIEeXyU TvEg== X-Gm-Message-State: AFqh2kpmUpByjU6ptvPxZSqgfqGJ93An0aPR78GbnFuWwoU8nKe6/jNB LUeZip8OC1N6qNtsSicwN4RGCd4M4UgU13AB X-Google-Smtp-Source: AMrXdXsX70uAhgW/tNXlXg+UGi7C/3kDJqfagUmi1GyqlvLbbmrjg9rN0FEuYg8i+zeBxrKDqE336A== X-Received: by 2002:adf:decc:0:b0:2bd:deaf:6a88 with SMTP id i12-20020adfdecc000000b002bddeaf6a88mr2288942wrn.17.1673624942300; Fri, 13 Jan 2023 07:49:02 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 43/46] hw/pci-host/bonito: Declare TYPE_BONITO_PCI_HOST_BRIDGE in header Date: Fri, 13 Jan 2023 16:45:29 +0100 Message-Id: <20230113154532.49979-44-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673625817224100001 Declare the TYPE_BONITO_PCI_HOST_BRIDGE QOM type in a header to be able to access it from board code. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20230105130710.49264-8-philmd@linaro.org> --- MAINTAINERS | 1 + hw/pci-host/bonito.c | 4 +--- include/hw/pci-host/bonito.h | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 include/hw/pci-host/bonito.h diff --git a/MAINTAINERS b/MAINTAINERS index a670fbc926..f7f5e9e439 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1262,6 +1262,7 @@ F: hw/isa/vt82c686.c F: hw/pci-host/bonito.c F: hw/usb/vt82c686-uhci-pci.c F: include/hw/isa/vt82c686.h +F: include/hw/pci-host/bonito.h F: tests/avocado/machine_mips_fuloong2e.py =20 Loongson-3 virtual platforms diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c index 9c26aa2ad9..ac1eebf9de 100644 --- a/hw/pci-host/bonito.c +++ b/hw/pci-host/bonito.c @@ -45,6 +45,7 @@ #include "hw/pci/pci_device.h" #include "hw/irq.h" #include "hw/mips/mips.h" +#include "hw/pci-host/bonito.h" #include "hw/pci/pci_host.h" #include "migration/vmstate.h" #include "sysemu/runstate.h" @@ -238,9 +239,6 @@ struct BonitoState { MemoryRegion pci_mem; }; =20 -#define TYPE_BONITO_PCI_HOST_BRIDGE "Bonito-pcihost" -OBJECT_DECLARE_SIMPLE_TYPE(BonitoState, BONITO_PCI_HOST_BRIDGE) - #define TYPE_PCI_BONITO "Bonito" OBJECT_DECLARE_SIMPLE_TYPE(PCIBonitoState, PCI_BONITO) =20 diff --git a/include/hw/pci-host/bonito.h b/include/hw/pci-host/bonito.h new file mode 100644 index 0000000000..b8ecf7870a --- /dev/null +++ b/include/hw/pci-host/bonito.h @@ -0,0 +1,18 @@ +/* + * QEMU Bonito64 north bridge support + * + * Copyright (c) 2008 yajin (yajin@vm-kernel.org) + * Copyright (c) 2010 Huacai Chen (zltjiangshi@gmail.com) + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef HW_PCI_HOST_BONITO_H +#define HW_PCI_HOST_BONITO_H + +#include "qom/object.h" + +#define TYPE_BONITO_PCI_HOST_BRIDGE "Bonito-pcihost" +OBJECT_DECLARE_SIMPLE_TYPE(BonitoState, BONITO_PCI_HOST_BRIDGE) + +#endif --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673632129; cv=none; d=zohomail.com; s=zohoarc; b=D3Lvdxm9uLQ8CkzZiGpmd8fNiES/RalzWH4gf0zqYUx0EjTDAmfVDZH+zm8+qcXbYH2cH6Q48aiLi8EuROP/S20abGrmKzhJZEwVXae/OSLitoT0inVjenp4DUthOSt9sepb/1myMjDzL/0+B2OSyHbfoK3o//Vayq5DsbNkHyQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673632129; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=DnhJ7rZGBGKTAcNlXGvyVGOP+VYybjlW9y+KDk+N4ic=; b=jVP6wrfRflYyejiht+ZCO9HZk0JgaTT+Nf6MTFZJk6HS+ERwKmnf2W+LaibrqKHvUukW8BoETm6GXPIHBdixY2agfpIxPWzBIePB2Lsr9opkpIIlwNa01Nt34X9Y820nGxOHZaooIJz7b90vEFSKanpFxzuu8vFj7Qc9bMyoCag= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1673632129176173.88961716362326; Fri, 13 Jan 2023 09:48:49 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMJ1-0003VE-Av; Fri, 13 Jan 2023 10:49:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMIq-0003Jd-3s for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:49:12 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMIo-0006gl-BV for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:49:11 -0500 Received: by mail-wm1-x335.google.com with SMTP id m26-20020a05600c3b1a00b003d9811fcaafso17660458wms.5 for ; Fri, 13 Jan 2023 07:49:08 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id p16-20020a05600c469000b003d9b87296a9sm32823139wmo.25.2023.01.13.07.49.06 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:49:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DnhJ7rZGBGKTAcNlXGvyVGOP+VYybjlW9y+KDk+N4ic=; b=MH66mGAxxWVr2qmCWjN9dXF1fjV4zXEMdclzj5zwL4hMhXjExjx0Qimbu7XhUK2Mni h8FE+/lnc62TiXdcQLd+ZHK+2ur9ElvQv2fPfc5c7+kbRFUP3wLGLLCmgFI5SVxL0eUi BtUPjEi42zOK7vErNik1HWPq5amAANs42XGLLPBZPoDlh3zhhng7MzmIe3eyX3E348dC T5AttgVEpeVYHZac4dwmSIOq/8zrNndUa3lBRpql2NK6hzpJAxTYOuHwBcCK3Ohtq246 jPGrcQPokH6givAO7B4gjflna+0qJQhMO/IJeweR87JzReOIBKjSAtf35zT22L7bV7XE xFLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DnhJ7rZGBGKTAcNlXGvyVGOP+VYybjlW9y+KDk+N4ic=; b=38YBF/nBCBKh2pNG4tv3vQSqo1SH4qDTNs/77ypQsodiv8E/H6ArReDxYSOZK5pGIl Fluqr5w69bkowGbrl3J8D5wsa0o+Q0FhzKO5hYLSIsACPSJ9sju/vcq0HHkVW0vY/25n 5duYS+h8oCEdcE8teUtqo4JPaGKFkr4yLFmTLPziDzsODzqmu1Jmyslu3L9VE3t94E5D N0wnkYz1yu74I3oiZqafX/U9YU1H6+Uh86q3ibkIGB03wXfZmAfFrRFiYSJX9She2+Vw hADz7szbf2auqkD+Wt0GchqBy/LIUVwGzwydfGS7SRMWJfVRzcVAG5DnMUqYv3B6deug Q9bg== X-Gm-Message-State: AFqh2kp5a7HUX8+G+Ktbaaph34YxI8+Wa+iM9z1Y/gBwygoQHBxrDdr9 xCpXcn9MZkHFIs8+6j9QvbbKdgXbHeH6Guf1 X-Google-Smtp-Source: AMrXdXuwsXfT068o0Vm4/YEymz5dMu/U3TPZaWdK6LDNC93lHeNd3p96Ap4eDRqcFGp2yBjWzn2xUQ== X-Received: by 2002:a05:600c:1c85:b0:3d3:4b18:27c6 with SMTP id k5-20020a05600c1c8500b003d34b1827c6mr57829632wms.11.1673624947374; Fri, 13 Jan 2023 07:49:07 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Daniel Henrique Barboza , Paul Burton , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Bin Meng Subject: [PULL 44/46] hw/mips/boston: Rename MachineState 'mc' pointer to 'ms' Date: Fri, 13 Jan 2023 16:45:30 +0100 Message-Id: <20230113154532.49979-45-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673632129787100001 From: Daniel Henrique Barboza Follow the QEMU convention of naming MachineState pointers as 'ms' by renaming the instance in create_fdt() where we're calling it 'mc'. Cc: Paul Burton Cc: Aleksandar Rikalo Suggested-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Daniel Henrique Barboza Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Bin Meng Message-Id: <20230111172133.334735-1-dbarboza@ventanamicro.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/mips/boston.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/mips/boston.c b/hw/mips/boston.c index b6dd9fb200..a9d87f3437 100644 --- a/hw/mips/boston.c +++ b/hw/mips/boston.c @@ -515,7 +515,7 @@ static const void *create_fdt(BostonState *s, { void *fdt; int cpu; - MachineState *mc =3D s->mach; + MachineState *ms =3D s->mach; uint32_t platreg_ph, gic_ph, clk_ph; char *name, *gic_name, *platreg_name, *stdout_name; static const char * const syscon_compat[2] =3D { @@ -542,7 +542,7 @@ static const void *create_fdt(BostonState *s, qemu_fdt_setprop_cell(fdt, "/cpus", "#size-cells", 0x0); qemu_fdt_setprop_cell(fdt, "/cpus", "#address-cells", 0x1); =20 - for (cpu =3D 0; cpu < mc->smp.cpus; cpu++) { + for (cpu =3D 0; cpu < ms->smp.cpus; cpu++) { name =3D g_strdup_printf("/cpus/cpu@%d", cpu); qemu_fdt_add_subnode(fdt, name); qemu_fdt_setprop_string(fdt, name, "compatible", "img,mips"); --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673627829; cv=none; d=zohomail.com; s=zohoarc; b=ZIgsz1utY0BA0xzO6xkYZN9qbxLCMT3ISdWPSwfmSdlrHumKAbO0bFQX/zqONqRSwIZiqoX3AHj81Ye2s83OUXt5uQhQ24YPVrn/JAfALIZMy4rhueagQBv98LvQwnvMVLMwtiB+gDpDq+orfgbBQEOrb8VgAJcQkKBbooc3jzA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673627829; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=WK2+v1deVNG12LxzaxOU+TFwx4PoX87lBGcOg5rv8EM=; b=m4SzmA4aAnsHBBVQyPvdkZSP1YexKMtYM6ICUzAngMSaz56hQRLdceYYftYwYQ75KGGKXIObWuqf3ealE4vdt7nsjnKEnsGOWdfiVzZBcumwVw7wXypE8p+0tdgpW0xxPkF4alObmP3p8UUETp0Px+ZZ9eCGDNU29TzvBjmrqxM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673627829218450.0288972560197; Fri, 13 Jan 2023 08:37:09 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMJ0-0003Ut-VN; Fri, 13 Jan 2023 10:49:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMIt-0003L9-07 for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:49:15 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMIq-0006gl-Vr for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:49:14 -0500 Received: by mail-wm1-x335.google.com with SMTP id m26-20020a05600c3b1a00b003d9811fcaafso17660623wms.5 for ; Fri, 13 Jan 2023 07:49:12 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id j30-20020a05600c1c1e00b003cfa80443a0sm28775741wms.35.2023.01.13.07.49.11 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:49:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WK2+v1deVNG12LxzaxOU+TFwx4PoX87lBGcOg5rv8EM=; b=HebdcOnzND6/xQeCB5nGRaOpB8/1Uv5XaVNGuxKGyMnbBZOp/QhbdbgMHUbYoRKwIh cMAejBNMwgVwyY1S8u29mLEO+vtpo1kSt3xk6SocL/y3X+v8wNQbMoNyFZ7UcX+AMGFz Q4VbGuywG9UjXY0eFYieblhQe1ePAfQqerExXRX/5EIxOVqSwBw/KMnZpz7sQuG5OYL1 hTy/qpJ9gKRQuJ21qfe7Tw8v6PEPV6pdV9NVZY6LQnRkV6WPHybhjntuugPz9ULhCpuL U4LcUuGKnxp1VoqYco8VUHpU/cyOa+FVqs13EfE84kTMToGI1UYsmW18nus9bC6kXIu2 mpRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WK2+v1deVNG12LxzaxOU+TFwx4PoX87lBGcOg5rv8EM=; b=6sTZJ1i/AOlD1D/zV6x8SKZTHBjlrcW7p+xku8205NTxrT/6k9uUMpyAIazzJV2KP/ 9mFDTy1RBTjC5siwlOL1yKXDegpKECpDlM8tARCgqCoZQqbyUS0neaS6oUDYCVrmEeSh 9cewBToCjzdwKM2U37gihefRT/5XKRgav/bzu9GzXjo7HT5sxIZRY2QI6JPHwjFSsEBV 8e7RKXnnOh2q8rgZ7D7jHe5lHk0Dpc0GQcNccgIrGgMlpA9PIFczWHz1sNMwtRvG/RBz IH3I8XJ5LPLqHiz2git3s78CYDlX/fGCqeWQQOIz8snNB4pgk94EfakZyprGKuGBC2Tc Mq8w== X-Gm-Message-State: AFqh2kq7MF3HL/BoJ96LtyfvLYBaackNTBjOm5d5t2MDbn30i5liVb+c pbItpEWvROHGGzQD3otmxCFjomDB+WUdMBUK X-Google-Smtp-Source: AMrXdXvbhy/Syv7wgiG2JNc0mKVkcO5QED7iQRuJupomBeza381cbBBiVn7QDAXLVaX/YKsJQJnnfQ== X-Received: by 2002:a05:600c:1e18:b0:3d2:5e4e:701 with SMTP id ay24-20020a05600c1e1800b003d25e4e0701mr59017685wmb.31.1673624951978; Fri, 13 Jan 2023 07:49:11 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 45/46] target/mips: Restrict 'qapi-commands-machine.h' to system emulation Date: Fri, 13 Jan 2023 16:45:31 +0100 Message-Id: <20230113154532.49979-46-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673627830090100001 Since commit a0e61807a3 ("qapi: Remove QMP events and commands from user-mode builds") we don't generate the "qapi-commands-machine.h" header in a user-emulation-only build. Extract the QMP functions from cpu.c (which is always compiled) to the new 'sysemu/mips-qmp-cmds.c' unit (which is only compiled when system emulation is selected). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20221219211034.70491-4-philmd@linaro.org> --- target/mips/cpu.c | 29 ---------------------- target/mips/sysemu/meson.build | 1 + target/mips/sysemu/mips-qmp-cmds.c | 39 ++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 29 deletions(-) create mode 100644 target/mips/sysemu/mips-qmp-cmds.c diff --git a/target/mips/cpu.c b/target/mips/cpu.c index f995e88776..05caf54999 100644 --- a/target/mips/cpu.c +++ b/target/mips/cpu.c @@ -32,7 +32,6 @@ #include "hw/qdev-properties.h" #include "hw/qdev-clock.h" #include "semihosting/semihost.h" -#include "qapi/qapi-commands-machine-target.h" #include "fpu_helper.h" =20 const char regnames[32][3] =3D { @@ -624,34 +623,6 @@ static void mips_cpu_register_types(void) =20 type_init(mips_cpu_register_types) =20 -static void mips_cpu_add_definition(gpointer data, gpointer user_data) -{ - ObjectClass *oc =3D data; - CpuDefinitionInfoList **cpu_list =3D user_data; - CpuDefinitionInfo *info; - const char *typename; - - typename =3D object_class_get_name(oc); - info =3D g_malloc0(sizeof(*info)); - info->name =3D g_strndup(typename, - strlen(typename) - strlen("-" TYPE_MIPS_CPU)); - info->q_typename =3D g_strdup(typename); - - QAPI_LIST_PREPEND(*cpu_list, info); -} - -CpuDefinitionInfoList *qmp_query_cpu_definitions(Error **errp) -{ - CpuDefinitionInfoList *cpu_list =3D NULL; - GSList *list; - - list =3D object_class_get_list(TYPE_MIPS_CPU, false); - g_slist_foreach(list, mips_cpu_add_definition, &cpu_list); - g_slist_free(list); - - return cpu_list; -} - /* Could be used by generic CPU object */ MIPSCPU *mips_cpu_create_with_clock(const char *cpu_type, Clock *cpu_refcl= k) { diff --git a/target/mips/sysemu/meson.build b/target/mips/sysemu/meson.build index cefc227582..261492de5b 100644 --- a/target/mips/sysemu/meson.build +++ b/target/mips/sysemu/meson.build @@ -3,5 +3,6 @@ mips_softmmu_ss.add(files( 'cp0.c', 'cp0_timer.c', 'machine.c', + 'mips-qmp-cmds.c', 'physaddr.c', )) diff --git a/target/mips/sysemu/mips-qmp-cmds.c b/target/mips/sysemu/mips-q= mp-cmds.c new file mode 100644 index 0000000000..6db4626412 --- /dev/null +++ b/target/mips/sysemu/mips-qmp-cmds.c @@ -0,0 +1,39 @@ +/* + * QEMU MIPS CPU (monitor definitions) + * + * SPDX-FileCopyrightText: 2012 SUSE LINUX Products GmbH + * + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +#include "qemu/osdep.h" +#include "qapi/qapi-commands-machine-target.h" +#include "cpu.h" + +static void mips_cpu_add_definition(gpointer data, gpointer user_data) +{ + ObjectClass *oc =3D data; + CpuDefinitionInfoList **cpu_list =3D user_data; + CpuDefinitionInfo *info; + const char *typename; + + typename =3D object_class_get_name(oc); + info =3D g_malloc0(sizeof(*info)); + info->name =3D g_strndup(typename, + strlen(typename) - strlen("-" TYPE_MIPS_CPU)); + info->q_typename =3D g_strdup(typename); + + QAPI_LIST_PREPEND(*cpu_list, info); +} + +CpuDefinitionInfoList *qmp_query_cpu_definitions(Error **errp) +{ + CpuDefinitionInfoList *cpu_list =3D NULL; + GSList *list; + + list =3D object_class_get_list(TYPE_MIPS_CPU, false); + g_slist_foreach(list, mips_cpu_add_definition, &cpu_list); + g_slist_free(list); + + return cpu_list; +} --=20 2.38.1 From nobody Sat May 18 18:12:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1673628435; cv=none; d=zohomail.com; s=zohoarc; b=Z07whafUNmv55tFUJtg1y9e0H/DkcJG/SEwpQv/EUfL5mD+25dWHRCR6F0DHG5XBz0nXe17sh4bLsEoQ4cmfKdbxkadXm9z9530VXcEQeNC7zxU0NsmH3vyibHO7kg7+PLEGG8TuGP+hpJOPfoilMKtVZcpUSw1YmQqURF2xlHI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673628435; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GZVdtRHUibhT4oL/dM4YU1s3VYsdLibdtjn8WpC22Uc=; b=XkDlILk7B8p60uLSCAURUmMaQNj7SLymOa1g3Tz7ZYM6015hlClsGpPG2sXPwpOixip9Pz00c3HlzYyU5iWocYqrQmoqIdGDJ81KHtPPaEqAY/GGqJ6s8yt+l7Hc3uQkjy2Yyk+7kvJspE6Ec8zOEru5Sr7FtOCzeoXhTa4USgA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1673628435964539.384082028519; Fri, 13 Jan 2023 08:47:15 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pGMJ2-0003VU-JA; Fri, 13 Jan 2023 10:49:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pGMIy-0003Ts-9U for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:49:20 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pGMIw-0006hu-Jl for qemu-devel@nongnu.org; Fri, 13 Jan 2023 10:49:19 -0500 Received: by mail-wm1-x335.google.com with SMTP id bg13-20020a05600c3c8d00b003d9712b29d2so19080206wmb.2 for ; Fri, 13 Jan 2023 07:49:18 -0800 (PST) Received: from localhost.localdomain ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id p16-20020a05600c469000b003d9b87296a9sm32823679wmo.25.2023.01.13.07.49.15 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 13 Jan 2023 07:49:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GZVdtRHUibhT4oL/dM4YU1s3VYsdLibdtjn8WpC22Uc=; b=dAPMJp2ZoCyCq8VnIwh+XGpA4o79F15vrPuph8Ecpuvh5MNG39s3vSYke19tL1aKAD QtgQCHb4Eg3F+LBxoLgYbklRYCceRSsn4fxeHgRE6eLX7sEII7ad3sf1gzoxDbwZZkPK +KpQZ/J5d8mswG7keUduhnMiSt2HBbASUwnjmGqL48DnJ9+Kh+BUJat4Gd3anxBVrK0H h9lkSDBDMOCZeUv46m/gvxjy1//HKgtDtcT9jMi6+hPTyc4FsIQBpDqQiKRtGxvm056S /iJWXXJZYpaHTntW2rgN/dAOznO2O+Zp2pBRRnQ87/k4YDSiKKFWD0iraBPL4oQDmM9B EdbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GZVdtRHUibhT4oL/dM4YU1s3VYsdLibdtjn8WpC22Uc=; b=oARpweK326da9omzJ1eUFw1labWosglKO00OpavYU/iA/se4cU1HpuOoSVRBO0YKME 7mVDUJsZLjP/EUcEirxlQw90rj2hsUKZJyu3eB18CYd2XQ3NxjYyPRvUKYLgLilzIoad WlngKeO4yhC2/Ljo31FH+8YYaLfK3VzM/+FZsHbLGHp50T5z7Ll+a4A/FxUO59V5mFj4 xyGbX88uK/jXbZOawODVUo1AtWZeCIY1zlu0s+MbWbfEkQAK4Decq4yMZW6K5HaV3O2H +gAmRDbQhOYN1YuLUcu2Of1kIhK6Z2/kWRcwAfY0f2dxP2eAUKIrPy4gbAvTyhE+G9Rm ULDQ== X-Gm-Message-State: AFqh2krg6KgtWc+O6hPmlchaMQuERE6fSLBDIzxPyyEvxNxQ9+4CYEOd AH6nPbpYPT2g4Ve2+jUU+2IJMTt6YS0bQk41 X-Google-Smtp-Source: AMrXdXto8OsYhlZ+JHuwlXdTtZXBeXT7SgX+hyCAUNYHjyUY0i1SI2AMQ9lt5d8Brl4q5aapBkLnOw== X-Received: by 2002:a05:600c:3d10:b0:3d9:ee3d:2f54 with SMTP id bh16-20020a05600c3d1000b003d9ee3d2f54mr157523wmb.13.1673624956649; Fri, 13 Jan 2023 07:49:16 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Subject: [PULL 46/46] scripts/git.orderfile: Display MAINTAINERS changes first Date: Fri, 13 Jan 2023 16:45:32 +0100 Message-Id: <20230113154532.49979-47-philmd@linaro.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230113154532.49979-1-philmd@linaro.org> References: <20230113154532.49979-1-philmd@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=philmd@linaro.org; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1673628467246100001 If we get custom to see MAINTAINERS changes first, we might catch missing MAINTAINERS updates easier. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20221216225505.26052-1-philmd@linaro.org> --- scripts/git.orderfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/git.orderfile b/scripts/git.orderfile index b32203b710..8edac0380b 100644 --- a/scripts/git.orderfile +++ b/scripts/git.orderfile @@ -9,6 +9,8 @@ # git config diff.orderFile scripts/git.orderfile # =20 +MAINTAINERS + # Documentation docs/* *.rst --=20 2.38.1