From patchwork Wed May 31 21:10:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 1788567 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=KabZ4+3z; 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 4QWhny1DXSz20Py for ; Thu, 1 Jun 2023 07:13:42 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q4T5v-0006SX-GS; Wed, 31 May 2023 17:10:59 -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 1q4T5u-0006S1-BZ; Wed, 31 May 2023 17:10:58 -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 1q4T5s-0001EP-S3; Wed, 31 May 2023 17:10:58 -0400 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-973f78329e3so719875466b.3; Wed, 31 May 2023 14:10:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685567454; x=1688159454; 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=KabZ4+3zjlZPsSYZJr88hBxfP9uTZ1Y9EuiJaYNWtKMVZ/zkmseV1wjlt83fjqO7x2 jm+NMFQi9p2I43fy0+P9wAkCDMF8/6ThfArgoLhR1KGWzW21G8GPIfTcavf7xEGPcGyB LG8XOYt7YhQZn5nylunvxye9MDCV0xldlmifV6wugzEH1p5dS+Y90c76H/eBmbBSdpLY 7RHOzEAQ/Nlm+5ehe7OtN7YJonNknoQ8WRMQvP/Q8vcA4UbwKl19eu8HE+dPd8fgTjWN /scL+MTNlnQY2Om0rPFuB7P2mss3GXqeGFVrxWSA+Y7VmxeBihSjFn/ik2NwcBr2XgbB sREA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685567454; x=1688159454; 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=kF7jUNVrBdIWkPXaDLfp5mCyeEzoN3Ah3YARADjTzpCD0DgdR3kEq/Tf40kejL2wjh XegizdcDSjG6ADtA3Nkocf7a94EhTyaoqrvLs1xli67rypVhcPSYTIQK7ZrMkTFkLpFB HanwpRzZifuLl6AWAljTI+Oi9N9IQOJnZBk1LEgLJAsQL5F59DoXkELK2sUJ4wUGkL7P SuseWsXqcoSZQmUkmAzjnzhe/KgO1kEMBGnIiOd+KY6dyI7FrTtp2WLUpddWAU/dXhmB TJYcuq2nFtPvMDIjjm8xh6H0VPiMBVBUaqPu+bqFwI/MO0AUpwnu57T5GgMS8We/IlNi Ou+Q== X-Gm-Message-State: AC+VfDwiay7/mjcwimHGxb2KGBbu+5YRnnDbL5tdihqvVkr3vX8uGf5U zTf8nomrE7fiMjgBQmFxXx8KU9OISbQ= X-Google-Smtp-Source: ACHHUZ5q7y4Cek+l5DvWEy2vk8eGMdMANyVnLCkLKWVR2/GG7PJgCV6i+Ir7YvjBrHsEKuq8EqJCiw== X-Received: by 2002:a17:907:961a:b0:973:91f7:5092 with SMTP id gb26-20020a170907961a00b0097391f75092mr8891483ejc.2.1685567453614; Wed, 31 May 2023 14:10:53 -0700 (PDT) Received: from Provence.localdomain (dynamic-078-054-159-078.78.54.pool.telefonica.de. [78.54.159.78]) by smtp.gmail.com with ESMTPSA id b8-20020a1709064d4800b00965f31ff894sm9463054ejv.137.2023.05.31.14.10.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 14:10:53 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Jiaxun Yang , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= , qemu-ppc@nongnu.org, qemu-block@nongnu.org, John Snow , Huacai Chen , BALATON Zoltan , Bernhard Beschow , Mark Cave-Ayland Subject: [PATCH v3 1/7] hw/ide/pci: Expose legacy interrupts as named GPIOs Date: Wed, 31 May 2023 23:10:37 +0200 Message-Id: <20230531211043.41724-2-shentey@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230531211043.41724-1-shentey@gmail.com> References: <20230531211043.41724-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 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 Wed May 31 21:10:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 1788564 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=iRvq7Y/B; 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 4QWhnC3mYyz20QH for ; Thu, 1 Jun 2023 07:13:03 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q4T5x-0006Ut-Rs; Wed, 31 May 2023 17:11:01 -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 1q4T5v-0006T2-W5; Wed, 31 May 2023 17:11:00 -0400 Received: from mail-lj1-x22b.google.com ([2a00:1450:4864:20::22b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q4T5u-0001EY-5T; Wed, 31 May 2023 17:10:59 -0400 Received: by mail-lj1-x22b.google.com with SMTP id 38308e7fff4ca-2af20198f20so1864211fa.0; Wed, 31 May 2023 14:10:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685567455; x=1688159455; 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=iRvq7Y/B4CX+K24nKnKjBHcR0TeA/irqcEzJs7GKl3OO0A1+R57QGq/fZQI4r5HVN6 hmc3L9q4EM5D3lJ5IUzcxTrCnXTI/jxCL6GsuCuEZ9qRrojjuWcXOTj62HpcR83wDOov 1zUZfRBNm4UIIboXczCfwC6cmhy24UWCGD87OawIewyeIqLWql4h6KUkHZTPU2zjjcvV 72DVMPWGUEjCLFiQt/QVfNzzXGIcNCwSlAxj9YJYCssAB0p/4Sljmvr32o/LHBiREHvg 9ZSnmbvTwidZHUaZFT3u9DttF+7vlSaNSX6lrQ+UN0vRQv1MDb3J+fjc6Pb4xFFpvWPn 6QXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685567455; x=1688159455; 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=Zak48c+WfuOZLxA9QoXXTiUt6TISKaENA3Q8m1rKMV971m0K+6GJibHtjZRchg244h 6h6kUzJSDswtWe0JrCjV7EyL7BJjFRKDnoL4SEznUdWGRpS/bEn/LCZoh1XFfLK6CJY8 LZVscpxRObJyEHC6LKLs2I5xd0DmmTMjRd8H5waLhabmAJMGzHSrm8l8/nkAdrFUoVFv U1+Cnh6nhpQLWDRf3EoOMISoZkc4PT8QYVL+SmSQwD9popZblxSrilmjhMkbDlW9lHJL yxjgqJOU0d8cTF8LEiUZMT81mpCQnwlnVuDCPyoSrxImCQpux32XsqzgxQHRDavd4F2/ HtBQ== X-Gm-Message-State: AC+VfDzbCsXEYuN9h1wIDtmIGUuj3XKcuVeoHo9TieqfdVYHCbsqXM8y G+YP+nybcCWZ4Phnckh+JDeUhBC13FU= X-Google-Smtp-Source: ACHHUZ7fj6Pxb3N7FrxTaWD02WJL7tO3MDHrlh5gl92yPOQa+wEdro+Oec5n260KXvdqGH3fjtRSPQ== X-Received: by 2002:a2e:83d5:0:b0:2a8:bf74:61cc with SMTP id s21-20020a2e83d5000000b002a8bf7461ccmr3109063ljh.26.1685567455053; Wed, 31 May 2023 14:10:55 -0700 (PDT) Received: from Provence.localdomain (dynamic-078-054-159-078.78.54.pool.telefonica.de. [78.54.159.78]) by smtp.gmail.com with ESMTPSA id b8-20020a1709064d4800b00965f31ff894sm9463054ejv.137.2023.05.31.14.10.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 14:10:54 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Jiaxun Yang , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= , qemu-ppc@nongnu.org, qemu-block@nongnu.org, John Snow , Huacai Chen , BALATON Zoltan , Bernhard Beschow , Mark Cave-Ayland Subject: [PATCH v3 2/7] hw/ide/via: Wire up IDE legacy interrupts in host device Date: Wed, 31 May 2023 23:10:38 +0200 Message-Id: <20230531211043.41724-3-shentey@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230531211043.41724-1-shentey@gmail.com> References: <20230531211043.41724-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::22b; envelope-from=shentey@gmail.com; helo=mail-lj1-x22b.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 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 Wed May 31 21:10:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 1788560 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=qLBiPq4y; 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 4QWhmP5bRsz20Py for ; Thu, 1 Jun 2023 07:12:21 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q4T5y-0006VY-Gc; Wed, 31 May 2023 17:11:02 -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 1q4T5x-0006U3-14; Wed, 31 May 2023 17:11:01 -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 1q4T5u-0001Eg-IT; Wed, 31 May 2023 17:11:00 -0400 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-96f99222e80so43480566b.1; Wed, 31 May 2023 14:10:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685567456; x=1688159456; 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=qLBiPq4yTp5j4RT1+Azdo6XTkYo/DMQ3Jl5OL4RsjgvFmMU28DR7HDHCevpXphifhr ejX6DEkTpr3AWF6BJjdLFM9RemeYprI74IPARU0pzl4ckW6dSu+Uz4yhVg8xNNue3wE5 c1ur09Ia/by1mbfJ2CCcp47v+aWMrtRYFtktkH+Q9pyi9zfFhtwgAarmKHKA4vRhuflb QcOS76XpZEtMRSjoBSON50zkA4cJ+tcPYntkLQEV4uMruOUlCNtcmbf2FPYQcOG7WyX+ nYwnP3Yzlq/Te9cJuLIBLD22GBvsVDeHIiQJDiV94+iri1tZNofLlHeQnKWkG8679esB +J0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685567456; x=1688159456; 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=PmkXKpAguXTtm4rYv9wXHribWhp/9rl8iQS3fZqIC0+XYAWYB+Z4ODVVvPqgwFrKYO XHMfnfnoKetezp9eBJfBkLS3103u0oMoJ3IuC/gVTjIturn/oQL9zmrFtKSkw+VfAIgm ek7dVxhZ1DCchUBhdCNi56bh9MJcxcfdHo4I7TEJQJ9N5BQvGbsWcHoR5zP9EYk9+PQQ pu9/GH5fR7PWjf7BteLo/vJoKSTiNSP1eXD+oZoOXhtkgi6TFAtVolCekaQ2MkmfsEa1 tstqz8ZKwW/KhpCo/sc1lrpjQZQKwCZOM2OOIMh2wAWKOmd7i55TGsd/3kgrrZC8Q1S7 HsOQ== X-Gm-Message-State: AC+VfDwJgkK6heeRnM0ZzrTuriQXo9G/iOzaz4q/fVtQ+dTuxgRSg1/j x/8apMLa8Gw9Zi5laGb8PYh+PVUVn0w= X-Google-Smtp-Source: ACHHUZ6HrPL2CpTUyb9PXhkve7HhN2mByx4q7BoaZxBgEQzmip9JP+YK8yBxDbB4GAaaF6qkn5UuUA== X-Received: by 2002:a17:907:980c:b0:966:5fac:2e52 with SMTP id ji12-20020a170907980c00b009665fac2e52mr12848785ejc.9.1685567456110; Wed, 31 May 2023 14:10:56 -0700 (PDT) Received: from Provence.localdomain (dynamic-078-054-159-078.78.54.pool.telefonica.de. [78.54.159.78]) by smtp.gmail.com with ESMTPSA id b8-20020a1709064d4800b00965f31ff894sm9463054ejv.137.2023.05.31.14.10.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 14:10:55 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Jiaxun Yang , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= , qemu-ppc@nongnu.org, qemu-block@nongnu.org, John Snow , Huacai Chen , BALATON Zoltan , Bernhard Beschow , Mark Cave-Ayland Subject: [PATCH v3 3/7] hw/isa/vt82c686: Remove via_isa_set_irq() Date: Wed, 31 May 2023 23:10:39 +0200 Message-Id: <20230531211043.41724-4-shentey@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230531211043.41724-1-shentey@gmail.com> References: <20230531211043.41724-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 Now that via_isa_set_irq() is unused it can be removed. Signed-off-by: Bernhard Beschow Reviewed-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daudé --- 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 Wed May 31 21:10:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 1788566 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=KCg9qUAF; 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 4QWhnl12lKz20Py for ; Thu, 1 Jun 2023 07:13:31 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q4T6A-0006cg-Ko; Wed, 31 May 2023 17:11: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 1q4T69-0006cK-DC; Wed, 31 May 2023 17:11:13 -0400 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q4T5v-0001Es-Ch; Wed, 31 May 2023 17:11:13 -0400 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-51492ae66a4so307955a12.1; Wed, 31 May 2023 14:10:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685567457; x=1688159457; 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=KCg9qUAF+xSbVGRpd8Oc1zO1iiTPSKkvs31+akLII/br9WkSB96rNrP2FnrSpAv2DA K/QMjY6BHauRvaCsuoCRG6+pFw7n8d8dRiuBQjY5LTbsfRzRBykDGl3NGgmUqwIivc/s kla70b+5Fd2HjIOtT4f0LtcwD+P9ZZrwJWIXOmizkkIRmMTd4MJ3ILmT27y8Ur/VWHqW kbkvlTSg1hxs66sw6oRjf2QVbHu9XqQr3DLA76mpGMtFAb++U6JIFzLcoZ/+7sGtljq/ TRbWNBp8v3+b52dXS2Zp03QSRpRXfmQwJaZnXSQ9dC9Cs4SQIxrJwTzhNZyyN9p7J5R/ /huQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685567457; x=1688159457; 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=IQyW1TVD1Vt9eLaEiaZ5rTnOq4OiUpbTYVIT1Pc2I43/I2iPXfL21L5EM5FSPmwmOU bQyUR9YPBYUjJji/GtY7MZ4Yww+kyMWYHTA4wZxMTZszqBI9dI8FZJIyL9Q2HKspk8Oj zIVpLuLN7THeRtst0MA9241f7s4Se7RlsQ6dRLD73zdbS5Qo4o5Ba1cveRXLdQZYQnBW J/4dbKmPAcCizjKYRM5z+9VJ218l+qUzfF9AphZDIlRau0RyvvA5QWKSI/JFYpd4Hptu QzbJyz+G9pdjVvAWvNRRyVmtadpUR0BIFI6AlS1Bte2vCfNLH0K72qwtXGBRVmBkZ10U ibzQ== X-Gm-Message-State: AC+VfDx8LT7nrEv9aErPBhqeaGPDz3aIF6mg6v33XSpO6nfuqGpTYUZ3 cJTTM5ZTP3eO5Oe/SDF5P9ovcwcLdik= X-Google-Smtp-Source: ACHHUZ6G0KRmJCQbJvMFfKMXNOuzOooIEJqxcUJvMxl8aHHIA9oAOx0L0AOROhEMFeuq1N//S/FBJw== X-Received: by 2002:a17:907:7b8e:b0:96f:a86f:9d16 with SMTP id ne14-20020a1709077b8e00b0096fa86f9d16mr7484741ejc.23.1685567457110; Wed, 31 May 2023 14:10:57 -0700 (PDT) Received: from Provence.localdomain (dynamic-078-054-159-078.78.54.pool.telefonica.de. [78.54.159.78]) by smtp.gmail.com with ESMTPSA id b8-20020a1709064d4800b00965f31ff894sm9463054ejv.137.2023.05.31.14.10.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 14:10:56 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Jiaxun Yang , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= , qemu-ppc@nongnu.org, qemu-block@nongnu.org, John Snow , Huacai Chen , BALATON Zoltan , Bernhard Beschow , Mark Cave-Ayland Subject: [PATCH v3 4/7] hw/ide: Extract IDEBus assignment into bmdma_init() Date: Wed, 31 May 2023 23:10:40 +0200 Message-Id: <20230531211043.41724-5-shentey@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230531211043.41724-1-shentey@gmail.com> References: <20230531211043.41724-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::529; envelope-from=shentey@gmail.com; helo=mail-ed1-x529.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 Wed May 31 21:10:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 1788558 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=bry9Lzaa; 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 4QWhm71V5tz20Py for ; Thu, 1 Jun 2023 07:12:07 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q4T5z-0006XP-Vv; Wed, 31 May 2023 17:11:04 -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 1q4T5y-0006VX-EE; Wed, 31 May 2023 17:11:02 -0400 Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q4T5w-0001FI-M2; Wed, 31 May 2023 17:11:02 -0400 Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-96f588bc322so915066166b.1; Wed, 31 May 2023 14:10:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685567458; x=1688159458; 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=mIjTjeEt/jRjqtxQwTcOBu8ecexcgkV84jSNcf6bKZc=; b=bry9Lzaap6tOdchuZeUIdZhZs4fQmTHUuJ8qXkZUm7KVgKgKKaBFEwgAf+F3JUchyV fmm0Y+VgkDaF5QlaVlMZi4Kmx4hA5184w9OHbC00OFOiehQfrUCcUYPGL642k5VF1uBH jxl3GsvomFNQrDBvm0+Bry3iLGnweA7Vm1Gu9hvk0CexTjL8gPlz+lByOfUDdR0+1cyE tZrMqzsWJYqqt8lDcKQTM18tRMHHEpMIBMKynQpvM9pnZGVE7mNfvdxkWkdAsxfYOJcA M1/3HlCHyYUdxVwwWDh+YA74sh+yeTnHyt+2C6sjZEU0vI9uZ0V4Z275hO8B5b4UCJAD 2Tdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685567458; x=1688159458; 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=mIjTjeEt/jRjqtxQwTcOBu8ecexcgkV84jSNcf6bKZc=; b=TxcMrNAd8APb9Y1VBLCICZ7F7jV6s6dKKkumGYOjg7bVFN74BefFb6zmudcNBSwahE +ks5nbVV7BrJXU2FWM2nx3CTN6Kqj5kE30JFgcy+dOoywYWJMsaeNAirQlZ8qAifK34V awYU/TOc+URmGahtvfCAwfwBWxwXOaTVKW95/niZbY1zzsj3qsRMZgT63/MKkEqMTtTw LiDTwP4q10zTIjwcjL3RNmVTYt4vcjxjsK672JA8jjswAiTsOAujrKxsfa2LV+gvbhTx W5bl0Bj5LSkjwkbipXnaw2GedbWZ/VL+ZqUX6NHUBOJzo51zyeaMhEaP08yWRBCJyeV2 R4mw== X-Gm-Message-State: AC+VfDyeZYMgZFNQ0QlVB8viEKe0hrwqnKbCYe2Nk/3J2P3/3ifc5OUh vUCn5qsW4G2DOnR7nfmMF5IvSGi3B8k= X-Google-Smtp-Source: ACHHUZ7FjvRdPLuwKR8biqu5gwlLo8Zfq1Q9YMjdUzsI+i1FxPU3saK+faZD/AW5D+DX5UIp6mDuRw== X-Received: by 2002:a17:907:7e8d:b0:961:be96:b0e7 with SMTP id qb13-20020a1709077e8d00b00961be96b0e7mr6643583ejc.48.1685567458258; Wed, 31 May 2023 14:10:58 -0700 (PDT) Received: from Provence.localdomain (dynamic-078-054-159-078.78.54.pool.telefonica.de. [78.54.159.78]) by smtp.gmail.com with ESMTPSA id b8-20020a1709064d4800b00965f31ff894sm9463054ejv.137.2023.05.31.14.10.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 14:10:57 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Jiaxun Yang , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= , qemu-ppc@nongnu.org, qemu-block@nongnu.org, John Snow , Huacai Chen , BALATON Zoltan , Bernhard Beschow Subject: [PATCH v3 5/7] hw/ide: Extract bmdma_status_writeb() Date: Wed, 31 May 2023 23:10:41 +0200 Message-Id: <20230531211043.41724-6-shentey@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230531211043.41724-1-shentey@gmail.com> References: <20230531211043.41724-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::633; envelope-from=shentey@gmail.com; helo=mail-ej1-x633.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 Reviewed-by: Philippe Mathieu-Daudé --- 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..0b26a4ce9f 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 & 1) | (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 Wed May 31 21:10:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 1788556 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=V0piHODu; 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 4QWhlr1NByz20Py for ; Thu, 1 Jun 2023 07:11:52 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q4T60-0006ZJ-PM; Wed, 31 May 2023 17:11:04 -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 1q4T5z-0006Wn-Iz; Wed, 31 May 2023 17:11:03 -0400 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q4T5x-0001Fh-WD; Wed, 31 May 2023 17:11:03 -0400 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-96f850b32caso1144536766b.3; Wed, 31 May 2023 14:11:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685567459; x=1688159459; 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=H90sgk3WC/XQ/9Jrgh7iCqYbg+Taj+LBMBbHKL3UVtc=; b=V0piHODu2BjKY/kaVSbKionWfSgCvSpp0Y2oqEmUDzNNBe1lQK7VgEZmB/cNA02ohs H2jDVdJnwHpdRu+o//XIUKypoSQKeIqCFJM63MwZyGwCtSFCTPybXzBA1v/DllpUS/D4 q7UIzHXHzhd9Ica6B73Rm4Qw5wkjruhlX03OEg6XNJVueqlOpttcvAzHZgrfrbASeCeB C8oJ7Ot32z3wXwk2l5ItubvPJlFe+T33/6eXu2PykfLVpB5C2Fh//dg4S2RuOrCOdJO6 tG/abR411woxr0zLlSQrevrZ3xJEoeXjr+84jvCcehhUOCwqaqoinu3zuDTJNZDZSdFq 0RLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685567459; x=1688159459; 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=H90sgk3WC/XQ/9Jrgh7iCqYbg+Taj+LBMBbHKL3UVtc=; b=dL97EFdJOWtX61FPh+KnM57fKOCZaOtqqt2DoIsc1eemUEJ5euuu0Xq2QPw7OB1bLP GQu4zSdnb8CfdLRjEjULo9SRiCk6UMVOHej6+P/t8oeEDIhhDOgMcPhwPFTxRewTV4RQ VkJTNNqLpEoSkVmFXRik/U5aFavcs0LQxJf3OmDk0zHvTQhZN379qYnzlvEFm2bkLY8x KRcD4ALOn3lT9N07Evjpwa18SBpHwtwEWDIdlArOfO304In7cQgCcuK2k5hzjhuj3MwI HakwcwI6zKPrq1QL1cXwjdjU08OXHiVu4K+kPiCa2GSo/Bkfc704dpjgvxQnXsks/Ti9 iupg== X-Gm-Message-State: AC+VfDy2+gqMzEwLSS2rujwo0Y/zTTudRp4GJNTQwgLd3jtgIxM4ktgy uksv41l64DzffAlYhd6Du/YbwiQpqyg= X-Google-Smtp-Source: ACHHUZ7jAQLMsC3XZEz4roXLdcQwVNQDr8XqFSYKFCoTruu1r/LOpTtJFjoGTSh+GQhRIdepyx53rg== X-Received: by 2002:a17:907:7ba7:b0:974:1f8f:89d7 with SMTP id ne39-20020a1709077ba700b009741f8f89d7mr6777727ejc.31.1685567459396; Wed, 31 May 2023 14:10:59 -0700 (PDT) Received: from Provence.localdomain (dynamic-078-054-159-078.78.54.pool.telefonica.de. [78.54.159.78]) by smtp.gmail.com with ESMTPSA id b8-20020a1709064d4800b00965f31ff894sm9463054ejv.137.2023.05.31.14.10.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 14:10:58 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Jiaxun Yang , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= , qemu-ppc@nongnu.org, qemu-block@nongnu.org, John Snow , Huacai Chen , BALATON Zoltan , Bernhard Beschow Subject: [PATCH v3 6/7] hw/ide/pci: Replace some magic numbers by constants Date: Wed, 31 May 2023 23:10:42 +0200 Message-Id: <20230531211043.41724-7-shentey@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230531211043.41724-1-shentey@gmail.com> References: <20230531211043.41724-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62d; envelope-from=shentey@gmail.com; helo=mail-ej1-x62d.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 Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Mark Cave-Ayland --- hw/ide/pci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/ide/pci.c b/hw/ide/pci.c index 0b26a4ce9f..a25b352537 100644 --- a/hw/ide/pci.c +++ b/hw/ide/pci.c @@ -320,7 +320,8 @@ void bmdma_cmd_writeb(BMDMAState *bm, uint32_t val) void bmdma_status_writeb(BMDMAState *bm, uint32_t val) { - bm->status = (val & 0x60) | (bm->status & 1) | (bm->status & ~val & 0x06); + bm->status = (val & 0x60) | (bm->status & BM_STATUS_DMAING) + | (bm->status & ~val & (BM_STATUS_ERROR | BM_STATUS_INT)); } static uint64_t bmdma_addr_read(void *opaque, hwaddr addr, From patchwork Wed May 31 21:10:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 1788557 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=RXE+NoA1; 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 4QWhm20zy2z20Py for ; Thu, 1 Jun 2023 07:12:02 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q4T67-0006bU-Jw; Wed, 31 May 2023 17:11:11 -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 1q4T65-0006ap-Py; Wed, 31 May 2023 17:11:09 -0400 Received: from mail-lj1-x231.google.com ([2a00:1450:4864:20::231]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q4T64-0001GR-1u; Wed, 31 May 2023 17:11:09 -0400 Received: by mail-lj1-x231.google.com with SMTP id 38308e7fff4ca-2af316b4515so1670371fa.1; Wed, 31 May 2023 14:11:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685567461; x=1688159461; 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=RXE+NoA190uI4iDI5qdlMpd3JB40VNOppJDnhhls/O4IKFGhNiSun50X6ygutfYxWP 6qQuUxyVDoVHpjanI1TcbZPz5D0b6wZXlgq7cOMKwoQJq/Eg9UzOUrRV0W8x4j56dSup Bp8KzWM62empAJCu8ryrC2nxzelQpmNxAu9HFnxp8ZhuOTVGr0Jnyl8fyUgSIKk3esRL kKh6qHHoAxE3tDJ/pAym3TDhlauxI9mbI7PZjz4Em37WmobwC+XmMskdYea5eeKFMXz6 Ot+jWRc3of9sQrhTNTuHP8ABctC1+6LW6RJ+JbjmnPW2fk5d6PuMpOM+nMEUvX5J86Xc 7PYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685567461; x=1688159461; 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=FqwU/kPpnmhn7r1bNHWJ6RPLBT3sn3VhHuYmSyoRPABwGiZvQ36kn/VPFNDyDHte3R EeCHneDV04BWFcJDLPfWY5EGCf5oUM6WAX/Wz3h3+TXXm70HSyy6PwCb+cfVzSAEgPc4 TzI+tS2I2jR+381Ila4WqK+5kcmflTH0Oc9jOtt2swbhZTga2Ix6rNvhfYMwFYKXh8c1 e52lNandCs5QJHGQtmZLX+09e1OL2KrX2kB6Jfnq2PpdQjZ65WIwQLWa4e+jS7KZiI+A 1GoPhKk9GY9M8dQO/CLHER3llOfVXs6SUk359fmVCKNGc6fus/4DYqoC+wOf7enA9eir ooKw== X-Gm-Message-State: AC+VfDwXN+cQ0iDYPKR6SymcGpnkTWKjwJhI+OxFNcrvU4iBlBKrmH3w YTQ1m+LImNyjNvEGb5nFd4Wm4nZtIdY= X-Google-Smtp-Source: ACHHUZ7PV793bRSac8TlCFj9ZsfLOHedG/LF3cOakf9jDXeh/W+HXLf/xt3vifFX3NaPleNJnOeGQw== X-Received: by 2002:a2e:924b:0:b0:2ac:8a05:b2c7 with SMTP id v11-20020a2e924b000000b002ac8a05b2c7mr3462833ljg.7.1685567460597; Wed, 31 May 2023 14:11:00 -0700 (PDT) Received: from Provence.localdomain (dynamic-078-054-159-078.78.54.pool.telefonica.de. [78.54.159.78]) by smtp.gmail.com with ESMTPSA id b8-20020a1709064d4800b00965f31ff894sm9463054ejv.137.2023.05.31.14.10.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 May 2023 14:11:00 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Jiaxun Yang , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= , qemu-ppc@nongnu.org, qemu-block@nongnu.org, John Snow , Huacai Chen , BALATON Zoltan , Bernhard Beschow Subject: [PATCH v3 7/7] hw/ide/piix: Move registration of VMStateDescription to DeviceClass Date: Wed, 31 May 2023 23:10:43 +0200 Message-Id: <20230531211043.41724-8-shentey@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230531211043.41724-1-shentey@gmail.com> References: <20230531211043.41724-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::231; envelope-from=shentey@gmail.com; helo=mail-lj1-x231.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 Reviewed-by: Mark Cave-Ayland --- 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;