From patchwork Tue May 23 19:49:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 1785390 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20221208 header.b=jQcFQDuo; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QQlKc2Hypz20PY for ; Wed, 24 May 2023 05:50:27 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q1Y11-00013k-Sn; Tue, 23 May 2023 15:49:51 -0400 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 1q1Y10-00012E-1d; Tue, 23 May 2023 15:49:50 -0400 Received: from mail-ej1-x634.google.com ([2a00:1450:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q1Y0w-00047I-Pi; Tue, 23 May 2023 15:49:49 -0400 Received: by mail-ej1-x634.google.com with SMTP id a640c23a62f3a-96f588bc322so881525466b.1; Tue, 23 May 2023 12:49:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684871381; x=1687463381; 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=zAglph6l2Iect/DEGB+rq6Jjk5c3mTKMPl5jFgPSj6Q=; b=jQcFQDuo/fZbsmjG/ZF6zr39kWuhwTbMI6+1qdhgbfw/4O35jxeQCax7b+5YzBRnYR hsZ/tyNLHzoGTc56nFSES/IVS0P+tKxZ/LQP72tUWeIsJ0vcGmV6dYJXytI+59l4CH2R x0m24zR4yMKE5SxSGmUhJ3RFX7mOrStkCz02K3uHjfEpjk/SUst8iDd85t6Xk2b822Yp wAtC2GOYZBMUbNwTx3XnuHlv6/ILTuDPqj9LYSbwj/F9szM2IR6hywwFhmQgX0w0aFil Y7f5TgPOVg4nlis+K9fLbXgB+1AzSpmySFJ7gzIWfG8do/aeIDId6dk/Zi595WY5ErTI Rq+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684871381; x=1687463381; 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=zAglph6l2Iect/DEGB+rq6Jjk5c3mTKMPl5jFgPSj6Q=; b=lZD2GeckdqMNxeqDQ4msncMyr867iAbLwaDXhJXJelIy06FEXz+nC2QLowBMpj9akZ jQ8fTkbombotlRhk39hSx1kK+RQFbpFmyfX8r3PSjSmym388gP6hh4EbaBPeS6WrvEKH 6gHfX36Q7CV80CCvTzvjLlLnubh+NpeO/9JgBsSJ0BXwAz68hQfPvVIaKO3Y0XCXLs7C ODT3VuQcLURGj/Jgteksyl2naRVT7HrLq4T5RrMy61E70pIP6apKuYz0+ZSglf+QeNyI WZbtKKTuAk6Tr8NNlc3hCZgXvoOjSRIxCHwDsCi8PNW1ugMsLsLhAU1g4jtEBAzqxRRb jA/g== X-Gm-Message-State: AC+VfDymmAOoR+DX/u2eA9A4qfmbeJ4tOfA0lbI1CIn7ludCMoB2qJTU rqe877L5U0ekWU+mp/YcAZ0mIhwIogE= X-Google-Smtp-Source: ACHHUZ5CAtsE7FtSL888zrzeO+0BS0c2m15A4pjuchy5OLljIw+YH72gLtE1+NSN1TRjKbT1suqfCg== X-Received: by 2002:a17:907:608f:b0:8aa:a9fe:a3fc with SMTP id ht15-20020a170907608f00b008aaa9fea3fcmr19121307ejc.8.1684871380660; Tue, 23 May 2023 12:49:40 -0700 (PDT) Received: from Provence.localdomain (dynamic-077-183-025-113.77.183.pool.telefonica.de. [77.183.25.113]) by smtp.gmail.com with ESMTPSA id k17-20020a1709063e1100b0096f641a4c01sm4800593eji.179.2023.05.23.12.49.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 May 2023 12:49:40 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, BALATON Zoltan , Jiaxun Yang , qemu-block@nongnu.org, =?utf-8?q?Phi?= =?utf-8?q?lippe_Mathieu-Daud=C3=A9?= , Huacai Chen , John Snow , Bernhard Beschow , Mark Cave-Ayland Subject: [PATCH v2 1/6] hw/ide/pci: Expose legacy interrupts as named GPIOs Date: Tue, 23 May 2023 21:49:25 +0200 Message-Id: <20230523194930.124352-2-shentey@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230523194930.124352-1-shentey@gmail.com> References: <20230523194930.124352-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::634; envelope-from=shentey@gmail.com; helo=mail-ej1-x634.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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Exposing the legacy IDE interrupts as GPIOs allows them to be connected in the parent device through qdev_connect_gpio_out(), i.e. without accessing private data of TYPE_PCI_IDE. Signed-off-by: Bernhard Beschow Reviewed-by: Mark Cave-Ayland --- hw/ide/pci.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/ide/pci.c b/hw/ide/pci.c index fc9224bbc9..9a5a7089d4 100644 --- a/hw/ide/pci.c +++ b/hw/ide/pci.c @@ -522,10 +522,19 @@ void bmdma_init(IDEBus *bus, BMDMAState *bm, PCIIDEState *d) bm->pci_dev = d; } +static void pci_ide_init(Object *obj) +{ + PCIIDEState *d = PCI_IDE(obj); + + qdev_init_gpio_out_named(DEVICE(d), d->isa_irq, "isa-irq", + ARRAY_SIZE(d->isa_irq)); +} + static const TypeInfo pci_ide_type_info = { .name = TYPE_PCI_IDE, .parent = TYPE_PCI_DEVICE, .instance_size = sizeof(PCIIDEState), + .instance_init = pci_ide_init, .abstract = true, .interfaces = (InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, From patchwork Tue May 23 19:49:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 1785393 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20221208 header.b=P4GwTqUD; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QQlL554z9z20PY for ; Wed, 24 May 2023 05:50:53 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q1Y1M-0001E1-FL; Tue, 23 May 2023 15:50:14 -0400 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 1q1Y1D-00019U-OQ; Tue, 23 May 2023 15:50:04 -0400 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q1Y0x-00047T-S5; Tue, 23 May 2023 15:50:02 -0400 Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-96fdc081cb3so466665366b.2; Tue, 23 May 2023 12:49:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684871382; x=1687463382; 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=+NXyLFwm2rmn2QeCZVS6ECm/FY96EsHB3qjSmeztqjk=; b=P4GwTqUDV7s7JkmM60C6qVplgcTCNOIt/33TKIxC48SKz1OfAXtVy+F5YANTzbzbtg JOkafayydnQKt9nba7XK8rtZWa9rG9/NCI67nuNuLBu9HJS//NAR96Lq+Nsy8oYX5+w2 X9rPKlbp4jv69OEGC5OUQlud3ggWU1N/rUYjyz4d8VgHG0t6GDeFu8BDB5DUQ98UyBdo qen6yV7Z/wkffR1hQjdm2mMhVRb/JYQmdz9vFFctqAE83LfD8IHkM8+mBFN5knc/UWJn wiEyZA/s8AfDjGhCdNYO1qW0yhdSc0cRG6G/ZdhkJ9BfRnkwkt1vRaHjfAlwLg8C6z+Q MPjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684871382; x=1687463382; 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=+NXyLFwm2rmn2QeCZVS6ECm/FY96EsHB3qjSmeztqjk=; b=ZPwoM5STVKY4TKZZETOYj7C/cM7LX8wXbckMW/BueG13Wj3Y24Fk4WdRWtKVI4pdKJ rcNOyespS6sNh+mit4kRqpMTbF4LGDm1znLu7GfUDhlEdWAokjNvs/1uU4BRy0wbWuky dxKCHReXXJeBFmXp39dKmURO+WjxnJ9wx0SKnAB7uRtigIDllr9+sMgls94yFcQ3xwHG dJGnH9heJzmzlUX5U5aMICKU2uGxD/vZb0f4F1cbnqOpkmjtRVFEvJ05AzT59/nJz4j5 yeVXkVi3Qjq6k6gKAHKEhKW1QcGZ07uvfsHG9uVt8bVVAiHX39Phnd12lkn6nCBeD3na D7Pw== X-Gm-Message-State: AC+VfDwj5XCdZ/GenPx74TYtZWoJaVHMb/ItAIcNn3KTd3qb3CTzrE3W tM4VqWDOC7yDKBakgoO2Rz2BTMRshH8= X-Google-Smtp-Source: ACHHUZ7/GiB8nO5ePZ7tnIKCA0iQT/opq5uVapTSsJi84TyaKGpQm7k2CmG5oNRS9Q8ASWSoRGTUVw== X-Received: by 2002:a17:907:3601:b0:970:161d:595e with SMTP id bk1-20020a170907360100b00970161d595emr4992000ejc.39.1684871381576; Tue, 23 May 2023 12:49:41 -0700 (PDT) Received: from Provence.localdomain (dynamic-077-183-025-113.77.183.pool.telefonica.de. [77.183.25.113]) by smtp.gmail.com with ESMTPSA id k17-20020a1709063e1100b0096f641a4c01sm4800593eji.179.2023.05.23.12.49.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 May 2023 12:49:41 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, BALATON Zoltan , Jiaxun Yang , qemu-block@nongnu.org, =?utf-8?q?Phi?= =?utf-8?q?lippe_Mathieu-Daud=C3=A9?= , Huacai Chen , John Snow , Bernhard Beschow , Mark Cave-Ayland Subject: [PATCH v2 2/6] hw/ide/via: Wire up IDE legacy interrupts in host device Date: Tue, 23 May 2023 21:49:26 +0200 Message-Id: <20230523194930.124352-3-shentey@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230523194930.124352-1-shentey@gmail.com> References: <20230523194930.124352-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62e; envelope-from=shentey@gmail.com; helo=mail-ej1-x62e.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, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Resolves circular depencency between IDE function and south bridge. Signed-off-by: Bernhard Beschow Reviewed-by: Mark Cave-Ayland --- hw/ide/via.c | 6 ++++-- hw/isa/vt82c686.c | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/hw/ide/via.c b/hw/ide/via.c index 177baea9a7..0caae52276 100644 --- a/hw/ide/via.c +++ b/hw/ide/via.c @@ -31,6 +31,7 @@ #include "sysemu/dma.h" #include "hw/isa/vt82c686.h" #include "hw/ide/pci.h" +#include "hw/irq.h" #include "trace.h" static uint64_t bmdma_read(void *opaque, hwaddr addr, @@ -104,7 +105,8 @@ static void bmdma_setup_bar(PCIIDEState *d) static void via_ide_set_irq(void *opaque, int n, int level) { - PCIDevice *d = PCI_DEVICE(opaque); + PCIIDEState *s = opaque; + PCIDevice *d = PCI_DEVICE(s); if (level) { d->config[0x70 + n * 8] |= 0x80; @@ -112,7 +114,7 @@ static void via_ide_set_irq(void *opaque, int n, int level) d->config[0x70 + n * 8] &= ~0x80; } - via_isa_set_irq(pci_get_function_0(d), 14 + n, level); + qemu_set_irq(s->isa_irq[n], level); } static void via_ide_reset(DeviceState *dev) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index ca89119ce0..8016c71315 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -692,6 +692,10 @@ static void via_isa_realize(PCIDevice *d, Error **errp) if (!qdev_realize(DEVICE(&s->ide), BUS(pci_bus), errp)) { return; } + for (i = 0; i < 2; i++) { + qdev_connect_gpio_out_named(DEVICE(&s->ide), "isa-irq", i, + s->isa_irqs_in[14 + i]); + } /* Functions 2-3: USB Ports */ for (i = 0; i < ARRAY_SIZE(s->uhci); i++) { @@ -814,6 +818,7 @@ static void vt8231_isa_reset(DeviceState *dev) PCI_COMMAND_MASTER | PCI_COMMAND_SPECIAL); pci_set_word(pci_conf + PCI_STATUS, PCI_STATUS_DEVSEL_MEDIUM); + pci_conf[0x4c] = 0x04; /* IDE interrupt Routing */ pci_conf[0x58] = 0x40; /* Miscellaneous Control 0 */ pci_conf[0x67] = 0x08; /* Fast IR Config */ pci_conf[0x6b] = 0x01; /* Fast IR I/O Base */ From patchwork Tue May 23 19:49:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 1785400 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20221208 header.b=WSE32qvT; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QQlLp3Ls2z20PY for ; Wed, 24 May 2023 05:51:30 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q1Y15-00017L-Hp; Tue, 23 May 2023 15:49:55 -0400 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 1q1Y0z-00012A-Rc; Tue, 23 May 2023 15:49:49 -0400 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q1Y0w-00047h-OI; Tue, 23 May 2023 15:49:49 -0400 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-96fab30d1e1so54585466b.0; Tue, 23 May 2023 12:49:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684871382; x=1687463382; 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=gAoL9Xwljn85Sw7ICNUech4c35BoMKkS8qS/rd79d7s=; b=WSE32qvTGZJHI+QaF5AF8E60jiYWDSrIfbYYNxqlCiYzFk5N9eGs54KwO2r8DZxt7h vv9vvazWl0EioNqhSpolxFTVM/pGfeewIdqhIM/twPzGvc4XnkpSGMKPmT86WkWmO534 9TvrZ8sBaPBrrp+glQZNB1iZtDOTOkKF8ZVlGlnOmBH/nDsdQVbNDQv9x8Tjt4BzY9Sw xr9evrFrHeLgkR7waOtrUgeJq7dPwzrqSESMHdTwmnFEtgdtEBsBsm1VsP5DZFRJSD/k /BNs8pskcKws6gpcayueMALYOzw3llJRbJVgFwE7HB9B5b4kLSHR6IV8So0uh2eBp/G6 fK7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684871382; x=1687463382; 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=gAoL9Xwljn85Sw7ICNUech4c35BoMKkS8qS/rd79d7s=; b=g65MmEeVXFSbnMvaRzSPr1iauBZY33PPNGjNHYc+bC0UVYmE5zPK2H9iE+sKW2eGcU r99jVNGFAh/c5zti7Ow5cTqYeM0oE+dX1tyZn5vgWC3HlBHNzkGmX4utdC3UWTgyqx73 Acbi3868jJaFkjyjOzUMTtwfrjpUH/zupn0vvRYccmW8Nw2z13iDbejCnB5RIOHVullX cqAnkrQa+57TBSC9RlrJ/h3ign7nWhmOFJGDCnB8h/xZXvjFBEk85p/TFrfTuCyCi7KH Z3achxPHlPVkZfOZ9jHWFOh+iUOYOGoSiKjTi0kpj0dpBrKAYSiX/yGCu0SRUhae9daK y3Eg== X-Gm-Message-State: AC+VfDyZe+fnj/r9nACTkcQ2V8OxfdPumiJBnY5YiioK+8ERKDNpW5U+ WYPPOUpt0ly9GveLjRxZOSd/5JwO3/8= X-Google-Smtp-Source: ACHHUZ5vK+6vp9AuZlnhLm0hG8sDBTtx7OC4VrueTWgxVF+2GhR/somtAQDKaa3Kr76ZMwoAc39XUg== X-Received: by 2002:a17:907:ea9:b0:96a:2b4:eb69 with SMTP id ho41-20020a1709070ea900b0096a02b4eb69mr15111127ejc.31.1684871382451; Tue, 23 May 2023 12:49:42 -0700 (PDT) Received: from Provence.localdomain (dynamic-077-183-025-113.77.183.pool.telefonica.de. [77.183.25.113]) by smtp.gmail.com with ESMTPSA id k17-20020a1709063e1100b0096f641a4c01sm4800593eji.179.2023.05.23.12.49.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 May 2023 12:49:42 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, BALATON Zoltan , Jiaxun Yang , qemu-block@nongnu.org, =?utf-8?q?Phi?= =?utf-8?q?lippe_Mathieu-Daud=C3=A9?= , Huacai Chen , John Snow , Bernhard Beschow , Mark Cave-Ayland Subject: [PATCH v2 3/6] hw/isa/vt82c686: Remove via_isa_set_irq() Date: Tue, 23 May 2023 21:49:27 +0200 Message-Id: <20230523194930.124352-4-shentey@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230523194930.124352-1-shentey@gmail.com> References: <20230523194930.124352-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62a; envelope-from=shentey@gmail.com; helo=mail-ej1-x62a.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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Now that via_isa_set_irq() is unused it can be removed. Signed-off-by: Bernhard Beschow Reviewed-by: Mark Cave-Ayland --- include/hw/isa/vt82c686.h | 2 -- hw/isa/vt82c686.c | 6 ------ 2 files changed, 8 deletions(-) diff --git a/include/hw/isa/vt82c686.h b/include/hw/isa/vt82c686.h index da1722daf2..b6e95b2851 100644 --- a/include/hw/isa/vt82c686.h +++ b/include/hw/isa/vt82c686.h @@ -34,6 +34,4 @@ struct ViaAC97State { uint32_t ac97_cmd; }; -void via_isa_set_irq(PCIDevice *d, int n, int level); - #endif diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 8016c71315..57bdfb4e78 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -592,12 +592,6 @@ static const TypeInfo via_isa_info = { }, }; -void via_isa_set_irq(PCIDevice *d, int n, int level) -{ - ViaISAState *s = VIA_ISA(d); - qemu_set_irq(s->isa_irqs_in[n], level); -} - static void via_isa_request_i8259_irq(void *opaque, int irq, int level) { ViaISAState *s = opaque; From patchwork Tue May 23 19:49:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 1785398 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20221208 header.b=OU5/rOlm; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QQlLh1R39z20Pr for ; Wed, 24 May 2023 05:51:24 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q1Y12-00014A-Iu; Tue, 23 May 2023 15:49:52 -0400 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 1q1Y10-00012I-4C; Tue, 23 May 2023 15:49:50 -0400 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q1Y0w-00047z-O6; Tue, 23 May 2023 15:49:49 -0400 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-96f818c48fbso2171966b.0; Tue, 23 May 2023 12:49:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684871383; x=1687463383; 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=P72zQ7woazHMx0qT4VH6jdOKwmBc//e3KdkUSQs+4e0=; b=OU5/rOlmPd8KDLdvCYYGlyKmbJ1Cg4rivhxQYipGuuScUCnxS7uNiErTcmdM8CGjPm dFSNgRDKBQicn6dpoq+COKXdRIufKTyYg7UeMksVgticR/VquQPovuCfJDSmPdmw/gik FXF6SKjpuAiOI0n7WDKDjT/K7AYpgoLPhDJ9pQlx5z0XtnutBB8zK6TyMBVGeBnq4UXD 821lTCiL7JZKiLUG+idT+UhgeUyAeN5tGXI+KkYtHaQGhGWeQwRJ9jzLqZS3/AxMI2Cn es67taLdWtQ88xO0xt45PXxftxSZzrkFLLpx6Bhxd3rf4iWoJGUBx3hVRcyPSTvcHCaP sybw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684871383; x=1687463383; 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=P72zQ7woazHMx0qT4VH6jdOKwmBc//e3KdkUSQs+4e0=; b=EIYD6sZz5e94UGmmYkXB3Ixq5tvIBQZfTnnzwzEkkzr4Igj2PT6GnQ0yIZK+WSW0mp OM8YzkowAwJcXWATMzHrDWNRAoKj0o5BRRnCyEqx5RQsTfb7Sz2Oz6vQa+ij/1HuiPH9 DSxywCk3OSTDwMaoPB7HiOlOg5/GEVYSaH4VSI2KqNAo8uOx2GxHzGX+2EwNyvRJJCce XfVGkPj2ef1ul5XgA6dcoQWTkOEXJUt827bjhjB6rJimTzKMn2EmGMplhifZMIiKqxLk /FOP3/y8XQxBtbQqmnGxONGKYXXuK/ZVYyD5cskEc+YEyk5XV/TAxUPJe3aCAxjN2Di+ FLZQ== X-Gm-Message-State: AC+VfDxEXj5DgjATsd1KO5ltMaMI96g/9za0sv4ytz04PqC3JvOPo5Pf tspp5DUmBybAbA77/qI2ox0F9kuWCek= X-Google-Smtp-Source: ACHHUZ7TC9LzEqi1rD629awTMapc0oUMGPgp/+cbMD7QL5p/kGgnd06N9eEoCzafbZ5Es38wnVsnaA== X-Received: by 2002:a17:906:dc91:b0:96f:45cd:6c24 with SMTP id cs17-20020a170906dc9100b0096f45cd6c24mr15020044ejc.23.1684871383616; Tue, 23 May 2023 12:49:43 -0700 (PDT) Received: from Provence.localdomain (dynamic-077-183-025-113.77.183.pool.telefonica.de. [77.183.25.113]) by smtp.gmail.com with ESMTPSA id k17-20020a1709063e1100b0096f641a4c01sm4800593eji.179.2023.05.23.12.49.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 May 2023 12:49:43 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, BALATON Zoltan , Jiaxun Yang , qemu-block@nongnu.org, =?utf-8?q?Phi?= =?utf-8?q?lippe_Mathieu-Daud=C3=A9?= , Huacai Chen , John Snow , Bernhard Beschow , Mark Cave-Ayland Subject: [PATCH v2 4/6] hw/ide: Extract IDEBus assignment into bmdma_init() Date: Tue, 23 May 2023 21:49:28 +0200 Message-Id: <20230523194930.124352-5-shentey@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230523194930.124352-1-shentey@gmail.com> References: <20230523194930.124352-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62b; envelope-from=shentey@gmail.com; helo=mail-ej1-x62b.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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Every invocation of bmdma_init() is followed by `d->bmdma[i].bus = &d->bus[i]`. Resolve this redundancy by extracting it into bmdma_init(). Signed-off-by: Bernhard Beschow Reviewed-by: BALATON Zoltan Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Mark Cave-Ayland --- hw/ide/cmd646.c | 1 - hw/ide/pci.c | 1 + hw/ide/piix.c | 1 - hw/ide/sii3112.c | 1 - hw/ide/via.c | 1 - 5 files changed, 1 insertion(+), 4 deletions(-) diff --git a/hw/ide/cmd646.c b/hw/ide/cmd646.c index a68357c1c5..a094a6e12a 100644 --- a/hw/ide/cmd646.c +++ b/hw/ide/cmd646.c @@ -297,7 +297,6 @@ static void pci_cmd646_ide_realize(PCIDevice *dev, Error **errp) ide_bus_init_output_irq(&d->bus[i], qdev_get_gpio_in(ds, i)); bmdma_init(&d->bus[i], &d->bmdma[i], d); - d->bmdma[i].bus = &d->bus[i]; ide_bus_register_restart_cb(&d->bus[i]); } } diff --git a/hw/ide/pci.c b/hw/ide/pci.c index 9a5a7089d4..4cf1e9c679 100644 --- a/hw/ide/pci.c +++ b/hw/ide/pci.c @@ -519,6 +519,7 @@ void bmdma_init(IDEBus *bus, BMDMAState *bm, PCIIDEState *d) bus->dma = &bm->dma; bm->irq = bus->irq; bus->irq = qemu_allocate_irq(bmdma_irq, bm, 0); + bm->bus = bus; bm->pci_dev = d; } diff --git a/hw/ide/piix.c b/hw/ide/piix.c index 41d60921e3..a32f7ccece 100644 --- a/hw/ide/piix.c +++ b/hw/ide/piix.c @@ -144,7 +144,6 @@ static bool pci_piix_init_bus(PCIIDEState *d, unsigned i, Error **errp) ide_bus_init_output_irq(&d->bus[i], isa_get_irq(NULL, port_info[i].isairq)); bmdma_init(&d->bus[i], &d->bmdma[i], d); - d->bmdma[i].bus = &d->bus[i]; ide_bus_register_restart_cb(&d->bus[i]); return true; diff --git a/hw/ide/sii3112.c b/hw/ide/sii3112.c index f9becdff8e..5dd3d03c29 100644 --- a/hw/ide/sii3112.c +++ b/hw/ide/sii3112.c @@ -287,7 +287,6 @@ static void sii3112_pci_realize(PCIDevice *dev, Error **errp) ide_bus_init_output_irq(&s->bus[i], qdev_get_gpio_in(ds, i)); bmdma_init(&s->bus[i], &s->bmdma[i], s); - s->bmdma[i].bus = &s->bus[i]; ide_bus_register_restart_cb(&s->bus[i]); } } diff --git a/hw/ide/via.c b/hw/ide/via.c index 0caae52276..91253fa4ef 100644 --- a/hw/ide/via.c +++ b/hw/ide/via.c @@ -196,7 +196,6 @@ static void via_ide_realize(PCIDevice *dev, Error **errp) ide_bus_init_output_irq(&d->bus[i], qdev_get_gpio_in(ds, i)); bmdma_init(&d->bus[i], &d->bmdma[i], d); - d->bmdma[i].bus = &d->bus[i]; ide_bus_register_restart_cb(&d->bus[i]); } } From patchwork Tue May 23 19:49:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 1785401 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20221208 header.b=RpMJ5FtP; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QQlMS5KYWz20PY for ; Wed, 24 May 2023 05:52:04 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q1Y13-00014z-3w; Tue, 23 May 2023 15:49:53 -0400 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 1q1Y11-00012s-CE; Tue, 23 May 2023 15:49:51 -0400 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q1Y0x-000489-SI; Tue, 23 May 2023 15:49:51 -0400 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-510b6a249a8so522017a12.0; Tue, 23 May 2023 12:49:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684871384; x=1687463384; 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=8Lv55u1Phksy7vpvt5uQalm8ZH8vHXFG9KtnpUGBJcg=; b=RpMJ5FtPZ7B8kwXqY3otfz5525EUiocLP4TzEE8Lxi3LWqhnRl+FTWaU6yvJKUvuxh SEXTc29YrKIib/pcUXJpjGQcTkO29Gznz/4jmPD/1c54I2ansmZd0zA1ZL03IUrtOfPi SJAqdqnxd2bJ0QGyQO+rOz9A/64J+sTMB8ln8a+KUdjNy1kLzSYxRKcs6MmS/3HC95d5 dDdxGbr++jNjX205T2pl0ncNRcGo94pbT6pT7YPPAHznPKsGPT9Sb6UsTaPm6h8XmTUN sTlOQdwyu5SrjAGC9md1dXfY56jTRXn71gAgrXd2wVQJqe7tDqPYbUDQFO7vmg7ebg5I DPbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684871384; x=1687463384; 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=8Lv55u1Phksy7vpvt5uQalm8ZH8vHXFG9KtnpUGBJcg=; b=DgqsPX/sAd/HctWQy2Q1PHfYerjBJnsqIkS7/SSxXR9EkPqS5W5ZkNJNyZ6zegC8P4 6yWSrZgH1TdXx+bgdj02PtSf1/4qLDfWGjlO9wKmUk9zZGEWbvYmXZv+7KUJQmBsAHo5 IcBEaaEa61n12gDH/WBegP1hk3vuwAHxEUnhbl/1B+WdchDH3QGP1YppuIgqhAZAAq87 YLlLx007/msrIfsXupZIztYvtf8FeOrpyUJUSuC8ymiyadyn+XD19yKMdupilROmoTZd qA6gutHiMELmsj8gsCw2nPG2qjRG1VcTbgtCnf/CIJSwPK3Cm9EmCX3sUV9kpamhUsGI MW/Q== X-Gm-Message-State: AC+VfDwtBkrY/ebDdlM07dZbDgSVCUeIsJzPwX6e/Na0o9ibWKfyMxtu Gx84mWAoYbY/Rs23ToiSYoyJBVB+e64= X-Google-Smtp-Source: ACHHUZ7UwoB4XoIimm8xEOtTQT5M5eA54G1pJas2fVACF5ZuiurdSABuleM4qzUNuZQHZAsqcN/c9g== X-Received: by 2002:a17:907:968c:b0:969:e55f:cca2 with SMTP id hd12-20020a170907968c00b00969e55fcca2mr18204111ejc.38.1684871384483; Tue, 23 May 2023 12:49:44 -0700 (PDT) Received: from Provence.localdomain (dynamic-077-183-025-113.77.183.pool.telefonica.de. [77.183.25.113]) by smtp.gmail.com with ESMTPSA id k17-20020a1709063e1100b0096f641a4c01sm4800593eji.179.2023.05.23.12.49.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 May 2023 12:49:44 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, BALATON Zoltan , Jiaxun Yang , qemu-block@nongnu.org, =?utf-8?q?Phi?= =?utf-8?q?lippe_Mathieu-Daud=C3=A9?= , Huacai Chen , John Snow , Bernhard Beschow Subject: [PATCH v2 5/6] hw/ide: Extract bmdma_status_writeb() Date: Tue, 23 May 2023 21:49:29 +0200 Message-Id: <20230523194930.124352-6-shentey@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230523194930.124352-1-shentey@gmail.com> References: <20230523194930.124352-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::532; envelope-from=shentey@gmail.com; helo=mail-ed1-x532.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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Every TYPE_PCI_IDE device performs the same not-so-trivial bit manipulation by copy'n'paste code. Extract this into bmdma_status_writeb(), mirroring bmdma_cmd_writeb(). Signed-off-by: Bernhard Beschow Reviewed-by: BALATON Zoltan --- include/hw/ide/pci.h | 1 + hw/ide/cmd646.c | 2 +- hw/ide/pci.c | 5 +++++ hw/ide/piix.c | 2 +- hw/ide/sii3112.c | 6 ++---- hw/ide/via.c | 2 +- 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/include/hw/ide/pci.h b/include/hw/ide/pci.h index 74c127e32f..1ff469de87 100644 --- a/include/hw/ide/pci.h +++ b/include/hw/ide/pci.h @@ -58,6 +58,7 @@ struct PCIIDEState { void bmdma_init(IDEBus *bus, BMDMAState *bm, PCIIDEState *d); void bmdma_cmd_writeb(BMDMAState *bm, uint32_t val); +void bmdma_status_writeb(BMDMAState *bm, uint32_t val); extern MemoryRegionOps bmdma_addr_ioport_ops; void pci_ide_create_devs(PCIDevice *dev); diff --git a/hw/ide/cmd646.c b/hw/ide/cmd646.c index a094a6e12a..cabe9048b1 100644 --- a/hw/ide/cmd646.c +++ b/hw/ide/cmd646.c @@ -144,7 +144,7 @@ static void bmdma_write(void *opaque, hwaddr addr, cmd646_update_irq(pci_dev); break; case 2: - bm->status = (val & 0x60) | (bm->status & 1) | (bm->status & ~val & 0x06); + bmdma_status_writeb(bm, val); break; case 3: if (bm == &bm->pci_dev->bmdma[0]) { diff --git a/hw/ide/pci.c b/hw/ide/pci.c index 4cf1e9c679..b258fd2f50 100644 --- a/hw/ide/pci.c +++ b/hw/ide/pci.c @@ -318,6 +318,11 @@ void bmdma_cmd_writeb(BMDMAState *bm, uint32_t val) bm->cmd = val & 0x09; } +void bmdma_status_writeb(BMDMAState *bm, uint32_t val) +{ + bm->status = (val & 0x60) | (bm->status & BM_STATUS_DMAING) | (bm->status & ~val & 0x06); +} + static uint64_t bmdma_addr_read(void *opaque, hwaddr addr, unsigned width) { diff --git a/hw/ide/piix.c b/hw/ide/piix.c index a32f7ccece..47e0b474c3 100644 --- a/hw/ide/piix.c +++ b/hw/ide/piix.c @@ -76,7 +76,7 @@ static void bmdma_write(void *opaque, hwaddr addr, bmdma_cmd_writeb(bm, val); break; case 2: - bm->status = (val & 0x60) | (bm->status & 1) | (bm->status & ~val & 0x06); + bmdma_status_writeb(bm, val); break; } } diff --git a/hw/ide/sii3112.c b/hw/ide/sii3112.c index 5dd3d03c29..63dc4a0494 100644 --- a/hw/ide/sii3112.c +++ b/hw/ide/sii3112.c @@ -149,8 +149,7 @@ static void sii3112_reg_write(void *opaque, hwaddr addr, break; case 0x02: case 0x12: - d->i.bmdma[0].status = (val & 0x60) | (d->i.bmdma[0].status & 1) | - (d->i.bmdma[0].status & ~val & 6); + bmdma_status_writeb(&d->i.bmdma[0], val); break; case 0x04 ... 0x07: bmdma_addr_ioport_ops.write(&d->i.bmdma[0], addr - 4, val, size); @@ -165,8 +164,7 @@ static void sii3112_reg_write(void *opaque, hwaddr addr, break; case 0x0a: case 0x1a: - d->i.bmdma[1].status = (val & 0x60) | (d->i.bmdma[1].status & 1) | - (d->i.bmdma[1].status & ~val & 6); + bmdma_status_writeb(&d->i.bmdma[1], val); break; case 0x0c ... 0x0f: bmdma_addr_ioport_ops.write(&d->i.bmdma[1], addr - 12, val, size); diff --git a/hw/ide/via.c b/hw/ide/via.c index 91253fa4ef..fff23803a6 100644 --- a/hw/ide/via.c +++ b/hw/ide/via.c @@ -75,7 +75,7 @@ static void bmdma_write(void *opaque, hwaddr addr, bmdma_cmd_writeb(bm, val); break; case 2: - bm->status = (val & 0x60) | (bm->status & 1) | (bm->status & ~val & 0x06); + bmdma_status_writeb(bm, val); break; default:; } From patchwork Tue May 23 19:49:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 1785389 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20221208 header.b=cA3F974m; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QQlKD6kT6z20PY for ; Wed, 24 May 2023 05:50:08 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q1Y13-00015M-Am; Tue, 23 May 2023 15:49:53 -0400 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 1q1Y11-00012v-Eh; Tue, 23 May 2023 15:49:51 -0400 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q1Y0z-00048k-Md; Tue, 23 May 2023 15:49:51 -0400 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-510e419d701so501469a12.1; Tue, 23 May 2023 12:49:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684871386; x=1687463386; 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=4nwYNmsV4rDlYdUeQmy7CmqzD7Q9Vfrmw6KR+LAlXtA=; b=cA3F974mhJeeuFCFFrOt5Q62z6rowHi77vJCtrz+Nuau4mvM+AO1J0FG9EU6k+Dxuy g+Kc5bJOUMgAGxeWXPAU76jhUZzqlpzb5eg4h42SyjKdfriVvPdFZHDCChclp5uR97OM bXeY0qgdTKuQoiGL04hWzYTuehjh0jD4BfsL7olj6SZazUUCk8N346r3q3rQXFvX6kwq c+yQP2viCAGI8cm8+d3BiA3Ftj9BWUuvLjjIDLOAhtNRTUimvKVIkcCM5s3La3Fnt9i2 e4i5zqA7oVVTwMqlUiktsohoUqd07PDubC2/V/Hap//cwlByHo4b+WGaHNBpE+SyX1np 9T9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684871386; x=1687463386; 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=4nwYNmsV4rDlYdUeQmy7CmqzD7Q9Vfrmw6KR+LAlXtA=; b=Yu5DCIWjX8ewQC5qpQWrhF8QdrTLm5UPF5yFHg/nk6kbTEDm7k6D6UOj4xlQDgfcf/ ueO0EWQXAsaUGWg+uBOm+9BXJM1WPX/R1+8wJL2znyOpnjT7piPzYjfs0+TgVPeizA/4 k7TKyCl5+lBQiP0WiF+Q7i7rUmb9jr2BpdXCee5xXHcPZOhTWJUZlSqvgl2sV4ghTBbX DtnrQxDSyOWEJSn43oQMY+XGCtt0im2yepX++/W+CwgBZBEDNe+OmRKhmBx8Yt28mhKT 98M29AJU4d5BVy4qmsK50qgagBhcaMDC3jf6WWTvOptPhn2P/EH4iQ+wIvNPaBuFuJD+ 9PDQ== X-Gm-Message-State: AC+VfDx0B9LgZHLO0aZajL9poDRpKG2XxGTHH8uvG6O8bYCoxXhbcsPR 7K7XUQJltFzdNAaaXS5P4Y0TKIAhOKk= X-Google-Smtp-Source: ACHHUZ4LveUIWLjAIXLg8e632UZ7J9sR9glQrVNa5KHT87t1fTzuQNKC7FBGox7x01qzcCivyOzA+w== X-Received: by 2002:a17:907:3f16:b0:96f:48ad:73be with SMTP id hq22-20020a1709073f1600b0096f48ad73bemr19737191ejc.44.1684871385845; Tue, 23 May 2023 12:49:45 -0700 (PDT) Received: from Provence.localdomain (dynamic-077-183-025-113.77.183.pool.telefonica.de. [77.183.25.113]) by smtp.gmail.com with ESMTPSA id k17-20020a1709063e1100b0096f641a4c01sm4800593eji.179.2023.05.23.12.49.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 May 2023 12:49:45 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, BALATON Zoltan , Jiaxun Yang , qemu-block@nongnu.org, =?utf-8?q?Phi?= =?utf-8?q?lippe_Mathieu-Daud=C3=A9?= , Huacai Chen , John Snow , Bernhard Beschow Subject: [PATCH v2 6/6] hw/ide/piix: Move registration of VMStateDescription to DeviceClass Date: Tue, 23 May 2023 21:49:30 +0200 Message-Id: <20230523194930.124352-7-shentey@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230523194930.124352-1-shentey@gmail.com> References: <20230523194930.124352-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::52c; envelope-from=shentey@gmail.com; helo=mail-ed1-x52c.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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org The modern, declarative way to set up VM state handling is to assign to DeviceClass::vmsd attribute. There shouldn't be any change in behavior since dc->vmsd causes vmstate_register_with_alias_id() to be called on the instance during the instance init phase. vmstate_register() was also called during the instance init phase which forwards to vmstate_register_with_alias_id() internally. Checking the migration schema before and after this patch confirms: before: > qemu-system-x86_64 -S > qemu > migrate -d exec:cat>before.mig after: > qemu-system-x86_64 -S > qemu > migrate -d exec:cat>after.mig > analyze-migration.py -d desc -f before.mig > before.json > analyze-migration.py -d desc -f after.mig > after.json > diff before.json after.json -> empty Signed-off-by: Bernhard Beschow --- hw/ide/piix.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hw/ide/piix.c b/hw/ide/piix.c index 47e0b474c3..151f206046 100644 --- a/hw/ide/piix.c +++ b/hw/ide/piix.c @@ -28,7 +28,6 @@ */ #include "qemu/osdep.h" -#include "migration/vmstate.h" #include "qapi/error.h" #include "hw/pci/pci.h" #include "hw/ide/piix.h" @@ -159,8 +158,6 @@ static void pci_piix_ide_realize(PCIDevice *dev, Error **errp) bmdma_setup_bar(d); pci_register_bar(dev, 4, PCI_BASE_ADDRESS_SPACE_IO, &d->bmdma_bar); - vmstate_register(VMSTATE_IF(dev), 0, &vmstate_ide_pci, d); - for (unsigned i = 0; i < 2; i++) { if (!pci_piix_init_bus(d, i, errp)) { return; @@ -186,6 +183,7 @@ static void piix3_ide_class_init(ObjectClass *klass, void *data) PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); dc->reset = piix_ide_reset; + dc->vmsd = &vmstate_ide_pci; k->realize = pci_piix_ide_realize; k->exit = pci_piix_ide_exitfn; k->vendor_id = PCI_VENDOR_ID_INTEL; @@ -208,6 +206,7 @@ static void piix4_ide_class_init(ObjectClass *klass, void *data) PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); dc->reset = piix_ide_reset; + dc->vmsd = &vmstate_ide_pci; k->realize = pci_piix_ide_realize; k->exit = pci_piix_ide_exitfn; k->vendor_id = PCI_VENDOR_ID_INTEL;