From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682451; cv=none; d=zohomail.com; s=zohoarc; b=fhsgvW6BfeJf2mJzdcvz+LA8YnIQ2RMouoY11X8AZbj5qFnSrHEAHnT6j2bohc+2HX2tSjoI/dD0+JEjrGF+Ap/xy8QLMlT7BqpI0ObH6IRNWbeurmA6pvDbtmUz1jC/wi6Lvo46mcZSftpnncGatiXkwE58ZJk5kMo10/ezS7o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682451; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=P285wl7tofy1lIjcvNIZ65kpg20VmShLy89nxVn9z+4=; b=Wrv5O0/Bpwh7X7wHXEwlNUJA7+IL3txTRDgnWIB5x/EvEliQm8AQvsAnreyD9xGhRFWFLoycVK9x766vIoDA6G9KhYuUGrzyIWDZKdiAQeTmCFwJQs+zzawwGji3XE+fsGCDfKc6PvhGm5gd6QvUVH/R5tqdxjlY/XbKK0OUnS8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682451659888.8490290055421; Sat, 7 Oct 2023 05:40:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6aC-0002pE-EC; Sat, 07 Oct 2023 08:39:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6a9-0002nx-6f for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:38:57 -0400 Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6a7-0002jM-J7 for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:38:56 -0400 Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-9ae7383b7ecso911886166b.0 for ; Sat, 07 Oct 2023 05:38:54 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.38.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:38:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682332; x=1697287132; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=P285wl7tofy1lIjcvNIZ65kpg20VmShLy89nxVn9z+4=; b=YYINf02B636QamHnOzDY9D2oIRG6ISx4iOgSjKkGGn7AagnlITi2gS5MNr0jGflwZd 1P2V+PapZk1Qpt1SD9y8cHy7RUkXbMWipJhj6oKkPe209x/lSd9QFL8r7+olD4liVNcs +HH5NUHoczL7+tVwYJBUCPgNo/uuSdAMJi0Y6JjnSPysC6ugHOUtwmGGtUhrmanV9Z1F pV1+CgZ5nf2blw/o4BLH7n2hybfC0XSbExTK9i3kYRzlBdOsccDJfqCYTDYpmyynrwzn 6bd/yyvPZa6yaTexm8K9I6Xe7fT8SaK7EEUZO4FQ6iDeChAn9O39QImcgjOBx7zb2KXp AvuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682332; x=1697287132; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=P285wl7tofy1lIjcvNIZ65kpg20VmShLy89nxVn9z+4=; b=wDIrQ+qstcPwrapCn5KG2zl3nUzqzYlpslW5lLmOJg1NptmqQsiq2hZf6GrqtJ3N/B jAL5pn8Aq/xiVOa06fGz2JM3mG5x3lF6YEgAX4siZIlTYdgE23Ia6i/3+mcKXKkIjkBH ACVb7opkuZWsQBcDsuIdchqmjR8doasqCyaYLOA3CTrnt1Dv10ONMhntHldZG+G62dLw ghjqR1PtmeQAssMx0XyusiZC4lNG+28MIzL/+ZpEUmGUDwyhlfnn78mRo6sO/qqMzM4P xJRe7QciBR+e4rGQDRC/otNs2WbLMLv98SrpUMvobDSw+9ZW8iWBPpIhRGoM3AauEHjE V70Q== X-Gm-Message-State: AOJu0YxQLzEZU99k28xgJM8iH5MkK5bsO76gfIlZn5XaeyvIlg4M5t8N lEjwN5lA79yqh1TaDXI537ZO30C9+Vk= X-Google-Smtp-Source: AGHT+IGbeg0EzjU9T4sZsvSgHjPKvTMZpKY49VjLkoaFW0YU+wNB0zO0ACq6N2g3ETOBCXUXH52uEg== X-Received: by 2002:a17:906:6a28:b0:9ad:cbc0:9f47 with SMTP id qw40-20020a1709066a2800b009adcbc09f47mr6353637ejc.12.1696682332349; Sat, 07 Oct 2023 05:38:52 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 01/29] hw/i386/pc: Merge two if statements into one Date: Sat, 7 Oct 2023 14:38:09 +0200 Message-ID: <20231007123843.127151-2-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::632; envelope-from=shentey@gmail.com; helo=mail-ej1-x632.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682452877100001 Content-Type: text/plain; charset="utf-8" By being the only entity assigning a non-NULL value to "rtc_irq", the first= if statement determines whether the second if statement is executed. So merge = the two statements into one. Signed-off-by: Bernhard Beschow --- hw/i386/pc.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index aad7e8ccd1..2fbdff89e0 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1200,7 +1200,6 @@ void pc_basic_device_init(struct PCMachineState *pcms, DeviceState *hpet =3D NULL; int pit_isa_irq =3D 0; qemu_irq pit_alt_irq =3D NULL; - qemu_irq rtc_irq =3D NULL; ISADevice *pit =3D NULL; MemoryRegion *ioport80_io =3D g_new(MemoryRegion, 1); MemoryRegion *ioportF0_io =3D g_new(MemoryRegion, 1); @@ -1220,6 +1219,8 @@ void pc_basic_device_init(struct PCMachineState *pcms, */ if (pcms->hpet_enabled && (!kvm_irqchip_in_kernel() || kvm_has_pit_state2())) { + qemu_irq rtc_irq; + hpet =3D qdev_try_new(TYPE_HPET); if (!hpet) { error_report("couldn't create HPET device"); @@ -1244,9 +1245,6 @@ void pc_basic_device_init(struct PCMachineState *pcms, pit_isa_irq =3D -1; pit_alt_irq =3D qdev_get_gpio_in(hpet, HPET_LEGACY_PIT_INT); rtc_irq =3D qdev_get_gpio_in(hpet, HPET_LEGACY_RTC_INT); - } - - if (rtc_irq) { qdev_connect_gpio_out(DEVICE(rtc_state), 0, rtc_irq); } else { uint32_t irq =3D object_property_get_uint(OBJECT(rtc_state), @@ -1254,6 +1252,7 @@ void pc_basic_device_init(struct PCMachineState *pcms, &error_fatal); isa_connect_gpio_out(rtc_state, 0, irq); } + object_property_add_alias(OBJECT(pcms), "rtc-time", OBJECT(rtc_state), "date"); =20 --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682383; cv=none; d=zohomail.com; s=zohoarc; b=IAdW2QgPNoAkHbIqoYYAd+9QOU/+gtQuB14/BmEX8lN2SSa3J3ZnPFFjcHTrkPyBMjOaFRjln+L8TUQC9h9uutwWRzl4W/oSKh3do7gdSOlR0h4eaGVqtQqXH9DVuCNAuPR8uF8seM6U2dotU9Wfeq7WWq2tuX4B4fiEs5up4gU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682383; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=YASwfFdHYaCXC89A/pWkmcUw1AbhKq8L9jnJIbHajvA=; b=XJQYFsUiG7DHT5SYLtmuKsI4Mm3gNWALY0fo7IaZT9SM5Z6EzFIsLdOaizRqoEoyAKLvUvWyefRkueW71SJoeO7JeAYzWGC5vNQUprd0rTVOglW8BAoVATZiPF0A+JJbY4c/GgQK2T3uUtC7TthzzFPSGwEF0sjpBaFlzoNgiPY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682383686886.7662074898082; Sat, 7 Oct 2023 05:39:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6aB-0002oN-4j; Sat, 07 Oct 2023 08:38:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aA-0002oD-Bh for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:38:58 -0400 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6a7-0002jU-Lo for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:38:58 -0400 Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-99bdeae1d0aso565163566b.1 for ; Sat, 07 Oct 2023 05:38:55 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.38.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:38:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682334; x=1697287134; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YASwfFdHYaCXC89A/pWkmcUw1AbhKq8L9jnJIbHajvA=; b=Xgh1TNh5xYUFbT1Ag5a3UYVdGcaLQ78BwjK+eQXUZ+/B9lmHWeHtNyokur1UYjDu5n 6HZsf1fJdHaw+bNDnQYyV6BJo1RVlve5GXTYZ/R5q1grxK7DeBz9FSwbea0DW4KRusk6 8KPwJ+cTTIeiTfkWvjs8oCwPBFqOZxTjwMe5q5WrhPvDyBUaS1frxc837VT4vP6Cftyl vCy0lAmNiKyyB6/PjXLsVlhqOk0jrIH3/SWq9JZSBs+oeSc2697Y+eBLOMjCPgn3L2jY q/SRHU7afXJWxC2k/vbaHVmQdmVBHDPug/TN3b1b4lfQw96vfZYD7hTP8apNzYDHWBMz e/8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682334; x=1697287134; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YASwfFdHYaCXC89A/pWkmcUw1AbhKq8L9jnJIbHajvA=; b=o6ApE4OEVe/2uMoXzeJ6S2Ymht+IUqdEneWnUfNgXqQQJSX/iQVhChck1OCV4rgwzy 437AJg9AEhZWSbgYKyjlvXzyHhuCRIKk2huUdW2TPXEbX2gmrT8wdIEWiLhK9mpLA/Xv S78ZvuKwbpjbA2F1rJNoJ9MoGcuNTyuqhSdhwv4GGIoUr2WKql6M72wUiXD9VGV87is/ bpGLUOcI5BXXhMjHk7f3BwH5wZ5U/dibaJy1bCNO6Fa6lxoetA1XMX2W/2iU5PlYji7j 81Q547lFoPKqmHhFgevh7g18xa+98oqVYcGQav9+b7SY3upT+6exdNnOik5Y/29T4Jf/ YSAA== X-Gm-Message-State: AOJu0YzG5Xhst8p/FTJxQZzCzt8xlSa8IRoWESzoZlZCbTkZ854daAz8 vncuSrax3oDRlBdZbn16pKqqbbUG5KI= X-Google-Smtp-Source: AGHT+IHgLlAPGoUzdu6ZPNMeeb0uq9Yiy2+Nvo6vkjhgBeNBWQwwLx+thLlqXf8K8dGfH9h3xhg9QA== X-Received: by 2002:a17:906:8467:b0:9ae:62ec:f4a1 with SMTP id hx7-20020a170906846700b009ae62ecf4a1mr9183965ejc.33.1696682333537; Sat, 07 Oct 2023 05:38:53 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow , Peter Maydell Subject: [PATCH v8 02/29] hw/i386/pc_piix: Allow for setting properties before realizing PIIX3 south bridge Date: Sat, 7 Oct 2023 14:38:10 +0200 Message-ID: <20231007123843.127151-3-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62c; envelope-from=shentey@gmail.com; helo=mail-ej1-x62c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682385527100002 Content-Type: text/plain; charset="utf-8" The next patches will need to take advantage of it. Signed-off-by: Bernhard Beschow Reviewed-by: Peter Maydell Reviewed-by: Michael S. Tsirkin --- hw/i386/pc_piix.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index e36a3262b2..6d2f5509e6 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -264,7 +264,8 @@ static void pc_init1(MachineState *machine, PIIX3State *piix3; PCIDevice *pci_dev; =20 - pci_dev =3D pci_create_simple_multifunction(pci_bus, -1, TYPE_PIIX= 3_DEVICE); + pci_dev =3D pci_new_multifunction(-1, TYPE_PIIX3_DEVICE); + pci_realize_and_unref(pci_dev, pci_bus, &error_fatal); =20 if (xen_enabled()) { pci_device_set_intx_routing_notifier( --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682356; cv=none; d=zohomail.com; s=zohoarc; b=SiV9IGXbOlT2pv1zNuCHVrJn5jDY2P2lW+EU6hSKEOk5wl1ZqZfYGgZdwI01vZE79hQ33aSZa4cX0xrm7wiONHeh3ArN8KVDucO582LEKdaIx7gBKul1FSwr6c6XydiUB36rShvLIsAbVCIeA0WfNRA6VC26ZGgoeO4GcX2k25Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682356; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=DzK1a2suX16jXRtK99yMNcoH6cs1OCetOB1WLNV/G9A=; b=TBN65Dp6wY4wzMtn2evIt1bk3Z9Xl5J9yoTHpLhW4fxtVQgnWdNBCS3mVVb16GcYw1NmCBM397U6FYjQcnA9OG59xk8J7dekT7CphD58r49EiFPI5C9+CwoH04zGk/Yf9YCB2BKVrT9TDakRA80F6FgRyntDE0nR5+eyumGnhws= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682356889889.5037977935622; Sat, 7 Oct 2023 05:39:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6aD-0002pG-0O; Sat, 07 Oct 2023 08:39:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aB-0002p4-Kv for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:38:59 -0400 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6a8-0002jc-VK for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:38:58 -0400 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-5334d78c5f6so5311476a12.2 for ; Sat, 07 Oct 2023 05:38:56 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.38.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:38:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682335; x=1697287135; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DzK1a2suX16jXRtK99yMNcoH6cs1OCetOB1WLNV/G9A=; b=jgHCPAYqc0+Ai4VYfSXzoBQWlJhWjCiDMwVkOBW5qNTVb2E+8PiB8cftBJKlzTtn+s uSr06dCxVD5T1vS8fRLN8tf01r2sHdLGEGZuJ2yjiqSy4B5dLostOcoG/m2+roWyMfmv FJDp2imQ/l4I9C5tcQu6uwM2jlX4WuttksdJAe3ZjquYBdu7ilfm9W8QCcTrTIk79yDe t2D/xZLNyByL4Xef5TbK4sZLAmBzR1IWk4EWWRuX9vxpYeXVbFAtmqW2hTissjaQthAH wNGWxPUwVRmf3RRLQhLCLiamU7Qup7CrVcqsCxkWdon3bj2epf0fs9W1y6m9JkYNbuAS kwHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682335; x=1697287135; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DzK1a2suX16jXRtK99yMNcoH6cs1OCetOB1WLNV/G9A=; b=rHfrcG0cRYt+oD2pLuv3oj6jPtlAfpaq6J5vlpTJA+vfJvLVQIbk09FL489lOKFlIZ uS/AKs/4G90AU+1OGgKP9GktC5i8MiDtz+DtFNgiBbYWuxbh4U4CKTbGwnlPT9Xg6tC1 QW+AqujVQW/8bYDqjTsY/dzY9UCn3AXzQJNH0yl2PrBXxelk1Ij2iGJPVw5jGpcElEzw lNTZ32g3XpF6CCZSoTBdHVIKvfo6qx/m1nJbo0N4dgu4NBgZ1E7zOLjpK4KmdGsB44l+ p9TDS+LCS56DpU3jh6bTCxtCcsZF1O3JbUfgfwwIT+S0E21lIYTFp21ZNw19mMxqqkhj cF7A== X-Gm-Message-State: AOJu0Ywf0ZjJstF65LNaRtPh06Q2rmCTuDdh2TpGeGie5IiJXT6qJXYd k1vVUvjUAFuZzlWueAk21nRFfPVbHtE= X-Google-Smtp-Source: AGHT+IHkDn9ANd7TAhZIxaXjpce8ujG7iuQSpY8rcU24g+CwN5N37NlkCbjIX1Sx24XSrVrvBfWl8g== X-Received: by 2002:a17:906:5306:b0:9ae:51c8:ded1 with SMTP id h6-20020a170906530600b009ae51c8ded1mr8543019ejo.50.1696682334787; Sat, 07 Oct 2023 05:38:54 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 03/29] hw/i386/pc_piix: Assign PIIX3's ISA interrupts before its realize() Date: Sat, 7 Oct 2023 14:38:11 +0200 Message-ID: <20231007123843.127151-4-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::52c; envelope-from=shentey@gmail.com; helo=mail-ed1-x52c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682359539100003 Content-Type: text/plain; charset="utf-8" Unlike its PIIX4 counterpart, TYPE_PIIX3_DEVICE doesn't instantiate a PIC itself. Instead, it relies on the board to do so. This means that the board needs to wire the ISA IRQs to the PIIX3 device model. As long as the board assigns the ISA IRQs after PIIX3's realize(), internal devices can't be wir= ed in pci_piix3_realize() since the qemu_irqs are still NULL. Fix that by assigni= ng the ISA interrupts before realize(). This will allow for embedding child de= vices into the host device as already done for PIIX4. Signed-off-by: Bernhard Beschow --- Note that this avoids the "PIC proxy" of previous iterations of the PIIX consolidation series. Assigning the IRQs before realize() has been agreed u= pon at KVM forum 2023. --- hw/i386/pc_piix.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 6d2f5509e6..a003923788 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -265,6 +265,8 @@ static void pc_init1(MachineState *machine, PCIDevice *pci_dev; =20 pci_dev =3D pci_new_multifunction(-1, TYPE_PIIX3_DEVICE); + piix3 =3D PIIX3_PCI_DEVICE(pci_dev); + piix3->pic =3D x86ms->gsi; pci_realize_and_unref(pci_dev, pci_bus, &error_fatal); =20 if (xen_enabled()) { @@ -281,8 +283,6 @@ static void pc_init1(MachineState *machine, XEN_IOAPIC_NUM_PIRQS); } =20 - piix3 =3D PIIX3_PCI_DEVICE(pci_dev); - piix3->pic =3D x86ms->gsi; piix3_devfn =3D piix3->dev.devfn; isa_bus =3D ISA_BUS(qdev_get_child_bus(DEVICE(piix3), "isa.0")); rtc_state =3D ISA_DEVICE(object_resolve_path_component(OBJECT(pci_= dev), --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682492; cv=none; d=zohomail.com; s=zohoarc; b=OcV8OFlisvi3c/A+fYL0SGaTRFxm+fkASxSjg8JTuUtwFa9JJ3GMBx9cFl154lCl9uGKcu+1uxsTv3d54cveeHKNdznWIDOU/LlhaUsIqHX9BAQtdYwINIq9RB24HLd7IIwVLKm85MD3dOEOilOS+/2dGkTx/QKzocunn0R5wvY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682492; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hlqrcCW6WI2SoijcsQ9BLxuEWIahgOUvgp3M1HY14Nw=; b=CRCF4+RV5ufLAYzTAb5tEeLeXY9ybaQGxUWYOgSFQ6U2MrWk9wk8JTI2noZSUL/S404nLS1UeVUZIe0Qyxu8BJFhQplPFsWO3741SN33SqA5I2EV7UXHFnRzOGjLWr70QKY29SimLxoOEvUKS/4oUabE56ihwJb9LG61Yw5863o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682492711939.0184521096236; Sat, 7 Oct 2023 05:41:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6ab-00032V-8a; Sat, 07 Oct 2023 08:39:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aP-0002rg-5n for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:13 -0400 Received: from mail-ej1-x630.google.com ([2a00:1450:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aA-0002js-CZ for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:12 -0400 Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-9a645e54806so532291866b.0 for ; Sat, 07 Oct 2023 05:38:58 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.38.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:38:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682336; x=1697287136; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hlqrcCW6WI2SoijcsQ9BLxuEWIahgOUvgp3M1HY14Nw=; b=S/HCBr1m3/UUBq27TxldObKgnxTh9a5YUVdl3Qf07LiJxr3P76U2EVij8YlIyT1aDw wRZ25UgB3Ppj/dvKSyXPmauXXXA36hZMbqeQG9+dc9+yhbjRZ/QFyAjRXEYDOLrxAiEg q1QK/HWm6TtVlahD4n+vugs61BtcXjTdjA8rxaUTYjLynI6wm8RfJlMDLl6WZn+pDHo+ LH6oVuzPB3Jpygwx8dVxYckkbns6DBFrld5HhyVsFLcZpcAaHa20nkowHaIhPXyZWsOu JkjGytzMED1nuLoL6dNT0YzALNB7PoIj4xXscJx422zIgDyzOxRAjlVdnbwe70kHw7hF Fb8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682336; x=1697287136; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hlqrcCW6WI2SoijcsQ9BLxuEWIahgOUvgp3M1HY14Nw=; b=PtEcuujKHeP9tEq1ArBd4s56r7PZ0nZhmCwAW8TbgWcxCgZVIwtzmUChmFrP6GaBVy regbx0ssIV61OO53YShYS/sfaY0K4pEhJ0CHDei6Pgpp89cwG2RBnSqg2YpDGS+EJOp7 Ff5hvY3TO4pIkpqEcTZsxwHJfQfykQKm4j8D9CzmHqiKKUk8GjRPYNosl3HdgIGGsNEx 5b0EyPsGr6Beoay3NxqUYatLRC3MPCez09dOwZczgzQllRdtKF3JajQECAuP5RzJr9lY XZ20mKIAnlI/2UNh8kIopx0PEkwHspcbVJQvOpYuQuaq0Te5oIhD7d8Z43WCyAL26IEf pwzg== X-Gm-Message-State: AOJu0YxWlDbQUi+H90+iKwPVC5hwT38gw0u+6/Xead4AXzrqpFX9Xvcj quXIeWShFuBTdD65Jjod1iQgvHdsqdo= X-Google-Smtp-Source: AGHT+IEvtyLdUJe1FtZpvq35K3jCwKZ7uOLG0Sih6L/j/k4f3eG3ekWKeuSPDZVlTp/Y+mBAbPZwww== X-Received: by 2002:a17:906:2253:b0:9b2:6db8:e108 with SMTP id 19-20020a170906225300b009b26db8e108mr9334359ejr.13.1696682335977; Sat, 07 Oct 2023 05:38:55 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 04/29] hw/isa/piix3: Resolve redundant PIIX_NUM_PIC_IRQS Date: Sat, 7 Oct 2023 14:38:12 +0200 Message-ID: <20231007123843.127151-5-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::630; envelope-from=shentey@gmail.com; helo=mail-ej1-x630.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682493523100009 Content-Type: text/plain; charset="utf-8" PIIX_NUM_PIC_IRQS is assumed to be the same as ISA_NUM_IRQS, otherwise inconsistencies can occur. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin --- include/hw/southbridge/piix.h | 5 ++--- hw/isa/piix3.c | 8 ++++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index 278171752f..2317bb7974 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -27,7 +27,6 @@ */ #define PIIX_RCR_IOPORT 0xcf9 =20 -#define PIIX_NUM_PIC_IRQS 16 /* i8259 * 2 */ #define PIIX_NUM_PIRQS 4ULL /* PIRQ[A-D] */ =20 struct PIIXState { @@ -39,10 +38,10 @@ struct PIIXState { * So one PIC level is tracked by PIIX_NUM_PIRQS bits. * * PIRQ is mapped to PIC pins, we track it by - * PIIX_NUM_PIRQS * PIIX_NUM_PIC_IRQS =3D 64 bits with + * PIIX_NUM_PIRQS * ISA_NUM_IRQS =3D 64 bits with * pic_irq * PIIX_NUM_PIRQS + pirq */ -#if PIIX_NUM_PIC_IRQS * PIIX_NUM_PIRQS > 64 +#if ISA_NUM_IRQS * PIIX_NUM_PIRQS > 64 #error "unable to encode pic state in 64bit in pic_levels." #endif uint64_t pic_levels; diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 117024e450..7240c91440 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -48,7 +48,7 @@ static void piix3_set_irq_level_internal(PIIX3State *piix= 3, int pirq, int level) uint64_t mask; =20 pic_irq =3D piix3->dev.config[PIIX_PIRQCA + pirq]; - if (pic_irq >=3D PIIX_NUM_PIC_IRQS) { + if (pic_irq >=3D ISA_NUM_IRQS) { return; } =20 @@ -62,7 +62,7 @@ static void piix3_set_irq_level(PIIX3State *piix3, int pi= rq, int level) int pic_irq; =20 pic_irq =3D piix3->dev.config[PIIX_PIRQCA + pirq]; - if (pic_irq >=3D PIIX_NUM_PIC_IRQS) { + if (pic_irq >=3D ISA_NUM_IRQS) { return; } =20 @@ -83,7 +83,7 @@ static PCIINTxRoute piix3_route_intx_pin_to_irq(void *opa= que, int pin) int irq =3D piix3->dev.config[PIIX_PIRQCA + pin]; PCIINTxRoute route; =20 - if (irq < PIIX_NUM_PIC_IRQS) { + if (irq < ISA_NUM_IRQS) { route.mode =3D PCI_INTX_ENABLED; route.irq =3D irq; } else { @@ -115,7 +115,7 @@ static void piix3_write_config(PCIDevice *dev, =20 pci_bus_fire_intx_routing_notifier(pci_get_bus(&piix3->dev)); piix3_update_irq_levels(piix3); - for (pic_irq =3D 0; pic_irq < PIIX_NUM_PIC_IRQS; pic_irq++) { + for (pic_irq =3D 0; pic_irq < ISA_NUM_IRQS; pic_irq++) { piix3_set_irq_pic(piix3, pic_irq); } } --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682529; cv=none; d=zohomail.com; s=zohoarc; b=T97xwPaLI1XcuXCd/l0px5ODruvQj2WfKxi271RZ3SPxvyL3/r0lhq7GFzFcP2qrWtFxP6nb878YOqAZVRrco8l8dHHVZ8zVuD5ciQwxH3LSPTyhd6J8/pQeAnO4haHUFMfmEQrKMjSFq7p7BgqoTABkrP8JHFeseGJkDwnNeWA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682529; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=E62xaVnlholKHYeexm9qfp/0DSKJQ1awqntF10iQhp8=; b=ayT2Hnvuol6pY0jP7r5Q6SbEW0Gdp0NyQrzUe+4XRsYwgzm7n7wLOlxgG5Sc6ik3et8fe5pwbmfTer5a4P71kjy9A1cAUvyKaxKMFLxcyg9A06gcC4lJzqBhn86W6CYnayE9YtrzdjLL/r4dUR2aQy4SVNNG05zy/RJotcwTcy4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682529422445.6200201962589; Sat, 7 Oct 2023 05:42:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6aD-0002pj-NN; Sat, 07 Oct 2023 08:39:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aD-0002pH-0t for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:01 -0400 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aB-0002kC-Cp for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:00 -0400 Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-53447d0241eso5518224a12.3 for ; Sat, 07 Oct 2023 05:38:59 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.38.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:38:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682337; x=1697287137; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=E62xaVnlholKHYeexm9qfp/0DSKJQ1awqntF10iQhp8=; b=aDMJ7ElfjHcYx3W5Zltng1cENPuc0kt5Yru0+HNkAJfJgV3RuhrXcMcnS2cH2pjeN1 NioMEE8+5L3kTqO6k/8ZvW8yi8X16VTEtoKve7GDeq9sNCUmrvEgV1Dh/8YsR4JKgwtZ MS3FuX6Uvas6jFROR8tPwx+Z/yLIy61eiiFCMZR0vGNiUaV9tbD0duuJk9FxXJg2X+ZR iiiXWzcZuhpo4SWsOLzM4cXQeV3x5muFVKVn1daO2vArYDBteFVC/X+sqXmUBzSWTPBj P/+2nEOopNs7QyZZmmmSgi/Z2C0T1BhlCfaHk7bv33wT3RFXbBRvLmKYTtR153AHFkM3 xHFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682337; x=1697287137; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=E62xaVnlholKHYeexm9qfp/0DSKJQ1awqntF10iQhp8=; b=PNHKJlNz4T+4JiPzy8FVWsGdnRTL2gUcaj931xM1DyJWbA3ZUGPKj9aI99ghGMqvgZ z5A7OvgY+ydFWhlHMpFW+JNamiDyC5UOTb/0Mc7A+jvAxR90sDBiC++5rR1x4ABSxdx1 k0ih8srYym6aDhqSfqcF+B+zSvX4n30SpI4u4z2ZZqGLDE2B3C1Ve7FRtglIL/htgIMf Ja2Ks++1vab3y6YgmtBWxfo1MYMQ7+Jix0ZMmJ/svuyU4expG2+KLtHRX90k4NdRWKJj NJF4uEOt9gCiQtj9WEMSYEc1joiGU29NK/x61F/T0f7vFg7x53ncL0nUhepX36iUQOY8 98PQ== X-Gm-Message-State: AOJu0YwuGJkp7BMluJc3X+UGXsxoiQfO10ys3/OqqjzX95d3qNOCkFQp ROEAunO66yQi+SlOIQXMc5zRhCxGoPI= X-Google-Smtp-Source: AGHT+IGDobCav0Aarvg4c5zvbTPSEqlGhiCmpbuqsjZ8/6YEFTIwF/9PNGuCVl7DTuLK4vzgVjxj7Q== X-Received: by 2002:a17:906:8465:b0:9ae:6bef:4a54 with SMTP id hx5-20020a170906846500b009ae6bef4a54mr9411123ejc.3.1696682337594; Sat, 07 Oct 2023 05:38:57 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 05/29] hw/i386/pc_piix: Wire PIIX3's ISA interrupts by new "isa-irqs" property Date: Sat, 7 Oct 2023 14:38:13 +0200 Message-ID: <20231007123843.127151-6-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::52b; envelope-from=shentey@gmail.com; helo=mail-ed1-x52b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682530142100005 Content-Type: text/plain; charset="utf-8" Avoid assigning the private member of struct PIIX3State from outside which = goes against best QOM practices. Instead, implement best QOM practice by adding = an "isa-irqs" array property to TYPE_PIIX3_DEVICE and assign it in board code,= i.e. from outside. Signed-off-by: Bernhard Beschow --- include/hw/southbridge/piix.h | 2 +- hw/i386/pc_piix.c | 7 ++++++- hw/isa/piix3.c | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index 2317bb7974..bb898c6c88 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -46,7 +46,7 @@ struct PIIXState { #endif uint64_t pic_levels; =20 - qemu_irq *pic; + qemu_irq pic[ISA_NUM_IRQS]; =20 /* This member isn't used. Just for save/load compatibility */ int32_t pci_irq_levels_vmstate[PIIX_NUM_PIRQS]; diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index a003923788..4dc7298c15 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -263,10 +263,15 @@ static void pc_init1(MachineState *machine, if (pcmc->pci_enabled) { PIIX3State *piix3; PCIDevice *pci_dev; + DeviceState *dev; + size_t i; =20 pci_dev =3D pci_new_multifunction(-1, TYPE_PIIX3_DEVICE); piix3 =3D PIIX3_PCI_DEVICE(pci_dev); - piix3->pic =3D x86ms->gsi; + dev =3D DEVICE(pci_dev); + for (i =3D 0; i < ISA_NUM_IRQS; i++) { + qdev_connect_gpio_out_named(dev, "isa-irqs", i, x86ms->gsi[i]); + } pci_realize_and_unref(pci_dev, pci_bus, &error_fatal); =20 if (xen_enabled()) { diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 7240c91440..c17547a2c0 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -312,6 +312,8 @@ static void pci_piix3_init(Object *obj) { PIIX3State *d =3D PIIX3_PCI_DEVICE(obj); =20 + qdev_init_gpio_out_named(DEVICE(obj), d->pic, "isa-irqs", ISA_NUM_IRQS= ); + object_initialize_child(obj, "rtc", &d->rtc, TYPE_MC146818_RTC); } =20 --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682407; cv=none; d=zohomail.com; s=zohoarc; b=JqNVUiDVvfM40L6LjFjYwWpcTqbR+kvY9jGR4RQcKj3kvKD7scaRCCcxkAp64KxiEdAwDVFIGpB5NjESVmuDU20NsSIKt2m3IPloOeFzAkPHNzB36IodbiybG8B4K4HzUG7P8aXOo6yjnU8NfCh4B0xD/Tgb02tjS3FhLghn+Xw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682407; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=v7lAoYIu+F98xbss/ABuSWEf+mczDZ8b5YL0bkPgc1Y=; b=W6e6NJTStjYSSbAKv1fQu8kXCw2SQupZj2JRu31MN2u7Iml5ufXm/9g2UIqByTdnw/RemiUFpRpcojfMJoimSd2jn7bGra74ia1RhueSeSIsZElk7kZGujaLzRdbOL4a7K6g2PgVmSIXu+lf5NIasfw2JjUrOZ5yPR9dRQqjr1E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682407947462.6863618416917; Sat, 7 Oct 2023 05:40:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6aF-0002qH-KZ; Sat, 07 Oct 2023 08:39:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aE-0002pk-5z for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:02 -0400 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aC-0002kL-Lh for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:01 -0400 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-533c5d10dc7so5307831a12.3 for ; Sat, 07 Oct 2023 05:39:00 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.38.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:38:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682339; x=1697287139; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=v7lAoYIu+F98xbss/ABuSWEf+mczDZ8b5YL0bkPgc1Y=; b=aEajc4rMeJlrenIliFKDC28YO7fxoL6KzWX+2NiDLbcRtdyj3hJBzWM5Xw85isuWcT GPxMU0aVR+yuZbOqQqxiBqziw28AMERPz/jea3gHVPd5v77GU5j7Yt/q3hngNe/wE6mo poYol4BtwjV6guVNTSzKAWhRQDqfXgCyw3+JIg6gDdkyP3+IYt3mcp3tprFlg3agn5kF y1UERH6cxv6AkasjQX3iU+aDsgDpc4kUvPcUYI3gGUZDaJ+iviMn4JA2avmkCCvepk3n CUYrgwAR3GSWVxTzy+gZRIatU5wEIFtoGbh1aA/ehWjlv06M6tnQTcYibscNyxjudmY9 winw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682339; x=1697287139; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v7lAoYIu+F98xbss/ABuSWEf+mczDZ8b5YL0bkPgc1Y=; b=a8KELe/G8ctaQsoZq+ToVJ8AlPE9CIUtilwTe0Cy5n3aLkiihHjdhZdz1dCZCAbEnh T4IXokCBmvOPIgjLO8nu0SPhbfLdrJ1ls6FUjM5ZeOk/clGG3/AukasC7p4ueKvHS4oI uxCSy8WBkfnvBlpeKod2VPOCe1YybIwc7pPd6U1QFBEIZDMpqVNfhU3/aAX/hAe9p3oM q7srtp5I+B5FGDophrG5I/68Zgl5AvKdT7eGAYf7Kj347jgZvRT6TQb8sxn6Sxc61QCk YbZtNI9URwAmNv+N4ByheMSVNJj40cHwlz52mLkq1FRW2c/sjxzT6LdkDyTA0khWlkDq 9vBg== X-Gm-Message-State: AOJu0Yxe6tkShx4G77RZD5pidb4P0gcDY38B5MQlfzBkXIXtd5A7Y5Rz K2yGFD2pcRS4uEHw6m5jgyqoe16Mc80= X-Google-Smtp-Source: AGHT+IEW4PdQXDVg14XZxo4GTC6CwVfUYOW+WDqye4UnG+/mfKbUxOVCKn9B2Qdk6cbh2ok+4jmiIw== X-Received: by 2002:a17:907:b1b:b0:9b9:ff16:344c with SMTP id h27-20020a1709070b1b00b009b9ff16344cmr3956244ejl.50.1696682338729; Sat, 07 Oct 2023 05:38:58 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 06/29] hw/i386/pc_piix: Remove redundant "piix3" variable Date: Sat, 7 Oct 2023 14:38:14 +0200 Message-ID: <20231007123843.127151-7-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::532; envelope-from=shentey@gmail.com; helo=mail-ed1-x532.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682409884100005 Content-Type: text/plain; charset="utf-8" The variable is never used by its declared type. Eliminate it. Signed-off-by: Bernhard Beschow --- hw/i386/pc_piix.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 4dc7298c15..cd6c00c0b3 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -261,13 +261,11 @@ static void pc_init1(MachineState *machine, gsi_state =3D pc_gsi_create(&x86ms->gsi, pcmc->pci_enabled); =20 if (pcmc->pci_enabled) { - PIIX3State *piix3; PCIDevice *pci_dev; DeviceState *dev; size_t i; =20 pci_dev =3D pci_new_multifunction(-1, TYPE_PIIX3_DEVICE); - piix3 =3D PIIX3_PCI_DEVICE(pci_dev); dev =3D DEVICE(pci_dev); for (i =3D 0; i < ISA_NUM_IRQS; i++) { qdev_connect_gpio_out_named(dev, "isa-irqs", i, x86ms->gsi[i]); @@ -288,8 +286,8 @@ static void pc_init1(MachineState *machine, XEN_IOAPIC_NUM_PIRQS); } =20 - piix3_devfn =3D piix3->dev.devfn; - isa_bus =3D ISA_BUS(qdev_get_child_bus(DEVICE(piix3), "isa.0")); + piix3_devfn =3D pci_dev->devfn; + isa_bus =3D ISA_BUS(qdev_get_child_bus(DEVICE(pci_dev), "isa.0")); rtc_state =3D ISA_DEVICE(object_resolve_path_component(OBJECT(pci_= dev), "rtc")); } else { --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682491; cv=none; d=zohomail.com; s=zohoarc; b=J2y+JRx5Ay1HIgatlaraehdNFZCdHUFrV9rlHqmGn9wm8PXar5OU2H+1NVjQaoxrJRtAiSvanEbqwvDKe/Hr/T5+7pCxYsks6hnBk59d1IMQu+FYcq36ZY8hhxlFOZIiTT5JzYY3l8phi26PbXdmlkvv1fr0ioyEV6W2aEbcglo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682491; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=gTKsd4QCtNkgXD/Z781AtMarzdn14SdPNuf52xlMXyc=; b=F9tGxCUSCvDg+bgp9w840mkwPVNa3VS79Lb2Ok2QwAiefMnm+ryBgaNGHI/3nkW5QIC3pFxaU2l5+aruMHEwn1oD+2XhJhfsPDXsCVYQuP9qok1G7Cc1Wj5AGNywB0E09gb8cidxGAB8ILjuVn79SXPVRJ2vmDS3inoTpeqAi+w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682491178332.17661025791574; Sat, 7 Oct 2023 05:41:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6aH-0002qg-M7; Sat, 07 Oct 2023 08:39:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aF-0002q8-C9 for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:03 -0400 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aD-0002kU-Ol for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:03 -0400 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-99bf3f59905so533750166b.3 for ; Sat, 07 Oct 2023 05:39:01 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.38.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:38:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682340; x=1697287140; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gTKsd4QCtNkgXD/Z781AtMarzdn14SdPNuf52xlMXyc=; b=URIhcmuxCrhkxcdH1WgGsP+Sb8mlqznRZsHj9EYctprIAq0da2vECe3A+0rIkrEKRW M9IO5s8Gt3GlLM1Jj+yN65S5J/1xdBkRhMo1w75kFVhG1Cs6EbzHu2LT0FFThxiV45oo 7bJWtNwiN7OoykP7khPwFjQtopFBiM6HLWyezr50lCMB8H6qd3er7CPFTI6H8G3gM3F6 dBosBa/PawPlYf1DDikbITD9qDPLF4LSdv6CW4pImRfAWYpVz6e2VsgB5MKNwSltRTUx nQ9Zwy26FOrwr7i+ZXh8jNep9KXRAQyx4b4VX4tP8O4OYLNR3ufh9Xc+kDK0Qnhwt7UU PisA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682340; x=1697287140; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gTKsd4QCtNkgXD/Z781AtMarzdn14SdPNuf52xlMXyc=; b=gDkHhSQBqtndnVNrAS5NMVXzNySlzuh9O+UBPg/IhMkJramJ1l84gAJHRa+S6Lyeuj IRfaurDg0516rwWCkqW6d79YvNuvTtplpfv8oKkiZj9aQD0SYphNnaz3Kfr5e9yCwAFA xQgSqeasC0nWQYLpZiHhOgm8AtnR5lYaShhsbIwp0t0b3sfH8blrmT2/lGvUHYBeeyOf cWYz8X0DpjFzEMfF7usB24tRvFssa00RAhfoLXJ8lCKgbksC2mXCbgyQnq5mR9LyFK3Y BUzkB2o70gfxGXBFGPO9Gy2iRF0M+6e55ba5pejQlsSc71HS+e1MOrLSFAKOgIiloH/e OmVQ== X-Gm-Message-State: AOJu0YwxUOYcIaSNk4GySbXvCHTJFlKAOwAOZH2Fr1xZ5m0x/84+graw pOP6nIwsRMbH/ykbwAZ2gAotsUzAw1o= X-Google-Smtp-Source: AGHT+IGImYMSJIoFJQzLKUF1+HPqIyQT9iJapsGPaIjLfIGFtINbilJ63iyHXB4ocC9yZT52jw2bjQ== X-Received: by 2002:a17:907:7603:b0:9ae:3d56:1ef1 with SMTP id jx3-20020a170907760300b009ae3d561ef1mr10020576ejc.8.1696682339941; Sat, 07 Oct 2023 05:38:59 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 07/29] hw/isa/piix3: Rename "pic" attribute to "isa_irqs_in" Date: Sat, 7 Oct 2023 14:38:15 +0200 Message-ID: <20231007123843.127151-8-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62b; envelope-from=shentey@gmail.com; helo=mail-ej1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682491424100003 Content-Type: text/plain; charset="utf-8" TYPE_PIIX3_DEVICE doesn't instantiate a PIC since it relies on the board to= do so. The "pic" attribute, however, suggests that there is one. Rename the attribute to reflect that it represents ISA interrupt lines. Use the same n= aming convention as in the VIA south bridges as well as in TYPE_I82378. Signed-off-by: Bernhard Beschow --- include/hw/southbridge/piix.h | 2 +- hw/isa/piix3.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index bb898c6c88..b07ff6bb26 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -46,7 +46,7 @@ struct PIIXState { #endif uint64_t pic_levels; =20 - qemu_irq pic[ISA_NUM_IRQS]; + qemu_irq isa_irqs_in[ISA_NUM_IRQS]; =20 /* This member isn't used. Just for save/load compatibility */ int32_t pci_irq_levels_vmstate[PIIX_NUM_PIRQS]; diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index c17547a2c0..616f5418fa 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -36,7 +36,7 @@ =20 static void piix3_set_irq_pic(PIIX3State *piix3, int pic_irq) { - qemu_set_irq(piix3->pic[pic_irq], + qemu_set_irq(piix3->isa_irqs_in[pic_irq], !!(piix3->pic_levels & (((1ULL << PIIX_NUM_PIRQS) - 1) << (pic_irq * PIIX_NUM_PIRQS)))); @@ -312,7 +312,8 @@ static void pci_piix3_init(Object *obj) { PIIX3State *d =3D PIIX3_PCI_DEVICE(obj); =20 - qdev_init_gpio_out_named(DEVICE(obj), d->pic, "isa-irqs", ISA_NUM_IRQS= ); + qdev_init_gpio_out_named(DEVICE(obj), d->isa_irqs_in, "isa-irqs", + ISA_NUM_IRQS); =20 object_initialize_child(obj, "rtc", &d->rtc, TYPE_MC146818_RTC); } --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682432; cv=none; d=zohomail.com; s=zohoarc; b=bXgSFQ3f5s/arcIz/ZncZyETYdm8B+KXInUsq/D+q89LwsKJr7Z97qtmZ9OJRxzRDETM/nu47FLck9shW6MxV+E3S68/hN8MlptlJZ9ljxWqs0E8lNqbUri/Emo0yGKe8NZcubLKWDThq8+evpKTWJ9KEXwOx5yyqqxiPE3iQq0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682432; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=lIor4PWPOYVprjey1BkD9C4ZcGEtUpk7Abdk1U+gDog=; b=Ry9hptW7hp4YmfND0ClPT2XPbMPNRqCD1RHw4ayfhG7PlK2ivjEec3U2fKDgRWAyHh6l8/8duW4lVr/jpK8Gz9a5+wCtvqPkm5pF2lE88uhd23sVgRC3+oa41RCKzzrYhMO7z/VxQ2WUCcuAeuRK9PUQ2gy+9hO/30o3FWskYIM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682432653849.4348013152038; Sat, 7 Oct 2023 05:40:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6aJ-0002r1-O1; Sat, 07 Oct 2023 08:39:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aG-0002qV-Kq for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:04 -0400 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aF-0002ki-3o for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:04 -0400 Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-9ad8a822508so568488766b.0 for ; Sat, 07 Oct 2023 05:39:02 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682341; x=1697287141; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lIor4PWPOYVprjey1BkD9C4ZcGEtUpk7Abdk1U+gDog=; b=YxcRpmip7Io3+Q0fUt35ecnUFUPXpccVz43cVTdOUiJZHmvFS68L/HmMJppPAj4ChT vz23LqSBDj61ZhhpIY6+KCBHE1DMh7gOiaE9od4PNMvtNw4YT/5BCQtWHuKsT1zrdJAq AGb2+oZrmaneC1FeRoKVZP279M8yZjp2UjUbEQyytYsRX/YDvqrI53uZgPtuFMO8MVxu sGqL5zJwJffVmCtPyr8b5NvAzS+5YRuQlPEcJka2nZUSs6A1ZYX+/BcKRrpXLEkIjBro sc3AA25HKQ/UKwlyyap5SWIOrJND90FjUTgFwHOUDsBKJ6WTnnYtsXsqMQN8CfkNoMVy np1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682341; x=1697287141; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lIor4PWPOYVprjey1BkD9C4ZcGEtUpk7Abdk1U+gDog=; b=kVq14uNrdmCQjlL7rHcQh5FkrQxD25vzp4UmhBZJ1WWFfZn/PCGhvO6WdznlwrDyv6 B02qs1XPt5gUOLXZ/5w6+gO39isDU2vapcKdIphvEu4Mmk7ZsATxMLWNyNAnkbiZiJYR I+FZVgQHM9h1JH4eZzHyAx4riTDSv9fh2QggUvzx0AbwJPKV6L4zBaYRs3dgXYYFWDK1 /8cmY+N8uii67YuhE5BHBIMagVG1YM7zEwjWO/+Knjm78xp85hENJOtdNe2+7y5YuE5Y LxEJAG/Iy3C6hrAylnHhM8dgQIRPWgeue/rJX3F/R8hRUOci14pVGu5DNU20kRDmLa5F 2mjw== X-Gm-Message-State: AOJu0YwboDpDpS8jicnychjUu0E0JsWlzCaA4eZZ1w5keSohlVILqxcG 9CP5GR5rgu2J52kd7mikmENahAIrsvA= X-Google-Smtp-Source: AGHT+IEPa7km/rxtSQRcnA8ANLdGqC7sbXNwcfuzGHzr5zhwqnRW947genFcLtX7roQ9hHNHT0j+Jw== X-Received: by 2002:a17:906:20d8:b0:9ad:e669:ff30 with SMTP id c24-20020a17090620d800b009ade669ff30mr9714660ejc.68.1696682341050; Sat, 07 Oct 2023 05:39:01 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 08/29] hw/i386/pc_q35: Wire ICH9 LPC function's interrupts before its realize() Date: Sat, 7 Oct 2023 14:38:16 +0200 Message-ID: <20231007123843.127151-9-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62f; envelope-from=shentey@gmail.com; helo=mail-ej1-x62f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682434443100003 Content-Type: text/plain; charset="utf-8" When the board assigns the ISA IRQs after the device's realize(), internal devices such as the RTC can't be wired in ich9_lpc_realize() since the qemu= _irqs are still NULL. Fix that by assigning the ISA interrupts before realize(). This change is necessary for PIIX consolidation because PIIX4 wires the RTC interrupts in its realize() method, so PIIX3 needs to do so as well. Since = the PC and Q35 boards share RTC code, and since PIIX3 needs the change, ICH9 ne= eds to be adapted as well. Signed-off-by: Bernhard Beschow --- hw/i386/pc_q35.c | 14 +++++++------- hw/isa/lpc_ich9.c | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index a7386f2ca2..597943ff1b 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -242,11 +242,18 @@ static void pc_q35_init(MachineState *machine) host_bus =3D PCI_BUS(qdev_get_child_bus(DEVICE(phb), "pcie.0")); pcms->bus =3D host_bus; =20 + /* irq lines */ + gsi_state =3D pc_gsi_create(&x86ms->gsi, pcmc->pci_enabled); + /* create ISA bus */ lpc =3D pci_new_multifunction(PCI_DEVFN(ICH9_LPC_DEV, ICH9_LPC_FUNC), TYPE_ICH9_LPC_DEVICE); qdev_prop_set_bit(DEVICE(lpc), "smm-enabled", x86_machine_is_smm_enabled(x86ms)); + lpc_dev =3D DEVICE(lpc); + for (i =3D 0; i < IOAPIC_NUM_PINS; i++) { + qdev_connect_gpio_out_named(lpc_dev, ICH9_GPIO_GSI, i, x86ms->gsi[= i]); + } pci_realize_and_unref(lpc, host_bus, &error_fatal); =20 rtc_state =3D ISA_DEVICE(object_resolve_path_component(OBJECT(lpc), "r= tc")); @@ -273,13 +280,6 @@ static void pc_q35_init(MachineState *machine) "true", true); } =20 - /* irq lines */ - gsi_state =3D pc_gsi_create(&x86ms->gsi, pcmc->pci_enabled); - - lpc_dev =3D DEVICE(lpc); - for (i =3D 0; i < IOAPIC_NUM_PINS; i++) { - qdev_connect_gpio_out_named(lpc_dev, ICH9_GPIO_GSI, i, x86ms->gsi[= i]); - } isa_bus =3D ISA_BUS(qdev_get_child_bus(lpc_dev, "isa.0")); =20 if (x86ms->pic =3D=3D ON_OFF_AUTO_ON || x86ms->pic =3D=3D ON_OFF_AUTO_= AUTO) { diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index 3f59980aa0..3fcefc5a8a 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -675,6 +675,9 @@ static void ich9_lpc_initfn(Object *obj) =20 object_initialize_child(obj, "rtc", &lpc->rtc, TYPE_MC146818_RTC); =20 + qdev_init_gpio_out_named(DEVICE(lpc), lpc->gsi, ICH9_GPIO_GSI, + IOAPIC_NUM_PINS); + object_property_add_uint8_ptr(obj, ACPI_PM_PROP_SCI_INT, &lpc->sci_gsi, OBJ_PROP_FLAG_READ); object_property_add_uint8_ptr(OBJECT(lpc), ACPI_PM_PROP_ACPI_ENABLE_CM= D, @@ -691,7 +694,6 @@ static void ich9_lpc_initfn(Object *obj) static void ich9_lpc_realize(PCIDevice *d, Error **errp) { ICH9LPCState *lpc =3D ICH9_LPC_DEVICE(d); - DeviceState *dev =3D DEVICE(d); PCIBus *pci_bus =3D pci_get_bus(d); ISABus *isa_bus; =20 @@ -734,8 +736,6 @@ static void ich9_lpc_realize(PCIDevice *d, Error **errp) ICH9_RST_CNT_IOPORT, &lpc->rst_cnt= _mem, 1); =20 - qdev_init_gpio_out_named(dev, lpc->gsi, ICH9_GPIO_GSI, IOAPIC_NUM_PINS= ); - isa_bus_register_input_irqs(isa_bus, lpc->gsi); =20 i8257_dma_init(isa_bus, 0); --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682444; cv=none; d=zohomail.com; s=zohoarc; b=OxeT6n1y36YnxCnAylyFuMSLK0KjKPt77slRr9PX969070YGOMcq90Wi1UWhtOjKFj1R2DvkDY67k5N062LyFQZ2INOaQFKhQWIuLuySz2l4Ay9byK5dRLiEKoXW0ABfNCZzfo1AnhIin9RJvwQIfbhpMAEiSIK09j7lpZyNA/Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682444; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1U0rpwfNfAiROhYspUeK0AyPW0J23oC+jmzPCGq+Ueo=; b=hYUX7Ctg9CQbVZtxACBqHcvnWrw26WJMFk35pAxPLJsTKr+cylI4y7U+fhXD8fx2p1hcatdfsJTCEzZ+tXNjfGrD12EcV/+iXOHArYa+QCX3QocC7hJtP47WI2gtZJb8Nn5b+ROMb0EzFdveK6D11qJ5f13z0jjyTrXk8SD+PA0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 169668244420628.480073842967045; Sat, 7 Oct 2023 05:40:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6aP-0002rX-2M; Sat, 07 Oct 2023 08:39:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aL-0002rG-SF for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:11 -0400 Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aG-0002ky-57 for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:05 -0400 Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-9a645e54806so532301866b.0 for ; Sat, 07 Oct 2023 05:39:03 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682342; x=1697287142; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1U0rpwfNfAiROhYspUeK0AyPW0J23oC+jmzPCGq+Ueo=; b=LuOGozLeTBPkww9cI6umaHncfI6SfHrhjvrbK/Vj4sWjTuK8zechCM8r1fL4sKxt7+ x9Cd8h4AZ6iPumyaJ0F7rforAnK3TfzUej6fITFEpLMhwE4diC8RJLjNMe0kcmbBUhUs 4Dve4I8G3AKSxxhvvIEq95Wj34NjoXqA28e+EvqeKxjCtLmtcTrcFeUmBVLdqe6fwjp4 vsEP4ff//4M6Ndrvuh5So+aUVNi/2No1Cvt1iGbdZvR3GhIa+ZK586PRd3f3h1/hXRLU p2siM9zeGz2FEWDXruOEa4Rlqed+ZC1fBKLIxTzp89Z0AH5CoXmH3NMbWt3jnz6QyJKE bhww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682342; x=1697287142; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1U0rpwfNfAiROhYspUeK0AyPW0J23oC+jmzPCGq+Ueo=; b=bh5Hfgy4i6sw2h+iPpLYkMREH3WerrmSMf4olwyGfmjeLVGEUZJykpk/7c/p0uF/nX OPPADNjbe5xPJS8QcBZ/rytqMtsE7LpoIC1svL0IpV35NdDHVEtaaEwQdbEQsp6eu8Zi WSmqKaPqsFSrMctBlY9Z81DqeQKrpER8Kco460hcm6bTis9yGIkF3p4dWOYbEfAgijJt N2u2fD8YfBR9g2mA5lFJieYPfWX60HE5jJzIhYOqQ6jeLrilhEWtAz2hBlEJDJ5jB8Uv a98OQsXIDv9jX1XObwkaLAVHkvZ5zDTe3wiVbin6ec+NqeqRIz4fkTfPYDsjy5swpwg+ LNmg== X-Gm-Message-State: AOJu0YxxjGVKMz5lSEsV4Vnlb0FOC2jPulHyoI6hyjHVf5895qvUgQYo fdjmVKuSjYDErgJ6iZQuqgL1F4QnZKM= X-Google-Smtp-Source: AGHT+IGn2PEM5CJFgeqrUUYE6I7EBx350Hl7Wc+KwT6JofFsS7k7RmzzFxcLxYdtOpD9XhrutdB9eA== X-Received: by 2002:a17:906:32c8:b0:9a1:abae:8d30 with SMTP id k8-20020a17090632c800b009a1abae8d30mr8869366ejk.47.1696682342269; Sat, 07 Oct 2023 05:39:02 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 09/29] hw/isa/piix3: Wire PIC IRQs to ISA bus in host device Date: Sat, 7 Oct 2023 14:38:17 +0200 Message-ID: <20231007123843.127151-10-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::636; envelope-from=shentey@gmail.com; helo=mail-ej1-x636.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682444623100001 Content-Type: text/plain; charset="utf-8" Thie PIIX3 south bridge implements both the PIC and the ISA bus, so wiring = the interrupts there makes the device model more self-contained. Furthermore, t= his allows the ISA interrupts to be wired to internal child devices in pci_piix3_realize() which will be performed in subsequent patches. Signed-off-by: Bernhard Beschow --- hw/i386/pc_piix.c | 2 +- hw/isa/piix3.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index cd6c00c0b3..5988656279 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -293,6 +293,7 @@ static void pc_init1(MachineState *machine, } else { isa_bus =3D isa_bus_new(NULL, system_memory, system_io, &error_abort); + isa_bus_register_input_irqs(isa_bus, x86ms->gsi); =20 rtc_state =3D isa_new(TYPE_MC146818_RTC); qdev_prop_set_int32(DEVICE(rtc_state), "base_year", 2000); @@ -301,7 +302,6 @@ static void pc_init1(MachineState *machine, i8257_dma_init(isa_bus, 0); pcms->hpet_enabled =3D false; } - isa_bus_register_input_irqs(isa_bus, x86ms->gsi); =20 if (x86ms->pic =3D=3D ON_OFF_AUTO_ON || x86ms->pic =3D=3D ON_OFF_AUTO_= AUTO) { pc_i8259_create(isa_bus, gsi_state->i8259_irq); diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 616f5418fa..3e7c42fa68 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -278,6 +278,8 @@ static void pci_piix3_realize(PCIDevice *dev, Error **e= rrp) memory_region_add_subregion_overlap(pci_address_space_io(dev), PIIX_RCR_IOPORT, &d->rcr_mem, 1); =20 + isa_bus_register_input_irqs(isa_bus, d->isa_irqs_in); + i8257_dma_init(isa_bus, 0); =20 /* RTC */ --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682629; cv=none; d=zohomail.com; s=zohoarc; b=hmQntibET/SEAkTzVgwdYGe4QOUU6zHC8BXBw5palLV/cjmDvBJw40dn8abgNLHky43J722PPFhzOMc2QD8e6CZQEhxd2EGA5SC9CyRSol23b4B5yMqim7AuqxaTlaaOlXjMIkrc/01p0lWxHf1/2n38VQ3zf0ZTNt8ettlIckw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682629; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=k5JkvslVPz4zsIxR/uGLWLxe2EOxklyS1JTEVJcwtJQ=; b=Uu3Eaoqs8ZP9hweKwdcsOW/Pr5M6R/3IIeX/SaBjLVJNS/+UaxWkDewXrWp2+/MZW8SIceRkbPBhhWwX/knchNMGxkEOusxvPsL0CUIZCXkFbPtXYToV7utXUs2hnqoSlCsPxCDaPu7dJ3Np+tGd6LD5BNdv4vIq+2OvB0GfD7Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682629537701.3140298974365; Sat, 7 Oct 2023 05:43:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6aX-00031L-F1; Sat, 07 Oct 2023 08:39:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aO-0002rV-69 for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:12 -0400 Received: from mail-ej1-x634.google.com ([2a00:1450:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aJ-0002lH-Vj for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:11 -0400 Received: by mail-ej1-x634.google.com with SMTP id a640c23a62f3a-9b27bc8b65eso509289566b.0 for ; Sat, 07 Oct 2023 05:39:05 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682343; x=1697287143; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=k5JkvslVPz4zsIxR/uGLWLxe2EOxklyS1JTEVJcwtJQ=; b=nS5/y2TXEKvAAZhG7dMyohkI7NA3oZpfnTXM4kE7DNoyma+4r1nNr8SlF5PIu4VUUK 6kxgYVGO77HQeO8rpcippw5GOddkBaM+4D0XgLga8l13JHktiLQtaT0EK0SEzRQuDvSv zG59/6wPc/zQ0IRAq1ZIL4viILSAny5PEZaHf83M2LnHabE4ITkExxIH1q54UN3rn+ai BTgb+y9NHUeodV8YX3F+PiZ7jju9KDa0qegzJdDtpf0kHcIGQRf8E/sXCd8wPEql8mq1 gfyME8+kYdZdBxF+lO4UryLoH+GQEStz7UQLQf/0TGVpB2iVSZTwBLd+ypTq+OTd/gWr qm3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682343; x=1697287143; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=k5JkvslVPz4zsIxR/uGLWLxe2EOxklyS1JTEVJcwtJQ=; b=eydS+aCZHcF2EVPWC/mASqmOc0kRHtZwo6TTPgD9CHZT41q21kaVi6w7Z9gkZHwQfh YWLupnJD3IcILNBD1hbpmk0eVa07FleAP7iPkfoBpWShY8pGRaZC63QiY3s8y7RV7lRC uumco/eZpYRyFTYYW6GC5GKdeNszFM5TlD9kfo6LhDRV3+SVHrJCV1dOt0APCYQMH2wl kX0D6G7uuDuFPxttbT7NnQswLCD/wl+/k8hfrrej7NJ8mMjmDH8mEAHDCUn0QnHJeE6g DOajs9qF2mId76TbRelZjVOOsLyecUZ01z6uBIJVRbBt+NEkuW5K6HsUUE65sRoZ5wkE 9euw== X-Gm-Message-State: AOJu0Yw9M6biAd3i6oSQWCH7DccA0Y5HWk/KPogMBWq+iU5sr0YBIk6+ sRwoeOPZNTu+/pZTztRuCryztXQSQMw= X-Google-Smtp-Source: AGHT+IG4j2K6WkFyrI8iqWIj91wPP9avnSkj6msymeKTcZ/yz1QRXIf/KMjEO6g9FeKZ+qMvR78AAA== X-Received: by 2002:a17:906:57:b0:99c:c50f:7fb4 with SMTP id 23-20020a170906005700b0099cc50f7fb4mr9062061ejg.1.1696682343456; Sat, 07 Oct 2023 05:39:03 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 10/29] hw/i386/pc: Wire RTC ISA IRQs in south bridges Date: Sat, 7 Oct 2023 14:38:18 +0200 Message-ID: <20231007123843.127151-11-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::634; envelope-from=shentey@gmail.com; helo=mail-ej1-x634.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682630019100006 Content-Type: text/plain; charset="utf-8" Makes the south bridges a bit more self-contained and aligns PIIX3 more with PIIX4. The latter is needed for consolidating the PIIX south bridges. Signed-off-by: Bernhard Beschow --- hw/i386/pc.c | 7 ++----- hw/isa/lpc_ich9.c | 3 +++ hw/isa/piix3.c | 3 +++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 2fbdff89e0..4e844d02f2 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1245,12 +1245,9 @@ void pc_basic_device_init(struct PCMachineState *pcm= s, pit_isa_irq =3D -1; pit_alt_irq =3D qdev_get_gpio_in(hpet, HPET_LEGACY_PIT_INT); rtc_irq =3D qdev_get_gpio_in(hpet, HPET_LEGACY_RTC_INT); + + /* overwrite connection created by south bridge */ qdev_connect_gpio_out(DEVICE(rtc_state), 0, rtc_irq); - } else { - uint32_t irq =3D object_property_get_uint(OBJECT(rtc_state), - "irq", - &error_fatal); - isa_connect_gpio_out(rtc_state, 0, irq); } =20 object_property_add_alias(OBJECT(pcms), "rtc-time", OBJECT(rtc_state), diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index 3fcefc5a8a..23eba64f22 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -696,6 +696,7 @@ static void ich9_lpc_realize(PCIDevice *d, Error **errp) ICH9LPCState *lpc =3D ICH9_LPC_DEVICE(d); PCIBus *pci_bus =3D pci_get_bus(d); ISABus *isa_bus; + uint32_t irq; =20 if ((lpc->smi_host_features & BIT_ULL(ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BI= T)) && !(lpc->smi_host_features & BIT_ULL(ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT)= )) { @@ -745,6 +746,8 @@ static void ich9_lpc_realize(PCIDevice *d, Error **errp) if (!qdev_realize(DEVICE(&lpc->rtc), BUS(isa_bus), errp)) { return; } + irq =3D object_property_get_uint(OBJECT(&lpc->rtc), "irq", &error_fata= l); + isa_connect_gpio_out(ISA_DEVICE(&lpc->rtc), 0, irq); =20 pci_bus_irqs(pci_bus, ich9_lpc_set_irq, d, ICH9_LPC_NB_PIRQS); pci_bus_map_irqs(pci_bus, ich9_lpc_map_irq); diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 3e7c42fa68..11d72ca2bb 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -266,6 +266,7 @@ static void pci_piix3_realize(PCIDevice *dev, Error **e= rrp) { PIIX3State *d =3D PIIX3_PCI_DEVICE(dev); ISABus *isa_bus; + uint32_t irq; =20 isa_bus =3D isa_bus_new(DEVICE(d), pci_address_space(dev), pci_address_space_io(dev), errp); @@ -287,6 +288,8 @@ static void pci_piix3_realize(PCIDevice *dev, Error **e= rrp) if (!qdev_realize(DEVICE(&d->rtc), BUS(isa_bus), errp)) { return; } + irq =3D object_property_get_uint(OBJECT(&d->rtc), "irq", &error_fatal); + isa_connect_gpio_out(ISA_DEVICE(&d->rtc), 0, irq); } =20 static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml *scope) --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682518; cv=none; d=zohomail.com; s=zohoarc; b=IyzVl0RjncSG5W07usptxuHiPv+8l7UuZQX7mtP83bTNEZMJzQkmI2khJbVfar/F87nmWkwerS68pMbxBdIrxqYep2rg75DO0h3d/9qRdscDYypIeQnkSOtdn0YlODiq0mxwwzOJ8OundKiKcme4hF8hs5jpEGdP+I++mUFikhU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682518; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=AI/vQxqgiKDopwuOm8efc8SEE6YBhEDYMZnTXHD+Zt4=; b=OS337R8A5oDQU5kVs6rFXe3dC/Um/D19DxcBY54/WJDUhBN57jey/y73w30iHx+TMB8F47S+3AtkLqI3p3EUzg2/Soi8J4Tb6ZzcWwsRHEFbLXdNmqktn5CCs+nxTBxO0JI7LF4G7NHvPeGiVJdrneljdyexsYphlrajuzZxwO4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682518368161.17946737753914; Sat, 7 Oct 2023 05:41:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6ac-00035V-1Y; Sat, 07 Oct 2023 08:39:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aO-0002rW-6O for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:13 -0400 Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aL-0002lT-H2 for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:11 -0400 Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-51e28cac164so8919640a12.1 for ; Sat, 07 Oct 2023 05:39:06 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682344; x=1697287144; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=AI/vQxqgiKDopwuOm8efc8SEE6YBhEDYMZnTXHD+Zt4=; b=EB37Gxq2yLHdyoNAzaDqojoodToE5WqCMdMpOgxerOGQ5/iPRR8AwS3IPf6NP4u5yP JakqTp8SDV/NyOd3cfeOFAg3u1QWNXaNW/hLYo/uukBiAPyWJC7AA3aVRXc++27aq/aA fiJ4yAywFJQ9L3ycefdCXO6n9iYHeANNmlL5oG5VG8/lquytdRzP0cUodm0blAe/hx6X 8EtilVec/s6kGwYO/7LDVOR+BsC+mIWgf1ipxxlSNVi1ga40L4NqyNg9hSRk38qYZI7k H95swphtYV2FHYnw09AYmmKMWwWgBOVzmpd0k797jpkKUL+tEbVfst54r0VZeNh7dv+3 5JZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682344; x=1697287144; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AI/vQxqgiKDopwuOm8efc8SEE6YBhEDYMZnTXHD+Zt4=; b=KEBKkD+lTnrSgTIlVYT8On/WCnVJaXK3oTtvYhFhqvTvkDPaVKDqwHQc/gDXCkz7DS Ja1YgzAM+QpDF/2ndUeA0efTQiqdquJoZiFSLK4gTiBXRp1pqTzpV1viG6nO5//NpQqQ aYpXi7Imr6X8KK3ERJdNFts4VTxm9+doh6FjB8uamrYW2+sUQ8COli+kgSVyVkMtkVvn 0NC1d7HC7rh58OjxtBOTqfQhiO1UibP2o7dtnkiae1OMBEWHV1165xtLE0eg8z5eIpwe HYv6in3qRaKuHzch0NZN2OtiQG8Pp0Sr5rTdsNRXfEq9lDopR8NeAOjgq7nzyLqkRKrd F0+Q== X-Gm-Message-State: AOJu0YyiUalOzyqDbS+oFa5bSVPjVCZ/P6itj+jCYyVUJwn7rPEpBkLC OxVwFUTgJxt7IUkqkv3DqOjJlCErixE= X-Google-Smtp-Source: AGHT+IEdjyXGyWY45N1only04KT6KY2T7L8aD+oKa++j3yloAwmsCPbzS9LAtJKVkxI//Hbql/PXJQ== X-Received: by 2002:a17:906:c106:b0:9b8:df8e:cbd0 with SMTP id do6-20020a170906c10600b009b8df8ecbd0mr5036667ejc.37.1696682344628; Sat, 07 Oct 2023 05:39:04 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 11/29] hw/isa/piix3: Create IDE controller in host device Date: Sat, 7 Oct 2023 14:38:19 +0200 Message-ID: <20231007123843.127151-12-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::534; envelope-from=shentey@gmail.com; helo=mail-ed1-x534.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682519977100003 Content-Type: text/plain; charset="utf-8" The IDE controller is an integral part of PIIX3 (function 1). So create it = as part of the south bridge. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin --- include/hw/southbridge/piix.h | 2 ++ hw/i386/pc_piix.c | 13 ++++++------- hw/isa/piix3.c | 9 +++++++++ hw/i386/Kconfig | 1 - hw/isa/Kconfig | 1 + 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index b07ff6bb26..1daeff397c 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -13,6 +13,7 @@ #define HW_SOUTHBRIDGE_PIIX_H =20 #include "hw/pci/pci_device.h" +#include "hw/ide/pci.h" #include "hw/rtc/mc146818rtc.h" =20 /* PIRQRC[A:D]: PIRQx Route Control Registers */ @@ -52,6 +53,7 @@ struct PIIXState { int32_t pci_irq_levels_vmstate[PIIX_NUM_PIRQS]; =20 MC146818RtcState rtc; + PCIIDEState ide; =20 /* Reset Control Register contents */ uint8_t rcr; diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 5988656279..c98a997482 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -43,7 +43,6 @@ #include "net/net.h" #include "hw/ide/isa.h" #include "hw/ide/pci.h" -#include "hw/ide/piix.h" #include "hw/irq.h" #include "sysemu/kvm.h" #include "hw/i386/kvm/clock.h" @@ -290,6 +289,10 @@ static void pc_init1(MachineState *machine, isa_bus =3D ISA_BUS(qdev_get_child_bus(DEVICE(pci_dev), "isa.0")); rtc_state =3D ISA_DEVICE(object_resolve_path_component(OBJECT(pci_= dev), "rtc")); + dev =3D DEVICE(object_resolve_path_component(OBJECT(pci_dev), "ide= ")); + pci_ide_create_devs(PCI_DEVICE(dev)); + idebus[0] =3D qdev_get_child_bus(dev, "ide.0"); + idebus[1] =3D qdev_get_child_bus(dev, "ide.1"); } else { isa_bus =3D isa_bus_new(NULL, system_memory, system_io, &error_abort); @@ -301,6 +304,8 @@ static void pc_init1(MachineState *machine, =20 i8257_dma_init(isa_bus, 0); pcms->hpet_enabled =3D false; + idebus[0] =3D NULL; + idebus[1] =3D NULL; } =20 if (x86ms->pic =3D=3D ON_OFF_AUTO_ON || x86ms->pic =3D=3D ON_OFF_AUTO_= AUTO) { @@ -329,12 +334,6 @@ static void pc_init1(MachineState *machine, pc_nic_init(pcmc, isa_bus, pci_bus); =20 if (pcmc->pci_enabled) { - PCIDevice *dev; - - dev =3D pci_create_simple(pci_bus, piix3_devfn + 1, TYPE_PIIX3_IDE= ); - pci_ide_create_devs(dev); - idebus[0] =3D qdev_get_child_bus(&dev->qdev, "ide.0"); - idebus[1] =3D qdev_get_child_bus(&dev->qdev, "ide.1"); pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state); } #ifdef CONFIG_IDE_ISA diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 11d72ca2bb..3f1dabade0 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -29,6 +29,7 @@ #include "hw/southbridge/piix.h" #include "hw/irq.h" #include "hw/qdev-properties.h" +#include "hw/ide/piix.h" #include "hw/isa/isa.h" #include "sysemu/runstate.h" #include "migration/vmstate.h" @@ -265,6 +266,7 @@ static const MemoryRegionOps rcr_ops =3D { static void pci_piix3_realize(PCIDevice *dev, Error **errp) { PIIX3State *d =3D PIIX3_PCI_DEVICE(dev); + PCIBus *pci_bus =3D pci_get_bus(dev); ISABus *isa_bus; uint32_t irq; =20 @@ -290,6 +292,12 @@ static void pci_piix3_realize(PCIDevice *dev, Error **= errp) } irq =3D object_property_get_uint(OBJECT(&d->rtc), "irq", &error_fatal); isa_connect_gpio_out(ISA_DEVICE(&d->rtc), 0, irq); + + /* IDE */ + qdev_prop_set_int32(DEVICE(&d->ide), "addr", dev->devfn + 1); + if (!qdev_realize(DEVICE(&d->ide), BUS(pci_bus), errp)) { + return; + } } =20 static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml *scope) @@ -321,6 +329,7 @@ static void pci_piix3_init(Object *obj) ISA_NUM_IRQS); =20 object_initialize_child(obj, "rtc", &d->rtc, TYPE_MC146818_RTC); + object_initialize_child(obj, "ide", &d->ide, TYPE_PIIX3_IDE); } =20 static void pci_piix3_class_init(ObjectClass *klass, void *data) diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig index 9051083c1e..ade817f1b6 100644 --- a/hw/i386/Kconfig +++ b/hw/i386/Kconfig @@ -73,7 +73,6 @@ config I440FX select PC_ACPI select PCI_I440FX select PIIX3 - select IDE_PIIX select DIMM select SMBIOS select FW_CFG_DMA diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig index c10cbc5fc1..28345edbb3 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -34,6 +34,7 @@ config PC87312 config PIIX3 bool select I8257 + select IDE_PIIX select ISA_BUS select MC146818RTC =20 --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682473; cv=none; d=zohomail.com; s=zohoarc; b=nV/VfUNyCTMWFdJutrZFZ2v97wkmn37HTUegRTY03hab047YRkR9oSpzs5ud7G/S7O3y7vYDVUrtJyOFH2Z5S/hgvNaVZ6227QRs4qDttwoTyvTxYruu6IWDAO5bchU2g1UVAbxY/yhH0ro13pYYhV60ZGX8DuvWs4X+RRjUKv8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682473; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=PJizhQqu6HDUIEcNrVHCasa7JFEI6nWhKiovE24k5xk=; b=FIZ4Nf1pWiKjMXwxbLNMVVIroLP0ZgjN3OiVsTM18Y8fh7yxCoTiUdMSKDObUgeFIQ3JQwz7Q2bpq+qGnsW1ynrDZJXCJY4OlnSb3pSOYkD58l6MWLouHSIKh2rJWveQ/0/FwipcysrjRErEMLbcDY1iHR1ilvwfQU3IZp4KZVw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682473122188.17755241775444; Sat, 7 Oct 2023 05:41:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6ak-0003Js-5b; Sat, 07 Oct 2023 08:39:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aP-0002rt-Jg for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:14 -0400 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aL-0002lc-KQ for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:13 -0400 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-53829312d12so8971410a12.0 for ; Sat, 07 Oct 2023 05:39:07 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682346; x=1697287146; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PJizhQqu6HDUIEcNrVHCasa7JFEI6nWhKiovE24k5xk=; b=ncLsxO14ikk7PhPvY22wD+TdNigUWndyoVGA33WrXgR4aucmFzr071PQiMpZ5d0XOA t8OVga+WORNc9s9WL78CYURCII2IGQDRjHlOpnmgeZrVAi2n8r64HGO4z5HFB4H4eGti ws/9tVhxq7uupVwfbePotrbIpurTqUJ74Z/Y3zDXfl5Sij+uJO1//8h/txMrPDydo73A r0OEwUmgMDyxFuy9HNY3sMtGxRBHUv/PTGHRgoMEWwoVPFv5NAtRHu+7RCZVMS8WbrTd EoY7lmr7WpisOB8NLKFPL76qobxOaoHUr5vGZ3d9+WwbGh4j86V+MeV9jO84XH31pGGM HaRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682346; x=1697287146; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PJizhQqu6HDUIEcNrVHCasa7JFEI6nWhKiovE24k5xk=; b=H+1Gp7Q2jqV5mAza4tmyD1wAvuNbME0AFUiF/HuShb1mUgmSza6E0X7Qpgs9UVtJNe 7/ovT6gdsKrkXzhmY3rGOiViimvkeJyLjWZYm4PqRSZABNkKIIblesdNbFyck/eeJa3b jHCGIgdXvnyf8qBzaTUoqm2nJzN4u83OPX3ayLqNUXZ/uw9yyUc3P152QZSXHv3wYHkg LKWjhbAj2+P//Y8iIAAn7TMZmqvhRxFqNeKvej9s+Q39DSnPedDwlqZUo84jAwlG/6Jj 8GaoIOCCio/oPt/NN/9uzGvshiQllHGagoZcNxD+/NK+Yix8qzzRLyRQwgZDhC7QjNqE tZig== X-Gm-Message-State: AOJu0Yxf/bYxESO8eIYngZE6JqiwvQn9eq8zgaHxk+GvetWZOvxZXScO 5w5OGSsHuKJKLsAHzbPjUhhCfoJ83ns= X-Google-Smtp-Source: AGHT+IHz4v4rzMB5+uvSG0rL01aGI3Qz2BY+gopk9dew7QmbFH886+4khm41vvtyfFz3MoxUBdYFEg== X-Received: by 2002:a17:907:3e1a:b0:9ae:699d:8a31 with SMTP id hp26-20020a1709073e1a00b009ae699d8a31mr9262106ejc.33.1696682345797; Sat, 07 Oct 2023 05:39:05 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 12/29] hw/isa/piix3: Create USB controller in host device Date: Sat, 7 Oct 2023 14:38:20 +0200 Message-ID: <20231007123843.127151-13-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::536; envelope-from=shentey@gmail.com; helo=mail-ed1-x536.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682475206100003 Content-Type: text/plain; charset="utf-8" The USB controller is an integral part of PIIX3 (function 2). So create it as part of the south bridge. Note that the USB function is optional in QEMU. This is why it gets object_initialize_child()'ed in realize rather than in instance_init. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin --- include/hw/southbridge/piix.h | 4 ++++ hw/i386/pc_piix.c | 7 ++----- hw/isa/piix3.c | 16 ++++++++++++++++ hw/isa/Kconfig | 1 + 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index 1daeff397c..5cd866f1f2 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -15,6 +15,7 @@ #include "hw/pci/pci_device.h" #include "hw/ide/pci.h" #include "hw/rtc/mc146818rtc.h" +#include "hw/usb/hcd-uhci.h" =20 /* PIRQRC[A:D]: PIRQx Route Control Registers */ #define PIIX_PIRQCA 0x60 @@ -54,12 +55,15 @@ struct PIIXState { =20 MC146818RtcState rtc; PCIIDEState ide; + UHCIState uhci; =20 /* Reset Control Register contents */ uint8_t rcr; =20 /* IO memory region for Reset Control Register (PIIX_RCR_IOPORT) */ MemoryRegion rcr_mem; + + bool has_usb; }; typedef struct PIIXState PIIX3State; =20 diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index c98a997482..8dcd6851d0 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -51,7 +51,6 @@ #include "exec/memory.h" #include "hw/acpi/acpi.h" #include "hw/acpi/piix4.h" -#include "hw/usb/hcd-uhci.h" #include "qapi/error.h" #include "qemu/error-report.h" #include "sysemu/xen.h" @@ -265,6 +264,8 @@ static void pc_init1(MachineState *machine, size_t i; =20 pci_dev =3D pci_new_multifunction(-1, TYPE_PIIX3_DEVICE); + object_property_set_bool(OBJECT(pci_dev), "has-usb", + machine_usb(machine), &error_abort); dev =3D DEVICE(pci_dev); for (i =3D 0; i < ISA_NUM_IRQS; i++) { qdev_connect_gpio_out_named(dev, "isa-irqs", i, x86ms->gsi[i]); @@ -359,10 +360,6 @@ static void pc_init1(MachineState *machine, } #endif =20 - if (pcmc->pci_enabled && machine_usb(machine)) { - pci_create_simple(pci_bus, piix3_devfn + 2, TYPE_PIIX3_USB_UHCI); - } - if (pcmc->pci_enabled && x86_machine_is_acpi_enabled(X86_MACHINE(pcms)= )) { PCIDevice *piix4_pm; =20 diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 3f1dabade0..aebc0da23b 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -298,6 +298,16 @@ static void pci_piix3_realize(PCIDevice *dev, Error **= errp) if (!qdev_realize(DEVICE(&d->ide), BUS(pci_bus), errp)) { return; } + + /* USB */ + if (d->has_usb) { + object_initialize_child(OBJECT(dev), "uhci", &d->uhci, + TYPE_PIIX3_USB_UHCI); + qdev_prop_set_int32(DEVICE(&d->uhci), "addr", dev->devfn + 2); + if (!qdev_realize(DEVICE(&d->uhci), BUS(pci_bus), errp)) { + return; + } + } } =20 static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml *scope) @@ -332,6 +342,11 @@ static void pci_piix3_init(Object *obj) object_initialize_child(obj, "ide", &d->ide, TYPE_PIIX3_IDE); } =20 +static Property pci_piix3_props[] =3D { + DEFINE_PROP_BOOL("has-usb", PIIX3State, has_usb, true), + DEFINE_PROP_END_OF_LIST(), +}; + static void pci_piix3_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); @@ -352,6 +367,7 @@ static void pci_piix3_class_init(ObjectClass *klass, vo= id *data) * pc_piix.c's pc_init1() */ dc->user_creatable =3D false; + device_class_set_props(dc, pci_piix3_props); adevc->build_dev_aml =3D build_pci_isa_aml; } =20 diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig index 28345edbb3..1076df69ca 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -37,6 +37,7 @@ config PIIX3 select IDE_PIIX select ISA_BUS select MC146818RTC + select USB_UHCI =20 config PIIX4 bool --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682484; cv=none; d=zohomail.com; s=zohoarc; b=RULHQzAIlFEDFisceymRoo3+DCktls2P1JH1xR8bzdQgOouYT06JVcuiru8MnmmYQLSYZLtY770YELaKcOk/LBYM6p7POGHbl67DCbJ7HR8kJnONjCv32OVlwvrNedGOF5CGz4YBQXGzUfFej1IcIkvcsHpyVh1OXwwYoTg3M0E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682484; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mHhCznu32X7eUOZC5foU2/KBStNeJAiZO96+pey2FmU=; b=Py0OvXsTiZ+VB+KGUXp+GFtFn4LHPnIxIoa817hhaI2MyHjb0rl017CLvMgwZQr8wYdzCCJ9CNT/+v9NnmMNN2jGBlCMSigv80R9HlJQLHLgxbPVbjmUUSWvq77Cz884SgXwu4ngbxSKc9vLS78scc6pDw+nQEJMGWIfODJgGvQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 169668248495037.148387872986746; Sat, 7 Oct 2023 05:41:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6ac-00035w-3M; Sat, 07 Oct 2023 08:39:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aQ-0002rz-IC for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:16 -0400 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aL-0002lk-Ko for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:13 -0400 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-9a9f139cd94so506527966b.2 for ; Sat, 07 Oct 2023 05:39:08 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682347; x=1697287147; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mHhCznu32X7eUOZC5foU2/KBStNeJAiZO96+pey2FmU=; b=NfUsEkvdV4jfzhnt0SEpdDARpXN+ZVnkKnc86gCDhNJoJIqv2oOcDwU4jhU70uWzjp 68NDHAg0cK0ddYnH44t6FgwodN93amiUezLmws726iTJxqU2KTF2cS4374qOgRT5lfuc 9kFN43SkHcJ9pUtsjSjdkft25UK5QLeTR/dQoDhikV6MnZdC9LEccG+j3WeOTj/Sg/VC 0o92qUylYo3ErnAgzvQ9RqDXgjSzv/emmqbDjRNiaBiFOUqBqdMzOhn3sVsg43wuj51B DkGa92LssMLjRzYmQ34ZRNdrjVkAqCy/R8mHsz45f5I5FeU+8xCgdP8+qek3V4ngmVZc vdHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682347; x=1697287147; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mHhCznu32X7eUOZC5foU2/KBStNeJAiZO96+pey2FmU=; b=lTwANACkpluVwTkIKfj8r23XwLeEbUtUcNHQme8mQA+0txqCGLFCft50V3pTg774Es gaWPSeCZdUdWmgoYGOuo7dxzHpLnl5SoAIHCNEKgFh1kNXezy6DKWp+gZU4SzjpGMK1I PFuLSuNFS7Q1+hhB8iaXgoI70YxBW9vcDqQomoTqgctj5CgCm2hkrQpNBg3cvG5L/bWo HIA7pGQWoGhGDnZ3Qz2+AquDgHAvY9mVI3+gJE8vE7lvMX13XC2ogYPNQoBhTO9FPyhS h+RElPpWeB+T2MIn2mJgfoD0IRJ4A1y93f6Ii7JHHCkobeb+DGml6dT8CbR+p7mpJgue Kr9g== X-Gm-Message-State: AOJu0Yy2bhUMvzzI2N4n6ezNQgHOa7HXkLEzHWCHRCUoZDFMF3efGZF4 wqbsj6J2fBDaxkt9TU0+BOWHVh9WJZQ= X-Google-Smtp-Source: AGHT+IF0Um9d69nqpfKMjLoMohtipJyW4J7zlT16KRcgYsZMJX4Q8HEx4l02M5Lzvim65M7KKxSqbQ== X-Received: by 2002:a17:907:7631:b0:9a2:256a:65cd with SMTP id jy17-20020a170907763100b009a2256a65cdmr8075396ejc.4.1696682346969; Sat, 07 Oct 2023 05:39:06 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 13/29] hw/isa/piix3: Create power management controller in host device Date: Sat, 7 Oct 2023 14:38:21 +0200 Message-ID: <20231007123843.127151-14-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62b; envelope-from=shentey@gmail.com; helo=mail-ej1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682485346100011 Content-Type: text/plain; charset="utf-8" The power management controller is an integral part of PIIX3 (function 3). = So create it as part of the south bridge. Note that the ACPI function is optional in QEMU. This is why it gets object_initialize_child()'ed in realize rather than in instance_init. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin --- include/hw/southbridge/piix.h | 6 ++++++ hw/i386/pc_piix.c | 24 +++++++++++------------- hw/isa/piix3.c | 15 +++++++++++++++ hw/isa/Kconfig | 1 + 4 files changed, 33 insertions(+), 13 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index 5cd866f1f2..c56ce49fd3 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -13,6 +13,7 @@ #define HW_SOUTHBRIDGE_PIIX_H =20 #include "hw/pci/pci_device.h" +#include "hw/acpi/piix4.h" #include "hw/ide/pci.h" #include "hw/rtc/mc146818rtc.h" #include "hw/usb/hcd-uhci.h" @@ -56,6 +57,9 @@ struct PIIXState { MC146818RtcState rtc; PCIIDEState ide; UHCIState uhci; + PIIX4PMState pm; + + uint32_t smb_io_base; =20 /* Reset Control Register contents */ uint8_t rcr; @@ -63,7 +67,9 @@ struct PIIXState { /* IO memory region for Reset Control Register (PIIX_RCR_IOPORT) */ MemoryRegion rcr_mem; =20 + bool has_acpi; bool has_usb; + bool smm_enabled; }; typedef struct PIIXState PIIX3State; =20 diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 8dcd6851d0..70cffcfe4f 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -50,7 +50,6 @@ #include "hw/i2c/smbus_eeprom.h" #include "exec/memory.h" #include "hw/acpi/acpi.h" -#include "hw/acpi/piix4.h" #include "qapi/error.h" #include "qemu/error-report.h" #include "sysemu/xen.h" @@ -115,7 +114,7 @@ static void pc_init1(MachineState *machine, MemoryRegion *system_io =3D get_system_io(); PCIBus *pci_bus =3D NULL; ISABus *isa_bus; - int piix3_devfn =3D -1; + Object *piix4_pm =3D NULL; qemu_irq smi_irq; GSIState *gsi_state; BusState *idebus[MAX_IDE_BUS]; @@ -266,6 +265,13 @@ static void pc_init1(MachineState *machine, pci_dev =3D pci_new_multifunction(-1, TYPE_PIIX3_DEVICE); object_property_set_bool(OBJECT(pci_dev), "has-usb", machine_usb(machine), &error_abort); + object_property_set_bool(OBJECT(pci_dev), "has-acpi", + x86_machine_is_acpi_enabled(x86ms), + &error_abort); + qdev_prop_set_uint32(DEVICE(pci_dev), "smb_io_base", 0xb100); + object_property_set_bool(OBJECT(pci_dev), "smm-enabled", + x86_machine_is_smm_enabled(x86ms), + &error_abort); dev =3D DEVICE(pci_dev); for (i =3D 0; i < ISA_NUM_IRQS; i++) { qdev_connect_gpio_out_named(dev, "isa-irqs", i, x86ms->gsi[i]); @@ -286,10 +292,10 @@ static void pc_init1(MachineState *machine, XEN_IOAPIC_NUM_PIRQS); } =20 - piix3_devfn =3D pci_dev->devfn; isa_bus =3D ISA_BUS(qdev_get_child_bus(DEVICE(pci_dev), "isa.0")); rtc_state =3D ISA_DEVICE(object_resolve_path_component(OBJECT(pci_= dev), "rtc")); + piix4_pm =3D object_resolve_path_component(OBJECT(pci_dev), "pm"); dev =3D DEVICE(object_resolve_path_component(OBJECT(pci_dev), "ide= ")); pci_ide_create_devs(PCI_DEVICE(dev)); idebus[0] =3D qdev_get_child_bus(dev, "ide.0"); @@ -360,17 +366,9 @@ static void pc_init1(MachineState *machine, } #endif =20 - if (pcmc->pci_enabled && x86_machine_is_acpi_enabled(X86_MACHINE(pcms)= )) { - PCIDevice *piix4_pm; - + if (piix4_pm) { smi_irq =3D qemu_allocate_irq(pc_acpi_smi_interrupt, first_cpu, 0); - piix4_pm =3D pci_new(piix3_devfn + 3, TYPE_PIIX4_PM); - qdev_prop_set_uint32(DEVICE(piix4_pm), "smb_io_base", 0xb100); - qdev_prop_set_bit(DEVICE(piix4_pm), "smm-enabled", - x86_machine_is_smm_enabled(x86ms)); - pci_realize_and_unref(piix4_pm, pci_bus, &error_fatal); =20 - qdev_connect_gpio_out(DEVICE(piix4_pm), 0, x86ms->gsi[9]); qdev_connect_gpio_out_named(DEVICE(piix4_pm), "smi-irq", 0, smi_ir= q); pcms->smbus =3D I2C_BUS(qdev_get_child_bus(DEVICE(piix4_pm), "i2c"= )); /* TODO: Populate SPD eeprom data. */ @@ -382,7 +380,7 @@ static void pc_init1(MachineState *machine, object_property_allow_set_link, OBJ_PROP_LINK_STRONG); object_property_set_link(OBJECT(machine), PC_MACHINE_ACPI_DEVICE_P= ROP, - OBJECT(piix4_pm), &error_abort); + piix4_pm, &error_abort); } =20 if (machine->nvdimms_state->is_enabled) { diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index aebc0da23b..5b867df299 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -308,6 +308,18 @@ static void pci_piix3_realize(PCIDevice *dev, Error **= errp) return; } } + + /* Power Management */ + if (d->has_acpi) { + object_initialize_child(OBJECT(d), "pm", &d->pm, TYPE_PIIX4_PM); + qdev_prop_set_int32(DEVICE(&d->pm), "addr", dev->devfn + 3); + qdev_prop_set_uint32(DEVICE(&d->pm), "smb_io_base", d->smb_io_base= ); + qdev_prop_set_bit(DEVICE(&d->pm), "smm-enabled", d->smm_enabled); + if (!qdev_realize(DEVICE(&d->pm), BUS(pci_bus), errp)) { + return; + } + qdev_connect_gpio_out(DEVICE(&d->pm), 0, d->isa_irqs_in[9]); + } } =20 static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml *scope) @@ -343,7 +355,10 @@ static void pci_piix3_init(Object *obj) } =20 static Property pci_piix3_props[] =3D { + DEFINE_PROP_UINT32("smb_io_base", PIIX3State, smb_io_base, 0), + DEFINE_PROP_BOOL("has-acpi", PIIX3State, has_acpi, true), DEFINE_PROP_BOOL("has-usb", PIIX3State, has_usb, true), + DEFINE_PROP_BOOL("smm-enabled", PIIX3State, smm_enabled, false), DEFINE_PROP_END_OF_LIST(), }; =20 diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig index 1076df69ca..17ddb25afc 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -33,6 +33,7 @@ config PC87312 =20 config PIIX3 bool + select ACPI_PIIX4 select I8257 select IDE_PIIX select ISA_BUS --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682447; cv=none; d=zohomail.com; s=zohoarc; b=W26FM+T9VAcfA8EC41aFjZaTNEpm8xj4auIT9g8jDJFQ9AxkDm5xEM9RxCE/ka5D0yf0O7Y5rNr4ykT9xL1MMIT0ua1rXf+8UPzOl9F0b7DIwb0VSCBWoHDSqDGtajPvdyi20/36tI9wivGN4pI4ltq0mp/buPd8ljfDqQfsEm0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682447; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=y7S/Z6fTqnTSvxe07VZ4hrEkhRcScB4CziFtx2OVoPo=; b=ISHV9HlKrlK4ZPwy9cWCg5gBgqzPSsXVGZqAHZOzkxZmuv79MUXLC4QnCx9B/uidsLdc/Ch5N275LC4nniSJ5DLsLY0qxg4p5lf244og3/ItCiWscP1AwVTOC0vaNhdRhVeTkSVweh/Dvjcrha0bVVjcILAB0fVnuFbMSAfNUcY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682447988628.5054815253337; Sat, 7 Oct 2023 05:40:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6aY-000325-T6; Sat, 07 Oct 2023 08:39:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aQ-0002sC-LH for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:16 -0400 Received: from mail-ej1-x629.google.com ([2a00:1450:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aM-0002lq-Cl for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:14 -0400 Received: by mail-ej1-x629.google.com with SMTP id a640c23a62f3a-9b96c3b4be4so520331066b.1 for ; Sat, 07 Oct 2023 05:39:10 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682348; x=1697287148; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=y7S/Z6fTqnTSvxe07VZ4hrEkhRcScB4CziFtx2OVoPo=; b=McAoYQotpJnfVz+UFsVKqdL065Qd9KiHVC8jIVT7lN0N0VatqFM+FalXccFJxgaHhV vX8suEcrq03W4HbDJPTw+SHi1oVe9r2fSoAt4YGjP9KXf73Oyk55QuK7Lsavo/U6lO5V XQrKP5SeHjgrbHo2GXblyhZqRG14LUUqkvdUZ/bkU29O75BU9mzHUNJsByYy3s5hYoqE WsJHQnNBBaUnbKQggDOJS/k4iyxrN1dO5RNwuXF6OTvSupMiGBK2LYCknYZ//ZxJsZJr XbRgTBWb4vm+hcpVzQz/e15JqArXz1qkS1mj2H18U7LStjPG9NUDRxzk4gsqh6/UeQxh j3Ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682348; x=1697287148; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=y7S/Z6fTqnTSvxe07VZ4hrEkhRcScB4CziFtx2OVoPo=; b=m5gYszpNyofaEm0HibV+J1e8LUrwqUt4NneQhpMlbytTSeYWyOIgJqUc5oZ516yk47 +DMfB3ibVK/uErGzVjKjjuwsgr6D4oG9Otwg8z2faBDY2BOVcfKzp5KfdJJXtmPJDlNa cffdpl52fgxVbN05EMp02Kyt3tz2A8Vbw1oquXwzwzxDJaKD+LFPkjXClANfuJHBC0PO 8jg6etttE8QpA8WLC/8kuuhpzDQvNaCKai8KQ3U2xx4eABuyU0+nql40pvyDulvr3GyD iz+ZPUTPuMfcNH7LlkVGYS+SCt19mTQ6aJU278jPcVpeclVy2oBRhbMiZaWUuXMZMxWx VGkw== X-Gm-Message-State: AOJu0YyvaskIoKfkpovzbTXda49au3bOWUvNnZRZXybKH/FYtTW542jY nUR4uv4u9G+roKa0rCz4F8md3jKHbPw= X-Google-Smtp-Source: AGHT+IHLLa+0ItLBFOS3DPdmLiiIzG4DUSpVbEkhDWmyRfwPO2U8ppphtfwAD6ND7+h/BrtMGcktJg== X-Received: by 2002:a17:907:2723:b0:9a5:d657:47ee with SMTP id d3-20020a170907272300b009a5d65747eemr8850714ejl.58.1696682348325; Sat, 07 Oct 2023 05:39:08 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 14/29] hw/isa/piix3: Drop the "3" from PIIX base class name Date: Sat, 7 Oct 2023 14:38:22 +0200 Message-ID: <20231007123843.127151-15-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::629; envelope-from=shentey@gmail.com; helo=mail-ej1-x629.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682448633100001 Content-Type: text/plain; charset="utf-8" TYPE_PIIX3_PCI_DEVICE was the former base class of the Xen and non-Xen vari= ants of the PIIX3 ISA device models. It will become the base class for the PIIX3= and PIIX4 device models, so drop the "3" from the type names. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin --- include/hw/southbridge/piix.h | 6 ++-- hw/isa/piix3.c | 56 +++++++++++++++++------------------ 2 files changed, 30 insertions(+), 32 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index c56ce49fd3..0b257e1582 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -71,11 +71,9 @@ struct PIIXState { bool has_usb; bool smm_enabled; }; -typedef struct PIIXState PIIX3State; =20 -#define TYPE_PIIX3_PCI_DEVICE "pci-piix3" -DECLARE_INSTANCE_CHECKER(PIIX3State, PIIX3_PCI_DEVICE, - TYPE_PIIX3_PCI_DEVICE) +#define TYPE_PIIX_PCI_DEVICE "pci-piix" +OBJECT_DECLARE_SIMPLE_TYPE(PIIXState, PIIX_PCI_DEVICE) =20 #define TYPE_PIIX3_DEVICE "PIIX3" #define TYPE_PIIX4_PCI_DEVICE "piix4-isa" diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 5b867df299..c7e59249b6 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -35,7 +35,7 @@ #include "migration/vmstate.h" #include "hw/acpi/acpi_aml_interface.h" =20 -static void piix3_set_irq_pic(PIIX3State *piix3, int pic_irq) +static void piix3_set_irq_pic(PIIXState *piix3, int pic_irq) { qemu_set_irq(piix3->isa_irqs_in[pic_irq], !!(piix3->pic_levels & @@ -43,7 +43,7 @@ static void piix3_set_irq_pic(PIIX3State *piix3, int pic_= irq) (pic_irq * PIIX_NUM_PIRQS)))); } =20 -static void piix3_set_irq_level_internal(PIIX3State *piix3, int pirq, int = level) +static void piix3_set_irq_level_internal(PIIXState *piix3, int pirq, int l= evel) { int pic_irq; uint64_t mask; @@ -58,7 +58,7 @@ static void piix3_set_irq_level_internal(PIIX3State *piix= 3, int pirq, int level) piix3->pic_levels |=3D mask * !!level; } =20 -static void piix3_set_irq_level(PIIX3State *piix3, int pirq, int level) +static void piix3_set_irq_level(PIIXState *piix3, int pirq, int level) { int pic_irq; =20 @@ -74,13 +74,13 @@ static void piix3_set_irq_level(PIIX3State *piix3, int = pirq, int level) =20 static void piix3_set_irq(void *opaque, int pirq, int level) { - PIIX3State *piix3 =3D opaque; + PIIXState *piix3 =3D opaque; piix3_set_irq_level(piix3, pirq, level); } =20 static PCIINTxRoute piix3_route_intx_pin_to_irq(void *opaque, int pin) { - PIIX3State *piix3 =3D opaque; + PIIXState *piix3 =3D opaque; int irq =3D piix3->dev.config[PIIX_PIRQCA + pin]; PCIINTxRoute route; =20 @@ -95,7 +95,7 @@ static PCIINTxRoute piix3_route_intx_pin_to_irq(void *opa= que, int pin) } =20 /* irq routing is changed. so rebuild bitmap */ -static void piix3_update_irq_levels(PIIX3State *piix3) +static void piix3_update_irq_levels(PIIXState *piix3) { PCIBus *bus =3D pci_get_bus(&piix3->dev); int pirq; @@ -111,7 +111,7 @@ static void piix3_write_config(PCIDevice *dev, { pci_default_write_config(dev, address, val, len); if (ranges_overlap(address, len, PIIX_PIRQCA, 4)) { - PIIX3State *piix3 =3D PIIX3_PCI_DEVICE(dev); + PIIXState *piix3 =3D PIIX_PCI_DEVICE(dev); int pic_irq; =20 pci_bus_fire_intx_routing_notifier(pci_get_bus(&piix3->dev)); @@ -124,7 +124,7 @@ static void piix3_write_config(PCIDevice *dev, =20 static void piix3_reset(DeviceState *dev) { - PIIX3State *d =3D PIIX3_PCI_DEVICE(dev); + PIIXState *d =3D PIIX_PCI_DEVICE(dev); uint8_t *pci_conf =3D d->dev.config; =20 pci_conf[0x04] =3D 0x07; /* master, memory and I/O */ @@ -165,7 +165,7 @@ static void piix3_reset(DeviceState *dev) =20 static int piix3_post_load(void *opaque, int version_id) { - PIIX3State *piix3 =3D opaque; + PIIXState *piix3 =3D opaque; int pirq; =20 /* @@ -188,7 +188,7 @@ static int piix3_post_load(void *opaque, int version_id) static int piix3_pre_save(void *opaque) { int i; - PIIX3State *piix3 =3D opaque; + PIIXState *piix3 =3D opaque; =20 for (i =3D 0; i < ARRAY_SIZE(piix3->pci_irq_levels_vmstate); i++) { piix3->pci_irq_levels_vmstate[i] =3D @@ -200,7 +200,7 @@ static int piix3_pre_save(void *opaque) =20 static bool piix3_rcr_needed(void *opaque) { - PIIX3State *piix3 =3D opaque; + PIIXState *piix3 =3D opaque; =20 return (piix3->rcr !=3D 0); } @@ -211,7 +211,7 @@ static const VMStateDescription vmstate_piix3_rcr =3D { .minimum_version_id =3D 1, .needed =3D piix3_rcr_needed, .fields =3D (VMStateField[]) { - VMSTATE_UINT8(rcr, PIIX3State), + VMSTATE_UINT8(rcr, PIIXState), VMSTATE_END_OF_LIST() } }; @@ -223,8 +223,8 @@ static const VMStateDescription vmstate_piix3 =3D { .post_load =3D piix3_post_load, .pre_save =3D piix3_pre_save, .fields =3D (VMStateField[]) { - VMSTATE_PCI_DEVICE(dev, PIIX3State), - VMSTATE_INT32_ARRAY_V(pci_irq_levels_vmstate, PIIX3State, + VMSTATE_PCI_DEVICE(dev, PIIXState), + VMSTATE_INT32_ARRAY_V(pci_irq_levels_vmstate, PIIXState, PIIX_NUM_PIRQS, 3), VMSTATE_END_OF_LIST() }, @@ -237,7 +237,7 @@ static const VMStateDescription vmstate_piix3 =3D { =20 static void rcr_write(void *opaque, hwaddr addr, uint64_t val, unsigned le= n) { - PIIX3State *d =3D opaque; + PIIXState *d =3D opaque; =20 if (val & 4) { qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); @@ -248,7 +248,7 @@ static void rcr_write(void *opaque, hwaddr addr, uint64= _t val, unsigned len) =20 static uint64_t rcr_read(void *opaque, hwaddr addr, unsigned len) { - PIIX3State *d =3D opaque; + PIIXState *d =3D opaque; =20 return d->rcr; } @@ -265,7 +265,7 @@ static const MemoryRegionOps rcr_ops =3D { =20 static void pci_piix3_realize(PCIDevice *dev, Error **errp) { - PIIX3State *d =3D PIIX3_PCI_DEVICE(dev); + PIIXState *d =3D PIIX_PCI_DEVICE(dev); PCIBus *pci_bus =3D pci_get_bus(dev); ISABus *isa_bus; uint32_t irq; @@ -345,7 +345,7 @@ static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml *= scope) =20 static void pci_piix3_init(Object *obj) { - PIIX3State *d =3D PIIX3_PCI_DEVICE(obj); + PIIXState *d =3D PIIX_PCI_DEVICE(obj); =20 qdev_init_gpio_out_named(DEVICE(obj), d->isa_irqs_in, "isa-irqs", ISA_NUM_IRQS); @@ -355,10 +355,10 @@ static void pci_piix3_init(Object *obj) } =20 static Property pci_piix3_props[] =3D { - DEFINE_PROP_UINT32("smb_io_base", PIIX3State, smb_io_base, 0), - DEFINE_PROP_BOOL("has-acpi", PIIX3State, has_acpi, true), - DEFINE_PROP_BOOL("has-usb", PIIX3State, has_usb, true), - DEFINE_PROP_BOOL("smm-enabled", PIIX3State, smm_enabled, false), + DEFINE_PROP_UINT32("smb_io_base", PIIXState, smb_io_base, 0), + DEFINE_PROP_BOOL("has-acpi", PIIXState, has_acpi, true), + DEFINE_PROP_BOOL("has-usb", PIIXState, has_usb, true), + DEFINE_PROP_BOOL("smm-enabled", PIIXState, smm_enabled, false), DEFINE_PROP_END_OF_LIST(), }; =20 @@ -386,10 +386,10 @@ static void pci_piix3_class_init(ObjectClass *klass, = void *data) adevc->build_dev_aml =3D build_pci_isa_aml; } =20 -static const TypeInfo piix3_pci_type_info =3D { - .name =3D TYPE_PIIX3_PCI_DEVICE, +static const TypeInfo piix_pci_type_info =3D { + .name =3D TYPE_PIIX_PCI_DEVICE, .parent =3D TYPE_PCI_DEVICE, - .instance_size =3D sizeof(PIIX3State), + .instance_size =3D sizeof(PIIXState), .instance_init =3D pci_piix3_init, .abstract =3D true, .class_init =3D pci_piix3_class_init, @@ -403,7 +403,7 @@ static const TypeInfo piix3_pci_type_info =3D { static void piix3_realize(PCIDevice *dev, Error **errp) { ERRP_GUARD(); - PIIX3State *piix3 =3D PIIX3_PCI_DEVICE(dev); + PIIXState *piix3 =3D PIIX_PCI_DEVICE(dev); PCIBus *pci_bus =3D pci_get_bus(dev); =20 pci_piix3_realize(dev, errp); @@ -424,13 +424,13 @@ static void piix3_class_init(ObjectClass *klass, void= *data) =20 static const TypeInfo piix3_info =3D { .name =3D TYPE_PIIX3_DEVICE, - .parent =3D TYPE_PIIX3_PCI_DEVICE, + .parent =3D TYPE_PIIX_PCI_DEVICE, .class_init =3D piix3_class_init, }; =20 static void piix3_register_types(void) { - type_register_static(&piix3_pci_type_info); + type_register_static(&piix_pci_type_info); type_register_static(&piix3_info); } =20 --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682482; cv=none; d=zohomail.com; s=zohoarc; b=fkOEI8DOfCF1xSHX7Us8/uhUBfWJqA6Md6oI8P2a4RB1Z1HB6Rr3Q1qzABfKNOFktYA0Xedfjm2n4E8p0TabUikwGxWzPsWlsj/pnjScxWj35yII5n/GzZ72KP4aOnKB82o/THEUChxSP+94JOmpgXp0scauTnQerSy6cfHRqlU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682482; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=jAj6teEkNdflzmCr/vlbRRvGVOWgOuzImtd+RPlYf5g=; b=a8qPA7Firc913Y4oVNTb6Vw1YV0Oadw3rDIjPOCRRC6HMxAOwWHoBKOTrsqBU9zaxbnn1e8qghV9TolGofbKgSjWH3sUjn2p/om3uRrIWxvqv+P/HEsfEj2nJLz3jeijNXngNkY6gaU+DPqgyGDqj6JEZWos6jwHd2E31mKOXjw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682482207872.1030823525492; Sat, 7 Oct 2023 05:41:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6ap-0003l8-BA; Sat, 07 Oct 2023 08:39:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aQ-0002sB-L6 for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:16 -0400 Received: from mail-ej1-x630.google.com ([2a00:1450:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aN-0002m0-Cz for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:14 -0400 Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-99bdcade7fbso529235266b.1 for ; Sat, 07 Oct 2023 05:39:11 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682349; x=1697287149; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jAj6teEkNdflzmCr/vlbRRvGVOWgOuzImtd+RPlYf5g=; b=d6mkiqhZ/QEhYyQTUc216ZPBAUW9RdCHPlDOhVc0r46x1XVMS9Pu71PgQu29PupNEU cae5VpGAF2X6ECeI0gLRLDnrz5MqdPM00PNph8Tr8iyB36i0ySecAvGOxSw5CeW/a0Db lUQ4CXFTZ6QlxYO1ZQiSLiUspiSBKMZl2685W3+9+4lFYfd8LtMvWtckuW8fjsQQ4B49 vdDQc5KOPUbFxtWEUzTSDYg5Kt2VT5v4P6NLNYqYP+WJKIc2mGM7rargbelWQsqtrrHc blM3bVT6NWzNGgH2bsP2klR7hvD1VFDhbl18xQvLZIhg+y4cL6QOOQklYdBY9zabSokm GixA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682349; x=1697287149; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jAj6teEkNdflzmCr/vlbRRvGVOWgOuzImtd+RPlYf5g=; b=ZPGeYkpnZSmWusS7gys3EmBrcrlUHVfXcsJuURaR+A6rs0HX3d/0KdFIbzMlAEandh Lqv3C/lvOnyGk6MQFZIApdFzct/NmBrXj4Us7pm+XmscMoPoydUokQ19Lnuy74YF2Oz+ d0vz+Qwe5ZJYk32dF7s2CeiTV6CFz3kD9MbVED8qhmcYtdK2WTlYxu8+maPHvFT+Z0p/ XgSmX5njh1K09KAOD6FtxAzOnqg3QKaY/6enn/Hc7tLkMgCgmS10IwpWr0COJAAhXLnk 7a+HUHJURsCdp+Q3/iBmVhc+3c6Atg1GUginrnh9p6u7ROtlfssI/76+rNlfUXd+7nTl c9VA== X-Gm-Message-State: AOJu0Yx2x2ZJasS0Z0VTVQKuUfDJpCkzWEhZomum3L7eGeg22KAv6tTw xDH+a8HxhE94JZMFIj8ASMpNlNYCYGc= X-Google-Smtp-Source: AGHT+IHC7XCUEux96+luo/SbKXorEINESVXRc6eehKkRF9r1WjVokffFsXLZ371y+av5rzTinPCXLQ== X-Received: by 2002:a17:906:10a:b0:9ae:3e2f:4d00 with SMTP id 10-20020a170906010a00b009ae3e2f4d00mr12244297eje.70.1696682349529; Sat, 07 Oct 2023 05:39:09 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 15/29] hw/isa/piix4: Remove unused inbound ISA interrupt lines Date: Sat, 7 Oct 2023 14:38:23 +0200 Message-ID: <20231007123843.127151-16-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::630; envelope-from=shentey@gmail.com; helo=mail-ej1-x630.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682483254100005 Content-Type: text/plain; charset="utf-8" The Malta board, which is the only user of PIIX4, doesn't connect to the exported interrupt lines. PIIX3 doesn't expose such interrupt lines either, so remove them for PIIX4 for simplicity and consistency. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin --- hw/isa/piix4.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index e0b149f8eb..3c3c7a094c 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -148,12 +148,6 @@ static void piix4_request_i8259_irq(void *opaque, int = irq, int level) qemu_set_irq(s->cpu_intr, level); } =20 -static void piix4_set_i8259_irq(void *opaque, int irq, int level) -{ - PIIX4State *s =3D opaque; - qemu_set_irq(s->isa[irq], level); -} - static void piix4_rcr_write(void *opaque, hwaddr addr, uint64_t val, unsigned int len) { @@ -197,8 +191,6 @@ static void piix4_realize(PCIDevice *dev, Error **errp) return; } =20 - qdev_init_gpio_in_named(DEVICE(dev), piix4_set_i8259_irq, - "isa", ISA_NUM_IRQS); qdev_init_gpio_out_named(DEVICE(dev), &s->cpu_intr, "intr", 1); =20 --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682578; cv=none; d=zohomail.com; s=zohoarc; b=i3AtGknQa8E8uVAqqsKTQBHWLr73e/jIFUBEYVKWY+fkP9e/7mEThMGRYUzlVUkAm8dyS/jaX3B3t1vgmzVGLHz6Gr4IJHgqmdMlkmehiSoM+y9n8KTMQTuw88XabgSovVMCZNDoun1BHJ4KBufn4u141f1d3kYJnfpROBhMFo0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682578; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=uLuRhETE2fQnG1NeR539twN0V5knh5QS69IeRjUD3vk=; b=bNSTtn288QxQfAXdO/VlLs3o5qqJ8x2dhCFue6H0fjKHPIK59e03oupS9LaQ3zeelj4QQ3vHYhH3Q8EF5nZlM+FwmqaawCjKxF6ctigvEd4yXBqhEOX7Sr69XFw7dU/1cEUdPsFdCteW1ZVAgET8Wi0bmya/qGJuI2pwv4rJDIU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16966825783211005.4323225821163; Sat, 7 Oct 2023 05:42:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6al-0003MT-LV; Sat, 07 Oct 2023 08:39:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aQ-0002sD-VD for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:16 -0400 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aO-0002mC-Ln for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:14 -0400 Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-9b6559cbd74so559808066b.1 for ; Sat, 07 Oct 2023 05:39:12 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682351; x=1697287151; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uLuRhETE2fQnG1NeR539twN0V5knh5QS69IeRjUD3vk=; b=GFxZsopWydtkMV08OBmVWbLz3uwUoqaAIn59jyb6lAQ7HWMyVvjiS2GGHlYcqHlUtv 6iMS5HPddZk2UnLGDdNvR+HUtg/Jk16hooPmwf9YLLupYw3w0wr0SU5Kt/lTP5UR7jHL +bpiLSHzEuIRDt2RG+bwhMmXY4AGV82KNdIyYFK1LZLCt3czA4GpIeu6DvFdPSHigAVL 479B+pkUmdYsQXTX19llApgOfnk/I8PIH9OZ/ffyjZknFpIIXC4g6pg9GX7OvEVzH10j T/11gOWulszNO089m/MG8jEhZFyhdRsbJHOcEb+P9wkH5YkgS/MxZphyviNW4bq4Zgh9 tkKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682351; x=1697287151; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uLuRhETE2fQnG1NeR539twN0V5knh5QS69IeRjUD3vk=; b=vvclWFg7UUU7yI0tx3P7bdjptPY4fjVXCQHbG5aXaTsf42khzlwC5vwyyHc8bsQr42 76nfTDUaCVdRZITL64/dZ8AqtleLZbEI4trszmTamTdeigve3fzpy65Vhed+9wc+uSex 1N1bdM01IrxBgbFRNYmfvpAh+UE06+aVDSNRgGMh3iPihuxztIRKXv6gpUG9DkZZ4jh6 gRDgVVjckPOLsy6bAfxRCzpF0SoiDgAGC1r3yVeRza+cm9SVKDSOUUb870CYQEo4ox6+ EUX4aCaSSUEVr2+9GTXHuz8vSlZWzO3O86HggbXUOw4u1gfCgV+sGZNbACqRAul2gSSG 13Sg== X-Gm-Message-State: AOJu0Yx2NvmCwmG0bU92LUcGX1PXBDhedN5rr8jLG4pAO6WQVi42+W9d ux3k/vuQe6iHwiQwXXqx7gs5PrH9+WI= X-Google-Smtp-Source: AGHT+IHxfyREnkqRwFRL6qRyto9O0ypdyFX95nCFHHt9h2El0ZZcwe5oUXLmHAkx7J7I2WnsG09VNg== X-Received: by 2002:a17:907:7818:b0:9a1:ddb9:6546 with SMTP id la24-20020a170907781800b009a1ddb96546mr9274009ejc.61.1696682350765; Sat, 07 Oct 2023 05:39:10 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 16/29] hw/isa/piix4: Rename "isa" attribute to "isa_irqs_in" Date: Sat, 7 Oct 2023 14:38:24 +0200 Message-ID: <20231007123843.127151-17-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62e; envelope-from=shentey@gmail.com; helo=mail-ej1-x62e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682578900100005 Content-Type: text/plain; charset="utf-8" Rename the "isa" attribute to align it with PIIX3 for consolidation. Signed-off-by: Bernhard Beschow --- hw/isa/piix4.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index 3c3c7a094c..9c8b6c98ab 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -45,7 +45,7 @@ struct PIIX4State { PCIDevice dev; qemu_irq cpu_intr; - qemu_irq *isa; + qemu_irq *isa_irqs_in; =20 MC146818RtcState rtc; PCIIDEState ide; @@ -75,7 +75,7 @@ static void piix4_set_irq(void *opaque, int irq_num, int = level) pic_level |=3D pci_bus_get_irq_level(bus, i); } } - qemu_set_irq(s->isa[pic_irq], pic_level); + qemu_set_irq(s->isa_irqs_in[pic_irq], pic_level); } } =20 @@ -201,10 +201,10 @@ static void piix4_realize(PCIDevice *dev, Error **err= p) =20 /* initialize i8259 pic */ i8259_out_irq =3D qemu_allocate_irqs(piix4_request_i8259_irq, s, 1); - s->isa =3D i8259_init(isa_bus, *i8259_out_irq); + s->isa_irqs_in =3D i8259_init(isa_bus, *i8259_out_irq); =20 /* initialize ISA irqs */ - isa_bus_register_input_irqs(isa_bus, s->isa); + isa_bus_register_input_irqs(isa_bus, s->isa_irqs_in); =20 /* initialize pit */ i8254_pit_init(isa_bus, 0x40, 0, NULL); @@ -236,7 +236,7 @@ static void piix4_realize(PCIDevice *dev, Error **errp) if (!qdev_realize(DEVICE(&s->pm), BUS(pci_bus), errp)) { return; } - qdev_connect_gpio_out(DEVICE(&s->pm), 0, s->isa[9]); + qdev_connect_gpio_out(DEVICE(&s->pm), 0, s->isa_irqs_in[9]); =20 pci_bus_irqs(pci_bus, piix4_set_irq, s, PIIX_NUM_PIRQS); } --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682437; cv=none; d=zohomail.com; s=zohoarc; b=SBfeyWMLAmcbDTsjaEi08S3bRXAB7YXM5JkqChR7TpLf1GsT0NstbMElI2PAZ24qw6+A3K1kh044oPIqtEE8Cqsx9PuSShSaPpxaDSA6OSFCILCmxsKBWZh9T5q7BsgGSPbwK0Yc8LmdvA7Ofctm9kWZGpThpDODqyYHx3aUH7M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682437; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Z6WBEEOvTEHc9GnSM9GFDttTzrfpmZsBm44Xss0CXqY=; b=ZAthinH6EqOdF3THU5ISVO8EWZRiGmXmyuIcOm3J8bJxhZfRglIHhDfcwf6lfHdDfGaD+e0GPGGa2ZpSIb6jB0j9+KzXdLHVAGeSqfuqjo13VYh35C9C2Al4weHxoZLZCr8ijIvec6BdMMnlWOfHPXnEj+h7kprPUHlRAe0eMm8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682437743595.5709676352117; Sat, 7 Oct 2023 05:40:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6af-0003As-NB; Sat, 07 Oct 2023 08:39:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aR-0002sH-PS for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:16 -0400 Received: from mail-ej1-x629.google.com ([2a00:1450:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aQ-0002mS-A6 for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:15 -0400 Received: by mail-ej1-x629.google.com with SMTP id a640c23a62f3a-9b1ebc80d0aso522987366b.0 for ; Sat, 07 Oct 2023 05:39:13 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682352; x=1697287152; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Z6WBEEOvTEHc9GnSM9GFDttTzrfpmZsBm44Xss0CXqY=; b=hZn2aBqAoTVk+V4iifnST31t446a9y2/+3m3DY1iHZLppXLoX8PyIwt9DDZub5VTVw jRDs0pZ9yZNwLRCJ0LT37Vcyrzl3h7psRFxu2pav6VDEZjEJJaYhAKllGwYcVAkTmdTs 8Ef7jYPFmq+TtfqrMg63UPr298N25XK4CAad9ZHy9FjDcRJWeboL8qP+ugWRxlMTZPqI kZVtkKi5cpzilR1GVTRzT8MPYHshlUTnWO3kR6th5bOSSmXKDdsdIff6Ex+Suekhtg2Q y9dJ1A/pvul2mkk9PHz4SKm8OJ+NZ7AP5vVkG22WpddBGe5Jn9+1qZfVmBMYpeTMwH22 fehA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682352; x=1697287152; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Z6WBEEOvTEHc9GnSM9GFDttTzrfpmZsBm44Xss0CXqY=; b=XTsV50UGHQhd+tcUO9kq4WmW2mwMuBeoasUHk6Nk5W5eWd/uUG8LOqZabGNPBA3/bN xC6lp29JGqC/D6mrwCpfw9Oe0h9VZ9riK1qoWf0qySHxBcZio0DiytWlWPmVLToHb1jr UcRP6zUx5XC0aXGrDU5Zo5wIQlW3krMrRAyy1v2nDU+aVhDpPwdusdRo5pmaZf8LkChg tOYFA2MP17Sh5BNyqLkcXFc1KMSnz6fszGouhZSHA9/LX6Oh6mW7kpl1ya10sgcviAzj DyaLlNTg8VLjU6GX1ADLMUr4mi+rmIey0tGr7512sHrxG5xxXzWret4g+YOCauVEt0lF kmRA== X-Gm-Message-State: AOJu0Yx4B9aLvXp8Axs5jERtn1wUuTkFnGpK7XVeL+pvnpFVMEi/1DR9 ThcE97cDsBXjSAd6toCGoUgiWeHhpnM= X-Google-Smtp-Source: AGHT+IGj10qYt7fk3Ppr18/E/mMVEGdm3G1ESAOdjSgCSZtFWhURdhfxkzI6sQhdofb6Yyni7rrVrA== X-Received: by 2002:a17:907:724b:b0:9b2:b9ff:dc35 with SMTP id ds11-20020a170907724b00b009b2b9ffdc35mr10429364ejc.70.1696682351929; Sat, 07 Oct 2023 05:39:11 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 17/29] hw/isa/piix4: Rename reset control operations to match PIIX3 Date: Sat, 7 Oct 2023 14:38:25 +0200 Message-ID: <20231007123843.127151-18-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::629; envelope-from=shentey@gmail.com; helo=mail-ej1-x629.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682438500100001 Both implementations are the same and will be shared upon merging. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Michael S. Tsirkin --- hw/isa/piix4.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index 9c8b6c98ab..eb456622c5 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -148,8 +148,8 @@ static void piix4_request_i8259_irq(void *opaque, int i= rq, int level) qemu_set_irq(s->cpu_intr, level); } =20 -static void piix4_rcr_write(void *opaque, hwaddr addr, uint64_t val, - unsigned int len) +static void rcr_write(void *opaque, hwaddr addr, uint64_t val, + unsigned int len) { PIIX4State *s =3D opaque; =20 @@ -161,16 +161,16 @@ static void piix4_rcr_write(void *opaque, hwaddr addr= , uint64_t val, s->rcr =3D val & 2; /* keep System Reset type only */ } =20 -static uint64_t piix4_rcr_read(void *opaque, hwaddr addr, unsigned int len) +static uint64_t rcr_read(void *opaque, hwaddr addr, unsigned int len) { PIIX4State *s =3D opaque; =20 return s->rcr; } =20 -static const MemoryRegionOps piix4_rcr_ops =3D { - .read =3D piix4_rcr_read, - .write =3D piix4_rcr_write, +static const MemoryRegionOps rcr_ops =3D { + .read =3D rcr_read, + .write =3D rcr_write, .endianness =3D DEVICE_LITTLE_ENDIAN, .impl =3D { .min_access_size =3D 1, @@ -194,7 +194,7 @@ static void piix4_realize(PCIDevice *dev, Error **errp) qdev_init_gpio_out_named(DEVICE(dev), &s->cpu_intr, "intr", 1); =20 - memory_region_init_io(&s->rcr_mem, OBJECT(dev), &piix4_rcr_ops, s, + memory_region_init_io(&s->rcr_mem, OBJECT(dev), &rcr_ops, s, "reset-control", 1); memory_region_add_subregion_overlap(pci_address_space_io(dev), PIIX_RCR_IOPORT, &s->rcr_mem, 1); --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682408; cv=none; d=zohomail.com; s=zohoarc; b=jpYY6qGDgwqXHoTshfS98IvZK2fBOGqqRSsXNJm3fQu+JLBZ5nKdjtJK0zzCBOwL2ihBrZB6TIhQwZ+krtVWDgPm749skoP3qvSHhCGJZyJQAZQxQAgdt/+rNYB6si947KTO7UnH3FhhloDx3yMLGT65yGAMLSzd/XRb4oiSTWY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682408; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Hm2St5TpRyD2Ckf2ixWKhHCdQrygnANyVkd+tNFb2ig=; b=gn6BAWczZs3vcikioEO9jNC64LH9+Yfow7MZw+dqHQcbLcpq7UGKRZ1Lr+3vq/SNdOCCTjzkRWkhrGpXmoWk8E/PD0bYCr1LOGmSGyEtJOLeinenfTT8l9jPFp0mbCAvsuwg6xgMCwWo+5AzeqZUT+usJ714+fI3Obn7svdLnGY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682408509233.57900020803265; Sat, 7 Oct 2023 05:40:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6af-0003Au-N9; Sat, 07 Oct 2023 08:39:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aS-0002u4-CI for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:16 -0400 Received: from mail-ej1-x630.google.com ([2a00:1450:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aQ-0002mo-Ql for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:16 -0400 Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-9adb9fa7200so668405966b.0 for ; Sat, 07 Oct 2023 05:39:14 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682353; x=1697287153; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Hm2St5TpRyD2Ckf2ixWKhHCdQrygnANyVkd+tNFb2ig=; b=IJCqMQZRGgrILFsUJCL6IKD2oplI/pqlEhG/R1GJFPZSG17yRJfB13VFOKF+cfjuAj zzSVBUSzrvpN+QNbM0ASiX5OcateJX0wNsHLtAVqA+v89mAnKwgAyP6curJtfxaUntC8 C8IochBxqJDOpq9IKMF8jL8fCF6ZolMFH3FQhEFAY+e4tZhTRlIiq+1C8M4WzoGY+Pup YRbfvKml2kWIboIdCpRbd5oIamYpMnAKTJ+lURHsC44XyeiLfGbDfF9JMaS2oTl0Nahl +ggtHoLRoDLOIzgZQ95xQO2BVYAvaH6Uoy4GgbsUsSXj+M4dNwQv2ylECcDqTZCIT1o6 IgdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682353; x=1697287153; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Hm2St5TpRyD2Ckf2ixWKhHCdQrygnANyVkd+tNFb2ig=; b=ozS0KF3KvDR8WPidRRlQrGvNGGY/7n+Hw5N7U5TXQ+9B80YRTpxGGQv6hp7EtHoOIX i71B3/KfjeacHoW7DsN7JMwcOjb7KznKd6vyGZkPVr3Ov3GlmFwASVcLB2o19q8fCcyK G7VXNVviaOpgk5rLySlhJQow5gEA1Wye9w9RMMGlVjKA/KO+Y5kvddo0LKJaAiGc0NfR 7ggFunLkgMnI7SnWexVT8KWBwmA06b1ILAAx/wBDzyqy3HPfTCbSt8loLVMKbPnSWXFd tEeZ8gir4hu4F5h8I6f64FDB14y5XdBHdq+le/rABKM5b0uMrGmUv8KB8P/+d65B3b09 BApg== X-Gm-Message-State: AOJu0YzS46P5g24slET7t2vcVOtszQ8KLDYKVd8IeaNKOiGdfPQ9UMs/ qUpBmFizFkMUxJViUnsSx+oLR+GntiM= X-Google-Smtp-Source: AGHT+IHh6oXEDsFSXcYjJ3A0CDlIDhjwmUYdAWkVEIuyy+EUyStOS0I8CzhRic2ro5OdaVHjbCCKHg== X-Received: by 2002:a17:907:7e97:b0:9ad:8a96:ad55 with SMTP id qb23-20020a1709077e9700b009ad8a96ad55mr6245442ejc.14.1696682353045; Sat, 07 Oct 2023 05:39:13 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 18/29] hw/isa/piix4: Reuse struct PIIXState from PIIX3 Date: Sat, 7 Oct 2023 14:38:26 +0200 Message-ID: <20231007123843.127151-19-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::630; envelope-from=shentey@gmail.com; helo=mail-ej1-x630.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682409897100006 Content-Type: text/plain; charset="utf-8" PIIX4 has its own, private PIIX4State structure. PIIX3 has almost the same structure, provided in a public header. So reuse it and add a cpu_intr attribute to it which is only used by PIIX4. Signed-off-by: Bernhard Beschow --- include/hw/southbridge/piix.h | 1 + hw/isa/piix4.c | 26 +++++++++++--------------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index 0b257e1582..dd5f7b31c0 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -49,6 +49,7 @@ struct PIIXState { #endif uint64_t pic_levels; =20 + qemu_irq cpu_intr; qemu_irq isa_irqs_in[ISA_NUM_IRQS]; =20 /* This member isn't used. Just for save/load compatibility */ diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index eb456622c5..71899aaa69 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -42,21 +42,9 @@ #include "sysemu/runstate.h" #include "qom/object.h" =20 -struct PIIX4State { - PCIDevice dev; - qemu_irq cpu_intr; - qemu_irq *isa_irqs_in; - - MC146818RtcState rtc; - PCIIDEState ide; - UHCIState uhci; - PIIX4PMState pm; - /* Reset Control Register */ - MemoryRegion rcr_mem; - uint8_t rcr; -}; +typedef struct PIIXState PIIX4State; =20 -OBJECT_DECLARE_SIMPLE_TYPE(PIIX4State, PIIX4_PCI_DEVICE) +DECLARE_INSTANCE_CHECKER(PIIX4State, PIIX4_PCI_DEVICE, TYPE_PIIX4_PCI_DEVI= CE) =20 static void piix4_set_irq(void *opaque, int irq_num, int level) { @@ -184,6 +172,8 @@ static void piix4_realize(PCIDevice *dev, Error **errp) PCIBus *pci_bus =3D pci_get_bus(dev); ISABus *isa_bus; qemu_irq *i8259_out_irq; + qemu_irq *i8259; + size_t i; =20 isa_bus =3D isa_bus_new(DEVICE(dev), pci_address_space(dev), pci_address_space_io(dev), errp); @@ -201,7 +191,13 @@ static void piix4_realize(PCIDevice *dev, Error **errp) =20 /* initialize i8259 pic */ i8259_out_irq =3D qemu_allocate_irqs(piix4_request_i8259_irq, s, 1); - s->isa_irqs_in =3D i8259_init(isa_bus, *i8259_out_irq); + i8259 =3D i8259_init(isa_bus, *i8259_out_irq); + + for (i =3D 0; i < ISA_NUM_IRQS; i++) { + s->isa_irqs_in[i] =3D i8259[i]; + } + + g_free(i8259); =20 /* initialize ISA irqs */ isa_bus_register_input_irqs(isa_bus, s->isa_irqs_in); --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682526; cv=none; d=zohomail.com; s=zohoarc; b=HInRMGkBz0hrsu8tZIpYuSao20ZZ0e5juVj85W4DG/HCGR28a6NzqX1Eqf9ZKoP+8L94BYamsZv0CSvNNM4vtryGpCzZO80RrZd97w+dG0xPCyRkRbeBXy1y4kALK5dL95XJExSBZfMMpZ0vrOlFIZLA78ubNLymTBHyrV1OIZs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682526; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=0ixs/11ADItNchCmG5+d7t8JHB+LOcuPiUebifmoky0=; b=gsfwtDMUJGVsh4Z9sQ24FX7gsDMDdpR7/ZdrTG0zEa862O0AUhAYG+WYkjaA/KpsA7oyjs3UthS+otqpuOjR0zN/LWnr9+tM+jr8+oYb+Pz8CwQLY3Gcb/gStvL6pwqpYuDWriw8wMjpar0vvCmngVhCmBQ7ZnSSQW7Re5w8C2w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682526732187.62805792832194; Sat, 7 Oct 2023 05:42:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6aq-0003su-PF; Sat, 07 Oct 2023 08:39:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aV-0002yP-B9 for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:19 -0400 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aS-0002nE-Dg for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:19 -0400 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-9b275afb6abso907796166b.1 for ; Sat, 07 Oct 2023 05:39:15 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682354; x=1697287154; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0ixs/11ADItNchCmG5+d7t8JHB+LOcuPiUebifmoky0=; b=jlw6abrTZNOZc3BkN2TcaGfjb6mCyUOyokXZx316SZQzt1RVitefNuTA1q755HDErY HwcHaQkkwvJn/H8gd6ZyfH0YAElL2lrjV1L72OiC2jBPy7gyejbEIIBNRcCf92KJl0uJ XxMriJqWbrJJl+7KLH5/u5y7hh1nwrlXfiDH9V1OweQZFVcuGuNfrJdYzMJAQ0ibTFzh 46jzBoScokol9kTvGGyQqXyv0X45Uo/QymYrMlYVxLmLaYQeT3s0lnEWJRWVI5ZbfO01 0ZVMqg8L6JAQ7jbt2cQvkTb6wIEUTVQjXzfq8chwzSXd6/FcAIdFMwQmwhxfSzw1PWZP EAiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682354; x=1697287154; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0ixs/11ADItNchCmG5+d7t8JHB+LOcuPiUebifmoky0=; b=PTlbnBCgJ2kfu6G6Slk/UOEckfBHhAVqUtoNicwA9fB5Uh7n2OO9LrdcC2KlN8ZQK8 R+gJUExDUykY0hL7oeknSNYvwUQ12S5Hx5dHRH9li9MvOeVFQCkoXiIknLDLPLvWhajJ E4ZXCeD6MycjboxI2bhm9+n5KSfP0XD9maU7okItumvOw0lPCHkNd3DEwUASY1/qXGKj OSAjdOHbRX7Vqpv7a74QpDTk2tCJ//5zfD1lm4JDh33RoRUD0T1FjNbTfjvHmZGN911u JmuKHVt41uXr3QW2tzum5mSiWfz2PrCvxMptAM0aiBhwqjRH1S7CWnbpB9arnDI9//4/ 3/Zw== X-Gm-Message-State: AOJu0Yze7mKtcEzRQ7JS7H7KuMCDr6oHuHdCo6t6SKxVx3/T8LznCJnl JhYVz8UQ0w5Icp9DAf8fdVhIFWf0mYk= X-Google-Smtp-Source: AGHT+IEG3lULTY2cB5SVKp4OXco3gMZ8koyeToFvKiJPQGhm3xewz0LBw37JMnRd3eW69wKy2RQEVg== X-Received: by 2002:a17:906:53d1:b0:9b2:b742:d1d3 with SMTP id p17-20020a17090653d100b009b2b742d1d3mr6920389ejo.5.1696682354538; Sat, 07 Oct 2023 05:39:14 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 19/29] hw/isa/piix3: Merge hw/isa/piix4.c Date: Sat, 7 Oct 2023 14:38:27 +0200 Message-ID: <20231007123843.127151-20-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62b; envelope-from=shentey@gmail.com; helo=mail-ej1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682528138100003 Now that the PIIX3 and PIIX4 device models are sufficiently prepared, their implementations can be merged into one file for further consolidation. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin --- MAINTAINERS | 6 +- hw/isa/{piix3.c =3D> piix.c} | 190 +++++++++++++++++++++++- hw/isa/piix4.c | 290 ------------------------------------- hw/i386/Kconfig | 2 +- hw/isa/Kconfig | 11 +- hw/isa/meson.build | 3 +- hw/mips/Kconfig | 2 +- 7 files changed, 195 insertions(+), 309 deletions(-) rename hw/isa/{piix3.c =3D> piix.c} (71%) delete mode 100644 hw/isa/piix4.c diff --git a/MAINTAINERS b/MAINTAINERS index ea91f9e804..6fb609f624 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1287,7 +1287,7 @@ Malta M: Philippe Mathieu-Daud=C3=A9 R: Aurelien Jarno S: Odd Fixes -F: hw/isa/piix4.c +F: hw/isa/piix.c F: hw/acpi/piix4.c F: hw/mips/malta.c F: hw/pci-host/gt64120.c @@ -1706,7 +1706,7 @@ F: hw/pci-host/pam.c F: include/hw/pci-host/i440fx.h F: include/hw/pci-host/q35.h F: include/hw/pci-host/pam.h -F: hw/isa/piix3.c +F: hw/isa/piix.c F: hw/isa/lpc_ich9.c F: hw/i2c/smbus_ich9.c F: hw/acpi/piix4.c @@ -2459,7 +2459,7 @@ PIIX4 South Bridge (i82371AB) M: Herv=C3=A9 Poussineau M: Philippe Mathieu-Daud=C3=A9 S: Maintained -F: hw/isa/piix4.c +F: hw/isa/piix.c F: include/hw/southbridge/piix.h =20 Firmware configuration (fw_cfg) diff --git a/hw/isa/piix3.c b/hw/isa/piix.c similarity index 71% rename from hw/isa/piix3.c rename to hw/isa/piix.c index c7e59249b6..f6da334c6f 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix.c @@ -2,6 +2,7 @@ * QEMU PIIX PCI ISA Bridge Emulation * * Copyright (c) 2006 Fabrice Bellard + * Copyright (c) 2018 Herv=C3=A9 Poussineau * * Permission is hereby granted, free of charge, to any person obtaining a= copy * of this software and associated documentation files (the "Software"), t= o deal @@ -27,14 +28,20 @@ #include "qapi/error.h" #include "hw/dma/i8257.h" #include "hw/southbridge/piix.h" +#include "hw/timer/i8254.h" #include "hw/irq.h" #include "hw/qdev-properties.h" #include "hw/ide/piix.h" +#include "hw/intc/i8259.h" #include "hw/isa/isa.h" #include "sysemu/runstate.h" #include "migration/vmstate.h" #include "hw/acpi/acpi_aml_interface.h" =20 +typedef struct PIIXState PIIX4State; + +DECLARE_INSTANCE_CHECKER(PIIX4State, PIIX4_PCI_DEVICE, TYPE_PIIX4_PCI_DEVI= CE) + static void piix3_set_irq_pic(PIIXState *piix3, int pic_irq) { qemu_set_irq(piix3->isa_irqs_in[pic_irq], @@ -78,6 +85,33 @@ static void piix3_set_irq(void *opaque, int pirq, int le= vel) piix3_set_irq_level(piix3, pirq, level); } =20 +static void piix4_set_irq(void *opaque, int irq_num, int level) +{ + int i, pic_irq, pic_level; + PIIX4State *s =3D opaque; + PCIBus *bus =3D pci_get_bus(&s->dev); + + /* now we change the pic irq level according to the piix irq mappings = */ + /* XXX: optimize */ + pic_irq =3D s->dev.config[PIIX_PIRQCA + irq_num]; + if (pic_irq < ISA_NUM_IRQS) { + /* The pic level is the logical OR of all the PCI irqs mapped to i= t. */ + pic_level =3D 0; + for (i =3D 0; i < PIIX_NUM_PIRQS; i++) { + if (pic_irq =3D=3D s->dev.config[PIIX_PIRQCA + i]) { + pic_level |=3D pci_bus_get_irq_level(bus, i); + } + } + qemu_set_irq(s->isa_irqs_in[pic_irq], pic_level); + } +} + +static void piix4_request_i8259_irq(void *opaque, int irq, int level) +{ + PIIX4State *s =3D opaque; + qemu_set_irq(s->cpu_intr, level); +} + static PCIINTxRoute piix3_route_intx_pin_to_irq(void *opaque, int pin) { PIIXState *piix3 =3D opaque; @@ -122,9 +156,8 @@ static void piix3_write_config(PCIDevice *dev, } } =20 -static void piix3_reset(DeviceState *dev) +static void piix_reset(PIIXState *d) { - PIIXState *d =3D PIIX_PCI_DEVICE(dev); uint8_t *pci_conf =3D d->dev.config; =20 pci_conf[0x04] =3D 0x07; /* master, memory and I/O */ @@ -163,6 +196,13 @@ static void piix3_reset(DeviceState *dev) d->rcr =3D 0; } =20 +static void piix3_reset(DeviceState *dev) +{ + PIIXState *d =3D PIIX_PCI_DEVICE(dev); + + piix_reset(d); +} + static int piix3_post_load(void *opaque, int version_id) { PIIXState *piix3 =3D opaque; @@ -185,6 +225,17 @@ static int piix3_post_load(void *opaque, int version_i= d) return 0; } =20 +static int piix4_post_load(void *opaque, int version_id) +{ + PIIX4State *s =3D opaque; + + if (version_id =3D=3D 2) { + s->rcr =3D 0; + } + + return 0; +} + static int piix3_pre_save(void *opaque) { int i; @@ -234,6 +285,17 @@ static const VMStateDescription vmstate_piix3 =3D { } }; =20 +static const VMStateDescription vmstate_piix4 =3D { + .name =3D "PIIX4", + .version_id =3D 3, + .minimum_version_id =3D 2, + .post_load =3D piix4_post_load, + .fields =3D (VMStateField[]) { + VMSTATE_PCI_DEVICE(dev, PIIX4State), + VMSTATE_UINT8_V(rcr, PIIX4State, 3), + VMSTATE_END_OF_LIST() + } +}; =20 static void rcr_write(void *opaque, hwaddr addr, uint64_t val, unsigned le= n) { @@ -428,10 +490,134 @@ static const TypeInfo piix3_info =3D { .class_init =3D piix3_class_init, }; =20 +static void piix4_realize(PCIDevice *dev, Error **errp) +{ + PIIX4State *s =3D PIIX4_PCI_DEVICE(dev); + PCIBus *pci_bus =3D pci_get_bus(dev); + ISABus *isa_bus; + qemu_irq *i8259_out_irq; + qemu_irq *i8259; + size_t i; + + isa_bus =3D isa_bus_new(DEVICE(dev), pci_address_space(dev), + pci_address_space_io(dev), errp); + if (!isa_bus) { + return; + } + + qdev_init_gpio_out_named(DEVICE(dev), &s->cpu_intr, + "intr", 1); + + memory_region_init_io(&s->rcr_mem, OBJECT(dev), &rcr_ops, s, + "reset-control", 1); + memory_region_add_subregion_overlap(pci_address_space_io(dev), + PIIX_RCR_IOPORT, &s->rcr_mem, 1); + + /* initialize i8259 pic */ + i8259_out_irq =3D qemu_allocate_irqs(piix4_request_i8259_irq, s, 1); + i8259 =3D i8259_init(isa_bus, *i8259_out_irq); + + for (i =3D 0; i < ISA_NUM_IRQS; i++) { + s->isa_irqs_in[i] =3D i8259[i]; + } + + g_free(i8259); + + /* initialize ISA irqs */ + isa_bus_register_input_irqs(isa_bus, s->isa_irqs_in); + + /* initialize pit */ + i8254_pit_init(isa_bus, 0x40, 0, NULL); + + /* DMA */ + i8257_dma_init(isa_bus, 0); + + /* RTC */ + qdev_prop_set_int32(DEVICE(&s->rtc), "base_year", 2000); + if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), errp)) { + return; + } + s->rtc.irq =3D isa_get_irq(ISA_DEVICE(&s->rtc), s->rtc.isairq); + + /* IDE */ + qdev_prop_set_int32(DEVICE(&s->ide), "addr", dev->devfn + 1); + if (!qdev_realize(DEVICE(&s->ide), BUS(pci_bus), errp)) { + return; + } + + /* USB */ + qdev_prop_set_int32(DEVICE(&s->uhci), "addr", dev->devfn + 2); + if (!qdev_realize(DEVICE(&s->uhci), BUS(pci_bus), errp)) { + return; + } + + /* ACPI controller */ + qdev_prop_set_int32(DEVICE(&s->pm), "addr", dev->devfn + 3); + if (!qdev_realize(DEVICE(&s->pm), BUS(pci_bus), errp)) { + return; + } + qdev_connect_gpio_out(DEVICE(&s->pm), 0, s->isa_irqs_in[9]); + + pci_bus_irqs(pci_bus, piix4_set_irq, s, PIIX_NUM_PIRQS); +} + +static void piix4_isa_reset(DeviceState *dev) +{ + PIIX4State *s =3D PIIX4_PCI_DEVICE(dev); + + piix_reset(s); +} + +static void piix4_init(Object *obj) +{ + PIIX4State *s =3D PIIX4_PCI_DEVICE(obj); + + object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC); + object_initialize_child(obj, "ide", &s->ide, TYPE_PIIX4_IDE); + object_initialize_child(obj, "uhci", &s->uhci, TYPE_PIIX4_USB_UHCI); + + object_initialize_child(obj, "pm", &s->pm, TYPE_PIIX4_PM); + qdev_prop_set_uint32(DEVICE(&s->pm), "smb_io_base", 0x1100); + qdev_prop_set_bit(DEVICE(&s->pm), "smm-enabled", 0); +} + +static void piix4_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(klass); + PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); + + k->realize =3D piix4_realize; + k->vendor_id =3D PCI_VENDOR_ID_INTEL; + k->device_id =3D PCI_DEVICE_ID_INTEL_82371AB_0; + k->class_id =3D PCI_CLASS_BRIDGE_ISA; + dc->reset =3D piix4_isa_reset; + dc->desc =3D "ISA bridge"; + dc->vmsd =3D &vmstate_piix4; + /* + * Reason: part of PIIX4 southbridge, needs to be wired up, + * e.g. by mips_malta_init() + */ + dc->user_creatable =3D false; + dc->hotpluggable =3D false; +} + +static const TypeInfo piix4_info =3D { + .name =3D TYPE_PIIX4_PCI_DEVICE, + .parent =3D TYPE_PCI_DEVICE, + .instance_size =3D sizeof(PIIX4State), + .instance_init =3D piix4_init, + .class_init =3D piix4_class_init, + .interfaces =3D (InterfaceInfo[]) { + { INTERFACE_CONVENTIONAL_PCI_DEVICE }, + { }, + }, +}; + static void piix3_register_types(void) { type_register_static(&piix_pci_type_info); type_register_static(&piix3_info); + type_register_static(&piix4_info); } =20 type_init(piix3_register_types) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c deleted file mode 100644 index 71899aaa69..0000000000 --- a/hw/isa/piix4.c +++ /dev/null @@ -1,290 +0,0 @@ -/* - * QEMU PIIX4 PCI Bridge Emulation - * - * Copyright (c) 2006 Fabrice Bellard - * Copyright (c) 2018 Herv=C3=A9 Poussineau - * - * Permission is hereby granted, free of charge, to any person obtaining a= copy - * of this software and associated documentation files (the "Software"), t= o deal - * in the Software without restriction, including without limitation the r= ights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or se= ll - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included= in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS= OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OT= HER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING= FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS = IN - * THE SOFTWARE. - */ - -#include "qemu/osdep.h" -#include "qapi/error.h" -#include "hw/irq.h" -#include "hw/southbridge/piix.h" -#include "hw/pci/pci.h" -#include "hw/ide/piix.h" -#include "hw/isa/isa.h" -#include "hw/intc/i8259.h" -#include "hw/dma/i8257.h" -#include "hw/timer/i8254.h" -#include "hw/rtc/mc146818rtc.h" -#include "hw/ide/pci.h" -#include "hw/acpi/piix4.h" -#include "hw/usb/hcd-uhci.h" -#include "migration/vmstate.h" -#include "sysemu/reset.h" -#include "sysemu/runstate.h" -#include "qom/object.h" - -typedef struct PIIXState PIIX4State; - -DECLARE_INSTANCE_CHECKER(PIIX4State, PIIX4_PCI_DEVICE, TYPE_PIIX4_PCI_DEVI= CE) - -static void piix4_set_irq(void *opaque, int irq_num, int level) -{ - int i, pic_irq, pic_level; - PIIX4State *s =3D opaque; - PCIBus *bus =3D pci_get_bus(&s->dev); - - /* now we change the pic irq level according to the piix irq mappings = */ - /* XXX: optimize */ - pic_irq =3D s->dev.config[PIIX_PIRQCA + irq_num]; - if (pic_irq < ISA_NUM_IRQS) { - /* The pic level is the logical OR of all the PCI irqs mapped to i= t. */ - pic_level =3D 0; - for (i =3D 0; i < PIIX_NUM_PIRQS; i++) { - if (pic_irq =3D=3D s->dev.config[PIIX_PIRQCA + i]) { - pic_level |=3D pci_bus_get_irq_level(bus, i); - } - } - qemu_set_irq(s->isa_irqs_in[pic_irq], pic_level); - } -} - -static void piix4_isa_reset(DeviceState *dev) -{ - PIIX4State *d =3D PIIX4_PCI_DEVICE(dev); - uint8_t *pci_conf =3D d->dev.config; - - pci_conf[0x04] =3D 0x07; // master, memory and I/O - pci_conf[0x05] =3D 0x00; - pci_conf[0x06] =3D 0x00; - pci_conf[0x07] =3D 0x02; // PCI_status_devsel_medium - pci_conf[0x4c] =3D 0x4d; - pci_conf[0x4e] =3D 0x03; - pci_conf[0x4f] =3D 0x00; - pci_conf[0x60] =3D 0x80; - pci_conf[0x61] =3D 0x80; - pci_conf[0x62] =3D 0x80; - pci_conf[0x63] =3D 0x80; - pci_conf[0x69] =3D 0x02; - pci_conf[0x70] =3D 0x80; - pci_conf[0x76] =3D 0x0c; - pci_conf[0x77] =3D 0x0c; - pci_conf[0x78] =3D 0x02; - pci_conf[0x79] =3D 0x00; - pci_conf[0x80] =3D 0x00; - pci_conf[0x82] =3D 0x00; - pci_conf[0xa0] =3D 0x08; - pci_conf[0xa2] =3D 0x00; - pci_conf[0xa3] =3D 0x00; - pci_conf[0xa4] =3D 0x00; - pci_conf[0xa5] =3D 0x00; - pci_conf[0xa6] =3D 0x00; - pci_conf[0xa7] =3D 0x00; - pci_conf[0xa8] =3D 0x0f; - pci_conf[0xaa] =3D 0x00; - pci_conf[0xab] =3D 0x00; - pci_conf[0xac] =3D 0x00; - pci_conf[0xae] =3D 0x00; - - d->rcr =3D 0; -} - -static int piix4_post_load(void *opaque, int version_id) -{ - PIIX4State *s =3D opaque; - - if (version_id =3D=3D 2) { - s->rcr =3D 0; - } - - return 0; -} - -static const VMStateDescription vmstate_piix4 =3D { - .name =3D "PIIX4", - .version_id =3D 3, - .minimum_version_id =3D 2, - .post_load =3D piix4_post_load, - .fields =3D (VMStateField[]) { - VMSTATE_PCI_DEVICE(dev, PIIX4State), - VMSTATE_UINT8_V(rcr, PIIX4State, 3), - VMSTATE_END_OF_LIST() - } -}; - -static void piix4_request_i8259_irq(void *opaque, int irq, int level) -{ - PIIX4State *s =3D opaque; - qemu_set_irq(s->cpu_intr, level); -} - -static void rcr_write(void *opaque, hwaddr addr, uint64_t val, - unsigned int len) -{ - PIIX4State *s =3D opaque; - - if (val & 4) { - qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); - return; - } - - s->rcr =3D val & 2; /* keep System Reset type only */ -} - -static uint64_t rcr_read(void *opaque, hwaddr addr, unsigned int len) -{ - PIIX4State *s =3D opaque; - - return s->rcr; -} - -static const MemoryRegionOps rcr_ops =3D { - .read =3D rcr_read, - .write =3D rcr_write, - .endianness =3D DEVICE_LITTLE_ENDIAN, - .impl =3D { - .min_access_size =3D 1, - .max_access_size =3D 1, - }, -}; - -static void piix4_realize(PCIDevice *dev, Error **errp) -{ - PIIX4State *s =3D PIIX4_PCI_DEVICE(dev); - PCIBus *pci_bus =3D pci_get_bus(dev); - ISABus *isa_bus; - qemu_irq *i8259_out_irq; - qemu_irq *i8259; - size_t i; - - isa_bus =3D isa_bus_new(DEVICE(dev), pci_address_space(dev), - pci_address_space_io(dev), errp); - if (!isa_bus) { - return; - } - - qdev_init_gpio_out_named(DEVICE(dev), &s->cpu_intr, - "intr", 1); - - memory_region_init_io(&s->rcr_mem, OBJECT(dev), &rcr_ops, s, - "reset-control", 1); - memory_region_add_subregion_overlap(pci_address_space_io(dev), - PIIX_RCR_IOPORT, &s->rcr_mem, 1); - - /* initialize i8259 pic */ - i8259_out_irq =3D qemu_allocate_irqs(piix4_request_i8259_irq, s, 1); - i8259 =3D i8259_init(isa_bus, *i8259_out_irq); - - for (i =3D 0; i < ISA_NUM_IRQS; i++) { - s->isa_irqs_in[i] =3D i8259[i]; - } - - g_free(i8259); - - /* initialize ISA irqs */ - isa_bus_register_input_irqs(isa_bus, s->isa_irqs_in); - - /* initialize pit */ - i8254_pit_init(isa_bus, 0x40, 0, NULL); - - /* DMA */ - i8257_dma_init(isa_bus, 0); - - /* RTC */ - qdev_prop_set_int32(DEVICE(&s->rtc), "base_year", 2000); - if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), errp)) { - return; - } - s->rtc.irq =3D isa_get_irq(ISA_DEVICE(&s->rtc), s->rtc.isairq); - - /* IDE */ - qdev_prop_set_int32(DEVICE(&s->ide), "addr", dev->devfn + 1); - if (!qdev_realize(DEVICE(&s->ide), BUS(pci_bus), errp)) { - return; - } - - /* USB */ - qdev_prop_set_int32(DEVICE(&s->uhci), "addr", dev->devfn + 2); - if (!qdev_realize(DEVICE(&s->uhci), BUS(pci_bus), errp)) { - return; - } - - /* ACPI controller */ - qdev_prop_set_int32(DEVICE(&s->pm), "addr", dev->devfn + 3); - if (!qdev_realize(DEVICE(&s->pm), BUS(pci_bus), errp)) { - return; - } - qdev_connect_gpio_out(DEVICE(&s->pm), 0, s->isa_irqs_in[9]); - - pci_bus_irqs(pci_bus, piix4_set_irq, s, PIIX_NUM_PIRQS); -} - -static void piix4_init(Object *obj) -{ - PIIX4State *s =3D PIIX4_PCI_DEVICE(obj); - - object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC); - object_initialize_child(obj, "ide", &s->ide, TYPE_PIIX4_IDE); - object_initialize_child(obj, "uhci", &s->uhci, TYPE_PIIX4_USB_UHCI); - - object_initialize_child(obj, "pm", &s->pm, TYPE_PIIX4_PM); - qdev_prop_set_uint32(DEVICE(&s->pm), "smb_io_base", 0x1100); - qdev_prop_set_bit(DEVICE(&s->pm), "smm-enabled", 0); -} - -static void piix4_class_init(ObjectClass *klass, void *data) -{ - DeviceClass *dc =3D DEVICE_CLASS(klass); - PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); - - k->realize =3D piix4_realize; - k->vendor_id =3D PCI_VENDOR_ID_INTEL; - k->device_id =3D PCI_DEVICE_ID_INTEL_82371AB_0; - k->class_id =3D PCI_CLASS_BRIDGE_ISA; - dc->reset =3D piix4_isa_reset; - dc->desc =3D "ISA bridge"; - dc->vmsd =3D &vmstate_piix4; - /* - * Reason: part of PIIX4 southbridge, needs to be wired up, - * e.g. by mips_malta_init() - */ - dc->user_creatable =3D false; - dc->hotpluggable =3D false; -} - -static const TypeInfo piix4_info =3D { - .name =3D TYPE_PIIX4_PCI_DEVICE, - .parent =3D TYPE_PCI_DEVICE, - .instance_size =3D sizeof(PIIX4State), - .instance_init =3D piix4_init, - .class_init =3D piix4_class_init, - .interfaces =3D (InterfaceInfo[]) { - { INTERFACE_CONVENTIONAL_PCI_DEVICE }, - { }, - }, -}; - -static void piix4_register_types(void) -{ - type_register_static(&piix4_info); -} - -type_init(piix4_register_types) diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig index ade817f1b6..94772c726b 100644 --- a/hw/i386/Kconfig +++ b/hw/i386/Kconfig @@ -72,7 +72,7 @@ config I440FX select PC_PCI select PC_ACPI select PCI_I440FX - select PIIX3 + select PIIX select DIMM select SMBIOS select FW_CFG_DMA diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig index 17ddb25afc..040a18c070 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -31,16 +31,7 @@ config PC87312 select FDC_ISA select IDE_ISA =20 -config PIIX3 - bool - select ACPI_PIIX4 - select I8257 - select IDE_PIIX - select ISA_BUS - select MC146818RTC - select USB_UHCI - -config PIIX4 +config PIIX bool # For historical reasons, SuperIO devices are created in the board # for PIIX4. diff --git a/hw/isa/meson.build b/hw/isa/meson.build index b855e81276..2ab99ce0c6 100644 --- a/hw/isa/meson.build +++ b/hw/isa/meson.build @@ -3,8 +3,7 @@ system_ss.add(when: 'CONFIG_I82378', if_true: files('i82378= .c')) system_ss.add(when: 'CONFIG_ISA_BUS', if_true: files('isa-bus.c')) system_ss.add(when: 'CONFIG_ISA_SUPERIO', if_true: files('isa-superio.c')) system_ss.add(when: 'CONFIG_PC87312', if_true: files('pc87312.c')) -system_ss.add(when: 'CONFIG_PIIX3', if_true: files('piix3.c')) -system_ss.add(when: 'CONFIG_PIIX4', if_true: files('piix4.c')) +system_ss.add(when: 'CONFIG_PIIX', if_true: files('piix.c')) system_ss.add(when: 'CONFIG_SMC37C669', if_true: files('smc37c669-superio.= c')) system_ss.add(when: 'CONFIG_VT82C686', if_true: files('vt82c686.c')) =20 diff --git a/hw/mips/Kconfig b/hw/mips/Kconfig index da3a37e215..ac1eb06a51 100644 --- a/hw/mips/Kconfig +++ b/hw/mips/Kconfig @@ -2,7 +2,7 @@ config MALTA bool select GT64120 select ISA_SUPERIO - select PIIX4 + select PIIX =20 config MIPSSIM bool --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682479; cv=none; d=zohomail.com; s=zohoarc; b=MzGozcweKbeLEcSbMG6NUP/Q4mxBr7Rb0FLqWaxfHHmA6gRlo2y/aEsOx4+yYdcIpNHjMf7rdEGqSSA2wDl4aVW9bCoKMYV5eq33rffe8/p7Iy2fXFe0P+ZfYT0aLaFQFzF4QQ0jCWxFgM50zEkRcfdin8svqK66OmCSn8SeQuM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682479; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=PR1OTO+HOAaZgG4LN7ff4+XgGlEjkB8EMde29NVCAx0=; b=lxnyAWR+B7mrr6fFZZOzxX3NbQzEQRnwRxANJPbCc5wCTPw+cy+e7iE/dTMaASPMR3WlfVQV5YrCa+mfkAeKwsFo7U0dWNcSABmoOHHqH5TfyNrc21S6W4Tav3uvH9SENSzT9Uar+tdcKqFxVTwEmPtfKBCltTn0W43+U0cHDRY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682479283604.4865740393378; Sat, 7 Oct 2023 05:41:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6ap-0003oC-UU; Sat, 07 Oct 2023 08:39:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aX-000324-S0 for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:22 -0400 Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aU-0002nZ-7W for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:20 -0400 Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-9b98a699f45so512209966b.3 for ; Sat, 07 Oct 2023 05:39:17 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682356; x=1697287156; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PR1OTO+HOAaZgG4LN7ff4+XgGlEjkB8EMde29NVCAx0=; b=A6n+fjqXgGZOUylL7GHCI8a9tiAkX4suVE0q0en0SWQ+truMuRnkHzZI9J2CDzmRcs iYAmxXw0wmQUI/qhKD0dJzfx1g8D32OyMtML9Dof26YM14FWehjvP/XNhJUEz93Qf7RA L82Ue9IfQ2IbhI60Qbw1HFt0+C/Tsl0mOyFCwk6zac4o3ctFLO3asK2udmuxSmd7O3YH IP96SvT/LypJRvf8lv8xmVZxJXZfmmUsYQOnuB7S5AQ2f9qQM5G6ZdinaD8GXBJ2Topq Asiev+tzlVxisERc/zhUaWGWKBKycUX9rpqnkCKTiN33Xb+dfxlbEyQWcZur7prLE5ZM oA0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682356; x=1697287156; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PR1OTO+HOAaZgG4LN7ff4+XgGlEjkB8EMde29NVCAx0=; b=fu9n6X/NarU7S+237RL5dy0DL2i9TLNiRQkSbRApHe6z0ZQ3SKXWSOWtcvADzOJnKv TF174zd9ZMuLDvMkxroV0d2qTExPFBmXcSPY+InnVmBpTP2ZBVJqvkdXahbL/vJU7il9 L+dFze6k7YqqdRCgsY0hwAVJsf6A2bBj44HaCEN2pSUUV7zWMbFlL4A1Rh/nSCylSGZe LwEpBUFdYyfHZv9zD6RSrx8Bn1ryNTfir1VfhWq5CvzdKFish/2lnNDYHROvrPsAKdbq QI5h8qyC72RODswE5J8BhaoCJH0BCpYLjUNAXuRg16NUQji+f6ysCs0rk0kcCXAaisAu iKQw== X-Gm-Message-State: AOJu0YyIv+w03BpSdX6Z1zF5BShgVCZpnsZ6l0e4qGm5IZnZVh8bedbe 6fmlDfTictOxoNc6GMZ0fXEZFdEQ2eM= X-Google-Smtp-Source: AGHT+IEWf3l2e4dbBSlFNmenm3auRQ675su4bstlvF4wUgIosxlTEgkhkAuucYukiLZf3q8H0QAgyw== X-Received: by 2002:a17:906:220f:b0:9ba:fb9:d334 with SMTP id s15-20020a170906220f00b009ba0fb9d334mr869675ejs.13.1696682355859; Sat, 07 Oct 2023 05:39:15 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 20/29] hw/isa/piix: Allow for optional PIC creation in PIIX3 Date: Sat, 7 Oct 2023 14:38:28 +0200 Message-ID: <20231007123843.127151-21-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::636; envelope-from=shentey@gmail.com; helo=mail-ej1-x636.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682481224100001 Content-Type: text/plain; charset="utf-8" In the PC machine, the PIC is created in board code to allow it to be virtualized with various virtualization techniques. So explicitly disable i= ts creation in the PC machine via a property which defaults to enabled. Once t= he PIIX implementations are consolidated this default will keep Malta working without further ado. Signed-off-by: Bernhard Beschow --- include/hw/southbridge/piix.h | 1 + hw/i386/pc_piix.c | 2 ++ hw/isa/piix.c | 21 +++++++++++++++++++-- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index dd5f7b31c0..08491693b4 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -69,6 +69,7 @@ struct PIIXState { MemoryRegion rcr_mem; =20 bool has_acpi; + bool has_pic; bool has_usb; bool smm_enabled; }; diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 70cffcfe4f..fa39afd891 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -268,6 +268,8 @@ static void pc_init1(MachineState *machine, object_property_set_bool(OBJECT(pci_dev), "has-acpi", x86_machine_is_acpi_enabled(x86ms), &error_abort); + object_property_set_bool(OBJECT(pci_dev), "has-pic", false, + &error_abort); qdev_prop_set_uint32(DEVICE(pci_dev), "smb_io_base", 0xb100); object_property_set_bool(OBJECT(pci_dev), "smm-enabled", x86_machine_is_smm_enabled(x86ms), diff --git a/hw/isa/piix.c b/hw/isa/piix.c index f6da334c6f..d6d9ac6473 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -106,7 +106,7 @@ static void piix4_set_irq(void *opaque, int irq_num, in= t level) } } =20 -static void piix4_request_i8259_irq(void *opaque, int irq, int level) +static void piix_request_i8259_irq(void *opaque, int irq, int level) { PIIX4State *s =3D opaque; qemu_set_irq(s->cpu_intr, level); @@ -343,6 +343,22 @@ static void pci_piix3_realize(PCIDevice *dev, Error **= errp) memory_region_add_subregion_overlap(pci_address_space_io(dev), PIIX_RCR_IOPORT, &d->rcr_mem, 1); =20 + /* PIC */ + if (d->has_pic) { + qemu_irq *i8259_out_irq =3D qemu_allocate_irqs(piix_request_i8259_= irq, d, + 1); + qemu_irq *i8259 =3D i8259_init(isa_bus, *i8259_out_irq); + size_t i; + + for (i =3D 0; i < ISA_NUM_IRQS; i++) { + d->isa_irqs_in[i] =3D i8259[i]; + } + + g_free(i8259); + + qdev_init_gpio_out_named(DEVICE(dev), &d->cpu_intr, "intr", 1); + } + isa_bus_register_input_irqs(isa_bus, d->isa_irqs_in); =20 i8257_dma_init(isa_bus, 0); @@ -419,6 +435,7 @@ static void pci_piix3_init(Object *obj) static Property pci_piix3_props[] =3D { DEFINE_PROP_UINT32("smb_io_base", PIIXState, smb_io_base, 0), DEFINE_PROP_BOOL("has-acpi", PIIXState, has_acpi, true), + DEFINE_PROP_BOOL("has-pic", PIIXState, has_pic, true), DEFINE_PROP_BOOL("has-usb", PIIXState, has_usb, true), DEFINE_PROP_BOOL("smm-enabled", PIIXState, smm_enabled, false), DEFINE_PROP_END_OF_LIST(), @@ -514,7 +531,7 @@ static void piix4_realize(PCIDevice *dev, Error **errp) PIIX_RCR_IOPORT, &s->rcr_mem, 1); =20 /* initialize i8259 pic */ - i8259_out_irq =3D qemu_allocate_irqs(piix4_request_i8259_irq, s, 1); + i8259_out_irq =3D qemu_allocate_irqs(piix_request_i8259_irq, s, 1); i8259 =3D i8259_init(isa_bus, *i8259_out_irq); =20 for (i =3D 0; i < ISA_NUM_IRQS; i++) { --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682530; cv=none; d=zohomail.com; s=zohoarc; b=DvP3juAe9+0gySb1KOleADctrLM5UQrYhtfTlyF9o3edAFMQ/eyHja8bHbpVaRi0DgL/DqoX7wvzU1rXKB8Yc68/beUKdfuc7OKl5Xdc/mAd7i3HBsMJJi+ilQa+OLrHOHQn46+38GPWXCeJNadPLsDVGWcT9RTGZ6MI6zFVaiQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682530; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=QtpYpujhvvkSWUrWERoFFt7eVjobeT/TB7O7zxbhWS4=; b=b0mFdhzVAr4HXsJeMIEqhpBnm1QZIhIkt9nsim9/QHKQj+DjMof7MzUVMWO1LzVgoVNAosa2S6jIkRcNvX1RohLqG2d56ao9EupmEM1PnMLPvD8CRNrARlOjVwy9HEHfkYkrgPeeMbDv19w+pBZ8Re8sOgxvthTf/kBIN9g4NIg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682530809493.47940223458977; Sat, 7 Oct 2023 05:42:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6ae-00037T-8U; Sat, 07 Oct 2023 08:39:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aZ-000326-7g for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:23 -0400 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aV-0002ng-2J for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:20 -0400 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-51e28cac164so8919872a12.1 for ; Sat, 07 Oct 2023 05:39:18 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682357; x=1697287157; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QtpYpujhvvkSWUrWERoFFt7eVjobeT/TB7O7zxbhWS4=; b=DTFP2r1qufTrvBSrq5sDwy/7DEObeS3Zp8NdpwfcTtU17AwxRgkS34/gt/Nzbg89uG nO5ekRAGacTnr5ld7u9rdS/zHncT1o4Rq8wrI1p2sXOHS1addSyrlM89ls6pHdOFVAGO QArTiKJGue9McMzgY5n22Eew+8sG8DJoh+2SjB4Ved110sbqonIuCLbkk/xl/m7gRmfZ xDTJQ36Q4ZYsZqBim6Xc2J3pHqYXcWwzbY3W8jlcrIWJotwntVyuvkX4WGtNDwYhJ0A+ hbjrylb0sMSmaXki33vHoVnk7BNBiRaXJ0XdsBgt1EwtAZCNAr/RprQ9Eow9wN8iE4K1 NMhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682357; x=1697287157; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QtpYpujhvvkSWUrWERoFFt7eVjobeT/TB7O7zxbhWS4=; b=jFN7cLybtzYjlrS9lQOpcyOxz3nvQ7HgCemy5vWGn0OB4FTjLOQKXb+D3Q+80AhE7i zWbLe3BYgjh90CQPSMIaIH9MuDStVfGKqguP1ICEsjxunaOn48m/HADp7xi6qTOWfAIe EigpHH18WG+L8uEKENMHUZTMjg6v0HQTyzPa6XxlxcbS2xi4XQQJRcXIbZU2B+w1+IjV gmSEXDAeNIlQ/ox0xldycFXiwbY2YwM+0G2CBp/oCu9MidCiX74I/zNpeD7HqY493s1L xPG1fn+MO+fGiSUuSXIqnFuuuZLpjP0mutVf8W4SnQWerp2aHRgt2JnlWziZneQFTtWc 05iQ== X-Gm-Message-State: AOJu0YwX5rt72on2S/oOkWE87o9F5GXdGO7NwLNw8sG4bfBja26LTTrC ZQyAhGS3RkEMrL7R6CHdwnEO7QKuJFU= X-Google-Smtp-Source: AGHT+IGDQo+KBJqkEFE9/ep1MVqAa5O3cLlaDixYGcbrUGQGiYx0WL+OjGgd+jByb/JPnwE074HOVw== X-Received: by 2002:a17:907:3da3:b0:9ae:614f:b159 with SMTP id he35-20020a1709073da300b009ae614fb159mr6177696ejc.36.1696682357001; Sat, 07 Oct 2023 05:39:17 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 21/29] hw/isa/piix: Allow for optional PIT creation in PIIX3 Date: Sat, 7 Oct 2023 14:38:29 +0200 Message-ID: <20231007123843.127151-22-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::531; envelope-from=shentey@gmail.com; helo=mail-ed1-x531.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682532259100011 Content-Type: text/plain; charset="utf-8" In the PC machine, the PIT is created in board code to allow it to be virtualized with various virtualization techniques. So explicitly disable i= ts creation in the PC machine via a property which defaults to enabled. Once t= he PIIX implementations are consolidated this default will keep Malta working without further ado. Signed-off-by: Bernhard Beschow --- include/hw/southbridge/piix.h | 1 + hw/i386/pc_piix.c | 2 ++ hw/isa/piix.c | 6 ++++++ 3 files changed, 9 insertions(+) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index 08491693b4..86709ba2e4 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -70,6 +70,7 @@ struct PIIXState { =20 bool has_acpi; bool has_pic; + bool has_pit; bool has_usb; bool smm_enabled; }; diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index fa39afd891..e38942a3c3 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -270,6 +270,8 @@ static void pc_init1(MachineState *machine, &error_abort); object_property_set_bool(OBJECT(pci_dev), "has-pic", false, &error_abort); + object_property_set_bool(OBJECT(pci_dev), "has-pit", false, + &error_abort); qdev_prop_set_uint32(DEVICE(pci_dev), "smb_io_base", 0xb100); object_property_set_bool(OBJECT(pci_dev), "smm-enabled", x86_machine_is_smm_enabled(x86ms), diff --git a/hw/isa/piix.c b/hw/isa/piix.c index d6d9ac6473..270b8eb1f7 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -361,6 +361,11 @@ static void pci_piix3_realize(PCIDevice *dev, Error **= errp) =20 isa_bus_register_input_irqs(isa_bus, d->isa_irqs_in); =20 + /* PIT */ + if (d->has_pit) { + i8254_pit_init(isa_bus, 0x40, 0, NULL); + } + i8257_dma_init(isa_bus, 0); =20 /* RTC */ @@ -436,6 +441,7 @@ static Property pci_piix3_props[] =3D { DEFINE_PROP_UINT32("smb_io_base", PIIXState, smb_io_base, 0), DEFINE_PROP_BOOL("has-acpi", PIIXState, has_acpi, true), DEFINE_PROP_BOOL("has-pic", PIIXState, has_pic, true), + DEFINE_PROP_BOOL("has-pit", PIIXState, has_pit, true), DEFINE_PROP_BOOL("has-usb", PIIXState, has_usb, true), DEFINE_PROP_BOOL("smm-enabled", PIIXState, smm_enabled, false), DEFINE_PROP_END_OF_LIST(), --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682608; cv=none; d=zohomail.com; s=zohoarc; b=Gewx5kiJh+rWaq6+4zhUs4qfhm+Xvs2I3mdyUYduijZR5G2E4dRg/p9znnZjAUBMLH3S138aQUI4rwUFuEG4FJ3crnM5YnE8lPF+bj3r4tg/P1NVFLWDkhtHtNEZQNFZLpXDcd6BqQAZzIaPyF49GXWEKhoakkBeJ7QviRD89JY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682608; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=d0XuN63nkTd3KYQHhUixjIMHmBNvDj80m6k9ANPL8Y8=; b=hn/S5cDMVCrAg+wcLQ7fsk+pPgfqwu2WMnNz5sGIJz14YnsUx9Q4I+UsMPEg/feHzUfPcMOXCj6yc1liCP48+p0xxKJ9Ijhe+cuf+a8Gx+j+rjumCyKBCepIDDqntyAb5A0Tb1mKHmMVuZlgNq6zVNT7pRv6F0QIxnCkUQKNqFk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682606853201.86492583020697; Sat, 7 Oct 2023 05:43:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6ao-0003bA-94; Sat, 07 Oct 2023 08:39:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6ac-000378-Hz for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:27 -0400 Received: from mail-ej1-x631.google.com ([2a00:1450:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aX-0002nz-Kq for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:26 -0400 Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-99c3c8adb27so515116266b.1 for ; Sat, 07 Oct 2023 05:39:19 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682358; x=1697287158; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=d0XuN63nkTd3KYQHhUixjIMHmBNvDj80m6k9ANPL8Y8=; b=jYW3W5qn6GiOYnN7bJn9EcJI7CvyG/di5aLtV3ZilaukwhyqS0t6IA6q/9MlRGpXO7 jG3sc3OmTK5944F05/XN90VpuEY8P0sXHdLFYp2lE0fSlUS7HgepToVhs5MHbnD6LoIB q/OWmQPuI9RxIaApPZHDDseKR3hD5gWLG4uGEwR7Qt5I+CdYqR3QFw3414irAY8J2uBJ PUrpAaUQgJP4kUcg0vBFWOqvYv3+5uCFPv9kmEoi5Mt3irKLMXP3R1dRMu55A1kS1l8G BcYrXsmfFQ5mYXIx8krbI/x1ds4zEIn8k+RtnfmaOV8gPUn4OwsXFi4uq2GXY9+PXxWR HLsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682358; x=1697287158; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=d0XuN63nkTd3KYQHhUixjIMHmBNvDj80m6k9ANPL8Y8=; b=mE0WhI0EMVCFNGms/CNnvG8LmgcGkvM0bfaslIeLLiQjZxuf7QT4FKe9e4Nbhx515x Hf6rbINlG1MFfKd7qvEoasyqpzlqXJ8ViD/BldWW7je95toD7G8cdhSppaEb5ny9n+Hm 9/v/O7IkApOlefEltn7ZFv/KLAF4I50nSV+Z8hir2CoB+QYwkgLO7NpQe9bnNAPKGi0I icYKZ6vxJSKJbQAuhItM4ffGRdsA8U8YDOCj4ZC7Iwq0x0AzFoMUyC0FPS5ds99b2zFq TNMqp4EbGQOjUjduUsulYhJfzh30itW1qHN8psvHw2jsBe3hBUQGMuGArtzhD1kMCrMi G1Eg== X-Gm-Message-State: AOJu0Yy74qGzcxlW026xum4a4af14I3cpm7qLDzTSrO18JYde+38jugN pMn6wPU/kRvJ7864PGhaOnDtMSUVt/A= X-Google-Smtp-Source: AGHT+IElXZq6cObzA5NaJT+Ll8VaoCjG5GKlPayJl1f+QQMLLdMfImcx2IUa7WQQJ1tkAqtZTkDkVA== X-Received: by 2002:a17:906:74dd:b0:9ae:5a9f:6aa0 with SMTP id z29-20020a17090674dd00b009ae5a9f6aa0mr10485042ejl.33.1696682358139; Sat, 07 Oct 2023 05:39:18 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 22/29] hw/isa/piix: Harmonize names of reset control memory regions Date: Sat, 7 Oct 2023 14:38:30 +0200 Message-ID: <20231007123843.127151-23-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::631; envelope-from=shentey@gmail.com; helo=mail-ej1-x631.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682609432100003 There is no need for having different names here. Having the same name further allows code to be shared between PIIX3 and PIIX4. Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Michael S. Tsirkin --- hw/isa/piix.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/isa/piix.c b/hw/isa/piix.c index 270b8eb1f7..bd66fb7475 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -339,7 +339,7 @@ static void pci_piix3_realize(PCIDevice *dev, Error **e= rrp) } =20 memory_region_init_io(&d->rcr_mem, OBJECT(dev), &rcr_ops, d, - "piix3-reset-control", 1); + "piix-reset-control", 1); memory_region_add_subregion_overlap(pci_address_space_io(dev), PIIX_RCR_IOPORT, &d->rcr_mem, 1); =20 @@ -532,7 +532,7 @@ static void piix4_realize(PCIDevice *dev, Error **errp) "intr", 1); =20 memory_region_init_io(&s->rcr_mem, OBJECT(dev), &rcr_ops, s, - "reset-control", 1); + "piix-reset-control", 1); memory_region_add_subregion_overlap(pci_address_space_io(dev), PIIX_RCR_IOPORT, &s->rcr_mem, 1); =20 --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682484; cv=none; d=zohomail.com; s=zohoarc; b=bkfI7y7GoHBOLgO0tHMMuZzNUDD/6lmNXqyDW1JkyKoKI5I1eOsocHXgbcnQ0S+80x1jx2tQduljjOjeALHcnCsp5Ev3fhDQ7n8ODrCWCTgOTh/6/oU0BDTXz0E3uRnJSJYk/r0bXgTbQnjdUfBZsRCwE8Ic6vAMXccsL0LlI3M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682484; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=9yBSTpI9Xv1/cDWL+xp/VoNBOlMdUIrHNnE5N+mXXuM=; b=M062emABMx7Y3NYPUqvewmhhmjcY/7xEcBaEA089VRGgFiK4+lgseadt4qLfSk3iTe05lfde/zy5hVlzWp5cKmEBCABsykh7UVprA1yhxHfco7f5AcHFDgp7LGzxEG9w8TtD3jxz726VeD2F42oNLwOpoeT6MTIrlf/6mRikYXs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682484466133.44505120592885; Sat, 7 Oct 2023 05:41:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6ak-0003Ji-4q; Sat, 07 Oct 2023 08:39:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6aa-00032i-R9 for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:25 -0400 Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aX-0002pc-Vg for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:24 -0400 Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-9b2cee40de8so663306166b.1 for ; Sat, 07 Oct 2023 05:39:20 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682359; x=1697287159; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9yBSTpI9Xv1/cDWL+xp/VoNBOlMdUIrHNnE5N+mXXuM=; b=O8l21OrylieTXJmeoLb93JUFnosf1UhctJBlYzFYFCnDE/JVBLCDZzJpFtLRFQhGoL vJZ2qH5dG389TNw5+AUyhKRPeQ0tlghhkwDXqdAxP0vtYEtzvvarfiawCML5YU4NoSwc MLWaW7NwgMZOulXLtfqsOEXfh4+MoH9OdKCb8cOCvDSm7e04K5SgHEEUhDW5RB4JYgLh 6yNti5ZgrAZXTLqQX5HhL/hqGYYtdBDX+ljU8H8mzJDk2qvqiwLP0hyJeySU1tPyBMJl bBTxegO1AqXm7MjkPaWyiYiMFiGmAP2RTq9IJSgbkPTAVrUei/7p2vcCmtQaE9g1Jizy hgmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682359; x=1697287159; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9yBSTpI9Xv1/cDWL+xp/VoNBOlMdUIrHNnE5N+mXXuM=; b=po6zb2arTJuPE04Y201LnhYJMYRNHz6Kq5K4ua8vzWg8EQrJktfnQh7xX3YOE9Lu+W jbY/yv522gaTsyPhEaKUS06kpB/F+8VqWRZMr1O/ipo6wDKDQv3+N1IHvaAPQBJmJuJj gqGdxEXPu3P1qvxg9JM91FjOJAFb7bgpUAzrXsjnjG6108hbETzb8P3XV4x45yanCl3f jLHfQ+DDBmA0w5+nYIWLlUW/aLQ1JlS2N/qcdwc4cnd/oSXlYjyiVKn3CNCwGrPSOXsx PV/mbApmEHL7f/6kIzAaq7vG33txQf1ik689QFxU89JBKzgUPylr8AeWDV/pqtWi+mhd X6bw== X-Gm-Message-State: AOJu0YwHR6P00zNyjScTpVVyrxadFWmn3nli++abiIgm+VSBguF/kRBQ FkqkGxt/GKxYzAXlabzk4JV4UgB8k5k= X-Google-Smtp-Source: AGHT+IHQxxUzNET4pLTQlkCPQ2SG15DFhSUsL+Uxnq18hd2M8s7Pm3himnqLM5jWU3Ihg7//Xrsb9g== X-Received: by 2002:a17:906:c414:b0:9b8:9217:73f5 with SMTP id u20-20020a170906c41400b009b8921773f5mr7785117ejz.32.1696682359349; Sat, 07 Oct 2023 05:39:19 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 23/29] hw/isa/piix: Share PIIX3's base class with PIIX4 Date: Sat, 7 Oct 2023 14:38:31 +0200 Message-ID: <20231007123843.127151-24-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::636; envelope-from=shentey@gmail.com; helo=mail-ej1-x636.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682485295100009 Content-Type: text/plain; charset="utf-8" Having a common base class will allow for futher code sharing between PIIX3= and PIIX4. Moreover, it makes PIIX4 implement the acpi-dev-aml-interface. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin --- hw/isa/piix.c | 85 ++++++++++++++++++--------------------------------- 1 file changed, 30 insertions(+), 55 deletions(-) diff --git a/hw/isa/piix.c b/hw/isa/piix.c index bd66fb7475..8f7d6c56a8 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -38,10 +38,6 @@ #include "migration/vmstate.h" #include "hw/acpi/acpi_aml_interface.h" =20 -typedef struct PIIXState PIIX4State; - -DECLARE_INSTANCE_CHECKER(PIIX4State, PIIX4_PCI_DEVICE, TYPE_PIIX4_PCI_DEVI= CE) - static void piix3_set_irq_pic(PIIXState *piix3, int pic_irq) { qemu_set_irq(piix3->isa_irqs_in[pic_irq], @@ -88,7 +84,7 @@ static void piix3_set_irq(void *opaque, int pirq, int lev= el) static void piix4_set_irq(void *opaque, int irq_num, int level) { int i, pic_irq, pic_level; - PIIX4State *s =3D opaque; + PIIXState *s =3D opaque; PCIBus *bus =3D pci_get_bus(&s->dev); =20 /* now we change the pic irq level according to the piix irq mappings = */ @@ -108,7 +104,7 @@ static void piix4_set_irq(void *opaque, int irq_num, in= t level) =20 static void piix_request_i8259_irq(void *opaque, int irq, int level) { - PIIX4State *s =3D opaque; + PIIXState *s =3D opaque; qemu_set_irq(s->cpu_intr, level); } =20 @@ -156,8 +152,9 @@ static void piix3_write_config(PCIDevice *dev, } } =20 -static void piix_reset(PIIXState *d) +static void piix_reset(DeviceState *dev) { + PIIXState *d =3D PIIX_PCI_DEVICE(dev); uint8_t *pci_conf =3D d->dev.config; =20 pci_conf[0x04] =3D 0x07; /* master, memory and I/O */ @@ -196,13 +193,6 @@ static void piix_reset(PIIXState *d) d->rcr =3D 0; } =20 -static void piix3_reset(DeviceState *dev) -{ - PIIXState *d =3D PIIX_PCI_DEVICE(dev); - - piix_reset(d); -} - static int piix3_post_load(void *opaque, int version_id) { PIIXState *piix3 =3D opaque; @@ -227,7 +217,7 @@ static int piix3_post_load(void *opaque, int version_id) =20 static int piix4_post_load(void *opaque, int version_id) { - PIIX4State *s =3D opaque; + PIIXState *s =3D opaque; =20 if (version_id =3D=3D 2) { s->rcr =3D 0; @@ -291,8 +281,8 @@ static const VMStateDescription vmstate_piix4 =3D { .minimum_version_id =3D 2, .post_load =3D piix4_post_load, .fields =3D (VMStateField[]) { - VMSTATE_PCI_DEVICE(dev, PIIX4State), - VMSTATE_UINT8_V(rcr, PIIX4State, 3), + VMSTATE_PCI_DEVICE(dev, PIIXState), + VMSTATE_UINT8_V(rcr, PIIXState, 3), VMSTATE_END_OF_LIST() } }; @@ -426,7 +416,7 @@ static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml *= scope) qbus_build_aml(bus, scope); } =20 -static void pci_piix3_init(Object *obj) +static void pci_piix_init(Object *obj) { PIIXState *d =3D PIIX_PCI_DEVICE(obj); =20 @@ -434,7 +424,6 @@ static void pci_piix3_init(Object *obj) ISA_NUM_IRQS); =20 object_initialize_child(obj, "rtc", &d->rtc, TYPE_MC146818_RTC); - object_initialize_child(obj, "ide", &d->ide, TYPE_PIIX3_IDE); } =20 static Property pci_piix3_props[] =3D { @@ -447,27 +436,22 @@ static Property pci_piix3_props[] =3D { DEFINE_PROP_END_OF_LIST(), }; =20 -static void pci_piix3_class_init(ObjectClass *klass, void *data) +static void pci_piix_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); AcpiDevAmlIfClass *adevc =3D ACPI_DEV_AML_IF_CLASS(klass); =20 - k->config_write =3D piix3_write_config; - dc->reset =3D piix3_reset; + dc->reset =3D piix_reset; dc->desc =3D "ISA bridge"; - dc->vmsd =3D &vmstate_piix3; dc->hotpluggable =3D false; k->vendor_id =3D PCI_VENDOR_ID_INTEL; - /* 82371SB PIIX3 PCI-to-ISA bridge (Step A1) */ - k->device_id =3D PCI_DEVICE_ID_INTEL_82371SB_0; k->class_id =3D PCI_CLASS_BRIDGE_ISA; /* - * Reason: part of PIIX3 southbridge, needs to be wired up by + * Reason: part of PIIX southbridge, needs to be wired up by e.g. * pc_piix.c's pc_init1() */ dc->user_creatable =3D false; - device_class_set_props(dc, pci_piix3_props); adevc->build_dev_aml =3D build_pci_isa_aml; } =20 @@ -475,9 +459,9 @@ static const TypeInfo piix_pci_type_info =3D { .name =3D TYPE_PIIX_PCI_DEVICE, .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(PIIXState), - .instance_init =3D pci_piix3_init, + .instance_init =3D pci_piix_init, .abstract =3D true, - .class_init =3D pci_piix3_class_init, + .class_init =3D pci_piix_class_init, .interfaces =3D (InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, { TYPE_ACPI_DEV_AML_IF }, @@ -500,22 +484,36 @@ static void piix3_realize(PCIDevice *dev, Error **err= p) pci_bus_set_route_irq_fn(pci_bus, piix3_route_intx_pin_to_irq); } =20 +static void piix3_init(Object *obj) +{ + PIIXState *d =3D PIIX_PCI_DEVICE(obj); + + object_initialize_child(obj, "ide", &d->ide, TYPE_PIIX3_IDE); +} + static void piix3_class_init(ObjectClass *klass, void *data) { + DeviceClass *dc =3D DEVICE_CLASS(klass); PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); =20 + k->config_write =3D piix3_write_config; k->realize =3D piix3_realize; + /* 82371SB PIIX3 PCI-to-ISA bridge (Step A1) */ + k->device_id =3D PCI_DEVICE_ID_INTEL_82371SB_0; + dc->vmsd =3D &vmstate_piix3; + device_class_set_props(dc, pci_piix3_props); } =20 static const TypeInfo piix3_info =3D { .name =3D TYPE_PIIX3_DEVICE, .parent =3D TYPE_PIIX_PCI_DEVICE, + .instance_init =3D piix3_init, .class_init =3D piix3_class_init, }; =20 static void piix4_realize(PCIDevice *dev, Error **errp) { - PIIX4State *s =3D PIIX4_PCI_DEVICE(dev); + PIIXState *s =3D PIIX_PCI_DEVICE(dev); PCIBus *pci_bus =3D pci_get_bus(dev); ISABus *isa_bus; qemu_irq *i8259_out_irq; @@ -584,18 +582,10 @@ static void piix4_realize(PCIDevice *dev, Error **err= p) pci_bus_irqs(pci_bus, piix4_set_irq, s, PIIX_NUM_PIRQS); } =20 -static void piix4_isa_reset(DeviceState *dev) -{ - PIIX4State *s =3D PIIX4_PCI_DEVICE(dev); - - piix_reset(s); -} - static void piix4_init(Object *obj) { - PIIX4State *s =3D PIIX4_PCI_DEVICE(obj); + PIIXState *s =3D PIIX_PCI_DEVICE(obj); =20 - object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC); object_initialize_child(obj, "ide", &s->ide, TYPE_PIIX4_IDE); object_initialize_child(obj, "uhci", &s->uhci, TYPE_PIIX4_USB_UHCI); =20 @@ -610,30 +600,15 @@ static void piix4_class_init(ObjectClass *klass, void= *data) PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); =20 k->realize =3D piix4_realize; - k->vendor_id =3D PCI_VENDOR_ID_INTEL; k->device_id =3D PCI_DEVICE_ID_INTEL_82371AB_0; - k->class_id =3D PCI_CLASS_BRIDGE_ISA; - dc->reset =3D piix4_isa_reset; - dc->desc =3D "ISA bridge"; dc->vmsd =3D &vmstate_piix4; - /* - * Reason: part of PIIX4 southbridge, needs to be wired up, - * e.g. by mips_malta_init() - */ - dc->user_creatable =3D false; - dc->hotpluggable =3D false; } =20 static const TypeInfo piix4_info =3D { .name =3D TYPE_PIIX4_PCI_DEVICE, - .parent =3D TYPE_PCI_DEVICE, - .instance_size =3D sizeof(PIIX4State), + .parent =3D TYPE_PIIX_PCI_DEVICE, .instance_init =3D piix4_init, .class_init =3D piix4_class_init, - .interfaces =3D (InterfaceInfo[]) { - { INTERFACE_CONVENTIONAL_PCI_DEVICE }, - { }, - }, }; =20 static void piix3_register_types(void) --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682626; cv=none; d=zohomail.com; s=zohoarc; b=F6EiNZhiipQa9gj/BJdQ+lm4hiGmRX7j98Tw+kvu2OGwNa6BTDInWj6vCtYMSHlmou0/DxW+Xje0bRp44EYXcIomh70pEy4UKgYkqoT/VtAd4Ti9dFyjLcDUO0QEnZ4QmFrwooQIMllnTttf47JJ5sxygOO6jiKjcY9LwiHIAQU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682626; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=XtaCDwg2mGV3kd56ifXmbZYU3vHAg6SkLi3rmA4zjv8=; b=Y5orYuhNIspIyIPIfcmYR6x0zs9Y9y+QB1tY72Y/Pr3JHATxnfG/InQTYmQHU0n0j0iL/cSNXMdqwMplG9z+s9pQZQnEUqAZd/q7a3X3GlchS3VWffDvd2+GxnpDoJvRPPwl9nE5pSH0SIdlHs+GPhALR2I8SOnmtUWpclsIEb8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682626307677.8007939354911; Sat, 7 Oct 2023 05:43:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6am-0003SL-DQ; Sat, 07 Oct 2023 08:39:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6ac-00036j-C3 for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:26 -0400 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aZ-0002pl-6G for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:26 -0400 Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-9ae7383b7ecso911938566b.0 for ; Sat, 07 Oct 2023 05:39:21 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682360; x=1697287160; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XtaCDwg2mGV3kd56ifXmbZYU3vHAg6SkLi3rmA4zjv8=; b=EpiFq390bS7vkyCYKHv0v29Au5y/bmt7NDk+ck5ivgJRdEdGXDdqY3U6F32DUmEkby omoDjyK1x8dQyIqzaOb3xpeul/hPHRMJRReNWAaeD1k+pUkjkJGfK5aTBzHaiM/iyQdz r7k0h9Zmvzh8j+p7nkK3/f7EmsK22qu5y7Y0h5BBfhSOi7V+RXPSBJg1m9kx3HNg9b8j KUtR9Tyuq/xMWfc2tOHqNeD9ZanE4lmfIbpXldCRc4nweXrbERrIYk+4E1BsyTdPvWRV g454hmFoAfPibPMX5Aya5JzjNmzG0xEdc210aUlHyJ94+eIRD2IJF4xZIgmLVB0JaOXu /vMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682360; x=1697287160; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XtaCDwg2mGV3kd56ifXmbZYU3vHAg6SkLi3rmA4zjv8=; b=wEWiN+63U4gW6uZwR2R92K6i76Cr/u7uTnVvXeRV3yHd8RAy4WqucEHHAjDAcrFAzE u7tBGmTo/bqouiY3sDBN0KXzQE9saNyojxlyjQyJetkrxUpuDaisP3Kv73iuuEf0Kjo6 J1BGpdJ3t+1umrvKL/j18JuzP80nx/x0lKtL0uePSQRp5t20WfSIeoUvWQYO70iVgMM4 GrQqX8/3dRE9jhqT02jHDIilMJ43sEe8fCrTuufc/zOen1xP4Z2cqddBaBSieRbw2AoP wxMHvHaXvqYngmuTIVnQ1Uxw8ftnIHg3Ru0dN820cSh4twvEbMQ7Jl25wgiwcezcM8Qr p1Ug== X-Gm-Message-State: AOJu0YyctzlIgNhwBapZY40zC1wTTj5U735SDIarNt1HT3Vv+ZEgzzCm KK5Dlu+rjGNWBWNRGs2YlI4lI7rEkCE= X-Google-Smtp-Source: AGHT+IGZEoVXrsWp/6b9r/3kUNJWaon6DsR3v1Qvbs42EsJS9zX2v7t+DE0lZlb9lkuq6NcBThxtgQ== X-Received: by 2002:a17:906:99c5:b0:9ae:3768:f0ce with SMTP id s5-20020a17090699c500b009ae3768f0cemr6537592ejn.0.1696682360322; Sat, 07 Oct 2023 05:39:20 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 24/29] hw/isa/piix: Reuse PIIX3 base class' realize method in PIIX4 Date: Sat, 7 Oct 2023 14:38:32 +0200 Message-ID: <20231007123843.127151-25-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62f; envelope-from=shentey@gmail.com; helo=mail-ej1-x62f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682627952100001 Content-Type: text/plain; charset="utf-8" Resolves duplicate code. Also makes PIIX4 respect the PIIX3 properties whic= h get added, too. This allows for using PIIX4 in the PC machine. Signed-off-by: Bernhard Beschow --- hw/isa/piix.c | 80 ++++++------------------------------------------- hw/mips/malta.c | 5 ++-- 2 files changed, 12 insertions(+), 73 deletions(-) diff --git a/hw/isa/piix.c b/hw/isa/piix.c index 8f7d6c56a8..2ab799b95e 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -315,7 +315,8 @@ static const MemoryRegionOps rcr_ops =3D { }, }; =20 -static void pci_piix3_realize(PCIDevice *dev, Error **errp) +static void pci_piix_realize(PCIDevice *dev, const char *uhci_type, + Error **errp) { PIIXState *d =3D PIIX_PCI_DEVICE(dev); PCIBus *pci_bus =3D pci_get_bus(dev); @@ -374,8 +375,7 @@ static void pci_piix3_realize(PCIDevice *dev, Error **e= rrp) =20 /* USB */ if (d->has_usb) { - object_initialize_child(OBJECT(dev), "uhci", &d->uhci, - TYPE_PIIX3_USB_UHCI); + object_initialize_child(OBJECT(dev), "uhci", &d->uhci, uhci_type); qdev_prop_set_int32(DEVICE(&d->uhci), "addr", dev->devfn + 2); if (!qdev_realize(DEVICE(&d->uhci), BUS(pci_bus), errp)) { return; @@ -426,7 +426,7 @@ static void pci_piix_init(Object *obj) object_initialize_child(obj, "rtc", &d->rtc, TYPE_MC146818_RTC); } =20 -static Property pci_piix3_props[] =3D { +static Property pci_piix_props[] =3D { DEFINE_PROP_UINT32("smb_io_base", PIIXState, smb_io_base, 0), DEFINE_PROP_BOOL("has-acpi", PIIXState, has_acpi, true), DEFINE_PROP_BOOL("has-pic", PIIXState, has_pic, true), @@ -452,6 +452,7 @@ static void pci_piix_class_init(ObjectClass *klass, voi= d *data) * pc_piix.c's pc_init1() */ dc->user_creatable =3D false; + device_class_set_props(dc, pci_piix_props); adevc->build_dev_aml =3D build_pci_isa_aml; } =20 @@ -475,7 +476,7 @@ static void piix3_realize(PCIDevice *dev, Error **errp) PIIXState *piix3 =3D PIIX_PCI_DEVICE(dev); PCIBus *pci_bus =3D pci_get_bus(dev); =20 - pci_piix3_realize(dev, errp); + pci_piix_realize(dev, TYPE_PIIX3_USB_UHCI, errp); if (*errp) { return; } @@ -501,7 +502,6 @@ static void piix3_class_init(ObjectClass *klass, void *= data) /* 82371SB PIIX3 PCI-to-ISA bridge (Step A1) */ k->device_id =3D PCI_DEVICE_ID_INTEL_82371SB_0; dc->vmsd =3D &vmstate_piix3; - device_class_set_props(dc, pci_piix3_props); } =20 static const TypeInfo piix3_info =3D { @@ -513,71 +513,14 @@ static const TypeInfo piix3_info =3D { =20 static void piix4_realize(PCIDevice *dev, Error **errp) { + ERRP_GUARD(); PIIXState *s =3D PIIX_PCI_DEVICE(dev); PCIBus *pci_bus =3D pci_get_bus(dev); - ISABus *isa_bus; - qemu_irq *i8259_out_irq; - qemu_irq *i8259; - size_t i; - - isa_bus =3D isa_bus_new(DEVICE(dev), pci_address_space(dev), - pci_address_space_io(dev), errp); - if (!isa_bus) { - return; - } - - qdev_init_gpio_out_named(DEVICE(dev), &s->cpu_intr, - "intr", 1); - - memory_region_init_io(&s->rcr_mem, OBJECT(dev), &rcr_ops, s, - "piix-reset-control", 1); - memory_region_add_subregion_overlap(pci_address_space_io(dev), - PIIX_RCR_IOPORT, &s->rcr_mem, 1); - - /* initialize i8259 pic */ - i8259_out_irq =3D qemu_allocate_irqs(piix_request_i8259_irq, s, 1); - i8259 =3D i8259_init(isa_bus, *i8259_out_irq); - - for (i =3D 0; i < ISA_NUM_IRQS; i++) { - s->isa_irqs_in[i] =3D i8259[i]; - } - - g_free(i8259); - - /* initialize ISA irqs */ - isa_bus_register_input_irqs(isa_bus, s->isa_irqs_in); - - /* initialize pit */ - i8254_pit_init(isa_bus, 0x40, 0, NULL); =20 - /* DMA */ - i8257_dma_init(isa_bus, 0); - - /* RTC */ - qdev_prop_set_int32(DEVICE(&s->rtc), "base_year", 2000); - if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), errp)) { - return; - } - s->rtc.irq =3D isa_get_irq(ISA_DEVICE(&s->rtc), s->rtc.isairq); - - /* IDE */ - qdev_prop_set_int32(DEVICE(&s->ide), "addr", dev->devfn + 1); - if (!qdev_realize(DEVICE(&s->ide), BUS(pci_bus), errp)) { - return; - } - - /* USB */ - qdev_prop_set_int32(DEVICE(&s->uhci), "addr", dev->devfn + 2); - if (!qdev_realize(DEVICE(&s->uhci), BUS(pci_bus), errp)) { - return; - } - - /* ACPI controller */ - qdev_prop_set_int32(DEVICE(&s->pm), "addr", dev->devfn + 3); - if (!qdev_realize(DEVICE(&s->pm), BUS(pci_bus), errp)) { + pci_piix_realize(dev, TYPE_PIIX4_USB_UHCI, errp); + if (*errp) { return; } - qdev_connect_gpio_out(DEVICE(&s->pm), 0, s->isa_irqs_in[9]); =20 pci_bus_irqs(pci_bus, piix4_set_irq, s, PIIX_NUM_PIRQS); } @@ -587,11 +530,6 @@ static void piix4_init(Object *obj) PIIXState *s =3D PIIX_PCI_DEVICE(obj); =20 object_initialize_child(obj, "ide", &s->ide, TYPE_PIIX4_IDE); - object_initialize_child(obj, "uhci", &s->uhci, TYPE_PIIX4_USB_UHCI); - - object_initialize_child(obj, "pm", &s->pm, TYPE_PIIX4_PM); - qdev_prop_set_uint32(DEVICE(&s->pm), "smb_io_base", 0x1100); - qdev_prop_set_bit(DEVICE(&s->pm), "smm-enabled", 0); } =20 static void piix4_class_init(ObjectClass *klass, void *data) diff --git a/hw/mips/malta.c b/hw/mips/malta.c index dac27fad9d..155f3c1cc8 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -1238,8 +1238,9 @@ void mips_malta_init(MachineState *machine) pci_bus_map_irqs(pci_bus, malta_pci_slot_get_pirq); =20 /* Southbridge */ - piix4 =3D pci_create_simple_multifunction(pci_bus, PIIX4_PCI_DEVFN, - TYPE_PIIX4_PCI_DEVICE); + piix4 =3D pci_new_multifunction(PIIX4_PCI_DEVFN, TYPE_PIIX4_PCI_DEVICE= ); + qdev_prop_set_uint32(DEVICE(piix4), "smb_io_base", 0x1100); + pci_realize_and_unref(piix4, pci_bus, &error_fatal); isa_bus =3D ISA_BUS(qdev_get_child_bus(DEVICE(piix4), "isa.0")); =20 dev =3D DEVICE(object_resolve_path_component(OBJECT(piix4), "ide")); --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682494; cv=none; d=zohomail.com; s=zohoarc; b=eMss4eFGeuoRUlr8eqXKhDe++wMllvXRhOVeNcqI/Bri+kMZj6oHWTBrMdztcSYC6vwhMhg0fBv55g1VGCpR+PtkhYBDX408G+mxDJ6YebYjHm9zIC+igfXQro16oSboM8bzPiGtK1K83l5OfaANqMEdOz528AWBrTDmnt0PrtU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682494; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=rSlWSEQUX29be5fzjZVPtmw+vniPsPYpAwzb3hQ5A2U=; b=gdwP5hfwi1TihmBj1D0LaPu4QJLjCOOmLvFTwPt7I5TATF0EYBp1W5DFAJ8jVtg7mfyuS/Q7y2rCzoVg7cZcEK5UK53O/2tM7nzcD55BbWd4ry3TqWt5rrDBv0KeeBbJSYf4bSmFHP/TiZiTK6waBeTmvJQQGf8XagjMcYGbrOE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682494887218.26344979544695; Sat, 7 Oct 2023 05:41:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6an-0003XG-6u; Sat, 07 Oct 2023 08:39:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6ac-000376-H7 for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:27 -0400 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aZ-0002pz-Ag for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:26 -0400 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-99bdcade7fbso529254966b.1 for ; Sat, 07 Oct 2023 05:39:22 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682361; x=1697287161; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rSlWSEQUX29be5fzjZVPtmw+vniPsPYpAwzb3hQ5A2U=; b=V7jQB3tikwW5SXI3R0zzZ70XCI189B5wMVjnN3FsKG++8tzghGcmxF7puGc2acFMop gG4FCyCE7+TO/LHToYVtHJ/O+gAjRLL6omwCmJGw7bIt7O7d3XoHm0qi31YDavdDSz93 1Q5rFSwLbz4KLGkL4z3CldNMj4vObjiXMDqiydsS4Djz7HtmsREEeBRTlsMD/v0OQoUI Q4sF0IB4D3V+ltmCYvZEFAhg2lSEzym9HrOPgDUxIDWuild9HqjJ1wYNZ7tW78+bCfFU ZjXYwRC2hUcFi8uNAJnKd3cjHybkinWCQE1Sc4jtgIhk6yGqjlEaHyQlRxTvM8ARSBte IBWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682361; x=1697287161; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rSlWSEQUX29be5fzjZVPtmw+vniPsPYpAwzb3hQ5A2U=; b=H5cINB7SzH9IdhATRsTa0ZPV/tCnGfcf8vjIEGvXo56e02CjymzoHGaGOE+QWHZzAm PU09k6IsROnPc7dg0qEx7/bYE4pZ6VMUEtG23RscxK9NQt50YHQPEFbhplNCpAAiviCf 2dVCCBKBcPy5lrciJsD7nIEyEyfFNnRfn6K/kMGn0cqXthXXL2faOZVmsFyJHt+6BozV JB8PQ2rZ6xwoe+VTDYNYvTRqJEenmRwyQJGELV65RJLuUcFqJooxLGgrY8tlRwWh4wIg O5PBqU+WCdhlXQb52Uw7VDO5ZOFHE3p2fvG7JU2QseEPu0swG7oRcbi05QtD12BOjl3p xBKg== X-Gm-Message-State: AOJu0Yzgd3IQEumO3IhPdqw984UIwDxIsWv+XY5GoSKU2Kr3orLuaePw +R8DydgcZGjBuMKSmorwfl6kk5N2h2A= X-Google-Smtp-Source: AGHT+IEzsYbCvnLx6mB4aVeRJ+XunhCSN8TULbP7cdO+5Ugiw5mNh5Z1PkT9XM7fp36gh+14+kQ0zA== X-Received: by 2002:a17:906:5306:b0:9ae:51c8:ded1 with SMTP id h6-20020a170906530600b009ae51c8ded1mr8543962ejo.50.1696682361445; Sat, 07 Oct 2023 05:39:21 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 25/29] hw/isa/piix: Rename functions to be shared for PCI interrupt triggering Date: Sat, 7 Oct 2023 14:38:33 +0200 Message-ID: <20231007123843.127151-26-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62d; envelope-from=shentey@gmail.com; helo=mail-ej1-x62d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682495684100014 Content-Type: text/plain; charset="utf-8" PIIX4 will get the same optimizations which are already implemented for PIIX3. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin --- hw/isa/piix.c | 72 +++++++++++++++++++++++++-------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/hw/isa/piix.c b/hw/isa/piix.c index 2ab799b95e..449c1baaab 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -38,47 +38,47 @@ #include "migration/vmstate.h" #include "hw/acpi/acpi_aml_interface.h" =20 -static void piix3_set_irq_pic(PIIXState *piix3, int pic_irq) +static void piix_set_irq_pic(PIIXState *s, int pic_irq) { - qemu_set_irq(piix3->isa_irqs_in[pic_irq], - !!(piix3->pic_levels & + qemu_set_irq(s->isa_irqs_in[pic_irq], + !!(s->pic_levels & (((1ULL << PIIX_NUM_PIRQS) - 1) << (pic_irq * PIIX_NUM_PIRQS)))); } =20 -static void piix3_set_irq_level_internal(PIIXState *piix3, int pirq, int l= evel) +static void piix_set_pci_irq_level_internal(PIIXState *s, int pirq, int le= vel) { int pic_irq; uint64_t mask; =20 - pic_irq =3D piix3->dev.config[PIIX_PIRQCA + pirq]; + pic_irq =3D s->dev.config[PIIX_PIRQCA + pirq]; if (pic_irq >=3D ISA_NUM_IRQS) { return; } =20 mask =3D 1ULL << ((pic_irq * PIIX_NUM_PIRQS) + pirq); - piix3->pic_levels &=3D ~mask; - piix3->pic_levels |=3D mask * !!level; + s->pic_levels &=3D ~mask; + s->pic_levels |=3D mask * !!level; } =20 -static void piix3_set_irq_level(PIIXState *piix3, int pirq, int level) +static void piix_set_pci_irq_level(PIIXState *s, int pirq, int level) { int pic_irq; =20 - pic_irq =3D piix3->dev.config[PIIX_PIRQCA + pirq]; + pic_irq =3D s->dev.config[PIIX_PIRQCA + pirq]; if (pic_irq >=3D ISA_NUM_IRQS) { return; } =20 - piix3_set_irq_level_internal(piix3, pirq, level); + piix_set_pci_irq_level_internal(s, pirq, level); =20 - piix3_set_irq_pic(piix3, pic_irq); + piix_set_irq_pic(s, pic_irq); } =20 -static void piix3_set_irq(void *opaque, int pirq, int level) +static void piix_set_pci_irq(void *opaque, int pirq, int level) { - PIIXState *piix3 =3D opaque; - piix3_set_irq_level(piix3, pirq, level); + PIIXState *s =3D opaque; + piix_set_pci_irq_level(s, pirq, level); } =20 static void piix4_set_irq(void *opaque, int irq_num, int level) @@ -108,10 +108,10 @@ static void piix_request_i8259_irq(void *opaque, int = irq, int level) qemu_set_irq(s->cpu_intr, level); } =20 -static PCIINTxRoute piix3_route_intx_pin_to_irq(void *opaque, int pin) +static PCIINTxRoute piix_route_intx_pin_to_irq(void *opaque, int pin) { - PIIXState *piix3 =3D opaque; - int irq =3D piix3->dev.config[PIIX_PIRQCA + pin]; + PCIDevice *pci_dev =3D opaque; + int irq =3D pci_dev->config[PIIX_PIRQCA + pin]; PCIINTxRoute route; =20 if (irq < ISA_NUM_IRQS) { @@ -125,29 +125,29 @@ static PCIINTxRoute piix3_route_intx_pin_to_irq(void = *opaque, int pin) } =20 /* irq routing is changed. so rebuild bitmap */ -static void piix3_update_irq_levels(PIIXState *piix3) +static void piix_update_pci_irq_levels(PIIXState *s) { - PCIBus *bus =3D pci_get_bus(&piix3->dev); + PCIBus *bus =3D pci_get_bus(&s->dev); int pirq; =20 - piix3->pic_levels =3D 0; + s->pic_levels =3D 0; for (pirq =3D 0; pirq < PIIX_NUM_PIRQS; pirq++) { - piix3_set_irq_level(piix3, pirq, pci_bus_get_irq_level(bus, pirq)); + piix_set_pci_irq_level(s, pirq, pci_bus_get_irq_level(bus, pirq)); } } =20 -static void piix3_write_config(PCIDevice *dev, - uint32_t address, uint32_t val, int len) +static void piix_write_config(PCIDevice *dev, uint32_t address, uint32_t v= al, + int len) { pci_default_write_config(dev, address, val, len); if (ranges_overlap(address, len, PIIX_PIRQCA, 4)) { - PIIXState *piix3 =3D PIIX_PCI_DEVICE(dev); + PIIXState *s =3D PIIX_PCI_DEVICE(dev); int pic_irq; =20 - pci_bus_fire_intx_routing_notifier(pci_get_bus(&piix3->dev)); - piix3_update_irq_levels(piix3); + pci_bus_fire_intx_routing_notifier(pci_get_bus(&s->dev)); + piix_update_pci_irq_levels(s); for (pic_irq =3D 0; pic_irq < ISA_NUM_IRQS; pic_irq++) { - piix3_set_irq_pic(piix3, pic_irq); + piix_set_irq_pic(s, pic_irq); } } } @@ -193,9 +193,9 @@ static void piix_reset(DeviceState *dev) d->rcr =3D 0; } =20 -static int piix3_post_load(void *opaque, int version_id) +static int piix_post_load(void *opaque, int version_id) { - PIIXState *piix3 =3D opaque; + PIIXState *s =3D opaque; int pirq; =20 /* @@ -207,10 +207,10 @@ static int piix3_post_load(void *opaque, int version_= id) * Here, we update irq levels without raising the interrupt. * Interrupt state will be deserialized separately through the i8259. */ - piix3->pic_levels =3D 0; + s->pic_levels =3D 0; for (pirq =3D 0; pirq < PIIX_NUM_PIRQS; pirq++) { - piix3_set_irq_level_internal(piix3, pirq, - pci_bus_get_irq_level(pci_get_bus(&piix3->dev), pirq)); + piix_set_pci_irq_level_internal(s, pirq, + pci_bus_get_irq_level(pci_get_bus(&s->dev), pirq)); } return 0; } @@ -261,7 +261,7 @@ static const VMStateDescription vmstate_piix3 =3D { .name =3D "PIIX3", .version_id =3D 3, .minimum_version_id =3D 2, - .post_load =3D piix3_post_load, + .post_load =3D piix_post_load, .pre_save =3D piix3_pre_save, .fields =3D (VMStateField[]) { VMSTATE_PCI_DEVICE(dev, PIIXState), @@ -481,8 +481,8 @@ static void piix3_realize(PCIDevice *dev, Error **errp) return; } =20 - pci_bus_irqs(pci_bus, piix3_set_irq, piix3, PIIX_NUM_PIRQS); - pci_bus_set_route_irq_fn(pci_bus, piix3_route_intx_pin_to_irq); + pci_bus_irqs(pci_bus, piix_set_pci_irq, piix3, PIIX_NUM_PIRQS); + pci_bus_set_route_irq_fn(pci_bus, piix_route_intx_pin_to_irq); } =20 static void piix3_init(Object *obj) @@ -497,7 +497,7 @@ static void piix3_class_init(ObjectClass *klass, void *= data) DeviceClass *dc =3D DEVICE_CLASS(klass); PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); =20 - k->config_write =3D piix3_write_config; + k->config_write =3D piix_write_config; k->realize =3D piix3_realize; /* 82371SB PIIX3 PCI-to-ISA bridge (Step A1) */ k->device_id =3D PCI_DEVICE_ID_INTEL_82371SB_0; --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682489; cv=none; d=zohomail.com; s=zohoarc; b=JtkrXEVHPYxbzNAgL2Jl6iZSvQlrSi248/48OoXojycM/+eZjC5wyExHMsEGByO4Al1OyImnruvFsql+6xVrF3t0z/YyePmxlDUpiLH6I8bKrFn19AE6Rp9z4LVX4o/Ha+ddV3WjeZwgZIfobsor7sSMFpbwu4m51r8+RgQm6bk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682489; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=sPVC6CusdReMTR+Bx+nim29dqNlS7Ej2hd85y0nMUPw=; b=ji6VQC7L5gv+NqapGuBxzqvkiD1HQ2KEBCKLwYZd1uSLmutuq53j1OzNnyurJ0sB94p4OjwWlVPm6DTImDbXbFW4kmXKyGyE6DHK8sk0mzkXFYXjkAkULOaqYK0uSyewBO7NcQ9c2JSdDJgE2CAcYthS5XuSwrLqCglpHWaj7EE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682489377374.83508327967445; Sat, 7 Oct 2023 05:41:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6ao-0003ZX-08; Sat, 07 Oct 2023 08:39:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6ac-00036k-CT for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:26 -0400 Received: from mail-ej1-x631.google.com ([2a00:1450:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6aa-0002q6-8Y for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:26 -0400 Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-9a645e54806so532333666b.0 for ; Sat, 07 Oct 2023 05:39:23 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682362; x=1697287162; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sPVC6CusdReMTR+Bx+nim29dqNlS7Ej2hd85y0nMUPw=; b=nOxJIX/KVapcRU102tSlluI3G3+7AfZQ2gwoZLEfskUXuhoRUG3XkLNqnIzSxvxjdS 4FRhvi3Pyn9ktLLb8nYE3RIFtLgYGQUF0JoWXwqYYievENmJgXsSlgGIHjaKdRd0eBEv Lv20CunFRGtbSPCFBYCrvU/oCeiLxd6G0su7QghgTphNZiDpaoDOi4vN+2jRPNeAQIqi qLGWKSb3jdWWJUvUOz+ytpjOVfy6vpSOFiRZhWf4akklja0UfIeABZsaZAYFh1Nx+YJk sYambEmVImVETsp29hh/mUhBXNl3vMHUz2GoD0tn3A2iMa6p/BUpGE+jHTbbxkvh2gAl SeUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682362; x=1697287162; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sPVC6CusdReMTR+Bx+nim29dqNlS7Ej2hd85y0nMUPw=; b=O20JGIAsPO8ju1NW7WxFcILkEWu/GKnLEArK+sIfCUINcDge/EUITJkLwXjQ8eNJBv FXwJHSoa5/MzAAv1N3ekSXpdZvTQWsJ/fhcuTzbEZMID9dunSr4P0JT4sx1mpbmqr9iY wA7rrZ8oE+7pb5toDO17/lQsVyqxS6HURUw3SK98eZMniy7zoDmpmCFKbJS1CRwpvT6/ DJd7HfCTQMpXJ7uMIeXv6F8KeQK64fUKBwshdLgbcOWu1mnQakDlbhbr4jgQFAAvIPEG mjv5OJVbAdwUQ6lZBm2gi7h5vrKssZizYDj/We2thHmX33jbfWmMIn343+kEwnEmUWWP mGsQ== X-Gm-Message-State: AOJu0YyeKhIEqGxxutMDUVsAHnL63UhSxBQ9hY0rKGPDj7D8BLYcYU4P jnW8bede8w2DOdR76gY4mV80WzfvIAI= X-Google-Smtp-Source: AGHT+IGJ6duLZ0GK7DxR7/QmPE3yPkcS36ykB9zSUKXLGNWTCUDO7eIjc1RH/CzCQfWXuRbAJqcsfg== X-Received: by 2002:a17:906:8a43:b0:9ad:be8a:a582 with SMTP id gx3-20020a1709068a4300b009adbe8aa582mr8891389ejc.21.1696682362518; Sat, 07 Oct 2023 05:39:22 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 26/29] hw/isa/piix: Reuse PIIX3's PCI interrupt triggering in PIIX4 Date: Sat, 7 Oct 2023 14:38:34 +0200 Message-ID: <20231007123843.127151-27-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::631; envelope-from=shentey@gmail.com; helo=mail-ej1-x631.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682491437100004 Content-Type: text/plain; charset="utf-8" Speeds up PIIX4 which resolves an old TODO. Also makes PIIX4 compatible wit= h Xen which relies on pci_bus_fire_intx_routing_notifier() to be fired. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin --- hw/isa/piix.c | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/hw/isa/piix.c b/hw/isa/piix.c index 449c1baaab..17677c2126 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -81,27 +81,6 @@ static void piix_set_pci_irq(void *opaque, int pirq, int= level) piix_set_pci_irq_level(s, pirq, level); } =20 -static void piix4_set_irq(void *opaque, int irq_num, int level) -{ - int i, pic_irq, pic_level; - PIIXState *s =3D opaque; - PCIBus *bus =3D pci_get_bus(&s->dev); - - /* now we change the pic irq level according to the piix irq mappings = */ - /* XXX: optimize */ - pic_irq =3D s->dev.config[PIIX_PIRQCA + irq_num]; - if (pic_irq < ISA_NUM_IRQS) { - /* The pic level is the logical OR of all the PCI irqs mapped to i= t. */ - pic_level =3D 0; - for (i =3D 0; i < PIIX_NUM_PIRQS; i++) { - if (pic_irq =3D=3D s->dev.config[PIIX_PIRQCA + i]) { - pic_level |=3D pci_bus_get_irq_level(bus, i); - } - } - qemu_set_irq(s->isa_irqs_in[pic_irq], pic_level); - } -} - static void piix_request_i8259_irq(void *opaque, int irq, int level) { PIIXState *s =3D opaque; @@ -223,7 +202,7 @@ static int piix4_post_load(void *opaque, int version_id) s->rcr =3D 0; } =20 - return 0; + return piix_post_load(opaque, version_id); } =20 static int piix3_pre_save(void *opaque) @@ -442,6 +421,7 @@ static void pci_piix_class_init(ObjectClass *klass, voi= d *data) PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); AcpiDevAmlIfClass *adevc =3D ACPI_DEV_AML_IF_CLASS(klass); =20 + k->config_write =3D piix_write_config; dc->reset =3D piix_reset; dc->desc =3D "ISA bridge"; dc->hotpluggable =3D false; @@ -497,7 +477,6 @@ static void piix3_class_init(ObjectClass *klass, void *= data) DeviceClass *dc =3D DEVICE_CLASS(klass); PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); =20 - k->config_write =3D piix_write_config; k->realize =3D piix3_realize; /* 82371SB PIIX3 PCI-to-ISA bridge (Step A1) */ k->device_id =3D PCI_DEVICE_ID_INTEL_82371SB_0; @@ -522,7 +501,7 @@ static void piix4_realize(PCIDevice *dev, Error **errp) return; } =20 - pci_bus_irqs(pci_bus, piix4_set_irq, s, PIIX_NUM_PIRQS); + pci_bus_irqs(pci_bus, piix_set_pci_irq, s, PIIX_NUM_PIRQS); } =20 static void piix4_init(Object *obj) --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682590; cv=none; d=zohomail.com; s=zohoarc; b=MbegPfiTI1PErwkEjqjgUPKmfQgnzBg2lRAaQCJZq2rvFKWdsbmPcVBgFiBvMOcRqPg692iHbZ/fv0wdTqD+OZv6tG/qLvHAEnelPHQ33ivGnWMjP5oKNbqiAbzs8dycj+R+xEKeh/2IMWjRAy/R8hAfuM1LWHoByxVPatbRGU8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682590; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=4OjQQoPINpTboxJ+797J1CZFIdFdJqAWW/PGOUKMDOg=; b=eq3qQdCd2XwQsjcuQgJwDnCgo4oIaePlufIepirId1uI/YhnIemWx8epNawhcRoaFNZ8N0Nnu+uQFaDInC79yOysRkeUrJ2gGOD6+sFsJFzwon4Dj8T7nr3OIzpkHepQPaDkAVWzlS4S9NwsgB3/UqlEev4n2JJKGHZAQCbOvyQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682590694240.0840364425834; Sat, 7 Oct 2023 05:43:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6ar-0003zi-GE; Sat, 07 Oct 2023 08:39:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6ad-00037U-9v for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:27 -0400 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6ab-0002qI-Ly for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:27 -0400 Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-9b98a699f45so512222166b.3 for ; Sat, 07 Oct 2023 05:39:25 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682364; x=1697287164; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4OjQQoPINpTboxJ+797J1CZFIdFdJqAWW/PGOUKMDOg=; b=TkMOaWPTrbry0d1GoVYJHlnA8s5z14OdM3Pif7/Mun7c3AGFRnAk/laeoulfQdgaD1 lZifh12vuvm9YVI9/c4bRvtUNiQHGZ/qDYs4f9Dr+A/71CHkqEkbwIXgmn+sMGNKNqWY pMxWsbcez4MUspFAo4ukPIZrIj4Ox3VCJH3d6MG+Xx1UYJB8bB/fHcvjxuyE1AnVvU4k CdxGe8AKJyeKSieMiwb20+Eb0hKKy89WnAAo1cKXeDJmh+lgLyLL+ZWhkNOiUBABpE9Q Qwq+yPky90RM8TJKODBS5ByqPwZvz+cLGU1UXN01ovjcuN4THswYlLBlqaNxtVXWNEZL ti9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682364; x=1697287164; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4OjQQoPINpTboxJ+797J1CZFIdFdJqAWW/PGOUKMDOg=; b=h4tBt0HNxVAfyooKVxBNf4HGWZvJJp5vtg+Rqr3Wm+qKsX6356+xCrdQmHhMM3/5FT Sk9z83xhi74vXoykdXft72Jul9A8msnO1cN5PO0jY9NPaITjBfTIeSRbSdP6pE25jBB6 NcCxS9a+SPbfkRLQlvUUFdFvyz2kpCV2TDG8RlaNz8me4Up4emLDTL06Q/gVWrjsEIJD h1sKKK1WefV/AqcUyWWm7F5ihiACDU07KkKy+10vWU97OgFh+hKM4Cmq8C5VUCHWNuoa QHbigvrQShUR+kcRzA9GICvJ7D3nEYni+YtzMdjq4pPktg/ak8pfQKRipl0JclfE58n1 bC5A== X-Gm-Message-State: AOJu0YwvvTNOGtiTJc3w9U5rXdGYuwq/980tYpbprc4imofbiDj2kGzu 2zXEkVflcSXvhlF6U9O/gs6rBU/AdiA= X-Google-Smtp-Source: AGHT+IF6gwAObMwuGsvNvJHv/Hlsdgb+fRo1Q2Z6avG3JvDPoipL9FZQy+c4sP0K8l4wqq6sKiUekQ== X-Received: by 2002:a17:907:75da:b0:9ad:a46c:2936 with SMTP id jl26-20020a17090775da00b009ada46c2936mr9590414ejc.8.1696682363948; Sat, 07 Oct 2023 05:39:23 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 27/29] hw/isa/piix: Resolve duplicate code regarding PCI interrupt wiring Date: Sat, 7 Oct 2023 14:38:35 +0200 Message-ID: <20231007123843.127151-28-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62f; envelope-from=shentey@gmail.com; helo=mail-ej1-x62f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682591076100001 Content-Type: text/plain; charset="utf-8" Now that both PIIX3 and PIIX4 use piix_set_irq() to trigger PCI IRQs the wi= ring in the respective realize methods can be shared, too. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin --- hw/isa/piix.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/hw/isa/piix.c b/hw/isa/piix.c index 17677c2126..cba2098ca2 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -372,6 +372,8 @@ static void pci_piix_realize(PCIDevice *dev, const char= *uhci_type, } qdev_connect_gpio_out(DEVICE(&d->pm), 0, d->isa_irqs_in[9]); } + + pci_bus_irqs(pci_bus, piix_set_pci_irq, d, PIIX_NUM_PIRQS); } =20 static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml *scope) @@ -453,7 +455,6 @@ static const TypeInfo piix_pci_type_info =3D { static void piix3_realize(PCIDevice *dev, Error **errp) { ERRP_GUARD(); - PIIXState *piix3 =3D PIIX_PCI_DEVICE(dev); PCIBus *pci_bus =3D pci_get_bus(dev); =20 pci_piix_realize(dev, TYPE_PIIX3_USB_UHCI, errp); @@ -461,7 +462,6 @@ static void piix3_realize(PCIDevice *dev, Error **errp) return; } =20 - pci_bus_irqs(pci_bus, piix_set_pci_irq, piix3, PIIX_NUM_PIRQS); pci_bus_set_route_irq_fn(pci_bus, piix_route_intx_pin_to_irq); } =20 @@ -492,16 +492,7 @@ static const TypeInfo piix3_info =3D { =20 static void piix4_realize(PCIDevice *dev, Error **errp) { - ERRP_GUARD(); - PIIXState *s =3D PIIX_PCI_DEVICE(dev); - PCIBus *pci_bus =3D pci_get_bus(dev); - pci_piix_realize(dev, TYPE_PIIX4_USB_UHCI, errp); - if (*errp) { - return; - } - - pci_bus_irqs(pci_bus, piix_set_pci_irq, s, PIIX_NUM_PIRQS); } =20 static void piix4_init(Object *obj) --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682592; cv=none; d=zohomail.com; s=zohoarc; b=iuxewW0153vNU8/97riHebtvPfMkRGu7BfYJRubHP9u5w1qkF6GfihPVKqk5Wh9VsL/wqXKyT9rO4JFZNmQUyyklRifF7gKqrbfvpbrOTPC2JVnRu/KVQp9hjgrDaOz15HXuZZT3ozh/gExzxVYHIp4lIvXfYD7xSOZFswdhHBM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682592; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=c8O26ECq55NzWTV3HBHbSLLDgPj98cdN3Udq2WWAJwg=; b=cxdzXyYGPe2zAU0+C8yrGpaNfN8lbWmaynw9O1C45+EB6x4ASO2x5+0PpXA1fc3TZCXsNBtDx/CPE1vEbP6Q9hRieQgdbvdKfC+a/2mEoXQYTDKXfE7W+LtiRo9WgptCZgqWWWeSYfy0+FRRMCYQyCjGV+j7vwFsIeb9VtJZX3k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682592699507.77853583594003; Sat, 7 Oct 2023 05:43:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6ao-0003ZY-0h; Sat, 07 Oct 2023 08:39:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6ae-00037Y-1R for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:28 -0400 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6ac-0002qU-JW for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:27 -0400 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-9b27bc8b65eso509321266b.0 for ; Sat, 07 Oct 2023 05:39:26 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682365; x=1697287165; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=c8O26ECq55NzWTV3HBHbSLLDgPj98cdN3Udq2WWAJwg=; b=ANnjPu38U7vnR8XgU+WcTQPHswXklQX7/NqPGf+VgJJSvz1CMKj3rod9nJZr2LE/U3 nC/4qmkXvsMGdW1LZLmZghqwq4jjaMFekEoFGJ2y6AxswtrdqQDRWUZUkg06cYQE5U2w F3SmIFuGTKYb02xp1UNZdQkMXdfJkOYtSaLNf01vQ4eXmTfUAr9twM3hMOAN+zwZtTkD W1ahcgyASqXUw76gAd786Wzdxwm/Za+0ev5QZ4tPMchRrM0YZPrWfncJZrK0o4VuZs2r nQn/yN9nPsx4Gc7hioKdkEO6XHfU/U01qOKdtSLy5puTjGltNeL4SYh8QiAPCUZ1dIqL cwRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682365; x=1697287165; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c8O26ECq55NzWTV3HBHbSLLDgPj98cdN3Udq2WWAJwg=; b=A9e8XMts8TmGyA4QpCOteYuODAvflamwqJtdcHBLhqK/omYlm2CuQHC1+qax22QQd8 qZxj09xrnxxX44ymQSfb2A534jCcTH8GfB2vCopfLPHTnUhyh0Hyx1usB1QCvHA3Jo8q eLfZutUgCrS9Ey5Y8+ww9BgmtYB2lhNKLlNe5k3Bcx6o4gwYDCVv5S7EnIbjrWZdD6Q5 XCpcw2LiP9YdiXlCvjS/X4DBikDmhLzJDiiKFPFT8n9IrudS7YP2l66HM5PdoV/vEm7d zXKMiM9Ohtb8XtvDN+3K8LWbuhsbts3pISrvo80SK4IBQ853+95mSnclcLsgRS8JynKe 8Fww== X-Gm-Message-State: AOJu0YzMoSv6w+3XRcJtxPh/tc6EURM1yLOHs0F31Fu4/lUivKDzLMUp qFQAThy32Gd0z3bf2Z5MTnyC03XHImk= X-Google-Smtp-Source: AGHT+IE1MQT+Q+mYI2az+RvtRMLAh5ix/YTujvtK5UkZHmTQzULnaMbkzuMM7LN9PBwi0NjS7YrBFw== X-Received: by 2002:a17:907:7809:b0:9ae:5be8:ff90 with SMTP id la9-20020a170907780900b009ae5be8ff90mr9515572ejc.68.1696682364870; Sat, 07 Oct 2023 05:39:24 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 28/29] hw/isa/piix: Implement multi-process QEMU support also for PIIX4 Date: Sat, 7 Oct 2023 14:38:36 +0200 Message-ID: <20231007123843.127151-29-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62d; envelope-from=shentey@gmail.com; helo=mail-ej1-x62d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682593222100005 Content-Type: text/plain; charset="utf-8" So far multi-process QEMU was only implemented for PIIX3. Move the support = into the base class to achieve feature parity between both device models. Signed-off-by: Bernhard Beschow --- hw/isa/piix.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/hw/isa/piix.c b/hw/isa/piix.c index cba2098ca2..04ebed5b52 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -374,6 +374,7 @@ static void pci_piix_realize(PCIDevice *dev, const char= *uhci_type, } =20 pci_bus_irqs(pci_bus, piix_set_pci_irq, d, PIIX_NUM_PIRQS); + pci_bus_set_route_irq_fn(pci_bus, piix_route_intx_pin_to_irq); } =20 static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml *scope) @@ -454,15 +455,7 @@ static const TypeInfo piix_pci_type_info =3D { =20 static void piix3_realize(PCIDevice *dev, Error **errp) { - ERRP_GUARD(); - PCIBus *pci_bus =3D pci_get_bus(dev); - pci_piix_realize(dev, TYPE_PIIX3_USB_UHCI, errp); - if (*errp) { - return; - } - - pci_bus_set_route_irq_fn(pci_bus, piix_route_intx_pin_to_irq); } =20 static void piix3_init(Object *obj) --=20 2.42.0 From nobody Wed May 15 03:37:39 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1696682576; cv=none; d=zohomail.com; s=zohoarc; b=Bhu5n1bobVuTs4pQVid3nvrPJK9NPwR9wC3aQcJB7OPp0NrWCv7sVckFo2wkRNw+heUDzR4FuVgXLELRTYborfv548C6ZQmQOnrkLI+6B0vWousm+iaNMdUN6FCMeTvqfNQL5+lOLjQYdJAbE0IkzPP4CoKMfAiPBBspEwT+Z9g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696682576; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=V2equ74X5NLxGNnpVP+KYFOQdPrr3TI8IEtBKPHbhHo=; b=ObT2rJPYN1HighFTriLuqSMSIoKaAIF0/GRi3wH5sD+f0j7DXTup+hKoh9g3mf3ewjIeNjNrmAKvTTf+Uf/4VzodBiIU2pouuXUh8oMQcmU1YnUFLqGBrTVipDwL9Z/ruTCGxT+oxXmIHMUkZqM9JrTUE0nd7Mhf8FYdRipenF0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696682576299623.9042580974998; Sat, 7 Oct 2023 05:42:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qp6ar-00043i-W1; Sat, 07 Oct 2023 08:39:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qp6ah-0003FC-8b for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:33 -0400 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qp6ae-0002r1-NT for qemu-devel@nongnu.org; Sat, 07 Oct 2023 08:39:30 -0400 Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-51e28cac164so8920031a12.1 for ; Sat, 07 Oct 2023 05:39:27 -0700 (PDT) Received: from archlinux.. (pd95eda61.dip0.t-ipconnect.de. [217.94.218.97]) by smtp.gmail.com with ESMTPSA id e27-20020a170906045b00b009b655c43710sm4241401eja.24.2023.10.07.05.39.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Oct 2023 05:39:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696682366; x=1697287166; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=V2equ74X5NLxGNnpVP+KYFOQdPrr3TI8IEtBKPHbhHo=; b=cmrAgtQBQNaaREFcsj/y87hdAWiJQRR7A66l9sCEWjbXReWuvpRqaV9+AwseqmF+f6 XWJ8fIuQZrkZvecjr1px4zl89lEJ++sOOxfGJG9o4MWrNCsaaMjeYyvfssyWoJFO+htR 1pUlgS/g8fPBApB/b2rgbwgEnAt/+6urqg14n1zkBtmAohB0MH+k8vrlMtCgoFN8XzZz HFHlmd7b4Q8KVtgy+jrQnzMNjptEx/oR7+46G8uHVeYQEbfvcBuk8TIwshcSaXaU528Y kN7USrfNyfyr5YCHDthOnYggIkwgdPebktQSagPvxTUwGnH/HBtWKUkjqSr38emrptGk UWiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696682366; x=1697287166; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=V2equ74X5NLxGNnpVP+KYFOQdPrr3TI8IEtBKPHbhHo=; b=uUh4hxTCmIyxxvht+TK7F8ZZEFABeyJTxGfabRDXfE2ueuvdDRKD/ygTUN+Z69gZrE gEOWkRtFbBUxoAnOcVNhdmyfGfsvkfhTYGO/ff7W97UBW6Y1ZncPskEQm8b5d3TQawNl qXM668VzMSVIuM3Rh6gjiUcF0Llun6j2ZWgiIWIVADG52YWu5DndQcVugYJ9xyq1NClJ RjGEuRU3kpeNNTUjhccFM7+ykopq+TeHZwIqgHDGv/qeD4oRJeGGgnp9H5rOljVTmxbU W+tJQzwL0WUeFAGCa3JOidp79LwUSTQ4frneBqcxbiN0LCxfXryYVxZ+9aArVwLwhvEO zk5A== X-Gm-Message-State: AOJu0YzqNzl6ZQM/8hv4qqE+B5CYIWy1Zw9byAG0Mdu+GX9d2FG9TpRZ ZlQdrUnGe9g4CckMfn9HgAd7nbSSX8o= X-Google-Smtp-Source: AGHT+IGzxOyRrKWh17rk65rrgsiHv8UJRXQ9uhXVPoraQnBGLUHjeUk54oydbUigK3ot4noP0LecJQ== X-Received: by 2002:a17:907:868f:b0:9ad:e62c:4517 with SMTP id qa15-20020a170907868f00b009ade62c4517mr6738065ejc.34.1696682366439; Sat, 07 Oct 2023 05:39:26 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Chuck Zmudzinski , Marcel Apfelbaum , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Eduardo Habkost , Aurelien Jarno , "Michael S. Tsirkin" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Bernhard Beschow Subject: [PATCH v8 29/29] hw/i386/pc_piix: Make PIIX4 south bridge usable in PC machine Date: Sat, 7 Oct 2023 14:38:37 +0200 Message-ID: <20231007123843.127151-30-shentey@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231007123843.127151-1-shentey@gmail.com> References: <20231007123843.127151-1-shentey@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::52b; envelope-from=shentey@gmail.com; helo=mail-ed1-x52b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1696682576913100001 Content-Type: text/plain; charset="utf-8" QEMU's PIIX3 implementation actually models the real PIIX4, but with differ= ent PCI IDs. Usually, guests deal just fine with it. Still, in order to provide= a more consistent illusion to guests, allow QEMU's PIIX4 implementation to be= used in the PC machine. Signed-off-by: Bernhard Beschow --- docs/system/target-i386-desc.rst.inc | 8 ++++ include/hw/i386/pc.h | 2 + hw/i386/pc.c | 1 + hw/i386/pc_piix.c | 61 +++++++++++++++++++++++++++- 4 files changed, 71 insertions(+), 1 deletion(-) diff --git a/docs/system/target-i386-desc.rst.inc b/docs/system/target-i386= -desc.rst.inc index 7d1fffacbe..5ebbcda9db 100644 --- a/docs/system/target-i386-desc.rst.inc +++ b/docs/system/target-i386-desc.rst.inc @@ -71,3 +71,11 @@ machine property, i.e. |qemu_system_x86| some.img \ -audiodev ,id=3D \ -machine pcspk-audiodev=3D + +Machine-specific options +~~~~~~~~~~~~~~~~~~~~~~~~ + +It supports the following machine-specific options: + +- ``x-south-bridge=3DPIIX3|piix4-isa`` (Experimental option to select a pa= rticular + south bridge. Default: ``PIIX3``) diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index bec38cb92c..29a9724524 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -42,6 +42,7 @@ typedef struct PCMachineState { uint64_t max_ram_below_4g; OnOffAuto vmport; SmbiosEntryPointType smbios_entry_point_type; + const char *south_bridge; =20 bool acpi_build_enabled; bool smbus_enabled; @@ -92,6 +93,7 @@ struct PCMachineClass { /* Device configuration: */ bool pci_enabled; bool kvmclock_enabled; + const char *default_south_bridge; =20 /* Compat options: */ =20 diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 4e844d02f2..c84d1bdf08 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1707,6 +1707,7 @@ static void pc_machine_initfn(Object *obj) #endif /* CONFIG_VMPORT */ pcms->max_ram_below_4g =3D 0; /* use default */ pcms->smbios_entry_point_type =3D pcmc->default_smbios_ep_type; + pcms->south_bridge =3D pcmc->default_south_bridge; =20 /* acpi build is enabled by default if machine supports it */ pcms->acpi_build_enabled =3D pcmc->has_acpi_build; diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index e38942a3c3..334d9a0299 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -262,7 +262,7 @@ static void pc_init1(MachineState *machine, DeviceState *dev; size_t i; =20 - pci_dev =3D pci_new_multifunction(-1, TYPE_PIIX3_DEVICE); + pci_dev =3D pci_new_multifunction(-1, pcms->south_bridge); object_property_set_bool(OBJECT(pci_dev), "has-usb", machine_usb(machine), &error_abort); object_property_set_bool(OBJECT(pci_dev), "has-acpi", @@ -394,6 +394,56 @@ static void pc_init1(MachineState *machine, } } =20 +typedef enum PCSouthBridgeOption { + PC_SOUTH_BRIDGE_OPTION_PIIX3, + PC_SOUTH_BRIDGE_OPTION_PIIX4, + PC_SOUTH_BRIDGE_OPTION_MAX, +} PCSouthBridgeOption; + +static const QEnumLookup PCSouthBridgeOption_lookup =3D { + .array =3D (const char *const[]) { + [PC_SOUTH_BRIDGE_OPTION_PIIX3] =3D TYPE_PIIX3_DEVICE, + [PC_SOUTH_BRIDGE_OPTION_PIIX4] =3D TYPE_PIIX4_PCI_DEVICE, + }, + .size =3D PC_SOUTH_BRIDGE_OPTION_MAX +}; + +#define NotifyVmexitOption_str(val) \ + qapi_enum_lookup(&NotifyVmexitOption_lookup, (val)) + +static int pc_get_south_bridge(Object *obj, Error **errp) +{ + PCMachineState *pcms =3D PC_MACHINE(obj); + int i; + + for (i =3D 0; i < PCSouthBridgeOption_lookup.size; i++) { + if (g_strcmp0(PCSouthBridgeOption_lookup.array[i], + pcms->south_bridge) =3D=3D 0) { + return i; + } + } + + error_setg(errp, "Invalid south bridge value set"); + return 0; +} + +static void pc_set_south_bridge(Object *obj, int value, Error **errp) +{ + PCMachineState *pcms =3D PC_MACHINE(obj); + + if (value < 0) { + error_setg(errp, "Value can't be negative"); + return; + } + + if (value >=3D PCSouthBridgeOption_lookup.size) { + error_setg(errp, "Value too big"); + return; + } + + pcms->south_bridge =3D PCSouthBridgeOption_lookup.array[value]; +} + /* Looking for a pc_compat_2_4() function? It doesn't exist. * pc_compat_*() functions that run on machine-init time and * change global QEMU state are deprecated. Please don't create @@ -473,6 +523,8 @@ static void pc_xen_hvm_init(MachineState *machine) static void pc_i440fx_machine_options(MachineClass *m) { PCMachineClass *pcmc =3D PC_MACHINE_CLASS(m); + ObjectClass *oc =3D OBJECT_CLASS(m); + pcmc->default_south_bridge =3D TYPE_PIIX3_DEVICE; pcmc->pci_root_uid =3D 0; pcmc->default_cpu_version =3D 1; =20 @@ -484,6 +536,13 @@ static void pc_i440fx_machine_options(MachineClass *m) m->no_parallel =3D !module_object_class_by_name(TYPE_ISA_PARALLEL); machine_class_allow_dynamic_sysbus_dev(m, TYPE_RAMFB_DEVICE); machine_class_allow_dynamic_sysbus_dev(m, TYPE_VMBUS_BRIDGE); + + object_class_property_add_enum(oc, "x-south-bridge", "PCSouthBridgeOpt= ion", + &PCSouthBridgeOption_lookup, + pc_get_south_bridge, + pc_set_south_bridge); + object_class_property_set_description(oc, "x-south-bridge", + "Use a different south bridge than PI= IX3"); } =20 static void pc_i440fx_8_2_machine_options(MachineClass *m) --=20 2.42.0