From nobody Sun May 5 15:26:40 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.53 as permitted sender) client-ip=209.85.221.53; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f53.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.53 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1616608487; cv=none; d=zohomail.com; s=zohoarc; b=AxLwrvnuHTGdN/PE9dWF7lFTLHIpH0rYOnrA092lb5aYojxmLHQTtJaKwTrLvBxrFpXGa9hDqO3fKIkWAnMgRcPQe/4xpnb8XDeBKwbgcjmdvNztqBUN19vfhifn+RXnnW7nQxKywiPRInYOTPSO/DFEGwviU6VbWmctAqaVRL0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616608487; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3a+HGyI7KD3Ew+RNtm2N2A+m/+QQ+Xa+aHzvmMpU2j8=; b=QKkohu0kpCUe87PqlF5WpjsVyLcAm9REfN3oqE+1jA4LjZUy5JOTTy0M4V4fxG/AO49gmEsaAIJV4aYSAmUSnbjWotHvJuOWUhhGoJ9dOugW4nqVt5Wh7UC62zBD9UA8ojvWs12iJYbLLuVd1/6SDKn4t0IZ7Ls81rYFdSkDaUE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.53 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) by mx.zohomail.com with SMTPS id 1616608487892852.1834606620627; Wed, 24 Mar 2021 10:54:47 -0700 (PDT) Received: by mail-wr1-f53.google.com with SMTP id j7so25366480wrd.1 for ; Wed, 24 Mar 2021 10:54:47 -0700 (PDT) Return-Path: Return-Path: 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) 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=mz+2HWSKezUHL94ygb6PwKR5e6V5DfXujRQiIa+z/og8pWTFuDfmpid2mk3qy2RG4k lgY0KvMCZ+VqWHf7+MtDihThaw44zDq0Bh438t39QB2oJECXrhcv0KX2CDYscNhlSZI9 zah5W71WqkyBrNMfpNlWqR4suuhOzwq1q+ho6fSyXOV6FCYGuyqHgPPh8qd4Jz0fpPbV QkZOW17o4FsswwTPBfw6dHmpBC5NDd9m1a2iYFt1W65faqAkBiz++bRI5zt8Ft2zW2BM 0cmT4R5V4TNdnveHsBOAglyK0/hktoimtEUpHH70E1Hb8jyCOxqqW1TK0lZjnUL4B48t OgrQ== X-Gm-Message-State: AOAM533V3ZEyWNnkuIKvaOnuf9R2iVFboES2LBXvzoRYVMdnu00GUTVm BmuyRbDiXrWcAoR5XZWDpNs= 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) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: BALATON Zoltan , Jiaxun Yang , John Snow , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, Aleksandar Rikalo , Huacai Chen , Aurelien Jarno 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Named IRQs are easier to understand in the monitor. Name the single output interrupt as 'intr'. Signed-off-by: Philippe Mathieu-Daud=C3=A9 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 **err= p) qemu_irq *isa_irq; int i; =20 - qdev_init_gpio_out(dev, &s->cpu_intr, 1); + qdev_init_gpio_out_named(dev, &s->cpu_intr, "intr", 1); isa_irq =3D qemu_allocate_irqs(via_isa_request_i8259_irq, s, 1); isa_bus =3D 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, =20 dev =3D pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), t= rue, TYPE_VT82C686B_ISA); - qdev_connect_gpio_out(DEVICE(dev), 0, intc); + qdev_connect_gpio_out_named(DEVICE(dev), "intr", 0, intc); =20 dev =3D pci_create_simple(pci_bus, PCI_DEVFN(slot, 1), "via-ide"); pci_ide_create_devs(dev); --=20 2.26.2 From nobody Sun May 5 15:26:40 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.45 as permitted sender) client-ip=209.85.128.45; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f45.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.45 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1616608503; cv=none; d=zohomail.com; s=zohoarc; b=bpCGap00BhHV3m0dgzr5L9Cge1sh94mcy2+0e9MxObLD7Sw+TIULw9odskGLHHvSzzfvu7CYJjfgk7Mh7rAf3UkToGcm6Z32n/8iUMjgXpjfiuTyt0LqHGRR6dLTvyKT+tpFcIbpZ+/w716UjD6omw1utJS1gMIwUrPmp29KvIA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616608503; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=H3nW2fhq4tUhZ3Vvu7VChClLWULSqHl3aIZiVAgZl48=; b=KxZkb4hX85j2bgmjjstnCoUcesARLbjhuopfEip3NtRUZCzq8wMPCDoQVte+rSA2sG5A+cV6I2voxf0fbIqU9yVaG+0k4/7qLibefR6/FV/8cbrvFQqJ6FR5u99jGeTJOjqPS9tgqIudb0MznTK4jTeDcr+WpxpmDQGBFf4sK8s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.45 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) by mx.zohomail.com with SMTPS id 1616608503071354.0117892714726; Wed, 24 Mar 2021 10:55:03 -0700 (PDT) Received: by mail-wm1-f45.google.com with SMTP id j20-20020a05600c1914b029010f31e15a7fso1710725wmq.1 for ; Wed, 24 Mar 2021 10:55:02 -0700 (PDT) Return-Path: Return-Path: 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) 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=swheq99F9Y/GVYibzkzFx/yaKe2kHdnXKsD4ybRParWpelx+nk6NF0OFDrODWJIwjP 3kCsOV/DEr9+GPiDY5klM8MeC1L0nu0Yi6EeHxQKcLkTJUd3yOgTujUAWQvKogzvF7JV 18ulLcOz24e1Bdyacmb74Ume/qWgLLEE2uysw6CDlB0IjtV0PkC8lw7zI8ltKLLlzi9V P+kQWg2ulDqqXWIXugrSdu+Sracv26Vp+YkC0dTtiI6QzyQ+miSs20bFr+MurZYCkCQA mlVBcujklh4XZERyhR7/LR/si7qTWK5Gm4j5EfuCCormH34o5IhRG2m1bVFoADsED+fH Tapg== X-Gm-Message-State: AOAM530wl3YVVYy0vDMety2OhBbh9O88AVNHJlPJpY7zb3HUyhuSHhZM IEzU9lc7H0mkym3J0VAgZIk= 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) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: BALATON Zoltan , Jiaxun Yang , John Snow , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, Aleksandar Rikalo , Huacai Chen , Aurelien Jarno 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) 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 brid= ge") Signed-off-by: Philippe Mathieu-Daud=C3=A9 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; }; =20 -static void via_isa_request_i8259_irq(void *opaque, int irq, int level) -{ - VT82C686BISAState *s =3D 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 **e= rrp) VT82C686BISAState *s =3D VT82C686B_ISA(d); DeviceState *dev =3D DEVICE(d); ISABus *isa_bus; - qemu_irq *isa_irq; int i; =20 qdev_init_gpio_out_named(dev, &s->cpu_intr, "intr", 1); - isa_irq =3D qemu_allocate_irqs(via_isa_request_i8259_irq, s, 1); isa_bus =3D 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); --=20 2.26.2 From nobody Sun May 5 15:26:40 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) client-ip=209.85.128.46; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f46.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1616608507; cv=none; d=zohomail.com; s=zohoarc; b=gA9YYJJAbWy7w/m1p+6zSCRTwXZ4VlJ7XTRDqoYyj0HKh+9Pncpfsrswddqegjpu6EGX8GNHnzCEfde8jVa2CEvdfyyxQ7WRiNjOYwHoasktbKtQ5P6AVnJJxtoEOkAV9aq5K3vDz+ZtQLeot8a5j4uRpUy98R8TVxO485F8Kqg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616608507; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FzI31dN/YNq+VHVWsKeAjQQulyO/vssJBqSN8FGglrs=; b=A6GevO4gFsYQO7RtmlvjTURfxPoOMV3dZdqVvt3oJnd1NUu6ZlEbylQXUP0AHTBzwCZEjmO+tasDRxUqHk6ExQu+DVaK3VL0/OtXUVeRuoDDasm/clOg7Rn0dtmuL4MGYjl3WMPOgDSpfIcBrCTUQ4o60/FLao+9ND05V2ddUlg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by mx.zohomail.com with SMTPS id 1616608507837910.4733601532186; Wed, 24 Mar 2021 10:55:07 -0700 (PDT) Received: by mail-wm1-f46.google.com with SMTP id n11-20020a05600c4f8bb029010e5cf86347so3126709wmq.1 for ; Wed, 24 Mar 2021 10:55:07 -0700 (PDT) Return-Path: Return-Path: 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) 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=g886bFHjjShCh0AaW6X7vRxGdet/Dm7Z1Z0nmCvfgpalXCAGaoo5xnLKheiAOR+H1V oPp2s5yG3Ho43F3Y1l8TsrFv+debvRLtZ37kDJMqhYav7AxQADWGCOWDM7PIiptxcJOH WyUz9sGITzEx8+uNxPopX9EW8WNmBqNFEI1ZdtqgL9V9D6KrO7vB2Hw2zb2x7MmI3alA g/tA6GLkAg9DIRcUCb3l89GTIM0G0en8OcFxUQMImQsqkECq52/WBtHHxD27L/im/02+ 3KQIZ9xO5xjaKkULQBi9GoKY3o62VWVXaMk1nHKavbs3qu3ilmUh000G5x/WrVcPT4IK Unqw== X-Gm-Message-State: AOAM530nSP6icECX0pITPc51jLHmqdm/BSkBfWKamaINQXFQqvkMorZF e8CeSMG/PnZnwCKtig/P78c= 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) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: BALATON Zoltan , Jiaxun Yang , John Snow , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, Aleksandar Rikalo , Huacai Chen , Aurelien Jarno 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) 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=C3=A9 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; }; =20 @@ -373,6 +374,13 @@ static void vt82c686b_isa_reset(DeviceState *dev) s->superio_cfg.regs[0xe8] =3D 0xbe; /* Serial port 2 base addr */ } =20 +static void vt82c686b_isa_irq(void *opaque, int irq, int level) +{ + VT82C686BISAState *s =3D opaque; + + qemu_set_irq(s->pic_irq[irq], level); +} + static void vt82c686b_realize(PCIDevice *d, Error **errp) { VT82C686BISAState *s =3D VT82C686B_ISA(d); @@ -383,7 +391,10 @@ static void vt82c686b_realize(PCIDevice *d, Error **er= rp) qdev_init_gpio_out_named(dev, &s->cpu_intr, "intr", 1); isa_bus =3D 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 =3D 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_IRQ= S); + i8254_pit_init(isa_bus, 0x40, 0, NULL); i8257_dma_init(isa_bus, 0); isa_create_simple(isa_bus, TYPE_VT82C686B_SUPERIO); --=20 2.26.2 From nobody Sun May 5 15:26:40 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) client-ip=209.85.128.46; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f46.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1616608512; cv=none; d=zohomail.com; s=zohoarc; b=FeGPTD6pWDL0rO/Ksh+wWQfWHr95PzgoOrQMugIbPJMVZitz1UGTtGzlp1I73oGdSDSMTi1WPXUMtEmkfaJW1bxvekb2O3VLKQuNmtewkKPx84xf44nGFrbPrTY8sqk7b8fMLo0s56WGV/0PA0TG2xRxKK8ORg2LkK+LqWXoRzA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616608512; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=RjAULdJLLfqXphaxErcjk/Xv0LxkTKy/1JUt+S9ziaQ=; b=BpaOTlsMlIrHhxS8+ZSBJln2gwxCja5J7oKwEIdO+ah0TMtqYEqfyIMdX61XKhCsgCZFNO/h5yiKp2zeOtw1btc3c5PiAHKmpytK7uul1GGwwfxoiQmcCYv3jnAIVSiu+PB+6ONHOc/8NnPua/7yQF0mQuUbu8mhcSAjs4VuymY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by mx.zohomail.com with SMTPS id 1616608512828276.8981023430897; Wed, 24 Mar 2021 10:55:12 -0700 (PDT) Received: by mail-wm1-f46.google.com with SMTP id r10-20020a05600c35cab029010c946c95easo1686917wmq.4 for ; Wed, 24 Mar 2021 10:55:12 -0700 (PDT) Return-Path: Return-Path: 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) 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=qmlo7R1SzzaVtCaC6caPNSh2HInkRWyIH9LWbXcKr5SBes0ZEtXNnmPnXiUVDVYnAc QcHGSZ9GXqF41a531WoxTkc27bmBHJjOWPvPrgSqwNODqjKMGNtUN6eq1udx23UvcjC7 fgQLok75PL9FcsC+Bt4fuqAL/dxMycABfF1ot8IObR82WqbcwLarHEL16TAxTqZCzReS odV4QjPV4IqOaI5FSNELSYl+vrrKxuJN2DMzbwMGCKgFWja65O85D+wyUcSShC5wfINg TdkatYzANQUskQuBV1CVVESktdVRz2uDN8j7TdUBJ6B1mbT02T64FHzjz5PGB7enL4UM RNgA== X-Gm-Message-State: AOAM531w+UgPHkiIDWLe+/6rmRosP1eZsRxzFy/k+hI760cLISpwAiCH +CZzFs8Q1LYQ2kvJzrmoa/4= 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) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: BALATON Zoltan , Jiaxun Yang , John Snow , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, Aleksandar Rikalo , Huacai Chen , Aurelien Jarno 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Signed-off-by: Philippe Mathieu-Daud=C3=A9 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; =20 memory_region_init(&d->bmdma_bar, OBJECT(d), "via-bmdma-container", 16= ); - for(i =3D 0;i < 2; i++) { + for (i =3D 0; i < ARRAY_SIZE(d->bmdma); i++) { BMDMAState *bm =3D &d->bmdma[i]; =20 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 =3D pd->config; int i; =20 - for (i =3D 0; i < 2; i++) { + for (i =3D 0; i < ARRAY_SIZE(d->bus); i++) { ide_bus_reset(&d->bus[i]); } =20 @@ -188,9 +188,9 @@ static void via_ide_realize(PCIDevice *dev, Error **err= p) bmdma_setup_bar(d); pci_register_bar(dev, 4, PCI_BASE_ADDRESS_SPACE_IO, &d->bmdma_bar); =20 - qdev_init_gpio_in(ds, via_ide_set_irq, 2); - for (i =3D 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 =3D 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)); =20 bmdma_init(&d->bus[i], &d->bmdma[i], d); @@ -204,7 +204,7 @@ static void via_ide_exitfn(PCIDevice *dev) PCIIDEState *d =3D PCI_IDE(dev); unsigned i; =20 - for (i =3D 0; i < 2; ++i) { + for (i =3D 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_iopor= t); } --=20 2.26.2 From nobody Sun May 5 15:26:40 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) client-ip=209.85.128.51; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f51.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1616608522; cv=none; d=zohomail.com; s=zohoarc; b=aQAa3Z1605ePVhLWEPK3fgFtUhsJ9ypDpBtxKjRk+zCG/Wkede6AJ/3+6TNfkgqqcgdb1qJ4TibR6ARmEIYbHdK3xi7DeJvBhXxiIWTkKAFUsc/byxypqv/ghh1LehQumwnknTfAzzjCcd7DivTRKDrjTfhpzTRTsQaOX2a6JlM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616608522; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=gty45V+ZB78Dg7PlBqwanlnH2tyDO4CjBIrDbyz9+DY=; b=iZoeNNXsNklWj3Ic8z/yyxbSPmpVWft2jaLHTvB+x/uqbOGW5D6myTdzEVSp9KBM5jUZ7GH227g1Eh11xCErVfWmHNbr72Qx8ORa5p3I1XzkgaIzNmMRemC17acyXJrpaS5BUOkSdl/5tjxWm/BgEBX5/Wo69Y4JyCRYzZr4gT4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by mx.zohomail.com with SMTPS id 1616608522615924.1481835499131; Wed, 24 Mar 2021 10:55:22 -0700 (PDT) Received: by mail-wm1-f51.google.com with SMTP id j4-20020a05600c4104b029010c62bc1e20so1696132wmi.3 for ; Wed, 24 Mar 2021 10:55:21 -0700 (PDT) Return-Path: Return-Path: 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) 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=iMQYM4XM7eKztMcI1Moyu9Cz+0Hk9ODXYStYcbjbgzdDnjEwBY2gUQUzcn9HW6y3Rl YTUQOk6Ri90qsm6lkm3ekLeUJ3DQKP71EKjg+73TgKcxm8gH3FDUD9P0vOpzu/waKSD1 L4TQQk10caIqdV0TykQQUs0R0aPo0l+FYkwG9zoMMgXkY+mBM5WjDrRFH6OutUARbn0F JE8xNkSl48jQQ0Ccz6f14Qmke/Uk36/dk/kRmvi3hZc6k6GVQnoGyJBG9h0zkp7FTiWu Fza83oRKnNmkNhd9js0VDLfB77b9AEfWyBZsSg1Uv3NNMWAzzmqM8fHEe5JMSMv6cFsn Y2cQ== X-Gm-Message-State: AOAM530YjANBnbpHZkNpF+PB2ldGWvqVQ+qa5hI0Plp1qcOOlLIKUxKK tBBHRh+u3kknkKSwQJGi1Rg= 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) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: BALATON Zoltan , Jiaxun Yang , John Snow , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, Aleksandar Rikalo , Huacai Chen , Aurelien Jarno 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) 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=C3=A9 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" =20 +#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 =3D PCI_DEVICE(opaque); + VIAIDEState *s =3D VIA_IDE(d); =20 if (level) { d->config[0x70 + n * 8] |=3D 0x80; @@ -112,7 +124,7 @@ static void via_ide_set_irq(void *opaque, int n, int le= vel) d->config[0x70 + n * 8] &=3D ~0x80; } =20 - qemu_set_irq(isa_get_irq(NULL, 14 + n), level); + qemu_set_irq(s->irq[n], level); } =20 static void via_ide_reset(DeviceState *dev) @@ -159,6 +171,7 @@ static void via_ide_reset(DeviceState *dev) =20 static void via_ide_realize(PCIDevice *dev, Error **errp) { + VIAIDEState *s =3D VIA_IDE(dev); PCIIDEState *d =3D PCI_IDE(dev); DeviceState *ds =3D DEVICE(dev); uint8_t *pci_conf =3D dev->config; @@ -188,6 +201,7 @@ static void via_ide_realize(PCIDevice *dev, Error **err= p) bmdma_setup_bar(d); pci_register_bar(dev, 4, PCI_BASE_ADDRESS_SPACE_IO, &d->bmdma_bar); =20 + 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 =3D 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) } =20 static const TypeInfo via_ide_info =3D { - .name =3D "via-ide", + .name =3D TYPE_VIA_IDE, .parent =3D TYPE_PCI_IDE, + .instance_size =3D sizeof(VIAIDEState), .class_init =3D via_ide_class_init, }; =20 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_bu= s, int slot, qemu_irq intc, I2CBus **i2c_bus) { PCIDevice *dev; + DeviceState *isa; =20 dev =3D pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), t= rue, TYPE_VT82C686B_ISA); - qdev_connect_gpio_out_named(DEVICE(dev), "intr", 0, intc); + isa =3D DEVICE(dev); + qdev_connect_gpio_out_named(isa, "intr", 0, intc); =20 dev =3D pci_create_simple(pci_bus, PCI_DEVFN(slot, 1), "via-ide"); + for (unsigned i =3D 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); =20 pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), "vt82c686b-usb-uhci"); --=20 2.26.2 From nobody Sun May 5 15:26:40 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) client-ip=209.85.221.42; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f42.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1616608528; cv=none; d=zohomail.com; s=zohoarc; b=BT9kGTyzeUMBjX4QVL9oO2qv/p3tKo+FyOj8RsPZbqYssubqvX7pVaAye0GVm/QMx1/25PrxqlOkHNZNWKDyjgmSU7eVR2yuDCbYzS5DPCMn+Wir5hpN0Da3HG54rSHkToZOOZHpVProz+5TF3+9M6cfOnoyxIqXIQv0YxglUoI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616608528; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=33tIPVTTy4w3TP0mdRFjmaEZnocP/TEDVOP38fCjKBg=; b=XfESqxN4mV/NKfz0/B45sS7w5rzahR9wGxctCLZQjNgrSofBG+ILw2hqHKrYXyPenxatBxshV70G9oLiw+GCx+vqOCROm/2AeO7JLrc2hsB9tSCRx0SMwJ39mBtOjRPviYAMKGv7FkFjCYXMqcAI/W9e4SV1scSXbIZF0rtNjYg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.42 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) by mx.zohomail.com with SMTPS id 1616608528786480.9496758359029; Wed, 24 Mar 2021 10:55:28 -0700 (PDT) Received: by mail-wr1-f42.google.com with SMTP id x13so25338210wrs.9 for ; Wed, 24 Mar 2021 10:55:27 -0700 (PDT) Return-Path: Return-Path: 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) 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=j7us1YcErD+KVdTUHSyRghfH3jHmtoqglj5XwkLGH0yFN14YO9LcWyKAwdD5lCNDK0 +p2E9rBjWklPoOiQRIikEiWa1nylHdRHU4M2N0he/Ibojo1+irPyFuB5Vn18rWEZCIkb ugAA6RtPVwpVOglXeM1nZWkVJpjYX5vCfM/5tLFlG0e3BcWaZPWB6HSeUKj8wZsGucC+ bPokxXrVIJF3uJ9n+EaF/9NkK2Bbj5Q3dSYwJwQS2o93lOyIYh9VBHQ2dzwAePWZQSoP pABUxQUKrcuGIV8mQW0x6JzJvQ9rYLAY2vYsrlun535CP6weFTXGlOVl6r8jNVP8ThCS ZHhw== X-Gm-Message-State: AOAM532/rt/8ExRGewN9hXSa2YJDKZMuITZepoInS6DbZGnZfvFrCVDu 5WnUq6xPj20WkBJHzMx8lG8= 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) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: BALATON Zoltan , Jiaxun Yang , John Snow , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, Aleksandar Rikalo , Huacai Chen , Aurelien Jarno 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) 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=C3=A9 --- 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) } } =20 -static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq= intc, - I2CBus **i2c_bus) -{ - PCIDevice *dev; - DeviceState *isa; - - dev =3D pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), t= rue, - TYPE_VT82C686B_ISA); - isa =3D DEVICE(dev); - qdev_connect_gpio_out_named(isa, "intr", 0, intc); - - dev =3D pci_create_simple(pci_bus, PCI_DEVFN(slot, 1), "via-ide"); - for (unsigned i =3D 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 =3D pci_create_simple(pci_bus, PCI_DEVFN(slot, 4), TYPE_VT82C686B_= PM); - *i2c_bus =3D 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 =3D bonito_init((qemu_irq *)&(env->irq[2])); =20 /* South bridge -> IP5 */ - vt82c686b_southbridge_init(pci_bus, FULOONG2E_VIA_SLOT, env->irq[5], - &smbus); + dev =3D 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 =3D I2C_BUS(qdev_get_child_bus(dev, "i2c")); =20 /* GPU */ if (vga_interface_type !=3D 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=C3=A9 + * 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 =3D VT82C686B_SOUTHBRIDGE(dev); + + if (!s->pci_bus) { + error_setg(errp, "SMMU is not attached to any PCI bus!"); + return; + } + + s->isa =3D 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 =3D pci_create_simple(s->pci_bus, + PCI_DEVFN(s->pci_slot, 1), "via-ide"); + for (unsigned i =3D 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] =3D pci_create_simple(s->pci_bus, + PCI_DEVFN(s->pci_slot, 2), + "vt82c686b-usb-uhci"); + s->usb[1] =3D pci_create_simple(s->pci_bus, + PCI_DEVFN(s->pci_slot, 3), + "vt82c686b-usb-uhci"); + + s->apm =3D 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 =3D pci_create_simple(s->pci_bus, + PCI_DEVFN(s->pci_slot, 5), + TYPE_VIA_AC97); + s->modem =3D pci_create_simple(s->pci_bus, + PCI_DEVFN(s->pci_slot, 6), + TYPE_VIA_MC97); +} + +static Property via_southbridge_properties[] =3D { + DEFINE_PROP_UINT8("pci-slot", ViaSouthBridgeState, pci_slot, 0), + DEFINE_PROP_LINK("pci-bus", ViaSouthBridgeState, pci_bus, "PCI", PCIBu= s *), + DEFINE_PROP_END_OF_LIST(), +}; + +static void via_southbridge_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(klass); + + dc->realize =3D via_southbridge_realize; + device_class_set_props(dc, via_southbridge_properties); +} + +static const TypeInfo via_southbridge_info =3D { + .name =3D TYPE_VT82C686B_SOUTHBRIDGE, + .parent =3D TYPE_SYS_BUS_DEVICE, + .instance_size =3D sizeof(ViaSouthBridgeState), + .class_init =3D 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 =20 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 =20 -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')) --=20 2.26.2