From patchwork Wed Mar 24 17:54:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 12161951 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0540AC433C1 for ; Wed, 24 Mar 2021 17:58:08 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AC08B61A1A for ; Wed, 24 Mar 2021 17:58:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AC08B61A1A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amsat.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:38638 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lP7le-0006Cp-LE for qemu-devel@archiver.kernel.org; Wed, 24 Mar 2021 13:58:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37004) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lP7iT-00047g-Ko; Wed, 24 Mar 2021 13:54:49 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:43712) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lP7iS-0008LH-3P; Wed, 24 Mar 2021 13:54:49 -0400 Received: by mail-wr1-x430.google.com with SMTP id x7so2888708wrw.10; Wed, 24 Mar 2021 10:54:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3a+HGyI7KD3Ew+RNtm2N2A+m/+QQ+Xa+aHzvmMpU2j8=; b=obyFyfCniTy7/pBwfH+dNXQAw05JjDA3hKtuF5UyCcMbjT33y9TOZBtbOEDTNIIaTW JJFdOFqMwiqEBnwpquqsIZWBLE0fzY5rh/zZjY9i0xS9tXBeW9fArB63jbf81elX3R6o Jnn3TUGqT9DrVZV8PjmP9MZqlcyNAdV8R+NETmpEIM6eDFLZw1g4omVV+zY9W7P2iM45 LppeKaup9aah7OgYpQhQH/3caqPZ4QO0WqaLJja1gFy0Exs96ZSrLLLKX0jZF+dbpPFY ihe6KbsxkAmyd5Pwm6uiQW6fWYCZY40R2vyQDj1YQ8RIiTumOnMXlmRTNtyQL9x4US3O WByQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=3a+HGyI7KD3Ew+RNtm2N2A+m/+QQ+Xa+aHzvmMpU2j8=; b=buP1CH914KVc5qyqBUmHJ7MlmTNWIqil66W+MNGLr0UMXFT8m4zo2KjZ4rU4HEnw04 +0o7lUSLmyyku/IjhgguP9d1GCPt5F+MDvPa0d7f/WdSadbhRUVpBWee/YXuwMMGKMoE 59sPmAKxgqSGW/0h/B7ALTUEa5ARHu+U9/T8+7tNOztgA6T4xY7RP1ElY3MLwBF9XeE2 scpTojyn5U+AvjNGRJeibYGrDBjRxZs5dqVgMRG13qbA+nhZUudXT7e6nnquEz2H0MQj hBjiJVAvDLPvAR17FmOtD9UGhZWT0pzHQvqT1hmjX2PcGFKHH8RF9eOrUy398CwRn0PZ DcJg== X-Gm-Message-State: AOAM5307AVV5GmTgo6jvThOvFauF1/FKMDjtIzvQRVCjhO18h1HnGqwq U9BmYOkDVV2+sg1zPWeozlEn0ZOkFKRc1Q== X-Google-Smtp-Source: ABdhPJyzXHJn4Sc24DbLGNsacLXRDQAAXGfl1mC+1wWqnJlJlDa1YC9puiq3tjO3aqZ8xn9w1J5sSQ== X-Received: by 2002:adf:f3cf:: with SMTP id g15mr4783944wrp.57.1616608486142; Wed, 24 Mar 2021 10:54:46 -0700 (PDT) Received: from localhost.localdomain (17.red-88-21-201.staticip.rima-tde.net. [88.21.201.17]) by smtp.gmail.com with ESMTPSA id x23sm3201661wmi.33.2021.03.24.10.54.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Mar 2021 10:54:45 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 1/6] hw/isa/vt82c686: Name output IRQ as 'intr' Date: Wed, 24 Mar 2021 18:54:33 +0100 Message-Id: <20210324175438.680310-2-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210324175438.680310-1-f4bug@amsat.org> References: <20210324175438.680310-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x430.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Aleksandar Rikalo , qemu-block@nongnu.org, Huacai Chen , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , John Snow , Aurelien Jarno Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Named IRQs are easier to understand in the monitor. Name the single output interrupt as 'intr'. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- hw/isa/vt82c686.c | 2 +- hw/mips/fuloong2e.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 05d084f6982..87473ec121f 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -387,7 +387,7 @@ static void vt82c686b_realize(PCIDevice *d, Error **errp) qemu_irq *isa_irq; int i; - qdev_init_gpio_out(dev, &s->cpu_intr, 1); + qdev_init_gpio_out_named(dev, &s->cpu_intr, "intr", 1); isa_irq = qemu_allocate_irqs(via_isa_request_i8259_irq, s, 1); isa_bus = isa_bus_new(dev, get_system_memory(), pci_address_space_io(d), &error_fatal); diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 4f61f2c873b..931385c760f 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -206,7 +206,7 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, dev = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), true, TYPE_VT82C686B_ISA); - qdev_connect_gpio_out(DEVICE(dev), 0, intc); + qdev_connect_gpio_out_named(DEVICE(dev), "intr", 0, intc); dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 1), "via-ide"); pci_ide_create_devs(dev); From patchwork Wed Mar 24 17:54:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 12161955 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3496BC433C1 for ; Wed, 24 Mar 2021 18:01:12 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B7297619F9 for ; Wed, 24 Mar 2021 18:01:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B7297619F9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amsat.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:42876 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lP7oc-00082a-Of for qemu-devel@archiver.kernel.org; Wed, 24 Mar 2021 14:01:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37098) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lP7in-0004Po-73; Wed, 24 Mar 2021 13:55:09 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:38789) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lP7ih-0008SM-KF; Wed, 24 Mar 2021 13:55:06 -0400 Received: by mail-wm1-x32d.google.com with SMTP id m20-20020a7bcb940000b029010cab7e5a9fso1695310wmi.3; Wed, 24 Mar 2021 10:55:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=H3nW2fhq4tUhZ3Vvu7VChClLWULSqHl3aIZiVAgZl48=; b=HLJz6+N7z3qLzZpsOytXuudojOy7zcI46T25LK51YVPN8OFWMttecEZa4zAcKfYkYn eDSai13tSWTfifZPwfDrcHfpT0ZVq/5TBofvSPRp3JD++S4XYdhMQXiyqfEpfhyOw+rW ZUthg+vfQ01H/UHuw2ovzt6pSAEx2d7s2xcZwRzL1iPE2+MnqBcuSlVukp0oHtwKFX+R LLylu7jNyo3+iKjzjVTxmUD0/uyGd3JXe063eNlVof7oy4KK/AHOgZECDKlBymjUKt0j dkCiOZi+6b+XBQ9Z6TmV1/dF+a3v9aqbPiIhufQHZuASN+E934dza5ZbDN+J255Wtbjw 2ymg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=H3nW2fhq4tUhZ3Vvu7VChClLWULSqHl3aIZiVAgZl48=; b=JAhbNJtMULy9nppjh4ypOTgNfJrPNRhFPBdpeB5yeWkdSo1FUiLHgEYHW1m8yO0+LU +qAa1T66si4tGYwTugncWnWhI4kWX4pzFzD81mpaIGCnxJ9IU1dAmPK7hFSR0lg+sdkw a3BdtbeOO76f/nNqik7OxkOPfsJWozuRTxWlrGPuraIzU3pmgmHoz37pcHTdqJtTBPa7 AUSTLbYAhMok1wSpFsSWd8QCTDfL/w7q8TFLfLmYwkyrt1pqH4n4geAIIatqqqlwVqlf wsrTF4GoXuojyYOfLg2YZ5VF9xDnabqnUBjPK9gYPy3c5jOh28nbJtrSSjejCfjPVHZu GWrg== X-Gm-Message-State: AOAM530uKbLyNrSUYz/CVZAgpAG0AyLnyxS6aRa2HgcxqCPqUx/Vo+bd /bRA+QOKHVFifkXXTCy8mgNxgLpoDGDauQ== X-Google-Smtp-Source: ABdhPJxRhE7jfH+j6IsC9LcffKswiJr4A8z1X0ONV6ij4g4Kpz4BULvp8pfcrDeV4ptiP1LKBrnIRA== X-Received: by 2002:a05:600c:22d9:: with SMTP id 25mr4010708wmg.108.1616608501298; Wed, 24 Mar 2021 10:55:01 -0700 (PDT) Received: from localhost.localdomain (17.red-88-21-201.staticip.rima-tde.net. [88.21.201.17]) by smtp.gmail.com with ESMTPSA id t8sm4347774wrr.10.2021.03.24.10.55.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Mar 2021 10:55:00 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 2/6] hw/isa/vt82c686: Simplify removing unuseful qemu_allocate_irqs() call Date: Wed, 24 Mar 2021 18:54:34 +0100 Message-Id: <20210324175438.680310-3-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210324175438.680310-1-f4bug@amsat.org> References: <20210324175438.680310-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x32d.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Aleksandar Rikalo , qemu-block@nongnu.org, Huacai Chen , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , John Snow , Aurelien Jarno Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Instead of creating an input IRQ with qemu_allocate_irqs() to pass it as output IRQ of the PIC, with its handler simply dispatching into the "intr" output IRQ, simplify by directly connecting the PIC to the "intr" named output. Fixes: 3dc31cb8490 ("vt82c686: Move creation of ISA devices to the ISA bridge") Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- hw/isa/vt82c686.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 87473ec121f..3dc3454858e 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -323,12 +323,6 @@ struct VT82C686BISAState { SuperIOConfig superio_cfg; }; -static void via_isa_request_i8259_irq(void *opaque, int irq, int level) -{ - VT82C686BISAState *s = opaque; - qemu_set_irq(s->cpu_intr, level); -} - static void vt82c686b_write_config(PCIDevice *d, uint32_t addr, uint32_t val, int len) { @@ -384,14 +378,12 @@ static void vt82c686b_realize(PCIDevice *d, Error **errp) VT82C686BISAState *s = VT82C686B_ISA(d); DeviceState *dev = DEVICE(d); ISABus *isa_bus; - qemu_irq *isa_irq; int i; qdev_init_gpio_out_named(dev, &s->cpu_intr, "intr", 1); - isa_irq = qemu_allocate_irqs(via_isa_request_i8259_irq, s, 1); isa_bus = isa_bus_new(dev, get_system_memory(), pci_address_space_io(d), &error_fatal); - isa_bus_irqs(isa_bus, i8259_init(isa_bus, *isa_irq)); + isa_bus_irqs(isa_bus, i8259_init(isa_bus, s->cpu_intr)); i8254_pit_init(isa_bus, 0x40, 0, NULL); i8257_dma_init(isa_bus, 0); isa_create_simple(isa_bus, TYPE_VT82C686B_SUPERIO); From patchwork Wed Mar 24 17:54:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 12161957 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 70BD5C433C1 for ; Wed, 24 Mar 2021 18:07:19 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F141861A1E for ; Wed, 24 Mar 2021 18:07:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F141861A1E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amsat.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:49488 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lP7uY-0002il-3Z for qemu-devel@archiver.kernel.org; Wed, 24 Mar 2021 14:07:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37120) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lP7ip-0004QU-8f; Wed, 24 Mar 2021 13:55:11 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:33588) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lP7in-0008Ts-AP; Wed, 24 Mar 2021 13:55:10 -0400 Received: by mail-wm1-x32a.google.com with SMTP id w203-20020a1c49d40000b029010c706d0642so3142067wma.0; Wed, 24 Mar 2021 10:55:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FzI31dN/YNq+VHVWsKeAjQQulyO/vssJBqSN8FGglrs=; b=qC4JfUYB97dfHI/xDXfAqUHjJgQ41XTQFqeV5LtxN1kUljV5amsOEywfVyDjTlPAFb GqECPgRCVVOD0v7MZ2XzS1mfRwq9XLxZu+kR/hn49b7f0DgS8ehPKKradAmG4nw+jdK7 Psl2HN4qqmMxWYopFXLWHcPs+D6+fXf7OK6HqnYvlQbsxg2nGpeIsJB41ChC3Lsh4S+X 4syozOL6F8BfTNUxtLwAbx0ks95hCKokq5Bsb7ltct8Huu/gwHe9mH5jOgINUPjpPJiA fZWAC+YSA+U5YojpuIjA580uJXEJX5T7dbPGQ22JizYkCkqWGeFmuyHW7j60uQxMjfKU WNWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=FzI31dN/YNq+VHVWsKeAjQQulyO/vssJBqSN8FGglrs=; b=FRd+Yb0nIgFi0xAHRxRjfZ/GLERd9M9wPsPJwUzeFmuTAdagr01FW74NRVykZHzHuB kCF8HZClr25RyJS3g+qLPcw7ved/qfAsw5fZhJpvujOOFxGjXfx3t1hf9/8lCsqqhefl J3xksukcU9GcJt3mbm8busG7GLThwk+AF42g1sy1gK6cDX23lOH4+9Dqla9+8IAJd05B 8jkPnh/zN27nV9L7w45rWXCbq/QzsXGM0gmgSmWYdVuOSOCOoEgsm3kSlyjGNxVo6zoq yMP5u63qD+60/Wu5jMLakLs9lZlBqSkMXXcj+SGEGKDTmOcEMh8moVN74Er6jJnsu6VE OdnA== X-Gm-Message-State: AOAM5324Ebi7qvoGtz3c4V0UK2TIq8IJTZRhafwLVshX6LYhnyWe/TjW GxzDzFlc40ZBwOKZBSMjDHlWxo1SZyucEg== X-Google-Smtp-Source: ABdhPJxZwLHHAcs5oIToGijduy+c5bM4Je4oNXfcaGAgpmGT8wODVDWVPNqZT3YTzcupyrKlWRZtZQ== X-Received: by 2002:a1c:bdc2:: with SMTP id n185mr4160832wmf.128.1616608506064; Wed, 24 Mar 2021 10:55:06 -0700 (PDT) Received: from localhost.localdomain (17.red-88-21-201.staticip.rima-tde.net. [88.21.201.17]) by smtp.gmail.com with ESMTPSA id x25sm3414026wmj.14.2021.03.24.10.55.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Mar 2021 10:55:05 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 3/6] hw/isa/vt82c686: Let ISA function expose ISA IRQs Date: Wed, 24 Mar 2021 18:54:35 +0100 Message-Id: <20210324175438.680310-4-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210324175438.680310-1-f4bug@amsat.org> References: <20210324175438.680310-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x32a.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Aleksandar Rikalo , qemu-block@nongnu.org, Huacai Chen , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , John Snow , Aurelien Jarno Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" The 2 cascaded 8259 PIC are managed by the PCI function #0 (ISA bridge). Expose the 16 IRQs on this function, so other functions from the same chipset can access them. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- hw/isa/vt82c686.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 3dc3454858e..4359c87e2ee 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -320,6 +320,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(VT82C686BISAState, VT82C686B_ISA) struct VT82C686BISAState { PCIDevice dev; qemu_irq cpu_intr; + qemu_irq *pic_irq; SuperIOConfig superio_cfg; }; @@ -373,6 +374,13 @@ static void vt82c686b_isa_reset(DeviceState *dev) s->superio_cfg.regs[0xe8] = 0xbe; /* Serial port 2 base addr */ } +static void vt82c686b_isa_irq(void *opaque, int irq, int level) +{ + VT82C686BISAState *s = opaque; + + qemu_set_irq(s->pic_irq[irq], level); +} + static void vt82c686b_realize(PCIDevice *d, Error **errp) { VT82C686BISAState *s = VT82C686B_ISA(d); @@ -383,7 +391,10 @@ static void vt82c686b_realize(PCIDevice *d, Error **errp) qdev_init_gpio_out_named(dev, &s->cpu_intr, "intr", 1); isa_bus = isa_bus_new(dev, get_system_memory(), pci_address_space_io(d), &error_fatal); - isa_bus_irqs(isa_bus, i8259_init(isa_bus, s->cpu_intr)); + s->pic_irq = i8259_init(isa_bus, s->cpu_intr); + isa_bus_irqs(isa_bus, s->pic_irq); + qdev_init_gpio_in_named(dev, vt82c686b_isa_irq, "isa-irq", ISA_NUM_IRQS); + i8254_pit_init(isa_bus, 0x40, 0, NULL); i8257_dma_init(isa_bus, 0); isa_create_simple(isa_bus, TYPE_VT82C686B_SUPERIO); From patchwork Wed Mar 24 17:54:36 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 12161961 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 62964C433DB for ; Wed, 24 Mar 2021 18:12:28 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C5D1C61A24 for ; Wed, 24 Mar 2021 18:12:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C5D1C61A24 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amsat.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:53906 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lP7zW-0004sV-Q6 for qemu-devel@archiver.kernel.org; Wed, 24 Mar 2021 14:12:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37140) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lP7is-0004U3-Sq; Wed, 24 Mar 2021 13:55:15 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]:37846) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lP7iq-0008Vf-TS; Wed, 24 Mar 2021 13:55:14 -0400 Received: by mail-wm1-x335.google.com with SMTP id f22-20020a7bc8d60000b029010c024a1407so1709678wml.2; Wed, 24 Mar 2021 10:55:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RjAULdJLLfqXphaxErcjk/Xv0LxkTKy/1JUt+S9ziaQ=; b=ew3fbTBaRorvz41omS5ieF8HOPSTiR3aj4zWWVBvZZVSQ2N4E1LzOvt2LjIxwsWviP zqvrC+hHCkgK5PLshpA5lqukTRrB75+YohxkCZEZ9QfycM5LPGzPVfDLm6jmqu1DrKtP NnAtDUhZlQg1AXZfW1vlhiKtp/URQAUWoV1Co8mmylhqPzX0fFmJvjakkkHBu7fFb9f4 mww2SIaKKLQZD6cMZeTReiXXGk1jb0mDeZ60LPVCXOyGslnCJwOdwPFifDiXpjXADfn9 VwYIfPLB4X5KIwVyzrLt/ELSx/o0tpN/b0GdItYH8m+TLnyvAJVU/vrMjRIiFZZNYEBE IhWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=RjAULdJLLfqXphaxErcjk/Xv0LxkTKy/1JUt+S9ziaQ=; b=rPK5WyKugKA7XKsB1zr52BmnX1zJscmAnOPd/9amWIyMZY81gFRdSmrXggW7KZNw48 w83Vy630QC4sWMhvwiMPMQp/NoFjQJKMB6igbQFJdfgMeE77e8sKOkzlqZUMwPxHv+Yc qmaIXS8mrTSyTZ8E9gxvbQg9m0So+dwatGGnhrvwtyRozTGrSP9p5nK/CAFyqk3j25yc 0Fi+cBYGC7lRISJrJh43/nxZTTlcfn4G3BtvwTmpSn/pFX7e+RjBlSgQ5t8dc35tFJUi DnsVZpGGr6clQr3eH/lMWEN5CHOre0AjBytGzmm/mnjrBiU+IgrMDWVK7gVpURCsjz8c 35ag== X-Gm-Message-State: AOAM53264nQJ/h1/en4VY0Oft/pjkumW77L57xLaB0lBO4CErsD1jIxe hMXQ8Bhm1xIMYftvw6UL09BRP1ZpMUczpw== X-Google-Smtp-Source: ABdhPJx+f4o1MIxR0D6AdZk65y/2If9Z8Ti6540mucBLkek3QhW0ekQlX9rAORF21Ws2E9u43yRpAQ== X-Received: by 2002:a1c:7901:: with SMTP id l1mr4176259wme.114.1616608511053; Wed, 24 Mar 2021 10:55:11 -0700 (PDT) Received: from localhost.localdomain (17.red-88-21-201.staticip.rima-tde.net. [88.21.201.17]) by smtp.gmail.com with ESMTPSA id b17sm4127034wrt.17.2021.03.24.10.55.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Mar 2021 10:55:10 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 4/6] hw/ide/via: Replace magic 2 value by ARRAY_SIZE / MAX_IDE_DEVS Date: Wed, 24 Mar 2021 18:54:36 +0100 Message-Id: <20210324175438.680310-5-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210324175438.680310-1-f4bug@amsat.org> References: <20210324175438.680310-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x335.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Aleksandar Rikalo , qemu-block@nongnu.org, Huacai Chen , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , John Snow , Aurelien Jarno Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- hw/ide/via.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/ide/via.c b/hw/ide/via.c index be09912b334..6c667a92130 100644 --- a/hw/ide/via.c +++ b/hw/ide/via.c @@ -90,7 +90,7 @@ static void bmdma_setup_bar(PCIIDEState *d) int i; memory_region_init(&d->bmdma_bar, OBJECT(d), "via-bmdma-container", 16); - for(i = 0;i < 2; i++) { + for (i = 0; i < ARRAY_SIZE(d->bmdma); i++) { BMDMAState *bm = &d->bmdma[i]; memory_region_init_io(&bm->extra_io, OBJECT(d), &via_bmdma_ops, bm, @@ -122,7 +122,7 @@ static void via_ide_reset(DeviceState *dev) uint8_t *pci_conf = pd->config; int i; - for (i = 0; i < 2; i++) { + for (i = 0; i < ARRAY_SIZE(d->bus); i++) { ide_bus_reset(&d->bus[i]); } @@ -188,9 +188,9 @@ static void via_ide_realize(PCIDevice *dev, Error **errp) bmdma_setup_bar(d); pci_register_bar(dev, 4, PCI_BASE_ADDRESS_SPACE_IO, &d->bmdma_bar); - qdev_init_gpio_in(ds, via_ide_set_irq, 2); - for (i = 0; i < 2; i++) { - ide_bus_new(&d->bus[i], sizeof(d->bus[i]), ds, i, 2); + qdev_init_gpio_in(ds, via_ide_set_irq, ARRAY_SIZE(d->bus)); + for (i = 0; i < ARRAY_SIZE(d->bus); i++) { + ide_bus_new(&d->bus[i], sizeof(d->bus[i]), ds, i, MAX_IDE_DEVS); ide_init2(&d->bus[i], qdev_get_gpio_in(ds, i)); bmdma_init(&d->bus[i], &d->bmdma[i], d); @@ -204,7 +204,7 @@ static void via_ide_exitfn(PCIDevice *dev) PCIIDEState *d = PCI_IDE(dev); unsigned i; - for (i = 0; i < 2; ++i) { + for (i = 0; i < ARRAY_SIZE(d->bmdma); ++i) { memory_region_del_subregion(&d->bmdma_bar, &d->bmdma[i].extra_io); memory_region_del_subregion(&d->bmdma_bar, &d->bmdma[i].addr_ioport); } From patchwork Wed Mar 24 17:54:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 12161953 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9ED72C433DB for ; Wed, 24 Mar 2021 18:00:37 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F06C761A1A for ; Wed, 24 Mar 2021 18:00:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F06C761A1A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amsat.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:42230 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lP7o3-0007kl-TL for qemu-devel@archiver.kernel.org; Wed, 24 Mar 2021 14:00:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37200) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lP7j3-0004ZT-Cz; Wed, 24 Mar 2021 13:55:25 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:33594) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lP7j1-0000Dy-Bw; Wed, 24 Mar 2021 13:55:24 -0400 Received: by mail-wm1-x32f.google.com with SMTP id w203-20020a1c49d40000b029010c706d0642so3142450wma.0; Wed, 24 Mar 2021 10:55:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gty45V+ZB78Dg7PlBqwanlnH2tyDO4CjBIrDbyz9+DY=; b=px/JkHcVjmfsbg6WT/MygKhtMz7lH8kDj3Ifzn15gvGFBAlRXEqPQ//ce1oHNVadQD pDFCEYZu0HFGpgaupaXv8CAJpEWx4IBz7PSgg0qepbOrw/Cx0HoWAB/ShsrCedvJP1n5 lwsISAI4REtTPOqZHIrQg73CCr7OydJq4HfrCAdlovyWzM0wK2DQ0cdWHxdmHn97wQxt 1Ew9a1BQ0cXErSSykNFnOtV3n1iVOymZYovyxAt/0i6n5ghajAMtt/bEkeL8qDa6yccw etuJAwA3Cl87W/7Zj/wIN4v/FVLbtQ0bWgC5+v6z/GWmsxjfLa6M+nKkYkdR9AVxVQke 74lA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=gty45V+ZB78Dg7PlBqwanlnH2tyDO4CjBIrDbyz9+DY=; b=Rj3JuWNOPuMUz0sG663dfaf+KEZY753LjOQ1z7hAdY97b3zrfwamLxlodbfQ6Jgg+D 8dWmjYzyVYMOK/blV9JmKsowj9nG6FrrD+4DY1Rp4AX7UtwnhlpEDgntDO8enkxHZ7/S hgdreYGNyO+hJQd+pZtiqhukHXo8arDmaejYzVqmS3Xo+IKF90pElx75XtMGl8EYeORO wWCh6HxCZkGBR2Gzk98z2wlVtqnCN3KOSsRi50Kj5boHQZt3kg0iBvDxgFkRnwWAPz7z gLPDMAjsQixdMMnX9NVULtkhyHnipUqLWCkkAG7QbV9ht2KIiMEeyIPVchMbYi3rrdwM mY1g== X-Gm-Message-State: AOAM530U5v3xw8ZuXKs2xTSknYBLxrZD1uyRrfFjhR3C0n/q78COfyQE +F673nWbxREWtbTTUzSuHpieW8de+DOtrg== X-Google-Smtp-Source: ABdhPJw5C+kzADZkeIQF/WYqWU8Ft04/A3obfumYTD1X1vog4zYqbv/sqGUDNoItdrICrZKJKbvnEg== X-Received: by 2002:a7b:c346:: with SMTP id l6mr4142171wmj.34.1616608520822; Wed, 24 Mar 2021 10:55:20 -0700 (PDT) Received: from localhost.localdomain (17.red-88-21-201.staticip.rima-tde.net. [88.21.201.17]) by smtp.gmail.com with ESMTPSA id y1sm3177350wmq.29.2021.03.24.10.55.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Mar 2021 10:55:20 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 5/6] hw/ide/via: Connect IDE function output IRQs to the ISA function input Date: Wed, 24 Mar 2021 18:54:37 +0100 Message-Id: <20210324175438.680310-6-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210324175438.680310-1-f4bug@amsat.org> References: <20210324175438.680310-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-x32f.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Aleksandar Rikalo , qemu-block@nongnu.org, Huacai Chen , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , John Snow , Aurelien Jarno Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" To avoid abusing isa_get_irq(NULL) using a hidden ISA bridge under the hood, let the IDE function expose 2 output IRQs, and connect them to the ISA function inputs when creating the south bridge chipset model in vt82c686b_southbridge_init. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- hw/ide/via.c | 19 +++++++++++++++++-- hw/mips/fuloong2e.c | 9 ++++++++- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/hw/ide/via.c b/hw/ide/via.c index 6c667a92130..7887bf181e6 100644 --- a/hw/ide/via.c +++ b/hw/ide/via.c @@ -33,6 +33,17 @@ #include "hw/ide/pci.h" #include "trace.h" +#define TYPE_VIA_IDE "via-ide" +OBJECT_DECLARE_SIMPLE_TYPE(VIAIDEState, VIA_IDE) + +struct VIAIDEState { + /* */ + PCIIDEState parent_obj; + /* */ + + qemu_irq irq[2]; +}; + static uint64_t bmdma_read(void *opaque, hwaddr addr, unsigned size) { @@ -105,6 +116,7 @@ static void bmdma_setup_bar(PCIIDEState *d) static void via_ide_set_irq(void *opaque, int n, int level) { PCIDevice *d = PCI_DEVICE(opaque); + VIAIDEState *s = VIA_IDE(d); if (level) { d->config[0x70 + n * 8] |= 0x80; @@ -112,7 +124,7 @@ static void via_ide_set_irq(void *opaque, int n, int level) d->config[0x70 + n * 8] &= ~0x80; } - qemu_set_irq(isa_get_irq(NULL, 14 + n), level); + qemu_set_irq(s->irq[n], level); } static void via_ide_reset(DeviceState *dev) @@ -159,6 +171,7 @@ static void via_ide_reset(DeviceState *dev) static void via_ide_realize(PCIDevice *dev, Error **errp) { + VIAIDEState *s = VIA_IDE(dev); PCIIDEState *d = PCI_IDE(dev); DeviceState *ds = DEVICE(dev); uint8_t *pci_conf = dev->config; @@ -188,6 +201,7 @@ static void via_ide_realize(PCIDevice *dev, Error **errp) bmdma_setup_bar(d); pci_register_bar(dev, 4, PCI_BASE_ADDRESS_SPACE_IO, &d->bmdma_bar); + qdev_init_gpio_out_named(ds, s->irq, "ide-irq", ARRAY_SIZE(s->irq)); qdev_init_gpio_in(ds, via_ide_set_irq, ARRAY_SIZE(d->bus)); for (i = 0; i < ARRAY_SIZE(d->bus); i++) { ide_bus_new(&d->bus[i], sizeof(d->bus[i]), ds, i, MAX_IDE_DEVS); @@ -227,8 +241,9 @@ static void via_ide_class_init(ObjectClass *klass, void *data) } static const TypeInfo via_ide_info = { - .name = "via-ide", + .name = TYPE_VIA_IDE, .parent = TYPE_PCI_IDE, + .instance_size = sizeof(VIAIDEState), .class_init = via_ide_class_init, }; diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 931385c760f..f1c5db13b78 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -203,12 +203,19 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, I2CBus **i2c_bus) { PCIDevice *dev; + DeviceState *isa; dev = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), true, TYPE_VT82C686B_ISA); - qdev_connect_gpio_out_named(DEVICE(dev), "intr", 0, intc); + isa = DEVICE(dev); + qdev_connect_gpio_out_named(isa, "intr", 0, intc); dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 1), "via-ide"); + for (unsigned i = 0; i < 2; i++) { + qdev_connect_gpio_out_named(DEVICE(dev), "ide-irq", i, + qdev_get_gpio_in_named(isa, + "isa-irq", 14 + i)); + } pci_ide_create_devs(dev); pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), "vt82c686b-usb-uhci"); From patchwork Wed Mar 24 17:54:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 12161977 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BF4C3C433C1 for ; Wed, 24 Mar 2021 18:17:34 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0503861A1B for ; Wed, 24 Mar 2021 18:17:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0503861A1B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amsat.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:58168 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lP84S-0006r7-Vr for qemu-devel@archiver.kernel.org; Wed, 24 Mar 2021 14:17:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37234) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lP7jB-0004c9-7R; Wed, 24 Mar 2021 13:55:33 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:42886) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lP7j5-0000GI-S4; Wed, 24 Mar 2021 13:55:32 -0400 Received: by mail-wr1-x436.google.com with SMTP id x13so25338227wrs.9; Wed, 24 Mar 2021 10:55:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=33tIPVTTy4w3TP0mdRFjmaEZnocP/TEDVOP38fCjKBg=; b=Vf+xioGAtyAAFH6MTZNUrzcJeMEDwQMCrQU71OTQAGH0XSk0MASnvuQdedyl2ODOLv p0F09a/Et3HuMRrDpKqRwNvU0VlaEkPH4QP5v/6d3XqlRBMoeaZHZ6HJGj6vBlGNFxMB f3xM/QJWTJqr/dzwtD6/yUtzD+UBPRwmRmzsnkGILx0DaMlMzDVmgVoef9LE0uMcSS1D H9RWIsOKvxhiAzgZQdYI1stRuia0ucY96fsmOP7EngnTPj2TRdQuiwOUsH08Yd46aclC 2VKr2LpbStVN6dDeRfxhHWnjEupPUtqdfNsuv5eEhSzxanEGzw6lfiCdA9ymdxfY/qgG NuqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=33tIPVTTy4w3TP0mdRFjmaEZnocP/TEDVOP38fCjKBg=; b=icY5jLfTXQ+tMZpShWPW14VRoLPBy7xBSZwhLHnSp8wBC3fNcj0Ay6LHhcJFmZHvtq PIkIBEcdBIx+BF1W2b2/IVh4rg2suv2DC9TFfWUJXudxPRqGXozx4TCYdLQ01I/7o9O0 /XmlmaLZ1gxVIW/QzK/g6NqwwDKh0yfHn3dUumM+Iz4cXngEg1qKGODbu45h4FvMOuGn HkD3oeQzz74iSUnsDamWwrqfPiGcWxV40ok7RF9N79qrGRGZE1e/UZ7SIlXwc9S93K5V u/FTvj/DtgNzB7jFLTd5zdUKbevotmsie9TXxCYV/cRN6YvRfwx1e7ZkmBoVy8jtyn0W D2VA== X-Gm-Message-State: AOAM531oWVp1IUUZ32k7yTVEqY6PXUTdGgRxOGPm2WmL6wj148JodZ7+ VHSmRWrSklYVESfdU4IQqtbVapsihPWg/g== X-Google-Smtp-Source: ABdhPJzxS8R48h7V6wmk/hb0PvH7C/tSc4VPjUgacpbeKVbqvdFf03g3kcWMR2O5PuFvosjZH0wVFA== X-Received: by 2002:a5d:42ca:: with SMTP id t10mr4743750wrr.274.1616608525921; Wed, 24 Mar 2021 10:55:25 -0700 (PDT) Received: from localhost.localdomain (17.red-88-21-201.staticip.rima-tde.net. [88.21.201.17]) by smtp.gmail.com with ESMTPSA id 12sm3156632wmw.43.2021.03.24.10.55.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Mar 2021 10:55:25 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 6/6] hw/southbridge/vt82c686: Introduce VT82C686B_SOUTHBRIDGE Date: Wed, 24 Mar 2021 18:54:38 +0100 Message-Id: <20210324175438.680310-7-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210324175438.680310-1-f4bug@amsat.org> References: <20210324175438.680310-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-x436.google.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Aleksandar Rikalo , qemu-block@nongnu.org, Huacai Chen , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , John Snow , Aurelien Jarno Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" The VT82C686B south bridge is a single chipset. Model it as a single sysbus device. Move the vt82c686b_southbridge_init as via_southbridge_realize, add the QOM state: ViaSouthBridgeState. This device needs 2 properties to be realized: the PCI bus and its slot number. 2 aliases are exposed: the ISA PIC output IRQ and the I2C bus. Signed-off-by: Philippe Mathieu-Daudé --- hw/mips/fuloong2e.c | 42 +++------------ hw/southbridge/vt82c686.c | 107 +++++++++++++++++++++++++++++++++++++ MAINTAINERS | 1 + hw/Kconfig | 1 + hw/isa/Kconfig | 8 --- hw/meson.build | 1 + hw/southbridge/Kconfig | 7 +++ hw/southbridge/meson.build | 1 + 8 files changed, 126 insertions(+), 42 deletions(-) create mode 100644 hw/southbridge/vt82c686.c create mode 100644 hw/southbridge/Kconfig create mode 100644 hw/southbridge/meson.build diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index f1c5db13b78..01f5ef89339 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -35,10 +35,8 @@ #include "hw/pci/pci.h" #include "qemu/log.h" #include "hw/loader.h" -#include "hw/ide/pci.h" #include "hw/qdev-properties.h" #include "elf.h" -#include "hw/isa/vt82c686.h" #include "exec/address-spaces.h" #include "sysemu/qtest.h" #include "sysemu/reset.h" @@ -199,36 +197,6 @@ static void main_cpu_reset(void *opaque) } } -static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, - I2CBus **i2c_bus) -{ - PCIDevice *dev; - DeviceState *isa; - - dev = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), true, - TYPE_VT82C686B_ISA); - isa = DEVICE(dev); - qdev_connect_gpio_out_named(isa, "intr", 0, intc); - - dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 1), "via-ide"); - for (unsigned i = 0; i < 2; i++) { - qdev_connect_gpio_out_named(DEVICE(dev), "ide-irq", i, - qdev_get_gpio_in_named(isa, - "isa-irq", 14 + i)); - } - pci_ide_create_devs(dev); - - pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), "vt82c686b-usb-uhci"); - pci_create_simple(pci_bus, PCI_DEVFN(slot, 3), "vt82c686b-usb-uhci"); - - dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 4), TYPE_VT82C686B_PM); - *i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); - - /* Audio support */ - pci_create_simple(pci_bus, PCI_DEVFN(slot, 5), TYPE_VIA_AC97); - pci_create_simple(pci_bus, PCI_DEVFN(slot, 6), TYPE_VIA_MC97); -} - /* Network support */ static void network_init(PCIBus *pci_bus) { @@ -325,8 +293,14 @@ static void mips_fuloong2e_init(MachineState *machine) pci_bus = bonito_init((qemu_irq *)&(env->irq[2])); /* South bridge -> IP5 */ - vt82c686b_southbridge_init(pci_bus, FULOONG2E_VIA_SLOT, env->irq[5], - &smbus); + dev = qdev_new("vt82c686b-southbridge"); + object_property_set_uint(OBJECT(dev), "pci-slot", + FULOONG2E_VIA_SLOT, &error_fatal); + object_property_set_link(OBJECT(dev), "pci-bus", + OBJECT(pci_bus), &error_fatal); + sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); + qdev_connect_gpio_out_named(dev, "intr", 0, env->irq[5]); + smbus = I2C_BUS(qdev_get_child_bus(dev, "i2c")); /* GPU */ if (vga_interface_type != VGA_NONE) { diff --git a/hw/southbridge/vt82c686.c b/hw/southbridge/vt82c686.c new file mode 100644 index 00000000000..61c3e6ae306 --- /dev/null +++ b/hw/southbridge/vt82c686.c @@ -0,0 +1,107 @@ +/* + * VT82C686B south bridge emulation + * + * Copyright (c) 2008 yajin (yajin@vm-kernel.org) + * Copyright (c) 2009 chenming (chenming@rdc.faw.com.cn) + * Copyright (c) 2010 Huacai Chen (zltjiangshi@gmail.com) + * Copyright (c) 2021 Philippe Mathieu-Daudé + * This code is licensed under the GNU GPL v2. + */ + +#include "qemu/osdep.h" +#include "qapi/error.h" +#include "hw/qdev-properties.h" +#include "hw/sysbus.h" +#include "hw/pci/pci.h" +#include "hw/ide/pci.h" +#include "hw/isa/vt82c686.h" + +#define TYPE_VT82C686B_SOUTHBRIDGE "vt82c686b-southbridge" +OBJECT_DECLARE_SIMPLE_TYPE(ViaSouthBridgeState, VT82C686B_SOUTHBRIDGE) + +struct ViaSouthBridgeState { + /* */ + SysBusDevice parent_obj; + /* */ + + uint8_t pci_slot; + PCIBus *pci_bus; + PCIDevice *isa; + PCIDevice *ide; + PCIDevice *usb[2]; + PCIDevice *apm; + PCIDevice *audio; + PCIDevice *modem; +}; + +static void via_southbridge_realize(DeviceState *dev, Error **errp) +{ + ViaSouthBridgeState *s = VT82C686B_SOUTHBRIDGE(dev); + + if (!s->pci_bus) { + error_setg(errp, "SMMU is not attached to any PCI bus!"); + return; + } + + s->isa = pci_create_simple_multifunction(s->pci_bus, + PCI_DEVFN(s->pci_slot, 0), + true, TYPE_VT82C686B_ISA); + qdev_pass_gpios(DEVICE(s->isa), dev, "intr"); + + s->ide = pci_create_simple(s->pci_bus, + PCI_DEVFN(s->pci_slot, 1), "via-ide"); + for (unsigned i = 0; i < 2; i++) { + qdev_connect_gpio_out_named(DEVICE(s->ide), "ide-irq", i, + qdev_get_gpio_in_named(DEVICE(s->isa), + "isa-irq", 14 + i)); + } + pci_ide_create_devs(s->ide); + + s->usb[0] = pci_create_simple(s->pci_bus, + PCI_DEVFN(s->pci_slot, 2), + "vt82c686b-usb-uhci"); + s->usb[1] = pci_create_simple(s->pci_bus, + PCI_DEVFN(s->pci_slot, 3), + "vt82c686b-usb-uhci"); + + s->apm = pci_create_simple(s->pci_bus, + PCI_DEVFN(s->pci_slot, 4), + TYPE_VT82C686B_PM); + object_property_add_alias(OBJECT(s), "i2c", + OBJECT(s->apm), "i2c"); + + s->audio = pci_create_simple(s->pci_bus, + PCI_DEVFN(s->pci_slot, 5), + TYPE_VIA_AC97); + s->modem = pci_create_simple(s->pci_bus, + PCI_DEVFN(s->pci_slot, 6), + TYPE_VIA_MC97); +} + +static Property via_southbridge_properties[] = { + DEFINE_PROP_UINT8("pci-slot", ViaSouthBridgeState, pci_slot, 0), + DEFINE_PROP_LINK("pci-bus", ViaSouthBridgeState, pci_bus, "PCI", PCIBus *), + DEFINE_PROP_END_OF_LIST(), +}; + +static void via_southbridge_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(klass); + + dc->realize = via_southbridge_realize; + device_class_set_props(dc, via_southbridge_properties); +} + +static const TypeInfo via_southbridge_info = { + .name = TYPE_VT82C686B_SOUTHBRIDGE, + .parent = TYPE_SYS_BUS_DEVICE, + .instance_size = sizeof(ViaSouthBridgeState), + .class_init = via_southbridge_class_init, +}; + +static void via_southbridge_register_types(void) +{ + type_register_static(&via_southbridge_info); +} + +type_init(via_southbridge_register_types) diff --git a/MAINTAINERS b/MAINTAINERS index 10ed6d76240..65a0ec11c2a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1195,6 +1195,7 @@ S: Odd Fixes F: hw/mips/fuloong2e.c F: hw/isa/vt82c686.c F: hw/pci-host/bonito.c +F: hw/southbridge/vt82c686.c F: hw/usb/vt82c686-uhci-pci.c F: include/hw/isa/vt82c686.h diff --git a/hw/Kconfig b/hw/Kconfig index ff40bd3f7bb..76e35ad189f 100644 --- a/hw/Kconfig +++ b/hw/Kconfig @@ -32,6 +32,7 @@ source rtc/Kconfig source scsi/Kconfig source sd/Kconfig source smbios/Kconfig +source southbridge/Kconfig source ssi/Kconfig source timer/Kconfig source tpm/Kconfig diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig index 2691eae2f0c..34adc411fa6 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -41,14 +41,6 @@ config PIIX4 select ISA_BUS select USB_UHCI -config VT82C686 - bool - select ISA_SUPERIO - select ACPI_SMBUS - select SERIAL_ISA - select FDC - select USB_UHCI - config SMC37C669 bool select ISA_SUPERIO diff --git a/hw/meson.build b/hw/meson.build index 8ba79b1a528..4bdd254e041 100644 --- a/hw/meson.build +++ b/hw/meson.build @@ -31,6 +31,7 @@ subdir('scsi') subdir('sd') subdir('smbios') +subdir('southbridge') subdir('ssi') subdir('timer') subdir('tpm') diff --git a/hw/southbridge/Kconfig b/hw/southbridge/Kconfig new file mode 100644 index 00000000000..356434f4e44 --- /dev/null +++ b/hw/southbridge/Kconfig @@ -0,0 +1,7 @@ +config VT82C686 + bool + select ISA_SUPERIO + select ACPI_SMBUS + select SERIAL_ISA + select FDC + select USB_UHCI diff --git a/hw/southbridge/meson.build b/hw/southbridge/meson.build new file mode 100644 index 00000000000..53b02e9563c --- /dev/null +++ b/hw/southbridge/meson.build @@ -0,0 +1 @@ +softmmu_ss.add(when: 'CONFIG_VT82C686', if_true: files('vt82c686.c'))