From nobody Fri May 17 06:54:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.208.53 as permitted sender) client-ip=209.85.208.53; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-ed1-f53.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.208.53 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=1620706738; cv=none; d=zohomail.com; s=zohoarc; b=Fo26qSglTPvdamPExxdy2sjCvcbNCUQ0yBzuNT7yH+5M4lRmo8dUwMQY0Inuv2lWtIfHUsjj/2iFYYU7PaAGRFovHxMAdljtejsLhA1kKQ/+TzDxjcqETcVL2VOgb+tEhPL7J4WvMNHqSn750gBejk2H9VR2RPnoU2Nk3xifuPA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620706738; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=uvjYpJUwPPmwk0d8vTJ2ieq8cyVViRv2inIUUD5YBiM=; b=IXZ3qmQumWaDXh8k3APLNVU/EFNAxDzbV7y66/CWFxLZm/ir2ThPYS/UoLChRGbuJqOK3E4XPZnTyDe+/aoJiS5XcSqQExBvbqprxa30FeCT7JWEY65bi0CtES6K4CM5SDYUZA8SitOe4NUS+Xy58pBgZBM8s8Lh0AKXsTctZNs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.208.53 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) by mx.zohomail.com with SMTPS id 1620706738228297.3378479150123; Mon, 10 May 2021 21:18:58 -0700 (PDT) Received: by mail-ed1-f53.google.com with SMTP id n25so21227996edr.5 for ; Mon, 10 May 2021 21:18:57 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id 11sm10228499ejx.55.2021.05.10.21.18.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 21:18:56 -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=uvjYpJUwPPmwk0d8vTJ2ieq8cyVViRv2inIUUD5YBiM=; b=qmq4tvg6RUAds/rdzUzYtEPdOXhRk+Tjfa6JfMaJ07NWZUxWuPmFRRPe3qy9Psc2CZ dOIj9N2rQJP5sf7Vh6UvT0vXXoV6dsLYzkD2CZcB82KwXGz2A6jhjy0rK+QsaxvalA58 clTs/yFpPEuLj6zMqWSMfs1yCSleeF9EnCW+YmBCRgZ7LdRLWX8YJc9Ez6ReQEThSNH/ 79cvXPP9OY3k/m7s7FyqB1FDPs2Q+93fedUOB5ENGF+jjxVko8K1lfHq/9gekdWcIiqn FzmAJgGXIUR9nDo2kS/lGttQuiE26J4Q9n6R2XpGXba7Wxxu7orBhZ5tmxZfmioH/FQV Hfsw== 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=uvjYpJUwPPmwk0d8vTJ2ieq8cyVViRv2inIUUD5YBiM=; b=sssNr9criqosvzx2zAdC1oxbuahFUCnIIgr/zSzInSOFFBIgGpUim7ypPAe86RXU19 9YWw7Zp+hHSzazbTBDyaW/DnEICLxlZ+wHGtNm/DXpbA7P2AptXKlmRAPn3EiN9eQwCA CqfAw2urgJ/gQ7vgpU4aQsyEggKPapulf3k49eA8xe/+53EQVRV5Bew+IiRQnkoKz5Rg fy9PabI7A4ihvO6ItfniPEpl3WhG5dL0/675t7C6B9H9jaqHJAWfUu2GDt4y1CmMET1S 5NnMF70AwJN0m2bhBjlyEw26EyqQygCP7lwoq7K94Lb5IgMYbAFkD0WTufrPx4tX+N+o n2gQ== X-Gm-Message-State: AOAM530wICSrCvMokUTpos40q1KwHfFuJeSIPSbML9vmsgDO+lZ6oSvG eJ2nSoSjWZNtjCJmj4yUKi8MS2N8nVuvLA== X-Google-Smtp-Source: ABdhPJzmMxF7DAKKFb0gxgyqSH3oZLW1u6D8aKiTlq5BPjKA0AW6N3h5uRrhDC4AwlAB7JnB/YObUg== X-Received: by 2002:a50:fc0b:: with SMTP id i11mr34512393edr.259.1620706736519; Mon, 10 May 2021 21:18:56 -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: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, Jiaxun Yang , Huacai Chen , BALATON Zoltan , Aurelien Jarno , John Snow Subject: [PATCH v2 1/6] hw/isa/vt82c686: Name output IRQ as 'intr' Date: Tue, 11 May 2021 06:18:43 +0200 Message-Id: <20210511041848.2743312-2-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210511041848.2743312-1-f4bug@amsat.org> References: <20210511041848.2743312-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 --- 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 f57f3e70679..b177016125d 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -615,7 +615,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 c1b8066a13b..3e7a7e4389d 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -204,7 +204,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.3 From nobody Fri May 17 06:54:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.208.49 as permitted sender) client-ip=209.85.208.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-ed1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.208.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1620706743; cv=none; d=zohomail.com; s=zohoarc; b=VxQvqLQRty8iPrUjvJWt/PMkqsn4KrhvjDPTdz2O3qirSGB6mE84tYDZf5Tt0FcnjSRtc3pd7WYzg/mKKqsTTSZ3U6Pad4mIQMJMObZpqZ4sYp3dQ1L4F4T7Sa/BpeFXwygTpP4B6Um1LfjDloGLmmPnqw2DsEl/uS69EX01wFU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620706743; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=DiFFH8O4TIOlJxeMKOOEACbUi4Vw6SFr1FrtvEk5qRE=; b=Vnrm2t2hafqWD3vx6XQF/hd1B1S3/TeED9XKSMsEcUzhvtEDQMYajPfYJSdldtFWCTqJi+U/8d5iJz5+GWzGj13HbY4bDeS62QFJ104UDFKvJxbuWI6TBkQvvJCjfT4o5S/yToJ0xGgN/9cIjYy6mSsS0zM75A7TubRfiBwG174= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.208.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) by mx.zohomail.com with SMTPS id 162070674384395.2310292604003; Mon, 10 May 2021 21:19:03 -0700 (PDT) Received: by mail-ed1-f49.google.com with SMTP id b17so21252152ede.0 for ; Mon, 10 May 2021 21:19:03 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id g4sm13080055edq.0.2021.05.10.21.19.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 21:19:01 -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=DiFFH8O4TIOlJxeMKOOEACbUi4Vw6SFr1FrtvEk5qRE=; b=Cq3bzcIjQIHrJrSKnHQOMDPGmQEvteAwjVoQ0IqnVsCKSDsQPZv7CCf0XDeYzfjIOv BIbwfq4vQBfzigO1jy8ysnydjbkBS6/Yl9oiTJF2FUdZRXco7KdTiQx4GzbU1Nm09kxs qDMdmS8cqo/8bVBRdxnhbJQhmJMKRjY3dHARpS7GlVK6LSOaJwBqCmLTvXI/KY8LnBzT y0J8LWxMfYVSfXNWUoUbQuulfd+bkqIjXcA99yyyjytd/7TJ5w7rQmnyueN7KAw4lb2z aNMdOWiC5nFgQU/Kxdk5ARas7en03K8LnLRioHHDtyAyB3XAmJRyKmMtEi1I6t4IhHPN 3jeA== 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=DiFFH8O4TIOlJxeMKOOEACbUi4Vw6SFr1FrtvEk5qRE=; b=GQyrMiX5WCr5+Ju5Cl4nmKdzfNweRIK2tIoXsISN+eWH/GjPuADF8QmsizlZUFY+sI bwPI9kuFY0vULbd1jLytWzQlTDwHaMwpHc0gNYELOhmrG9X7cPyveQeCoP7q0FGGq7RT KqK8e/4cfc9At8WpP4vNFtgqHdmT4/6xJ/inkyOdrFpwBZF9seibS2Vi6QrMmZh5tdCF N9Jgxu8Uhop22YtPwgz8r0xuAaqHlbZXehJpIfQV25FQOXsTtKIsPLJMQb0F125hLg2B q6AOjGaHZwy1biOL986w2OsMEgjg5v73O1zdVahb5eKpuvidnaed6G8SPhACJPyogaZM dEzA== X-Gm-Message-State: AOAM530E6ChMktSNv2pS11tCfxq8XZzH0R4w6mkP9w/72BoD8tl1Z21W DPcs10n+bnsx5no6UXkog0I= X-Google-Smtp-Source: ABdhPJyWUYTPZzrNyB/5Hf7Op/WCbE+5Cfz8A+1PSMeuHDR0mxT282UpV4In2loruKtE/pVUXFJ5wA== X-Received: by 2002:a05:6402:12c6:: with SMTP id k6mr33326023edx.372.1620706742138; Mon, 10 May 2021 21:19:02 -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: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, Jiaxun Yang , Huacai Chen , BALATON Zoltan , Aurelien Jarno , John Snow Subject: [PATCH v2 2/6] hw/isa/vt82c686: Simplify removing unuseful qemu_allocate_irqs() call Date: Tue, 11 May 2021 06:18:44 +0200 Message-Id: <20210511041848.2743312-3-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210511041848.2743312-1-f4bug@amsat.org> References: <20210511041848.2743312-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 --- hw/isa/vt82c686.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index b177016125d..2ce5c6cbb00 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -566,12 +566,6 @@ static const TypeInfo via_isa_info =3D { }, }; =20 -static void via_isa_request_i8259_irq(void *opaque, int irq, int level) -{ - ViaISAState *s =3D opaque; - qemu_set_irq(s->cpu_intr, level); -} - /* TYPE_VT82C686B_ISA */ =20 static void vt82c686b_write_config(PCIDevice *d, uint32_t addr, @@ -612,14 +606,12 @@ static void vt82c686b_realize(PCIDevice *d, Error **e= rrp) ViaISAState *s =3D VIA_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); s->via_sio =3D VIA_SUPERIO(isa_create_simple(isa_bus, @@ -693,14 +685,12 @@ static void vt8231_realize(PCIDevice *d, Error **errp) ViaISAState *s =3D VIA_ISA(d); DeviceState *dev =3D DEVICE(d); ISABus *isa_bus; - qemu_irq *isa_irq; int i; =20 qdev_init_gpio_out(dev, &s->cpu_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); s->via_sio =3D VIA_SUPERIO(isa_create_simple(isa_bus, TYPE_VT8231_SUPE= RIO)); --=20 2.26.3 From nobody Fri May 17 06:54:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.218.48 as permitted sender) client-ip=209.85.218.48; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-ej1-f48.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.218.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1620706749; cv=none; d=zohomail.com; s=zohoarc; b=C++5B8HqGijwceRRlav2rgEIITUNqEUrd18G9Yj4fB3rEUMQevT07uRQioQpIE3H6Tb5kKP0vg37ZGnSWYSWKNd5A9oZ5PFVE+dYEl7/voSooxQpKKG7KK2emw8fEg+g1w+OyIwP+c7cvzYsk4SPL9NBZYlnAbApRZe0kQ/LlUA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620706749; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3Ro9uQRBpJ49CS78Xti8kfKpJL6WmeL7s1iNvRPW0Dw=; b=n2C8NaVCWh217tv0yHy6Z3fUUk+jLO/zA19j7ccC8BmVGl9b3sViWcdeBd922y2UrGPM1ct1aG8TA29vBmKNSxci12Ko7RJncn3yBtjmKnCZhdYd+Uj1Dy1i8pyBoCvOjrDjFvAkRz4qrYmojCa1K4f48O9FJsroSwIONvg6Rig= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.218.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) by mx.zohomail.com with SMTPS id 1620706749340183.26404800604132; Mon, 10 May 2021 21:19:09 -0700 (PDT) Received: by mail-ej1-f48.google.com with SMTP id j10so652329ejb.3 for ; Mon, 10 May 2021 21:19:08 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id z22sm10584940ejo.113.2021.05.10.21.19.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 21:19: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=3Ro9uQRBpJ49CS78Xti8kfKpJL6WmeL7s1iNvRPW0Dw=; b=IBTjkJHfNszluJOjk3BVFnR5zPuqOy8Y46bo6LlLWIE8VycTcqrDOP/tUUVG+6JVPt IHUiUYLxH6AxkV23faRCLG2/pSvVZU2gJz1t0DjJtdaS30LDvsSyg4m2JprGm4QBbLO9 vqJNY2V6bMPqBUzE7YI1iDq37KpAdi1thOTx5PGAvjcytZtm2//iALiE7x44rDQCkUfn +dkTbp0mz1u/e0v/dSBeb/raoAG8N2yOHkLzr8LkbwAzbJz1j4w2EIK7VjWVzikQ/Vr3 VWKRz2d5zXLBcBo/OUI6g1NDBOrc8yD4DBZUkM/oSSGuWwneqaKKaNI6v66Y0ga/j5qC zyPg== 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=3Ro9uQRBpJ49CS78Xti8kfKpJL6WmeL7s1iNvRPW0Dw=; b=SssRw2QxJLllZiFM0M2FOjCi2iI3B6pQszLYoGExq5wJEXGJYcLYSlK4fDoHCanuhx 9TGPfYW/TtXIWHyM+JELa7qLLXPttRfWdXo/dO3ms5ID3AvWeOQKkk+SH4/Au3O0dQIC /pmRQZcW94XdjZNtnThiTSDCqMTyVdZebDyZJ9/DuYWrqzPSPFBQF8pfmMhBrvnZJ2kY 2eCXSwqUlJu1ovJMdhcfarAGTvmoG68K6EVoQKjSfNAnRe8I87mEeOwCvUl+5kq9d8Q+ 6S12aOXYcgee+yMploFgTzrvDI3l3vWRTj9MuFP5rhj3JuoS0j+VphhPTvsEGFBUNC6U c6YA== X-Gm-Message-State: AOAM533PidrAFwQxXYVzV/sRGuEAnK5W0HWknccdu7SuDEOkuj/xCLVA JxKYFUx5nAY2Rw4Rap45EipNt4VX6hUvfw== X-Google-Smtp-Source: ABdhPJzUltF6WlzlfavaOC4kF0/uaaCHdulRbVAsemV0EuibVzMH33N8XtUBPU99x2/bRniwTUz00Q== X-Received: by 2002:a17:906:d1d2:: with SMTP id bs18mr7270012ejb.56.1620706747659; Mon, 10 May 2021 21:19:07 -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: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, Jiaxun Yang , Huacai Chen , BALATON Zoltan , Aurelien Jarno , John Snow Subject: [PATCH v2 3/6] hw/isa/vt82c686: Let ISA function expose ISA IRQs Date: Tue, 11 May 2021 06:18:45 +0200 Message-Id: <20210511041848.2743312-4-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210511041848.2743312-1-f4bug@amsat.org> References: <20210511041848.2743312-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 --- 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 2ce5c6cbb00..388833f4eb1 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -542,6 +542,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(ViaISAState, VIA_ISA) struct ViaISAState { PCIDevice dev; qemu_irq cpu_intr; + qemu_irq *pic_irq; ViaSuperIOState *via_sio; }; =20 @@ -601,6 +602,13 @@ static void vt82c686b_isa_reset(DeviceState *dev) pci_conf[0x77] =3D 0x10; /* GPIO Control 1/2/3/4 */ } =20 +static void vt82c686b_isa_irq(void *opaque, int irq, int level) +{ + ViaISAState *s =3D opaque; + + qemu_set_irq(s->pic_irq[irq], level); +} + static void vt82c686b_realize(PCIDevice *d, Error **errp) { ViaISAState *s =3D VIA_ISA(d); @@ -611,7 +619,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); s->via_sio =3D VIA_SUPERIO(isa_create_simple(isa_bus, --=20 2.26.3 From nobody Fri May 17 06:54:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.218.46 as permitted sender) client-ip=209.85.218.46; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-ej1-f46.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.218.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1620706754; cv=none; d=zohomail.com; s=zohoarc; b=ULTrWlDfRImzvIoAhOk/vBxmnXiavFV7ENsz1cX48qSWzdkoLoLyu1Ojv8i1qe6QP1/FlePhEJ4gmqifPe56IabokGtmSmZgijHryiQJadecZAT4HLhjbBL5ab029LCpuV+xLEHICscr++sW+1tE3ZfVdu22SxEtjjGbfI1PoVQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620706754; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=iRm53kHLT4/pnioKido8rYXjx6j0CRl97jvo0aFqgdc=; b=Kx7GYO4//gypwANf0PcdRa1LTISHlAcoERF77/8SeZMD23m8w7yWKjvIJE2k7YF2iTMm18tFkF0usSfkMroCKj5wBHqvNIu7NWf9a0WyhMhb2yjLjgOPMMOR/yQg0+ynuVPrbxfLyxkptgUNcXMe2AbQXdcZ4xVR5x+yJx0ddhU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.218.46 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) by mx.zohomail.com with SMTPS id 162070675486384.05641347440849; Mon, 10 May 2021 21:19:14 -0700 (PDT) Received: by mail-ej1-f46.google.com with SMTP id s20so22197067ejr.9 for ; Mon, 10 May 2021 21:19:14 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id s12sm1300068edr.54.2021.05.10.21.19.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 21:19: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=iRm53kHLT4/pnioKido8rYXjx6j0CRl97jvo0aFqgdc=; b=PVekdm2feesMQBHWZ4jhMBIrHBn03oO2suMIHccOwdmcuz23zBO+drwISsx+DO/H88 UMZWZMbTSIYYqiMZQ/L+mIXSztF+Imk9nzfX8cZu9dNpRSNzSyZnhoHH4LM7I+lOlxJ/ 45OOpaWNH41yT+XaOnoV4B8XCwKTnlfYdf42wzHif3aFM8hWqZWkM0i1jtNzlzIdebpk 4fCvcK8uwkKOJNI/2Lyo5ym6dwHq9z3UHOJGg54hT0+82SGRJ4RmuoBZRlwOsiYt12lo nKzsBR+OMGdmj+qpXxQ8E3G3ZfU79Mq4y4AaztQXt6y1BzYdLmZiDTuriYXR4DfhUDrh LZsQ== 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=iRm53kHLT4/pnioKido8rYXjx6j0CRl97jvo0aFqgdc=; b=RoQOMv/bw8Jg/BLGloOFsas38X4RifVeWSTtICL1BWLVTPCJKHUdJBa5npQTraKwY8 IkRBbObCvqFTbJFx7uph8pBQD/d3ZLBHqcVinssiDDkdHHnrKB/Qki0bs2I1VNuJ++PH WAvNg17hcDT/XFqpPXfrI4fXyRF/w0IbBrLKbq27ZQ9s7ubdXdV+hMtS5C1u+lX+WYZr gIMd+6vK7dD2is3LHnJVDdSB87DEEqvST5oDtBirrw8lN1TAGXORa7ukZkhDui15bGHE KV0jmrWhWDUOq3Y+NpeJV58jFUEQrJH6qqaTQfhK85QzrT0J/wVnU0MLie/nvDu3954L Czaw== X-Gm-Message-State: AOAM532Rh89VqZOyXA+zc50rI/qK86RX6PsMmp0zfp3W3cLfGvwRCsXX iD2IcqpqUVTbgApHqcCqyQc= X-Google-Smtp-Source: ABdhPJx03hO8nZubSLFIkytGQiRgZRp9i/WaE6m1Jcm5qQlXogNcewzHHEzzvHusIw6n5S6vRsygRA== X-Received: by 2002:a17:906:3b84:: with SMTP id u4mr29371173ejf.131.1620706753099; Mon, 10 May 2021 21:19:13 -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: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, Jiaxun Yang , Huacai Chen , BALATON Zoltan , Aurelien Jarno , John Snow Subject: [PATCH v2 4/6] hw/ide/via: Replace magic 2 value by ARRAY_SIZE / MAX_IDE_DEVS Date: Tue, 11 May 2021 06:18:46 +0200 Message-Id: <20210511041848.2743312-5-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210511041848.2743312-1-f4bug@amsat.org> References: <20210511041848.2743312-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 Acked-by: John Snow --- 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.3 From nobody Fri May 17 06:54:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.218.51 as permitted sender) client-ip=209.85.218.51; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-ej1-f51.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.218.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1620706760; cv=none; d=zohomail.com; s=zohoarc; b=QGUAJb0pIxbQ8/45alIadHh1T1f2r0DGZWLYbe6CkMGkWjpqvlAgzk5cgCCudt3L4ex16FYGh+gWp1RzgP300vzJ4gwwfMSVLbAkt7aH2vBkKtQppQ/CYrokfRo1If1Iik7ZdFunCRoy6OrPq3hlvhzh0tIus6Nsa7GBWpOJtLo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620706760; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=9KXY+rSnFHdghr1cU4rScJTvInhkNqH47h5SdvllRlA=; b=Mio/mQHSJtPLpiDrUqlljey2h43DwGNXHY+tQwGoAtVx8tRFowdf1A0+UjhocDjXZtB8PyKYTkYMvJEyAQQb1Z1b3Fmkq/LbuHs0hi8B0O2OUboHTrMkG40f0CR4zMGnH/lRuVhyu8JXcmlrpFrK4qqkN1X6eZ8TE68DGfEAhho= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.218.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) by mx.zohomail.com with SMTPS id 1620706760386963.2883649932711; Mon, 10 May 2021 21:19:20 -0700 (PDT) Received: by mail-ej1-f51.google.com with SMTP id a4so27744146ejk.1 for ; Mon, 10 May 2021 21:19:19 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id kx3sm10552169ejc.44.2021.05.10.21.19.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 21:19:18 -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=9KXY+rSnFHdghr1cU4rScJTvInhkNqH47h5SdvllRlA=; b=EpDEOGYhd50hrCIRqa1lkP0tf923p+Hq+9kZcCApmCpeFjvapzhdztwVijzvEewlOa KrzEdN0yzRk/QXeHUc7XSn6ukZWpEgOV/2KMyI6BeZdlMuSazMwnf+icX8vGRLzEyESB o5fxHO8lKC9B/NCZCeDVqkvs320skSPu0Khk3yBilMlovLpp+BdsgWPPpJ6YDRZBDy4Z H4ZsrgmGXc0sLfSk7t5wZuIqn/6cj1zB+2VOB2J+1w30UKb91VFjsF389e90F6TncuJr uzyX4fCEFKjuu6BgT/Sq/odjvoROuO2kLmL2Lb30AQvrG+iVDul2mrch4qtu4HUcujzi SzCQ== 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=9KXY+rSnFHdghr1cU4rScJTvInhkNqH47h5SdvllRlA=; b=KxeJwltd6/j1GDEZD3quRD7A3EW2iRNTqbY7F8wNhNAbdiLMxn1JKYvHMpW8uvD2As 3X27urzwDqnBObghdot+hukOh0L8PBtlBto9129PfIU+PDYu99HI7zHHTg9s66TS1rzV kaAp+hBIREgG3bjCaad0PyVG97B2uwbZwy33sGgRRINEvLnOfR0rFnoDIHzPAIKVJErF MJaOS+OU8vhlZP5GWkZkYGF2qQDlpDSxaX67MXpZ7YBTAxGccFJkwR84/TIWoLlcMXr2 kDZSv0EnDq+Jxh/bLThxmoVWcgm75MXVAL51AvdkLnjb0ccaX1cnGgWSQILUaVVeEMpI wDOQ== X-Gm-Message-State: AOAM532q2PRLH1b0Wvx2SO83mqrHe83ZlFgskatgmRaS45M0A7Ta0NPJ WHyqfUA2yvOnl1kToQb6j9Y= X-Google-Smtp-Source: ABdhPJw8ho81RakrRar8zcDDGvV9u/KIYjxdBHg2f/a+zVj+nfdCg6pDLBcKrI5VKOHh0sFVzod/4A== X-Received: by 2002:a17:907:10c6:: with SMTP id rv6mr28920397ejb.526.1620706758695; Mon, 10 May 2021 21:19:18 -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: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, Jiaxun Yang , Huacai Chen , BALATON Zoltan , Aurelien Jarno , John Snow Subject: [PATCH v2 5/6] hw/ide/via: Connect IDE function output IRQs to the ISA function input Date: Tue, 11 May 2021 06:18:47 +0200 Message-Id: <20210511041848.2743312-6-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210511041848.2743312-1-f4bug@amsat.org> References: <20210511041848.2743312-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 --- 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 3e7a7e4389d..17b5e41cc7d 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -201,12 +201,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.3 From nobody Fri May 17 06:54:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.208.43 as permitted sender) client-ip=209.85.208.43; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-ed1-f43.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.208.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1620706766; cv=none; d=zohomail.com; s=zohoarc; b=bEsNm6qVoAWYmDLdohHRisIk+Afdi0DhWVEP+4v0k+mCVV2/hIWbiQY9vkkefl2ov0DO/U/IZgc//dfgd2FF3i5QUDHwL6SeDsuQdu1UFGn46IBaYTaZMAKMiH0c3RtKh9IiKDZidedeRopLKyFJOMRHu06I4iLsivWFLMkskd0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620706766; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/3Yynvr1P7yFEDXhFoiql/cxgKEcoEqVN7i2A6aEmWk=; b=ehuSzCrALQfxBMy4qNC/dMhnqP7o32o2ecNP6SQtTIMkkWy+oAOsefvg/g/0Wwl8R1llEaITLksPFP5wlDwJthqanFr78v4SaQDuYz71q2nZTHgBsHVguTEZy66JWlKbI0YAwi/croH/T0ywOieXsOByx6kSsWmLbkt/OOCVtBg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.208.43 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) by mx.zohomail.com with SMTPS id 1620706766358991.899472694052; Mon, 10 May 2021 21:19:26 -0700 (PDT) Received: by mail-ed1-f43.google.com with SMTP id r11so6375465edt.13 for ; Mon, 10 May 2021 21:19:25 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id t22sm13227282edw.29.2021.05.10.21.19.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 May 2021 21:19:23 -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=/3Yynvr1P7yFEDXhFoiql/cxgKEcoEqVN7i2A6aEmWk=; b=ecBQv14HinBAAzp2Uoc+hvv8FquxYmZ8CQz6AK4y0MOJan267kuc7jaqTZNthL+/dr tEdfogKWQ7FuIHyquoAsTybHPDOy5ZKd/IrbOsk4bPuqvoRsXsEsHJp7bmibNCGo+JKF Q+g/90pVjlvk2a4TQHbXUbEPy+gsGqWWfp2yOmuhkfhvODAAIaGyGvtHjFhL7bFVhEXP P0ywjsfFlPqSdfMFdYJky29yugQQQ6v5z4r34E+SxB3AGflFibheZWI9cfJQlHGwwv9G 2HmK6bD8j9KaRzSL9yZJX0XtJh1SY52OuqeLzvf5kf7ntOJlC25+eDK86fwVhFpqwpzL Zk9A== 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=/3Yynvr1P7yFEDXhFoiql/cxgKEcoEqVN7i2A6aEmWk=; b=KG+UibcsuIhcXDyMMXIxBYWYZVr/NZ/k19qKCD4Ch8doRMunjbSQgJUj7lJ1Lvwgui BlixJSfZwB5VNefc5NR1Lz1c18U96vPyfCuBw68ByqdOtsS2mfpa0IYeiMVMyKaLgRhY iVQy7ldp7ufqLFFtVweqjKqKjJNQdAG6quD6hkbMbWwFg8iQpZuy0Q8inuFDpBNp5NAi Ak0VJ+kedMG1QQYyoGkMk0yItuA/Adkwnl91lVlk2MlritaF/C46G6jAcIf9GengRaVD rECUE1b6BJPIns8NuGGWPiFZNcCI2Z7UIfwhxf9uiV+VW0koFsgWOWZdRgezOB+cWQNi Pryw== X-Gm-Message-State: AOAM530mV7QJkXT6cNtTtu50zVkaX7lIIZrEWTXBHUzKuduMOLWPe9Vm Uzqqgy8ktnDGjWLnnKjz8eY= X-Google-Smtp-Source: ABdhPJwnkY1wSLnwdGQKi/2CT+n53CuSBqUqtfOCPje6vW1XIBCU6S4YsTmUBK19eOzyUDXQXX0X7A== X-Received: by 2002:aa7:cc98:: with SMTP id p24mr8557197edt.353.1620706764107; Mon, 10 May 2021 21:19:24 -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: Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, Jiaxun Yang , Huacai Chen , BALATON Zoltan , Aurelien Jarno , John Snow Subject: [PATCH v2 6/6] hw/southbridge/vt82c686: Introduce VT82C686B_SOUTHBRIDGE Date: Tue, 11 May 2021 06:18:48 +0200 Message-Id: <20210511041848.2743312-7-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210511041848.2743312-1-f4bug@amsat.org> References: <20210511041848.2743312-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 | 9 ---- hw/meson.build | 1 + hw/southbridge/Kconfig | 8 +++ hw/southbridge/meson.build | 1 + 8 files changed, 127 insertions(+), 43 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 17b5e41cc7d..00aa085b982 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -34,10 +34,8 @@ #include "hw/mips/cpudevs.h" #include "hw/pci/pci.h" #include "hw/loader.h" -#include "hw/ide/pci.h" #include "hw/qdev-properties.h" #include "elf.h" -#include "hw/isa/vt82c686.h" #include "sysemu/qtest.h" #include "sysemu/reset.h" #include "sysemu/sysemu.h" @@ -197,36 +195,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) { @@ -323,8 +291,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 b692c8fbee2..3275479672a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1204,6 +1204,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 55e0003ce40..34adc411fa6 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -41,15 +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 - select APM - 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..9cd9fe5ee64 --- /dev/null +++ b/hw/southbridge/Kconfig @@ -0,0 +1,8 @@ +config VT82C686 + bool + select ISA_SUPERIO + select ACPI_SMBUS + select SERIAL_ISA + select FDC + select USB_UHCI + select APM 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.3