From nobody Fri May 3 15:14:25 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=1677792214; cv=none; d=zohomail.com; s=zohoarc; b=ljUQKTlKZJ5BOr+JsWpGahXdwBpMu/yDYwEfvBV5duJMDd1U2LK8Z3xi3+2Pp8G/5SMAnqGreEEK1sNfW2Fx3DmwrKU/YvwKv/NE/dZ8a9F2Y7Q6YAgoLPEs4yNyBTKvkE9oJNl0I+MRsfRJB6CGkmrWcwoRMQC7ukZL/3JTRdo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792214; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=22gPgYLXm/nHEWYuVbOiWHlxpWR343yKRGzouNDplfY=; b=E0fYr1R6L6ym670DfTnXq09DdkrpOAMn0LgLIzPbixTeatbvGKpEivHz/UlkbUuj3ozXV9PvgiGUMLyq9G+adP12e/UiqgAG+2l+hDyjCpSuFtWJfxdRBFuK4QN3ItQ2Qhni7RCpCUsXr2/j5gCN5IQqJRfcPvyTkHelcM9izWo= 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 1677792214857147.35852172533225; Thu, 2 Mar 2023 13:23:34 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNU-0000he-MV; Thu, 02 Mar 2023 16:22:16 -0500 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 1pXqNT-0000hD-Dr for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:15 -0500 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 1pXqNR-0002Op-5d for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:15 -0500 Received: by mail-ed1-x531.google.com with SMTP id i34so2448039eda.7 for ; Thu, 02 Mar 2023 13:22:12 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792131; 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=22gPgYLXm/nHEWYuVbOiWHlxpWR343yKRGzouNDplfY=; b=loQtt43bM4g+HJELz3j4iDZsqfscIpLBdjgG3d+0PsyptvPlEUv0UydiRL9YsmzfLB C6XkSO5Pgx93E4DF9/f0bYvpCIB1CJ9Fd9ESrd2OM7c+/iEgTt8mynMyFUqYYbR6ef++ U2fXTr6X3bjhcoObYj3GAqGCF/JPjJbSQd/GwW1i6n/UzT8Dj216MebcsquOLo13DBDe jU5bFWSNE/LxYAxYIEiWmaO2A1tnXmRMybHRBuXyNSc/EU+7YDiSYVBIXZPmbMe5Jfsd J2H880Nljw5H7SahtlkZib9APqafHdunS4Zgz2Q0gHwQgI3Q4j6LgIrQzv0IX+/VUTTs b6BA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792131; 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=22gPgYLXm/nHEWYuVbOiWHlxpWR343yKRGzouNDplfY=; b=bmsT5Wga9+wljFurS/IL5kRaAGSLAwjYrjCC/hdZ7fB3Ej+WP5oSf8a/N0H/lvYc+q Tu7AqsC7GnpCz52mKW7N5LPU2o//g3Y9/yaRf1ezot0DubcqC3UYAwxMHmXjQEsgu7hh wd9v65ogjxigkoZQbZTcY70YuhV1afLBU/X403c9LTWFxaCqXA4kOiiS6TXRW3YsYMA0 FbcPpC7AiUz3vlPBQ13kcJFUYoAAQ1LgvM0XGU0P26lEwKAZSoKcN+kWy6oMXdgF4fSy HzWDeKeaFtX4XYVI8nRVyr0df6VL9j+KMCBrY+iKhBZO0hB9QbfG9cNx+jDVA69IUpMs Ra9Q== X-Gm-Message-State: AO0yUKXQ4neFB2HDk7XRNRUHp7fiatPpFX5LlHc0Y0REFk2GFI+b6Qq5 LBHYOitmdH/Zs60IpMqSNTvYTBb/K5s= X-Google-Smtp-Source: AK7set/MGbiWHYE3Wl2MHMlnaElRKMNLX10lpWnRBYJJBwBs7sD8jxcJLQ0OUcp3zMWkazZJYX4Jyg== X-Received: by 2002:a17:907:377:b0:8d9:383a:be39 with SMTP id rs23-20020a170907037700b008d9383abe39mr12096048ejb.41.1677792131288; Thu, 02 Mar 2023 13:22:11 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow , Thomas Huth Subject: [PATCH v8 01/23] hw/i386/pc: Create RTC controllers in south bridges Date: Thu, 2 Mar 2023 22:21:39 +0100 Message-Id: <20230302212201.224360-2-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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: 1677792216094100003 Content-Type: text/plain; charset="utf-8" Just like in the real hardware (and in PIIX4), create the RTC controllers in the south bridges. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin Reviewed-by: Thomas Huth Message-Id: <20221022150508.26830-11-shentey@gmail.com> --- include/hw/southbridge/ich9.h | 2 ++ include/hw/southbridge/piix.h | 4 ++++ hw/i386/pc.c | 12 +++++++++++- hw/i386/pc_piix.c | 8 ++++++++ hw/i386/pc_q35.c | 2 ++ hw/isa/lpc_ich9.c | 8 ++++++++ hw/isa/piix3.c | 15 +++++++++++++++ hw/isa/Kconfig | 2 ++ 8 files changed, 52 insertions(+), 1 deletion(-) diff --git a/include/hw/southbridge/ich9.h b/include/hw/southbridge/ich9.h index 7004eecbf9..fd01649d04 100644 --- a/include/hw/southbridge/ich9.h +++ b/include/hw/southbridge/ich9.h @@ -6,6 +6,7 @@ #include "hw/intc/ioapic.h" #include "hw/pci/pci.h" #include "hw/pci/pci_device.h" +#include "hw/rtc/mc146818rtc.h" #include "exec/memory.h" #include "qemu/notify.h" #include "qom/object.h" @@ -30,6 +31,7 @@ struct ICH9LPCState { */ uint8_t irr[PCI_SLOT_MAX][PCI_NUM_PINS]; =20 + MC146818RtcState rtc; APMState apm; ICH9LPCPMRegs pm; uint32_t sci_level; /* track sci level */ diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index 0bf48e936d..9333221ced 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -13,6 +13,8 @@ #define HW_SOUTHBRIDGE_PIIX_H =20 #include "hw/pci/pci_device.h" +#include "qom/object.h" +#include "hw/rtc/mc146818rtc.h" =20 /* PIRQRC[A:D]: PIRQx Route Control Registers */ #define PIIX_PIRQCA 0x60 @@ -51,6 +53,8 @@ struct PIIXState { /* This member isn't used. Just for save/load compatibility */ int32_t pci_irq_levels_vmstate[PIIX_NUM_PIRQS]; =20 + MC146818RtcState rtc; + /* Reset Control Register contents */ uint8_t rcr; =20 diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 992951c107..8fed01ce5d 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1306,7 +1306,17 @@ void pc_basic_device_init(struct PCMachineState *pcm= s, 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); } - *rtc_state =3D ISA_DEVICE(mc146818_rtc_init(isa_bus, 2000, rtc_irq)); + + 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), + "irq", + &error_fatal); + isa_connect_gpio_out(*rtc_state, 0, irq); + } + object_property_add_alias(OBJECT(pcms), "rtc-time", OBJECT(*rtc_state), + "date"); =20 qemu_register_boot_set(pc_boot_set, *rtc_state); =20 diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 126b6c11df..93d2be469e 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -32,6 +32,7 @@ #include "hw/i386/pc.h" #include "hw/i386/apic.h" #include "hw/pci-host/i440fx.h" +#include "hw/rtc/mc146818rtc.h" #include "hw/southbridge/piix.h" #include "hw/display/ramfb.h" #include "hw/firmware/smbios.h" @@ -240,10 +241,17 @@ static void pc_init1(MachineState *machine, 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), + "rtc")); } else { pci_bus =3D NULL; isa_bus =3D isa_bus_new(NULL, get_system_memory(), system_io, &error_abort); + + rtc_state =3D isa_new(TYPE_MC146818_RTC); + qdev_prop_set_int32(DEVICE(rtc_state), "base_year", 2000); + isa_realize_and_unref(rtc_state, isa_bus, &error_fatal); + i8257_dma_init(isa_bus, 0); pcms->hpet_enabled =3D false; } diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 09004f3f1f..5ccfad84f6 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -242,6 +242,8 @@ static void pc_q35_init(MachineState *machine) x86_machine_is_smm_enabled(x86ms)); pci_realize_and_unref(lpc, host_bus, &error_fatal); =20 + rtc_state =3D ISA_DEVICE(object_resolve_path_component(OBJECT(lpc), "r= tc")); + object_property_add_link(OBJECT(machine), PC_MACHINE_ACPI_DEVICE_PROP, TYPE_HOTPLUG_HANDLER, (Object **)&x86ms->acpi_dev, diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index d8303d0322..02d1918fc1 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -658,6 +658,8 @@ static void ich9_lpc_initfn(Object *obj) static const uint8_t acpi_enable_cmd =3D ICH9_APM_ACPI_ENABLE; static const uint8_t acpi_disable_cmd =3D ICH9_APM_ACPI_DISABLE; =20 + object_initialize_child(obj, "rtc", &lpc->rtc, TYPE_MC146818_RTC); + 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, @@ -723,6 +725,12 @@ static void ich9_lpc_realize(PCIDevice *d, Error **err= p) =20 i8257_dma_init(isa_bus, 0); =20 + /* RTC */ + qdev_prop_set_int32(DEVICE(&lpc->rtc), "base_year", 2000); + if (!qdev_realize(DEVICE(&lpc->rtc), BUS(isa_bus), errp)) { + return; + } + pci_bus_irqs(pci_bus, ich9_lpc_set_irq, d, ICH9_LPC_NB_PIRQS); pci_bus_map_irqs(pci_bus, ich9_lpc_map_irq); pci_bus_set_route_irq_fn(pci_bus, ich9_route_intx_pin_to_irq); diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index a9cb39bf21..f9103ea45a 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -28,6 +28,7 @@ #include "hw/dma/i8257.h" #include "hw/southbridge/piix.h" #include "hw/irq.h" +#include "hw/qdev-properties.h" #include "hw/isa/isa.h" #include "hw/xen/xen.h" #include "sysemu/runstate.h" @@ -301,6 +302,12 @@ static void pci_piix3_realize(PCIDevice *dev, Error **= errp) PIIX_RCR_IOPORT, &d->rcr_mem, 1); =20 i8257_dma_init(isa_bus, 0); + + /* RTC */ + qdev_prop_set_int32(DEVICE(&d->rtc), "base_year", 2000); + if (!qdev_realize(DEVICE(&d->rtc), BUS(isa_bus), errp)) { + return; + } } =20 static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml *scope) @@ -324,6 +331,13 @@ static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml = *scope) qbus_build_aml(bus, scope); } =20 +static void pci_piix3_init(Object *obj) +{ + PIIX3State *d =3D PIIX3_PCI_DEVICE(obj); + + object_initialize_child(obj, "rtc", &d->rtc, TYPE_MC146818_RTC); +} + static void pci_piix3_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); @@ -350,6 +364,7 @@ static const TypeInfo piix3_pci_type_info =3D { .name =3D TYPE_PIIX3_PCI_DEVICE, .parent =3D TYPE_PCI_DEVICE, .instance_size =3D sizeof(PIIX3State), + .instance_init =3D pci_piix3_init, .abstract =3D true, .class_init =3D pci_piix3_class_init, .interfaces =3D (InterfaceInfo[]) { diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig index 0156a66889..c10cbc5fc1 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -35,6 +35,7 @@ config PIIX3 bool select I8257 select ISA_BUS + select MC146818RTC =20 config PIIX4 bool @@ -79,3 +80,4 @@ config LPC_ICH9 select I8257 select ISA_BUS select ACPI_ICH9 + select MC146818RTC --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792214; cv=none; d=zohomail.com; s=zohoarc; b=MQ9yM2fyzokFArkX69MDqKt6ZZJwSbBGLUzj2MrS4b441C2ejut3+2yI0jkyAyp2H0mnv+pz7JNjRbSYxOAoouJQZ9AoSr/zpRWPMeFigIZaG7OWQXfU8iE0tPusq37+f+VOzIjj4xGV7xGgyfj/9xYVaHYhXELicaMoFb9QCCY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792214; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5gjH43qb7avbFX6b03B2Ne+efa+RigTC/CP5x/Y5O8Q=; b=ULZvZIfonl+HNhvJwo4+KvgnxgM5H2qBjTTv69XB2iqYAWT8T0bVet8FEu6K0nDYV/u+qIvQn6cNBgxLPJXQ73t5O5+16TkMkuzU6kjHs+1sV4h8MwCIZHdeQtqmLfLdTqoquVB/JfmgvXben5Jeawdkz4xJ87TKc8ngzZohSR8= 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 1677792214344367.148228066329; Thu, 2 Mar 2023 13:23:34 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNU-0000hj-QV; Thu, 02 Mar 2023 16:22:16 -0500 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 1pXqNT-0000hE-Fc for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:15 -0500 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 1pXqNR-0002Ot-RZ for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:15 -0500 Received: by mail-ed1-x534.google.com with SMTP id a25so2721345edb.0 for ; Thu, 02 Mar 2023 13:22:13 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792132; 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=5gjH43qb7avbFX6b03B2Ne+efa+RigTC/CP5x/Y5O8Q=; b=ggvVTsh8XImDvxn/+28Sj31PzsyrxfhRFHGh6rRfdDoOwrc8dFVO6V00tKjrTPik6i CorAiGAAYnnZ87yvNiyA0J82dEhPMz/Xwi90RVPjoZWmuOZX9rcO8/HuBUId+9r6BYII i+4CHbCGco/6LvYSNPszGEJI4fcUIu7w+rolTrozYzfgkWsQadmcMZ5XUdIyQeQJ67i1 XA57uGxjNTa1fQPl1sHnmhchcR12rrjNns8L/yjwuSrvlBn/V0wh00eXf5IA1MqwuBnY ePaGLQ0GpkpdahMhmLOedNyCxDdzqCUPJ6r+YcvyGCTRscFCVWK8264D3mAsr0JHDYuZ 40Vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792132; 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=5gjH43qb7avbFX6b03B2Ne+efa+RigTC/CP5x/Y5O8Q=; b=1g1tz3kRAAV2xpb8qnjk7+fMWdo41EeBBlr0KPTcysp+/U34CnHJRaeHthsTQpxNEq Nnl3GiH5D2Ip3nvmCW7Wi26NUEZBamcionAm6AI3oZevVal+n1K7CWy2H8Tdm9Oa1Pkk 7GxBsrPgAwzowTOf4xUGrltmKjdZjj6qrtgRwx+W/EytaHa3SoRo24AGc8eosusCHWuQ c6uwjfsXDOS8vZJBRA17eSJGyHThRVOSOZ6oNYKNeNfjhiKr1F7HrsMAMzxNjuhzjAkn /g/SVThr071XI2lvePmkTF9M8C0rd/Cjk1zKMlXLxW2/2vEWzM0YfIEoUWpz6P+hgG94 YwbQ== X-Gm-Message-State: AO0yUKUgQenmRhspcl8ny3cqj8CIhF6V1NllC/33jrJzhxASgBgJPJDV +q4CsJa/MCzAFk/ICPp68exsX4ea470= X-Google-Smtp-Source: AK7set9cQKHj8hiizkKBszIZgUPvdRFKc1AFTvBHf3zYEMEwKMuZNcpOG9/m/vkWYffE2a9MVBcjOg== X-Received: by 2002:a17:906:f751:b0:887:8f6:c1d7 with SMTP id jp17-20020a170906f75100b0088708f6c1d7mr13249410ejb.38.1677792132319; Thu, 02 Mar 2023 13:22:12 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow , Peter Maydell , Thomas Huth Subject: [PATCH v8 02/23] hw/i386/pc: No need for rtc_state to be an out-parameter Date: Thu, 2 Mar 2023 22:21:40 +0100 Message-Id: <20230302212201.224360-3-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::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: 1677792216085100002 Now that the RTC is created as part of the southbridges it doesn't need to be an out-parameter any longer. Signed-off-by: Bernhard Beschow Reviewed-by: Peter Maydell Reviewed-by: Michael S. Tsirkin Reviewed-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20221022150508.26830-12-shentey@gmail.com> --- include/hw/i386/pc.h | 2 +- hw/i386/pc.c | 12 ++++++------ hw/i386/pc_piix.c | 2 +- hw/i386/pc_q35.c | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 66e3d059ef..5ba814aca6 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -168,7 +168,7 @@ uint64_t pc_pci_hole64_start(void); DeviceState *pc_vga_init(ISABus *isa_bus, PCIBus *pci_bus); void pc_basic_device_init(struct PCMachineState *pcms, ISABus *isa_bus, qemu_irq *gsi, - ISADevice **rtc_state, + ISADevice *rtc_state, bool create_fdctrl, uint32_t hpet_irqs); void pc_cmos_init(PCMachineState *pcms, diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 8fed01ce5d..209a9c138f 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1253,7 +1253,7 @@ static void pc_superio_init(ISABus *isa_bus, bool cre= ate_fdctrl, =20 void pc_basic_device_init(struct PCMachineState *pcms, ISABus *isa_bus, qemu_irq *gsi, - ISADevice **rtc_state, + ISADevice *rtc_state, bool create_fdctrl, uint32_t hpet_irqs) { @@ -1308,17 +1308,17 @@ void pc_basic_device_init(struct PCMachineState *pc= ms, } =20 if (rtc_irq) { - qdev_connect_gpio_out(DEVICE(*rtc_state), 0, rtc_irq); + qdev_connect_gpio_out(DEVICE(rtc_state), 0, rtc_irq); } else { - uint32_t irq =3D object_property_get_uint(OBJECT(*rtc_state), + uint32_t irq =3D object_property_get_uint(OBJECT(rtc_state), "irq", &error_fatal); - isa_connect_gpio_out(*rtc_state, 0, irq); + isa_connect_gpio_out(rtc_state, 0, irq); } - object_property_add_alias(OBJECT(pcms), "rtc-time", OBJECT(*rtc_state), + object_property_add_alias(OBJECT(pcms), "rtc-time", OBJECT(rtc_state), "date"); =20 - qemu_register_boot_set(pc_boot_set, *rtc_state); + qemu_register_boot_set(pc_boot_set, rtc_state); =20 if (!xen_enabled() && (x86ms->pit =3D=3D ON_OFF_AUTO_AUTO || x86ms->pit =3D=3D ON_OFF_AU= TO_ON)) { diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 93d2be469e..2b5884d3d2 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -277,7 +277,7 @@ static void pc_init1(MachineState *machine, } =20 /* init basic PC hardware */ - pc_basic_device_init(pcms, isa_bus, x86ms->gsi, &rtc_state, true, + pc_basic_device_init(pcms, isa_bus, x86ms->gsi, rtc_state, true, 0x4); =20 pc_nic_init(pcmc, isa_bus, pci_bus); diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 5ccfad84f6..ae49146d46 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -293,7 +293,7 @@ static void pc_q35_init(MachineState *machine) } =20 /* init basic PC hardware */ - pc_basic_device_init(pcms, isa_bus, x86ms->gsi, &rtc_state, !mc->no_fl= oppy, + pc_basic_device_init(pcms, isa_bus, x86ms->gsi, rtc_state, !mc->no_flo= ppy, 0xff0104); =20 if (pcms->sata_enabled) { --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792397; cv=none; d=zohomail.com; s=zohoarc; b=SjGcpvZ2iXfIkcy+oqR3XY6fvAjGwF4guo4roPeyNPnAvknB5KNDsOFlSc+9UfTFC4/c0a1iDYsxKcI1BBdG9buLSVQxlYso/Ghd7OoP9MOWh3agZ6FvF9FKysSzHR1zkw/7QY+WON5fJUEIyvq7WZOQ3PK6JlI9vxiyMhcMqxs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792397; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3ZKE4IeiKPhxE8KiHJptAv9lG6Ju17uZqyfpslDw1kA=; b=OVLiO+xMlfkvWPrcnYO/fVJClweUt9uDgW8+iDtlO+HdSiYLTUj9K5499o3APNf1vFqZWhjmDReD7jNnawR6rsQjspZUzZW3UlNOJS/lwLUZ5ZTUWdeJL3fAf8t0uK/Figz0371RAE4Sn3T0mEJXZ7LM8I2f4qQB27/FZw651iQ= 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 1677792397200744.319851350356; Thu, 2 Mar 2023 13:26:37 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNW-0000iZ-F9; Thu, 02 Mar 2023 16:22:18 -0500 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 1pXqNU-0000hV-87 for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:16 -0500 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 1pXqNS-0002P1-RY for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:16 -0500 Received: by mail-ed1-x531.google.com with SMTP id o15so2317842edr.13 for ; Thu, 02 Mar 2023 13:22:14 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792133; 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=3ZKE4IeiKPhxE8KiHJptAv9lG6Ju17uZqyfpslDw1kA=; b=RDIVeclIV83csgj4LlbKso4CZvkh9CSr+WDxvHJm0TxbXQaJI2L9IzRUYagfrXLKZv XcMlu4RK+HNPcHQUfPEFNI+qEV4gKCX8Ng6JOe8og2B4ALeuqLkzIqopFSuHCdNK8Cxa 1MR200LDo2euKRG69J61KFFPV8j1b3LUA9cQgGX6gNt5fpwhL1Ud+wLwa4hpGBvEZT8Q 85dFY9VYGnNNhYIFhrOfa1to7FKTl7N1FaRFV177ZIJ449HNIKQW+9GfjlAWoDy5S969 xhD50moZSDVj2Nt6yqgO0NiR5/I9XBUl3IpAYSADtH3qxFhFnuP91eKjLHM2GQ1LPT/3 DxTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792133; 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=3ZKE4IeiKPhxE8KiHJptAv9lG6Ju17uZqyfpslDw1kA=; b=nvTsHmAjekWDW9gcV6OywUfjuvztRRntqzQivfrAvZd+8SzbX2A8nav+8LQsb8xTs9 OBhjFTAmkvlrghXDeqruN/kiVN8aLqOqSAgIPXMN+SDcj4C/Qypca7SGY2nICe5sYnP5 Xh5lg9QxDsoxBKozNbSYRrWuOsYbPBQ7Jda/g0LMfAz/JQzJPXJKVCx5whPizzi1yGv+ PWA8qvUgtoEkmwzPYAQ7E5bErDrlyFqqFi42+sCw0HO9ZbmX5Cx6/n/sacbivbM1yH+R 7+Qd+YJgZEIPEzNp47c4i0PeVnz95e3980EWBmUZgC2WAyie6ZRThse/+4woRyhvhS/n kxkg== X-Gm-Message-State: AO0yUKVB5F8zyHFzCMAxLKFbsmXIX8MZWUJFnSPJ8JyQGLL1tXpj/q/X XdFKsNjOYp1P/YSSZa1TJpaiZzTkINc= X-Google-Smtp-Source: AK7set9WWORdeahkYIlyERQoVsDAOSOmwh2uuCK2F71GPN0C56l+nSjI20rb23fMCyFBOU5NDiFh4w== X-Received: by 2002:a17:907:628c:b0:8b1:4051:6d2c with SMTP id nd12-20020a170907628c00b008b140516d2cmr14618071ejc.19.1677792133267; Thu, 02 Mar 2023 13:22:13 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow , Peter Maydell Subject: [PATCH v8 03/23] hw/i386/pc_piix: Allow for setting properties before realizing PIIX3 south bridge Date: Thu, 2 Mar 2023 22:21:41 +0100 Message-Id: <20230302212201.224360-4-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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: 1677792398668100001 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 Message-Id: <20221022150508.26830-3-shentey@gmail.com> --- 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 2b5884d3d2..b9d475a226 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -236,7 +236,8 @@ static void pc_init1(MachineState *machine, : pc_pci_slot_get_pirq); pcms->bus =3D pci_bus; =20 - pci_dev =3D pci_create_simple_multifunction(pci_bus, -1, true, typ= e); + pci_dev =3D pci_new_multifunction(-1, true, type); + pci_realize_and_unref(pci_dev, pci_bus, &error_fatal); piix3 =3D PIIX3_PCI_DEVICE(pci_dev); piix3->pic =3D x86ms->gsi; piix3_devfn =3D piix3->dev.devfn; --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792318; cv=none; d=zohomail.com; s=zohoarc; b=lzjenewI6NRUceC4y0TBBCdheyFx95KrcgiVVfQsBw4Dc2GToTW6WFxtueILkH8fKTrax91LqlhDsNN6KEHglTIhHpfiPH+AVj65BhZJDVN4+I5NP9t3L+7PBeKOFHV+f3cjh8vnUeXmKdYBKQqhUx2b0FgmYe8lr3apaulfIBE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792318; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=y41UvMnIatwWqFteR/xANmtD3xyJlgOqGq4xgeg4yro=; b=SlUT6ktEpfgFFhvsHuIVV8D1FwvKmppzzT1nthaea6SI2Jg5wWoHzlfOgiYsE8H6IXWQFrvk9bNAdE4HFNMP0Id9MZ4OMFjzSjhs4pz8lcfbnWPjutTLshqyp5Exmn5JHBDcdNYyvObtJMYN034R2DCEo34s+DRW9ToomNAJlJo= 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 1677792318714165.8154082802224; Thu, 2 Mar 2023 13:25:18 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNX-0000ib-1T; Thu, 02 Mar 2023 16:22:19 -0500 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 1pXqNV-0000iB-QK for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:17 -0500 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pXqNU-0002PR-29 for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:17 -0500 Received: by mail-ed1-x530.google.com with SMTP id cy23so2334292edb.12 for ; Thu, 02 Mar 2023 13:22:15 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792134; 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=y41UvMnIatwWqFteR/xANmtD3xyJlgOqGq4xgeg4yro=; b=ENmwvi1iGUiAaoa2QwqxpnA2rY7v7lVINFR72jfWB1HJQnu4OI3qOICbQeg/rW7vgW nsm9Hfxay+Yx8urLD64xvRrvhvkBjBl4j88ymGCc1EGpRMTV9tOPWC+tqoXDKIEJy1bI k1ShISUNFF1SaP+gFxDmAl7SQ4ELMoBFK7lW2B0EPrCG50/3BVv0KuNEnP/NxIscIJAF ZdAhzQ2LCs82C24aY6HeAoMEh8b+PVw7oyJfEHfDXSv/wmgE6xM1EM2Qx6r0htNDmuO/ Yd60I9KAlzmOqgSb5TIt2wBrUNT0uccIlfra18g/Nbn98NaOnX4tsVbDGkdVECNJKvvs MISA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792134; 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=y41UvMnIatwWqFteR/xANmtD3xyJlgOqGq4xgeg4yro=; b=tdRnCCwkPhYHbux/4UfFOEU/uv1Kvsxr4DkYOTqoFcDLLbTwIxZ5jSvQTDCgdgesDg p4GJEoiYseKWXcV/aYodz5EMlP1Hz2Rif3M4dEK/xIxdknl04RzIVmfwSQGa84vWt8HO DhZanJNGjnIj3wG33gWoNHSKz9BIXqDV1nQWOAF3w6OGcROF59244Jyk14bLZsWgSNhl Tkii1LGNVE1mhrEU4pv3/UeFRn+e10/97vc/PzzXFuEmT+ZEbPXZUg7+UzWP5x9xiysk X5+d7Sng8fIjYDRIYMghrH8M0mjVUw2keOgPmwFqOGtyGSIAYcI1wgXyz/YB9ZwmcG4j of5A== X-Gm-Message-State: AO0yUKU5j2B4LfJ54KUVemyDozHsdbqTgO4bCWOOe5XTCU9Y1aXN7eYj 8GBiHTHliBgsbMtAqhQWxx8MW85eyAY= X-Google-Smtp-Source: AK7set8//kSpTiG41P2UaXiEKNUw+HVIrONT+DmpsDa3XTy+WABMgQpGAUkLYGjYWFT1bgJOFxpI7g== X-Received: by 2002:a17:906:dac7:b0:8f4:809e:faee with SMTP id xi7-20020a170906dac700b008f4809efaeemr4941945ejb.19.1677792134285; Thu, 02 Mar 2023 13:22:14 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 04/23] hw/isa/piix3: Create USB controller in host device Date: Thu, 2 Mar 2023 22:21:42 +0100 Message-Id: <20230302212201.224360-5-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::530; envelope-from=shentey@gmail.com; helo=mail-ed1-x530.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: 1677792320138100001 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 Message-Id: <20221022150508.26830-13-shentey@gmail.com> --- include/hw/southbridge/piix.h | 4 ++++ hw/i386/pc_piix.c | 7 ++----- hw/isa/piix3.c | 17 +++++++++++++++++ hw/isa/Kconfig | 1 + 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index 9333221ced..7b9819ece5 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -15,6 +15,7 @@ #include "hw/pci/pci_device.h" #include "qom/object.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 { int32_t pci_irq_levels_vmstate[PIIX_NUM_PIRQS]; =20 MC146818RtcState rtc; + 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 b9d475a226..3a6a54bf50 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -53,7 +53,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" @@ -237,6 +236,8 @@ static void pc_init1(MachineState *machine, pcms->bus =3D pci_bus; =20 pci_dev =3D pci_new_multifunction(-1, true, type); + object_property_set_bool(OBJECT(pci_dev), "has-usb", + machine_usb(machine), &error_abort); pci_realize_and_unref(pci_dev, pci_bus, &error_fatal); piix3 =3D PIIX3_PCI_DEVICE(pci_dev); piix3->pic =3D x86ms->gsi; @@ -315,10 +316,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 f9103ea45a..7ae031f2c5 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -288,6 +288,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; =20 isa_bus =3D isa_bus_new(DEVICE(d), pci_address_space(dev), @@ -308,6 +309,16 @@ static void pci_piix3_realize(PCIDevice *dev, Error **= errp) if (!qdev_realize(DEVICE(&d->rtc), BUS(isa_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) @@ -338,6 +349,11 @@ static void pci_piix3_init(Object *obj) object_initialize_child(obj, "rtc", &d->rtc, TYPE_MC146818_RTC); } =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); @@ -357,6 +373,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 c10cbc5fc1..f01bc0dff3 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -36,6 +36,7 @@ config PIIX3 select I8257 select ISA_BUS select MC146818RTC + select USB_UHCI =20 config PIIX4 bool --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792302; cv=none; d=zohomail.com; s=zohoarc; b=EgZ9dte6mzXsiaD3WP0Lj/K5clccNXXwgut+su0HdpedcaS7967S0ePZ7/4y6I6PiVZKLlVSkFcqRtLpCkJTlWFrWXpeqSO3vJfgmeW8zlHFdu95JrYqbVEjT0FioLBhVMxn0Q4qqPJid1tt9qp7/zYPr2GX0NJoQDdRXJfBYKM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792302; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=OUNIxnxATDZmQxp1O+DgAOKNcFjshJXXoH28ZpdoOtQ=; b=JqrFB08+xxpQIkvRK9172i9XGqERN0UBVBzbzEwYQdNUQUK/mlbt57PIo2QS9V1TKy0b2q2Ehk5I89RdOuN8iYFFvilzcbezrrBCrMQvSQxKJtUJ9u4EDXmS0YwsrwqeXFCdrif9VRBrhFh3d4w0nZNzYrWF5vx6DbP0jRosiL8= 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 1677792302799786.708713494225; Thu, 2 Mar 2023 13:25:02 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNX-0000iz-MD; Thu, 02 Mar 2023 16:22:19 -0500 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 1pXqNX-0000ia-1S for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:19 -0500 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pXqNV-0002Pi-1i for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:18 -0500 Received: by mail-ed1-x52a.google.com with SMTP id cw28so2499844edb.5 for ; Thu, 02 Mar 2023 13:22:16 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792135; 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=OUNIxnxATDZmQxp1O+DgAOKNcFjshJXXoH28ZpdoOtQ=; b=pW8nWJb6XWFcQH5Y82SMSqDRbnP9wwQQlVuX+xymt+ekMKUq41TZOgcK2suEMxaNSr V3XLt795IUqe/GFc08yLftkQ5g+FGvi0QyqQDs7Yw9cuuEIBl4bTEMKoJKqW5ZrZSuEE 6uc94p6k43SgZa3yxsl0N4KPpHXllR7+LXkGEwCYsDNVTAuCnZ0zagJF0Dsr980oIAT0 qPyv2KNgxM5UQIVDuTGlwZ2rVYMXz6PnMJvdonxfk8oWiD43qbCGSXjqWxteH63Waagg QxAf7PNQSzv+Hx+mRyPdBunKYYlfAR6UxZ8qrbMKkOGJsihVnBbK+BIY61xKbQsLOHT6 3yfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792135; 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=OUNIxnxATDZmQxp1O+DgAOKNcFjshJXXoH28ZpdoOtQ=; b=mKFK0y9Z0bzPEcAuq5pQzrDmUPw5pnnmoDD/P4UWvWYioY1hDamkpoNRPdxZHryjza HbskbkexkgkHQnXlzbTKSPyVL6+oI6nKzGNudpBBTgQawby4dLswNywH9GJ8SRuxhnCE PQhzV6W6CxPWut/AtOEGOLipGbOrPwb/sWKDMUN4zQ75ra2VptUqpMlq2WYodIGlBXj0 Xo6VbiU2yQrgcKF3w/WlmTh3q+lXE5+SdzD7hoP0Rj4P6ptMvKZsYhazKh6OpyZw5Sy8 F4hCB79vnbju447uDFKEXBCaJIfov3FyaefegTLqu9DEKGHJE6GKM3dBfHVbkuozmXQf Yjdg== X-Gm-Message-State: AO0yUKVb4P626Au8Dx06bUqA3P1jJ46aIYksVsvi0YTy1w94HG7wNFtM dGCPcJSYFhfCZPL04GVQ8kA9svtBI9Q= X-Google-Smtp-Source: AK7set+B9klsrxDVmVxQhFmzpqn4UUhKAPhNk4FiPmH/HMyd3V+b2RUgwr9ynCpTkTASWZcPRo8E+A== X-Received: by 2002:a17:907:628a:b0:8f3:f976:ac13 with SMTP id nd10-20020a170907628a00b008f3f976ac13mr14457093ejc.10.1677792135269; Thu, 02 Mar 2023 13:22:15 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 05/23] hw/isa/piix3: Create power management controller in host device Date: Thu, 2 Mar 2023 22:21:43 +0100 Message-Id: <20230302212201.224360-6-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::52a; envelope-from=shentey@gmail.com; helo=mail-ed1-x52a.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: 1677792304067100001 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 Message-Id: <20221022150508.26830-14-shentey@gmail.com> --- include/hw/southbridge/piix.h | 6 ++++++ hw/i386/pc_piix.c | 24 ++++++++++++++---------- hw/isa/piix3.c | 14 ++++++++++++++ hw/isa/Kconfig | 1 + 4 files changed, 35 insertions(+), 10 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index 7b9819ece5..6e6b519dce 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -14,6 +14,7 @@ =20 #include "hw/pci/pci_device.h" #include "qom/object.h" +#include "hw/acpi/piix4.h" #include "hw/rtc/mc146818rtc.h" #include "hw/usb/hcd-uhci.h" =20 @@ -56,6 +57,9 @@ struct PIIXState { =20 MC146818RtcState rtc; 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 3a6a54bf50..0295336d80 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -47,12 +47,12 @@ #include "sysemu/kvm.h" #include "hw/kvm/clock.h" #include "hw/sysbus.h" +#include "hw/i2c/i2c.h" #include "hw/i2c/smbus_eeprom.h" #include "hw/xen/xen-x86.h" #include "hw/xen/xen.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" @@ -98,6 +98,7 @@ static void pc_init1(MachineState *machine, MemoryRegion *system_io =3D get_system_io(); PCIBus *pci_bus; ISABus *isa_bus; + Object *piix4_pm; int piix3_devfn =3D -1; qemu_irq smi_irq; GSIState *gsi_state; @@ -238,15 +239,25 @@ static void pc_init1(MachineState *machine, pci_dev =3D pci_new_multifunction(-1, true, type); 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); pci_realize_and_unref(pci_dev, pci_bus, &error_fatal); + 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), "rtc")); + piix4_pm =3D object_resolve_path_component(OBJECT(pci_dev), "pm"); } else { pci_bus =3D NULL; + piix4_pm =3D NULL; isa_bus =3D isa_bus_new(NULL, get_system_memory(), system_io, &error_abort); =20 @@ -316,15 +327,8 @@ 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); @@ -338,7 +342,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 7ae031f2c5..27bd4dbf65 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -319,6 +319,17 @@ 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; + } + } } =20 static void build_pci_isa_aml(AcpiDevAmlIf *adev, Aml *scope) @@ -350,7 +361,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 f01bc0dff3..cf79580384 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 ISA_BUS select MC146818RTC --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792252; cv=none; d=zohomail.com; s=zohoarc; b=TknFxgibmlcYi1k+BnydaMVftqo++dZyHqTvoobH/KenYxBKqW7+8F0MNKRfvZIqq2h1WNuqfOgAPu/PUb6qOOnuBC7GuocsNw2Qs6zw0rhYe6jfg4HVQlogM4pEu7KrWxV+gwXfiPdz1kqx4q4vNazEbcNYQ//mq+WNDFGfxGE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792252; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BmugA3fzaeNvlM19J/fLc0olU36YpaC1a2NgOcFBtws=; b=ZSb5terb04d+Z8xapuTjuX6pmpsu99RAlIYHwcEJC84OC9qOYH+cFA33jhxW5G8oIJg6paFwnXTk7w1Y3KwwvLLWRyE2a06fSnfJgTkFS1QQT6JsNx+RfKjofYOZ/B/o4R67YryQc28H/E3iL8oUkdH1FFmH6qXWVhhrDTc+Lww= 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 1677792252921588.2899864253665; Thu, 2 Mar 2023 13:24:12 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNZ-0000jv-FE; Thu, 02 Mar 2023 16:22:21 -0500 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 1pXqNX-0000iy-JE for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:19 -0500 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pXqNV-0002Pr-UT for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:19 -0500 Received: by mail-ed1-x529.google.com with SMTP id s11so2431342edy.8 for ; Thu, 02 Mar 2023 13:22:17 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792136; 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=BmugA3fzaeNvlM19J/fLc0olU36YpaC1a2NgOcFBtws=; b=EzOjY1AYBnUzNQlH92kS2I/1ij6HEtVnP3ussoBGUZOWSmXiJs0+4ng6JSuPsttMBn jEWJIT1cMCk4v8sfueSHiWjz5AOvfhxObzd/zYFzdX5Pzh7Ow90b9p1xAxh7tuKAVzsM hQVmcrkCL3/4NoQqbak2K5NwYGO5wC9epwb47ZP6IqSaTbWCDdpRWExJQ81uefCq7xJh m62hQuC7iAyjVHQuzlZ4z6ktkkAuMz9WTwRm69CjVW6d3vdv7dssRlg0PEqo9Sr/OQ13 OE7T98FsyCbqtgo18dhg0bjsob89ro68uLaZb26GFEUj3xE1nOwuBZ129zkMuzb0FhZW nUEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792136; 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=BmugA3fzaeNvlM19J/fLc0olU36YpaC1a2NgOcFBtws=; b=k9/4k6X4gv9kX3uUcaeciFHGx2FGAd7yn2XBxKXU7ytl+KhY/APSDRFNzend2HPzt9 e9Fa+InzCYk6M/77V9a7R7+DjPyfBUNDMj2Vall06ZteYP4FomMJPigK2k52NXNrr/mt ImOOpfES6p0jXLLV+HHa38CE3jhwo8m5fXNTOu9pQCpBzuWwLG/PRT+378Md/DbPLmZk tD4/I7IUWmAqdfVbmEUVGfPvRFEmtSoVl9tZ4j4RA9FXT1M/2+9KaLEUAxrxZgtuzavU 6VPirZPI1VbvW3Ad9T7NbEj4DLkS0eqSvkwCPimFta57FmlDIRYizH8/FC65qzKXeCWu puSA== X-Gm-Message-State: AO0yUKVim+Lx6ZccSw0hlnPtWEaaPurDkDxt3F+JRpDLaAaXuBIw0pNC TgxTjW+8z2QJXP+/P+E8eLxjC6e0ugw= X-Google-Smtp-Source: AK7set/8hdYYu4q2u7Tb1s66dadkhjkrWkf+W10+PP5OOF815pon0TDNPpAGxrrTvE7S6q7q7ZdhgA== X-Received: by 2002:a17:906:4cd9:b0:8aa:c155:9233 with SMTP id q25-20020a1709064cd900b008aac1559233mr11421376ejt.26.1677792136303; Thu, 02 Mar 2023 13:22:16 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 06/23] hw/isa/piix3: Move ISA bus IRQ assignments into host device Date: Thu, 2 Mar 2023 22:21:44 +0100 Message-Id: <20230302212201.224360-7-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::529; envelope-from=shentey@gmail.com; helo=mail-ed1-x529.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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: 1677792253710100002 Content-Type: text/plain; charset="utf-8" Having the south bridge assign the ISA interrupts to the ISA bus itself makes the south bridge more self contained. Furthermore, it allows ISA interrupt wiring in pci_piix3_realize() which will be used in subsequent patches. Signed-off-by: Bernhard Beschow --- hw/i386/pc_piix.c | 6 +++--- hw/isa/piix3.c | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 0295336d80..50a64f0326 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -246,10 +246,10 @@ static void pc_init1(MachineState *machine, object_property_set_bool(OBJECT(pci_dev), "smm-enabled", x86_machine_is_smm_enabled(x86ms), &error_abort); - pci_realize_and_unref(pci_dev, pci_bus, &error_fatal); - piix3 =3D PIIX3_PCI_DEVICE(pci_dev); piix3->pic =3D x86ms->gsi; + pci_realize_and_unref(pci_dev, pci_bus, &error_fatal); + 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), @@ -260,6 +260,7 @@ static void pc_init1(MachineState *machine, piix4_pm =3D NULL; isa_bus =3D isa_bus_new(NULL, get_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); @@ -268,7 +269,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 27bd4dbf65..2e32a61647 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -302,6 +302,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->pic); + i8257_dma_init(isa_bus, 0); =20 /* RTC */ --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792237; cv=none; d=zohomail.com; s=zohoarc; b=TWiTWujS2H+6UcP8uto/hjgmHEO2G6pugX5yi/hxLBgefT+TNRoQ3y7gpQFEwRwoJbfbw23zVkmIrsjZzChn82L084OBc407Gn59LAH0Da7fDWU4BCp0NCCI7ww6W6gsx/I9mvqQ5i0QHMALUJmlL50rJh/mG1WLY3cPRkktQoo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792237; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zilNm/CEcDncKEHuAKgiHjwZm8LGc4aIfUg4l1vRXJg=; b=Zxmjwmjw0fq3fyyo9tfY+KGaSq1HIL/jQn/SrMBifj4TQrEXvnleUGOIqc0nMKjtQEQUpdlxirvJjsmgLRKwy7LlkdIX4++ddzKhr10U6AQJDRttN+S0qbTbrG/AwX5fk1/rO8Emd+2GBk1MLPP7DqIJ7BZptcEX1IQDW88Hr64= 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 1677792237472808.5366886093066; Thu, 2 Mar 2023 13:23:57 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNZ-0000kE-Qn; Thu, 02 Mar 2023 16:22:21 -0500 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 1pXqNY-0000jY-C6 for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:20 -0500 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pXqNW-0002PR-9l for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:20 -0500 Received: by mail-ed1-x530.google.com with SMTP id cy23so2334774edb.12 for ; Thu, 02 Mar 2023 13:22:17 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792137; 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=zilNm/CEcDncKEHuAKgiHjwZm8LGc4aIfUg4l1vRXJg=; b=GBPqx7qO+7/XRVrjW9lLyate40H8yfDIDJMGrmEA3FtUGO5eA+FsIBjXqpEUESj0FX F2Jhh90GiZ5B9KHyd/gkCkr8pQtS7MYuQNTCnYzQm7Uam+Jd+aujPXyDDbALZVA3y2xk +Fp2JDBwFk194SnMFW0Fu0beBOaCxg+7al/PaC6Z2fkgEgHz3mlWZPCGircyyETgWVvM 3qz50AjUoBcjvxolLJ7tdEmTW2dVLq6hpJeAJVJkL7potllOHPSDtHstheIaF6rMECVG 2E4I+14G5r5iowucy9Br8lvTFFgxybtWoUgBg0FM+cuOkEUX1E6KE3SgSbSiFuKXT+/V PSmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792137; 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=zilNm/CEcDncKEHuAKgiHjwZm8LGc4aIfUg4l1vRXJg=; b=r4YYXfoZhSBoiaNKjAnvZT8OOISrZUrTFXFrRQGUJ0Nx1+ygmsfrGHhvR9D+Im0yno Bx/TSJUgZqtb7YCHOUVIkIv5toOYEnusKQvH2VL3drqcwDUXK4AOIz0Fn8daA7cSN+h5 seviVd/giXIJ8b+P0L+QvPeoH5ptxjv5N5JigFKgNPKgadOSlS+jMl1FhlGDUpizNMP3 Yo0iN5Ndfzk2Wubpkn4mXYA/EVsaaIIH0TZ+oXxO7MVn+vp2OqZou0F/kMFQSPQZWL0U ShCD1wlNrUBfewxWW+WPPa+sGeQNWL2sibYb3HKbA+miujTMlJ2DyhabVSyW0ZpwtTX2 VJYg== X-Gm-Message-State: AO0yUKXOdE1rVbzWCwDdyh7Xf7o7gOf+L3WjF4vAw1bpR3yraLuGviW8 r06B0n+Cwq8il/OZdd30GWT5pqdBQZo= X-Google-Smtp-Source: AK7set/7ZnE81+0j1bb1vpIuirILiuMqhBfdj5sGJ0cxKIujQ9TQgp8O/x7a6/H858SEEgYQY3GLdA== X-Received: by 2002:a17:906:49a:b0:8e6:d08d:f5e8 with SMTP id f26-20020a170906049a00b008e6d08df5e8mr11624593eja.11.1677792137270; Thu, 02 Mar 2023 13:22:17 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 07/23] hw/isa/piix3: Create IDE controller in host device Date: Thu, 2 Mar 2023 22:21:45 +0100 Message-Id: <20230302212201.224360-8-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::530; envelope-from=shentey@gmail.com; helo=mail-ed1-x530.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: 1677792239655100005 Content-Type: text/plain; charset="utf-8" Now that PIIX3 contains the new TYPE_ISA_PIC, it is possible to instantiate PIIX3 IDE in the PIIX3 southbridge. PIIX3 IDE wires up its interrupts to the ISA bus in its realize method which requires the interrupt controller to provide fully populated qemu_irqs. This is the case for TYPE_ISA_PIC even though the virtualization technology isn't known yet. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin Message-Id: <20221022150508.26830-17-shentey@gmail.com> --- include/hw/southbridge/piix.h | 2 ++ hw/i386/pc_piix.c | 16 +++++++--------- hw/isa/piix3.c | 8 ++++++++ hw/i386/Kconfig | 1 - hw/isa/Kconfig | 1 + 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index 6e6b519dce..14897a00d9 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -15,6 +15,7 @@ #include "hw/pci/pci_device.h" #include "qom/object.h" #include "hw/acpi/piix4.h" +#include "hw/ide/pci.h" #include "hw/rtc/mc146818rtc.h" #include "hw/usb/hcd-uhci.h" =20 @@ -56,6 +57,7 @@ struct PIIXState { int32_t pci_irq_levels_vmstate[PIIX_NUM_PIRQS]; =20 MC146818RtcState rtc; + PCIIDEState ide; UHCIState uhci; PIIX4PMState pm; =20 diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 50a64f0326..8456b8a758 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -42,7 +42,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/kvm/clock.h" @@ -99,7 +98,6 @@ static void pc_init1(MachineState *machine, PCIBus *pci_bus; ISABus *isa_bus; Object *piix4_pm; - int piix3_devfn =3D -1; qemu_irq smi_irq; GSIState *gsi_state; BusState *idebus[MAX_IDE_BUS]; @@ -220,6 +218,7 @@ static void pc_init1(MachineState *machine, gsi_state =3D pc_gsi_create(&x86ms->gsi, pcmc->pci_enabled); =20 if (pcmc->pci_enabled) { + DeviceState *dev; PIIX3State *piix3; PCIDevice *pci_dev; const char *type =3D xen_enabled() ? TYPE_PIIX3_XEN_DEVICE @@ -250,11 +249,14 @@ static void pc_init1(MachineState *machine, piix3->pic =3D x86ms->gsi; pci_realize_and_unref(pci_dev, pci_bus, &error_fatal); =20 - 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), "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"); + idebus[1] =3D qdev_get_child_bus(dev, "ide.1"); } else { pci_bus =3D NULL; piix4_pm =3D NULL; @@ -268,6 +270,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) { @@ -296,12 +300,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 2e32a61647..60ae018a55 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 "hw/xen/xen.h" #include "sysemu/runstate.h" @@ -312,6 +313,12 @@ static void pci_piix3_realize(PCIDevice *dev, Error **= errp) return; } =20 + /* IDE */ + qdev_prop_set_int32(DEVICE(&d->ide), "addr", dev->devfn + 1); + if (!qdev_realize(DEVICE(&d->ide), BUS(pci_bus), errp)) { + return; + } + /* USB */ if (d->has_usb) { object_initialize_child(OBJECT(dev), "uhci", &d->uhci, @@ -360,6 +367,7 @@ static void pci_piix3_init(Object *obj) PIIX3State *d =3D PIIX3_PCI_DEVICE(obj); =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 { diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig index 9fbfe748b5..cfbe75d5b0 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 cf79580384..17ddb25afc 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -35,6 +35,7 @@ config PIIX3 bool select ACPI_PIIX4 select I8257 + select IDE_PIIX select ISA_BUS select MC146818RTC select USB_UHCI --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792227; cv=none; d=zohomail.com; s=zohoarc; b=O8DMIF2EJRvBKQbgnZqdn+ADmiWcZJZpfPJ4zZzenJnGqGHKGbSnirnnPpAZqNsLvB5GMPlJ7gmeA0xYI/rOx5qN3euSFsj0Jjpd2cf6CDxwpjRbAS8FWiUlL7swQJJP17m7/C5UaC4QXzmz6Fvq0YHaTW9N+VPWURmCmYH/aWk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792227; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=TfjxTV5p/CpX88vK1zfC5uTJzTBN0+iEk1o7p5+fKhM=; b=WiFs/nWmKYIkORe4+WL0C451WNq1CWDmBb5ntHRynJZbVBCuLwa1d6TllmgHDFKQvPeXgICu4G3QBEftICg0KztJmR0cOUh5skkfx+qni/pk4Lfqet+8Xugvx6b+vdgKqoDo45bk7s+RxkaiY3Cs046+ZEBasLwr1m9wiyVTlPo= 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 1677792227142808.3088142380648; Thu, 2 Mar 2023 13:23:47 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNb-0000kf-2F; Thu, 02 Mar 2023 16:22:23 -0500 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 1pXqNZ-0000k6-IZ for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:21 -0500 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pXqNY-0002Q9-3X for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:21 -0500 Received: by mail-ed1-x533.google.com with SMTP id d30so2513016eda.4 for ; Thu, 02 Mar 2023 13:22:19 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792138; 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=TfjxTV5p/CpX88vK1zfC5uTJzTBN0+iEk1o7p5+fKhM=; b=hn29s9XIIW5dKi55XsGHdWib/TG8RSU/QYIerl6iRBgjVII41yA0H7DtzV5pt5xKLB ByiFCdYSwV/XYZUmy6fxWBANE1YYu/fssSpmVrrbQvaVDutpYMDcZpo+m1BTl+Qz6S5i AalIXiE7HUgMbbqxjRV2I3GHgi6JVGl41t5t6KeWPaLqiMJZ09dJWtN0VYU8Y1/pQ9Qz EDx9cq05U6IA7dx3sHN9P5XWOO+MpksrES4pz1nb5J1RKk1XmdLUnShv2PmvmVY3InXa /3tboqq+4gGqnjRublAgADyPRxGiT1Un2/7QLwPq11KrZfz6Y05PSTuxzkq6jTduh8xm Tt8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792138; 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=TfjxTV5p/CpX88vK1zfC5uTJzTBN0+iEk1o7p5+fKhM=; b=FrofKWCwmvH7LSdCugkgxeUu+xId7JXIJQV5g7E8ft3TvOseb5Kl+uqxdYQZ1d8E1f lGKfP6ZaJtJ152h8Jv1Spc/PbtABeRsqMF48lcYE63bzX4yDQ4qUHuifBWIA0TGx8ePG trXSgKk8D2eIPW+2Vouj2jMgucDmQpfHSlQkIe4xkN64rM1AqJC6QcEJuzRBmeUe6SWk 4bgC3wahkicv4lAPVUvixgFx+cf/XNHUKZv4vh1Ud4Hn56pbEydYMz6M47fVbM5SgOv9 97C4PsFdto7hBd5h+Mu4bM3yOVFWu4fwEjHXOw6GI0CkOLClbMDuQxcq5JAWrQMCWs/4 uysQ== X-Gm-Message-State: AO0yUKXpAD46cO+BeRSGOFlz+l6yioWHFeN04P05B72cko4anTZcQmQJ 8ex5oanxh7NPbNrqdUcvxQN01JNXh2I= X-Google-Smtp-Source: AK7set/7QK4LBk9+NncovSkQJhCF+hAMQEz600XAJzLM7RsGSaAAS7ziPHoLeS+3C0Uo6uH69qqRFQ== X-Received: by 2002:aa7:df0b:0:b0:4bd:11d3:e86f with SMTP id c11-20020aa7df0b000000b004bd11d3e86fmr6135758edy.6.1677792138245; Thu, 02 Mar 2023 13:22:18 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 08/23] hw/isa/piix3: Wire up ACPI interrupt internally Date: Thu, 2 Mar 2023 22:21:46 +0100 Message-Id: <20230302212201.224360-9-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::533; envelope-from=shentey@gmail.com; helo=mail-ed1-x533.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: 1677792227597100001 Content-Type: text/plain; charset="utf-8" Now that PIIX3 has the PIC integrated, the ACPI controller can be wired up internally. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin Message-Id: <20221022150508.26830-18-shentey@gmail.com> --- hw/i386/pc_piix.c | 1 - hw/isa/piix3.c | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 8456b8a758..3339793a08 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -328,7 +328,6 @@ static void pc_init1(MachineState *machine, if (piix4_pm) { smi_irq =3D qemu_allocate_irq(pc_acpi_smi_interrupt, first_cpu, 0); =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. */ diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 60ae018a55..e1d9049b3a 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -338,6 +338,7 @@ static void pci_piix3_realize(PCIDevice *dev, Error **e= rrp) if (!qdev_realize(DEVICE(&d->pm), BUS(pci_bus), errp)) { return; } + qdev_connect_gpio_out(DEVICE(&d->pm), 0, d->pic[9]); } } =20 --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792255; cv=none; d=zohomail.com; s=zohoarc; b=aItLW/4eGg6U4HBNi4E+Ny28VazfKym5en3ZAhmkoxpdy75TfIfgr4bSHo/+UnjyOwueRIiE5BzCkRM3n8ILwUWQkpR4qa0mN/ZFngx8HizZfI3gv4SBApUduqwhW0PdR6xlHPrhtnNizsGa4x7dnW29DdPd4zpIbJL4b+Wi1bU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792255; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UZSVOd6Mrk5nklnTmZmHI7ndDybzDKIcEkTioDkr9Wg=; b=KfLS3Atus/UTKadmGo2awwgQdoBIc8n1Zw+aioIvnulGOcLhfGh58KoLZw9nyel7rnLx5cjrODJHqc5ZcJqoks5FQzIzPTBU836ZQOLhAq4O3FEJc2dwgEluLXTNZ2lydGB0RR7nfpk1+IkarHM8/pnmiesWvV/OPmm4b2ugXiY= 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 1677792255207301.9954687552289; Thu, 2 Mar 2023 13:24:15 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNb-0000kn-M5; Thu, 02 Mar 2023 16:22:23 -0500 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 1pXqNa-0000kG-4c for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:22 -0500 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pXqNY-0002Pi-KG for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:21 -0500 Received: by mail-ed1-x52a.google.com with SMTP id cw28so2500497edb.5 for ; Thu, 02 Mar 2023 13:22:20 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792139; 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=UZSVOd6Mrk5nklnTmZmHI7ndDybzDKIcEkTioDkr9Wg=; b=KtmHjx6YcMf798EJbm6wZvavhtoWli3vDC5NHVoqRQNiHuCRlyVCMUfP/6zSJO9yyX Fp4xIoc55UJZFBm/jWwkVYsrtfMvzKWNJAyBcQjNo1iMBqGOzdYL6ZBmCimK4Gj4WcMn QoN8tU/DKKcl+UG+CLtn9f9+vQgJ1HZu5gm2jh0iFVsqQNyw7vW8gQQoixObFulgO9kj JKmrKxQg/YHobLInrOhKh/Kr9AVSkPiyffSQSeAKTs0kpYiNaWJPO9Wlmup6TcuDPCR1 xrPyxOV1SMRYpsh8rK/pPtksBjSwtF25ABpFKVJvE2MrVs3RyheEW5d6qzx8vShp9Xf8 ww3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792139; 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=UZSVOd6Mrk5nklnTmZmHI7ndDybzDKIcEkTioDkr9Wg=; b=6Djix1ZLTl69lqPe6wg2pKjKqqzMLfyJQ6X+wsXTK8g/NeiD3VQc16kDRPV4mMX5fS EoqUYmOF8oOguAsb+X+M11TIoKfYVv80MenLRsYE5yGASPGo2XCc2ZR/G1kxYrVdG8L3 W8YVer1xJmgQoeb05y6K7Zj/tBdgSntEw06ENiqmvcJ8nlASiLY3WwjfCzUAmRg3m/ai Lmzs5kTUC20OeJTY8IlTTokA/vAjTctc/fp0OZN09geYgQtawjCCYuxH+RXo2Z4eOAPh QbCRodQtfUFO4sU2mxS6AT/BBQniO723ahLTuwsncyugXB/vVGtUleiIO3DHdAKqWpiU /osA== X-Gm-Message-State: AO0yUKU7wczvCQ2N0Cm+VbIJmPuRAy27WreupTW6ijjBbkOftk5NEUs2 pX0wZSriiTZuCWm2EmwjChYirvN+7iI= X-Google-Smtp-Source: AK7set8gRYe3XznZgqDwgdscefgGAUrEGbCmdEfxOoPzqi2M6EgGFSvq5AtExrtZ1+MiN02gyLVZuA== X-Received: by 2002:a17:907:d68a:b0:880:3129:d84a with SMTP id wf10-20020a170907d68a00b008803129d84amr16080381ejc.60.1677792139656; Thu, 02 Mar 2023 13:22:19 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 09/23] hw/isa/piix3: Resolve redundant PIIX_NUM_PIC_IRQS Date: Thu, 2 Mar 2023 22:21:47 +0100 Message-Id: <20230302212201.224360-10-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::52a; envelope-from=shentey@gmail.com; helo=mail-ed1-x52a.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: 1677792255754100011 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 Message-Id: <20221022150508.26830-21-shentey@gmail.com> --- 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 14897a00d9..87dde11099 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -31,7 +31,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 { @@ -43,10 +42,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 e1d9049b3a..9eb45810de 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -52,7 +52,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 @@ -66,7 +66,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 @@ -87,7 +87,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 { @@ -119,7 +119,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.39.2 From nobody Fri May 3 15:14:25 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=1677792323; cv=none; d=zohomail.com; s=zohoarc; b=f8XSDXcf5x26OT4oHJlCeBld7SeKeeAxxeA4n6dOdCYKTfTdugDJA7aCMkcxmz0ZUsKqImUnZFZJnKn2mL1ew+PTzOq4/1qIIOVAc2HgW3BZNmJ+C0Q7NhfiM8jQ0AwgztoXr9pPx4nbMKldjpJrkwM8J+0I965rxWDPhziV5i8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792323; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=VQRKJBeG9cauqYrWbmqW+Ppp+qjoxTiP7OWKuybKXVg=; b=MxuBhRTzkNrEjyvF7VO2lPAFvEW5MiIX3M2tES6BYTbuktPUIvi4FKM7N3o/WE+ULMU1Sbz+6hJx1gupRS+7hjeQcTDYTAZRoaEXFL9PVLPQKZz3aeJr+ae2jUUIQNG4P31yt5cqxMEwSAQ33+5QurAskuQwW49kK1OqnnJjoEE= 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 1677792323087167.93778634839077; Thu, 2 Mar 2023 13:25:23 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNf-0000ny-QJ; Thu, 02 Mar 2023 16:22:27 -0500 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 1pXqNe-0000nW-7L for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:26 -0500 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 1pXqNc-0002Qu-KN for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:25 -0500 Received: by mail-ed1-x52c.google.com with SMTP id f13so2469970edz.6 for ; Thu, 02 Mar 2023 13:22:24 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792141; 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=VQRKJBeG9cauqYrWbmqW+Ppp+qjoxTiP7OWKuybKXVg=; b=dg+CLgjARhCedLUDsc7bISfAaEeb+a6SYER6j6exPcr8mxJT+wp5CCgjMCyuGY8MkF yehN89zbcRxDiYCEjCij5FPD+7euHMTvkifSG+G2GcOfS7AFIzmzXAyLYU27WTRRQXMA AiMCs0VbbIYmU6HmRRJKsgl2Up2HpwQAkPL0x3mU8U9NvLlwHcmufYnF//3c6ot2Xd05 zrYNJJJK7cutR+UwYZIXfyCoyi7RVxiHqAk3HifZwJ3SgZHUUo9p9Vi+9UQAABLP1e5d ScSA6G2GhoJ9lp5h0EoiJkYUBXTB8f8iAMzj59LTRJAVHfwzW5ychZL59B3wq5b0/NzT BW0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792141; 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=VQRKJBeG9cauqYrWbmqW+Ppp+qjoxTiP7OWKuybKXVg=; b=wnYY/pyX8vAYVr6B4rFLsgv95fO0yb9Fe18FNoaqePU1E1loHPwNsLdHf6Yuq7/spF YLPX41g2P44s42o40zf3+rxtni+cTe7JbKClOmSvzW7WKq+jmXURrMvkq+ebyhdbxNwx ENavKD8d/IaRTqTX059bOlnf2q5qRIjzYrrpkU5n+233BAIVTO4GllVoQ9urgFEovB7P qR8jAyzVQ293LbdixuELpde7jLIH5OoFyEjTZbXV6izs0/Ut2BmXROlmEtSa/8/fU1zV Z6hkmXIPaAf7IxqkllpCuk6PWigvqZSvmZSaTN945cjGkXD2zRyeeResqCq2EHLbJAbt F89g== X-Gm-Message-State: AO0yUKW+xyX9XlijufeD4czS5Wu2eAgCARvcSdpRmqu1eTdMDOOxGq7r gNEf4A1NpaTDLMcWcGuoQKtVxFMCdeY= X-Google-Smtp-Source: AK7set9DR2mY3IS5OU1T6E6R7fzwp4e8ogmENUGk3Gvbj+FY01L8d3UIloH4rFSwQcXvZB0lpBUb5g== X-Received: by 2002:a17:907:982:b0:88d:777a:9ca6 with SMTP id bf2-20020a170907098200b0088d777a9ca6mr15307699ejc.18.1677792140575; Thu, 02 Mar 2023 13:22:20 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 10/23] hw/isa/piix3: Rename pci_piix3_props for sharing with PIIX4 Date: Thu, 2 Mar 2023 22:21:48 +0100 Message-Id: <20230302212201.224360-11-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::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: 1677792324246100001 Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Michael S. Tsirkin Message-Id: <20221022150508.26830-22-shentey@gmail.com> --- hw/isa/piix3.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 9eb45810de..e11742ce42 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -371,7 +371,7 @@ static void pci_piix3_init(Object *obj) object_initialize_child(obj, "ide", &d->ide, TYPE_PIIX3_IDE); } =20 -static Property pci_piix3_props[] =3D { +static Property pci_piix_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), @@ -398,7 +398,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); + device_class_set_props(dc, pci_piix_props); adevc->build_dev_aml =3D build_pci_isa_aml; } =20 --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792310; cv=none; d=zohomail.com; s=zohoarc; b=MmS5AZD0jG5hV+2vMQRzl23lVRsCS+UnejtrNNCOKn47/oq30FUpVr9dsGIz4UqIAqgs3y6HVrNGYyd5S0MGzvLgNXiUXDl0gHO6XXCMl7/elxlb8ylsXjzca0QIIT81GOIe5fZ+JFtIUU1NJ7Yyu8kodYTsrz2EDvNDexQlY/k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792310; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=XF7DTM74fQWpIJe9B7uEqXjfqBgwkhC/Uiwzy7Em4Nw=; b=jZNRMnwe6kN1XGV53Xvlr8McTdBZS4nMQiK6N9a9ndNJrye6sk1eTWR/mkmfQ9wdXF74AH19hR/eZr7riVtg/GNR9z4njqAKusolfKVqpQXCa7isbDPBhmE/ZHRUo5tgxnYq83moSR0UEgnCO3LUpM06R3xJzqXq582fWR8pqao= 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 1677792310763617.6317262388213; Thu, 2 Mar 2023 13:25:10 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNd-0000lZ-7a; Thu, 02 Mar 2023 16:22:25 -0500 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 1pXqNc-0000lB-9T for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:24 -0500 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pXqNa-0002Q9-RS for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:24 -0500 Received: by mail-ed1-x533.google.com with SMTP id d30so2513617eda.4 for ; Thu, 02 Mar 2023 13:22:22 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792142; 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=XF7DTM74fQWpIJe9B7uEqXjfqBgwkhC/Uiwzy7Em4Nw=; b=D8p0NJd1qcc3Pgf0pjbXHhl9ksA7jcVb5wzvFnBrGT1tAfkBziDFxry6PexkPBwouH 46irisoY/p7ZVdIj1uiEuWnBhRU9aOCYjSLsVoip8jOBcQFuZrQ3l8hodhCM+RWIxquD csJ9LfNRPYquS4vDfNp442qEBOpR6jkyp7ZxrY4mVFLaopiU5S+VNBWEpHOsOsDYj2pX 9Ggjv3sN2bvILSBBhGtZcCRL8Si9at6uWqcjnAuPRBqWR4qxZEycY5AykuTyCsMrGp0w ADhBUSSrIlzPJkKC/JTK1EL9r8JRZG8lZEeLtdgh2uU8ov0ULO46Oh6mNCYQkhsdflLn ybcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792142; 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=XF7DTM74fQWpIJe9B7uEqXjfqBgwkhC/Uiwzy7Em4Nw=; b=bI3HBFYIdIHggUZBaBmUd3DNaRUYlsUN7A/OPh/AfQ9h0HuQkwV7Ev5PbKwSKhntMC kYTUAcssxLcs0dDGQBowu7CQbdUj8qft7EEvgaV1WU2XmQJZVZW3EkvVj54ifYf4mU6C q0FkKMkQ0KYsg21kAIUZFn/QS+PR0WySpJkXwOWmsukTC06RTuwLOPBqMqRn3MhZ10m9 z5v4WvF1n0mMNGtO9dE4H8+/OD/SNm4GZyRE8HOOEL5bh3pZiBCxIOExB9FXC6PKbaxC 0MSnlGIBmtic6qM2ZXsY5kPJ9KqFBeUuJ4xk7yqiW43XmOBi36oBbe64SFNk4cW/a6hC LNMA== X-Gm-Message-State: AO0yUKVdpuVPZGKIGyWImIUD+O7InV5FPXsMyg2P2hqgvoQK8ueKesA6 j8QP5crSEwT+URNhqMJZJdcxp9ECfMQ= X-Google-Smtp-Source: AK7set8lIy1AaLPsK4BGiEwpi4n+ppdvpcj/5PnJG1INQC4iXmuwCSUPDshA41cHpYZGqY+7L/oFPQ== X-Received: by 2002:aa7:d94c:0:b0:4ad:5276:8ea4 with SMTP id l12-20020aa7d94c000000b004ad52768ea4mr11247957eds.20.1677792141942; Thu, 02 Mar 2023 13:22:21 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 11/23] hw/isa/piix3: Rename piix3_reset() for sharing with PIIX4 Date: Thu, 2 Mar 2023 22:21:49 +0100 Message-Id: <20230302212201.224360-12-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::533; envelope-from=shentey@gmail.com; helo=mail-ed1-x533.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: 1677792312094100001 Signed-off-by: Bernhard Beschow Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Michael S. Tsirkin Message-Id: <20221022150508.26830-23-shentey@gmail.com> --- hw/isa/piix3.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index e11742ce42..15f0105240 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -145,7 +145,7 @@ static void piix3_write_config_xen(PCIDevice *dev, piix3_write_config(dev, address, val, len); } =20 -static void piix3_reset(DeviceState *dev) +static void piix_reset(DeviceState *dev) { PIIX3State *d =3D PIIX3_PCI_DEVICE(dev); uint8_t *pci_conf =3D d->dev.config; @@ -385,7 +385,7 @@ static void pci_piix3_class_init(ObjectClass *klass, vo= id *data) PCIDeviceClass *k =3D PCI_DEVICE_CLASS(klass); AcpiDevAmlIfClass *adevc =3D ACPI_DEV_AML_IF_CLASS(klass); =20 - dc->reset =3D piix3_reset; + dc->reset =3D piix_reset; dc->desc =3D "ISA bridge"; dc->vmsd =3D &vmstate_piix3; dc->hotpluggable =3D false; --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792319; cv=none; d=zohomail.com; s=zohoarc; b=jUrYPtIFyM+9hMFSVfZw2IA6FjdGXnC73VLbVCvXGx4m9KO4ElrLklJVQieNCwSVqCtUW60cBmEs5QXAvUd/J0rceppua98n80oB5oQ/dgF/QUVfm5GOETlMQBtwOOGxysuiGmGOm/qiZYi/duAiLlISZ+/ziheGSyA/nbbAH7A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792319; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4kOJWux3vSqUQ8k8f8TabfZdx10wntVgkFIt7u2ApUI=; b=BhDqW6OALfKIQNK3NEu7pVijjsOWJkOvKEM2noG7x2nMWurPIm6lL4H9XGzWCrmiOTa6EiwzK0G629x5dcYw69jq0vpJ8j3nOJR0bhVFPN8D2sGyF9Qf7eUrHRZ4as3cHcYejGxF8zlDxVhgrqHLnPTf161HLc1xgsaXKpz/Pm0= 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 1677792319618651.6534111398147; Thu, 2 Mar 2023 13:25:19 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNf-0000no-8V; Thu, 02 Mar 2023 16:22:27 -0500 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 1pXqNe-0000nd-Ej for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:26 -0500 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pXqNc-0002Qt-CX for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:26 -0500 Received: by mail-ed1-x533.google.com with SMTP id d30so2513779eda.4 for ; Thu, 02 Mar 2023 13:22:24 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792143; 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=4kOJWux3vSqUQ8k8f8TabfZdx10wntVgkFIt7u2ApUI=; b=jIBkCDUIybrQ7OYLhtOGmsZvXaDcvjxrAmKAheBSsEdgtoEf1nnBw9T1gEMbTv9Gmc mmEgAZZNRqXapH+5W8BqFgAIR3+zybN+ISwcmjzACcfIRnd9uaBDYkzGIhFDV/aaEVGx uFJT8lXlGyXuwiisZxaBaxMDP+KdHQFDrz1UsbS4qPVAxvgpX5Kl/Tjtiq1ykTx8JrFM 4rrHz0R0rQqzoMMqOPvDV39vZQ9F91MRcqAcKc9rQ/y3JXCoWNMKCARw9TGvZ8q7xf2l 57cb/z9lYwxnrR6jY/N2pfiGSQ9SB9IdpTGRHWBjb/WX32IgYLUi7KXmiXygLYWGGF7+ 9ciQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792143; 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=4kOJWux3vSqUQ8k8f8TabfZdx10wntVgkFIt7u2ApUI=; b=11c9P39AgcNV9ztD7i7zwiZ3wbFT808/9uthVcOsLdcXa+x2I3KSoGy33skldl2uYd 5jSjwYG2xMxciUSwEN50FPqT+hr2ufqRu1IhKrE0EpHrDO94AK0cGay0/OzkQq4fpkMP 5uBuw51uH82dXI9HjKsHudTbULNVQc64TzEd9hHTZ1DXj6YUrBm9LMpFsSUf0wq0BBq/ o+FD6UrD8kGohIL1b2ym5Po3IT9onnHlBknDvzlFltYiIFBDDD0ktr+dhiayffO3GO1/ KkNlBKBmrRLCBpiyYttiFlCDJ70wYvuTnHF8FfDh96sP0YHMicjDs7MWtQ8x2jIHSXU3 OWmQ== X-Gm-Message-State: AO0yUKW/AuRmtsFKhAIuDhALmW+OmHiNtmLmTldoBgWUfoEO8tkIx6g/ BDtt1eFnjrAzkiDzbkapSQ+HMxq6zwA= X-Google-Smtp-Source: AK7set8CaSzYpwfteDz3i6tVaFkR/23V6Apqtq2RWS8ipWwKjPjJMpP19oCBjvKOO+w++flLDqH0Zw== X-Received: by 2002:a17:906:1058:b0:906:3b1b:1ad7 with SMTP id j24-20020a170906105800b009063b1b1ad7mr7888902ejj.48.1677792142861; Thu, 02 Mar 2023 13:22:22 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 12/23] hw/isa/piix3: Drop the "3" from PIIX base class Date: Thu, 2 Mar 2023 22:21:50 +0100 Message-Id: <20230302212201.224360-13-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::533; envelope-from=shentey@gmail.com; helo=mail-ed1-x533.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: 1677792320151100002 Content-Type: text/plain; charset="utf-8" This commit marks the finalization of the PIIX3 preparations to be merged with PIIX4. In particular, PIIXState is prepared to be reused in piix4.c. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin Message-Id: <20221022150508.26830-25-shentey@gmail.com> --- include/hw/southbridge/piix.h | 6 ++-- hw/i386/pc_piix.c | 4 +-- hw/isa/piix3.c | 60 +++++++++++++++++------------------ 3 files changed, 34 insertions(+), 36 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index 87dde11099..62fc5ddab9 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -72,11 +72,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_PIIX3_XEN_DEVICE "PIIX3-xen" diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 3339793a08..2946cf69ac 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -219,7 +219,7 @@ static void pc_init1(MachineState *machine, =20 if (pcmc->pci_enabled) { DeviceState *dev; - PIIX3State *piix3; + PIIXState *piix3; PCIDevice *pci_dev; const char *type =3D xen_enabled() ? TYPE_PIIX3_XEN_DEVICE : TYPE_PIIX3_DEVICE; @@ -245,7 +245,7 @@ static void pc_init1(MachineState *machine, object_property_set_bool(OBJECT(pci_dev), "smm-enabled", x86_machine_is_smm_enabled(x86ms), &error_abort); - piix3 =3D PIIX3_PCI_DEVICE(pci_dev); + piix3 =3D PIIX_PCI_DEVICE(pci_dev); piix3->pic =3D x86ms->gsi; pci_realize_and_unref(pci_dev, pci_bus, &error_fatal); =20 diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c index 15f0105240..2de1112171 100644 --- a/hw/isa/piix3.c +++ b/hw/isa/piix3.c @@ -38,7 +38,7 @@ =20 #define XEN_PIIX_NUM_PIRQS 128ULL =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->pic[pic_irq], !!(piix3->pic_levels & @@ -46,7 +46,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; @@ -61,7 +61,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 @@ -77,13 +77,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 @@ -98,7 +98,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; @@ -114,7 +114,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)); @@ -147,7 +147,7 @@ static void piix3_write_config_xen(PCIDevice *dev, =20 static void piix_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 */ @@ -188,7 +188,7 @@ static void piix_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 /* @@ -211,7 +211,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 @@ -223,7 +223,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); } @@ -234,7 +234,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() } }; @@ -246,8 +246,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() }, @@ -260,7 +260,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); @@ -271,7 +271,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; } @@ -288,7 +288,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; =20 @@ -365,17 +365,17 @@ 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 object_initialize_child(obj, "rtc", &d->rtc, TYPE_MC146818_RTC); object_initialize_child(obj, "ide", &d->ide, TYPE_PIIX3_IDE); } =20 static Property pci_piix_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 @@ -402,10 +402,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, @@ -419,7 +419,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); @@ -441,14 +441,14 @@ 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_xen_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); @@ -475,13 +475,13 @@ static void piix3_xen_class_init(ObjectClass *klass, = void *data) =20 static const TypeInfo piix3_xen_info =3D { .name =3D TYPE_PIIX3_XEN_DEVICE, - .parent =3D TYPE_PIIX3_PCI_DEVICE, + .parent =3D TYPE_PIIX_PCI_DEVICE, .class_init =3D piix3_xen_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); type_register_static(&piix3_xen_info); } --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792267; cv=none; d=zohomail.com; s=zohoarc; b=B+M6I45dCdEt+A+DqicX1UwmiHLb8uLPEidNAAx80/a/SZTB5mbLDLGaR4yUxciCWS3GXI6agy/ziyobOLV8r7N3QNUJbm2pmwuJ7gVqW7bwDcWhplfjFImDMi3n3RsT+H83gyEnWSwp7g6mh+BE0STx1pOv5CTn3qTzrObOc4Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792267; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=d2Z398Irwmfpma6O+KXqHr6FP6yq0gYbEF03Jhv0T0c=; b=DcLmrg7Ir3A0QOBP1A7oaSNPGH8m8Eqe3B8c1/VDNDKCqqOuaKIU+uO2nQuqvlG0X7A5X/gJcwuL1sPeL2L8u5w2P2JctdW61JA/PRDZai3O6C/0cVSl4mHd0sR8jzbQ4vFpAqMsipvOvKQhjOEDoo9tWN7g65fFz619nQNuzEI= 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 1677792267635346.8415823493565; Thu, 2 Mar 2023 13:24:27 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNh-0000p2-D6; Thu, 02 Mar 2023 16:22:29 -0500 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 1pXqNf-0000np-JO for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:27 -0500 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 1pXqNc-0002Ot-Ku for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:27 -0500 Received: by mail-ed1-x534.google.com with SMTP id a25so2723099edb.0 for ; Thu, 02 Mar 2023 13:22:24 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792143; 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=d2Z398Irwmfpma6O+KXqHr6FP6yq0gYbEF03Jhv0T0c=; b=GroOf2X1tK1wGACU6XBIp7Zn/JpsbnXR2mkhM6b6hJa4sZYzPVIMjIbCkszAtOkG5y J+rkbc/CaADEDOsLozk9EpM9y6bS7WFxFl8fDTag4O8CwzlHS5h9xdmYyrawMtwxhPSy yNrTdYe9XrTyeAkKavVFK1cT9K+zPbD6iu/ZPkDe/nInmDhw78N1KHg7T89aXd58i13k XRRZ80K0sM+ISCwG7tkIfnJ0uOnTNvY2CiD79Qn01JXqoY3og9k/ahdyx0feCzAcaj0U 7efq1f1kUr0bMV3VpEx281kp7XwINytSOfSoo7yDxgMp2U/dRY0+ra1dNLhUjyHQpoFU uIgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792143; 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=d2Z398Irwmfpma6O+KXqHr6FP6yq0gYbEF03Jhv0T0c=; b=tK+J9opyNXRqe6sWrFujRJzojkSWprN9IjJ7eLMN1l3ytszgDm/5XWs4AFTo7ADxri tEtyS38JTOqk2kH94clQYEF2DZbl1bNo8Rum0AyHVB7rAHOmGEXZFyws70u9z7+zeWNJ +9MiClE2L5bQhVfq1uL8H+SBwGngWr2S32nhMFnDj4xPUCmldu/inuBZ8vKWuxl76Ye7 kyJSiUwqIJU7qLGP5OzWRSf/+uSjOEGNfiFxPVdidZ81r03GanSxzXSpWDAljo5mR5ST yxOxi8eFhS7CI5ZfyGN0qJD2iLp18fXaG6f/HyA6c4CsWiGQgweCLSaooaqq5Wn00Iot kfsw== X-Gm-Message-State: AO0yUKWcBgHvZhXb6zGpBllpJnirCVFMCmDsawrZ5UZ2lVHOPYoWMEnX aLDhVRq6a0m4WhjTUMJBtUO3ZTAKeYI= X-Google-Smtp-Source: AK7set9JUsvIyNLRwzOcqkwRMoAsbWMlhWsoggNurB3rJQH/nXkFSKkNihO8ZmyfUzs33dnylhgsIg== X-Received: by 2002:aa7:cc0e:0:b0:4ab:4d3c:7e99 with SMTP id q14-20020aa7cc0e000000b004ab4d3c7e99mr11152946edt.2.1677792143768; Thu, 02 Mar 2023 13:22:23 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 13/23] hw/isa/piix4: Make PIIX4's ACPI and USB functions optional Date: Thu, 2 Mar 2023 22:21:51 +0100 Message-Id: <20230302212201.224360-14-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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: 1677792267812100001 Content-Type: text/plain; charset="utf-8" This aligns PIIX4 with PIIX3. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin Message-Id: <20221022150508.26830-30-shentey@gmail.com> --- hw/isa/piix4.c | 44 ++++++++++++++++++++++++++++++++------------ hw/mips/malta.c | 6 ++++-- 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index e0b149f8eb..c13f68733b 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -51,9 +51,16 @@ struct PIIX4State { PCIIDEState ide; UHCIState uhci; PIIX4PMState pm; + + uint32_t smb_io_base; + /* Reset Control Register */ MemoryRegion rcr_mem; uint8_t rcr; + + bool has_acpi; + bool has_usb; + bool smm_enabled; }; =20 OBJECT_DECLARE_SIMPLE_TYPE(PIIX4State, PIIX4_PCI_DEVICE) @@ -234,17 +241,26 @@ static void piix4_realize(PCIDevice *dev, Error **err= p) } =20 /* USB */ - qdev_prop_set_int32(DEVICE(&s->uhci), "addr", dev->devfn + 2); - if (!qdev_realize(DEVICE(&s->uhci), BUS(pci_bus), errp)) { - return; + if (s->has_usb) { + object_initialize_child(OBJECT(dev), "uhci", &s->uhci, + TYPE_PIIX4_USB_UHCI); + qdev_prop_set_int32(DEVICE(&s->uhci), "addr", dev->devfn + 2); + if (!qdev_realize(DEVICE(&s->uhci), BUS(pci_bus), errp)) { + return; + } } =20 /* ACPI controller */ - qdev_prop_set_int32(DEVICE(&s->pm), "addr", dev->devfn + 3); - if (!qdev_realize(DEVICE(&s->pm), BUS(pci_bus), errp)) { - return; + if (s->has_acpi) { + object_initialize_child(OBJECT(s), "pm", &s->pm, TYPE_PIIX4_PM); + qdev_prop_set_int32(DEVICE(&s->pm), "addr", dev->devfn + 3); + qdev_prop_set_uint32(DEVICE(&s->pm), "smb_io_base", s->smb_io_base= ); + qdev_prop_set_bit(DEVICE(&s->pm), "smm-enabled", s->smm_enabled); + 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[9]); =20 pci_bus_irqs(pci_bus, piix4_set_irq, s, PIIX_NUM_PIRQS); } @@ -255,13 +271,16 @@ static void piix4_init(Object *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); - - 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 Property piix4_props[] =3D { + DEFINE_PROP_UINT32("smb_io_base", PIIX4State, smb_io_base, 0), + DEFINE_PROP_BOOL("has-acpi", PIIX4State, has_acpi, true), + DEFINE_PROP_BOOL("has-usb", PIIX4State, has_usb, true), + DEFINE_PROP_BOOL("smm-enabled", PIIX4State, smm_enabled, false), + DEFINE_PROP_END_OF_LIST(), +}; + static void piix4_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); @@ -280,6 +299,7 @@ static void piix4_class_init(ObjectClass *klass, void *= data) */ dc->user_creatable =3D false; dc->hotpluggable =3D false; + device_class_set_props(dc, piix4_props); } =20 static const TypeInfo piix4_info =3D { diff --git a/hw/mips/malta.c b/hw/mips/malta.c index ec172b111a..db5e5fd85c 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -1254,8 +1254,10 @@ 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, tr= ue, - TYPE_PIIX4_PCI_DEVICE); + piix4 =3D pci_new_multifunction(PIIX4_PCI_DEVFN, true, + 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.39.2 From nobody Fri May 3 15:14:25 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=1677792252; cv=none; d=zohomail.com; s=zohoarc; b=UTMwAbXnuryqwJXRg1CAHBgr+W89Vt1Qqrs7ZMgSAcDe2hyPqb1PrJI+/kAyTWW3t+Hk6+H/5oGMMFU6PNybc/i1x4UJZBAFo8T1J67qcu/WGYmS4LcHau8007jS568zP8cAbjksW3cAXecuIfAP3n/pKaGGPqlXpC2d7bdEQw8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792252; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ncEOz47FvL1Wpf7gpuacRny/qph+fgoFwgfMcvHxTw0=; b=Ze3Qw9OL++pbMufKQoqw3QeAKVmuZPhL6FcB5/PDroNYXXO1CDleTmAE+iLZQltI9CxqCywleN9UI+XqOIf7gHjIFxu0UqTxofmc2sOdFljBE8yqR4OjMqKwuILleLZqjevP23s7U7AYx0zcc9vYgGRnk/P2UsWaB1fqBzeY098= 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 1677792252322248.3672475617858; Thu, 2 Mar 2023 13:24:12 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNh-0000p3-Dp; Thu, 02 Mar 2023 16:22:29 -0500 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 1pXqNf-0000nu-N9 for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:27 -0500 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 1pXqNe-0002RM-9t for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:27 -0500 Received: by mail-ed1-x531.google.com with SMTP id o12so2402446edb.9 for ; Thu, 02 Mar 2023 13:22:25 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792145; 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=ncEOz47FvL1Wpf7gpuacRny/qph+fgoFwgfMcvHxTw0=; b=eNAhB8yaeO+tboY2U2yS4bNfKDsurYLRSjvY/Kr3dMt1kQ+AqQTNWWOLDFgFQZosNg rdGlEyfsKbG6fZoguVgk0D54Rx9y5glsgnnO7bZO38qcIwp36/ZCqnUWy3VedJh21F36 iCCU6fcNkstFiIWXrJmJX171dADNG2Ez22AqtUvmakYX3D29VM1WswuhRqAgNjnenwtk kfzYHdrQ8Ek/C/SxwXWRrOPk6vm+/44l7Z4F/3bZ4KGiWjyz4Vu01EhAjLDceO3UmRLt 40/PW0IYzG++ExjDR4RvF8S1Bb5zPw+V/cw2BSRzEb7azZm98l3oaFBWT9jlTEM8xa6K lOXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792145; 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=ncEOz47FvL1Wpf7gpuacRny/qph+fgoFwgfMcvHxTw0=; b=ashBIiqd6s1FyBqy70ik2fmlrvRphbPSzWRpauJmzZNW5mmSkD6DBYZMHN2u5Hefeb e3nu1NefkqajIO8Y/95jfhoDSksBaWYu3rgE+6GmBYU95VNYTGlNBd0455EcaEiSMn1I SJ31hg7qWyJHtmJiZsvV7ish0gan6IBhLuS5VdD9gn+zYqh6FqkUFodzB/z5MAcYSfel r5zXcA6AA0cXlmCipuMyp63NQhLfEpciAOxlMUzY40WysE8bLDiY0uzFd0xcTRIjUWR7 eRC3JdEnynCLXAXwHgU9vdq3wuAitEhXVFKJVqn956G58X/+SPn5GkVx1m5XM5sMcWwU Q1HQ== X-Gm-Message-State: AO0yUKUlPbj7T2dq9zg1aOjNPJLggUwpDdeBOg8MDcuOwMJT0lxOhgIH ibi4SzA2atKtIdph2b89rt4GposrjhQ= X-Google-Smtp-Source: AK7set9y7qitZE9Ur7ztZUL2T+Lbj1/9MR7U21sMk7a+X/D3YnXsd+qImo/bBspnjfL1xAEhYc0mHg== X-Received: by 2002:a17:906:9c90:b0:8b1:fc1a:7d19 with SMTP id fj16-20020a1709069c9000b008b1fc1a7d19mr12100863ejc.3.1677792144891; Thu, 02 Mar 2023 13:22:24 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 14/23] hw/isa/piix4: Remove unused inbound ISA interrupt lines Date: Thu, 2 Mar 2023 22:21:52 +0100 Message-Id: <20230302212201.224360-15-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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: 1677792253702100001 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 Message-Id: <20221022150508.26830-32-shentey@gmail.com> --- hw/isa/piix4.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index c13f68733b..a88ae859c4 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -155,12 +155,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) { @@ -204,8 +198,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.39.2 From nobody Fri May 3 15:14:25 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=1677792269; cv=none; d=zohomail.com; s=zohoarc; b=KhWHG91V1G65XFqjRGhR4ovUfyszp1Bjg3jkh5JISwOSCjyJkL0YoIIS8bvMRMcHrbaVezKj4vZcEuZvkPyZDcNNBjaBYh6gKBYVgJYqTBzf+RxBCTH+xPdwp714EnwEhUY8WUp9BVqHVfXAgKn21h50mnsn0BxQ3Jt70npfbmc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792269; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1bjJCHjPopHyUjvHSkW6nz42baGjBGYRhC6rag4UrU8=; b=JpdSke4q9C+raYT7IHrkdMmDV7JLVE6YVcsEyox9/J4QOnxZ6gkOkGCAai94MHKJJv9ea+jYaRFoK5ffbgZjSs5Hpf/A03RGgX4A3RT2H6vEjAHQR6gJ+stUciNSMX9uApATzlGTcEi0zqPtX+Um6upRnlJn5YO/E5i1t1KkTVQ= 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 1677792269379290.2540412186388; Thu, 2 Mar 2023 13:24:29 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNi-0000p8-2h; Thu, 02 Mar 2023 16:22:30 -0500 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 1pXqNg-0000of-NB for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:28 -0500 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 1pXqNe-0002NS-QT for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:28 -0500 Received: by mail-ed1-x532.google.com with SMTP id x3so2376732edb.10 for ; Thu, 02 Mar 2023 13:22:26 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792146; 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=1bjJCHjPopHyUjvHSkW6nz42baGjBGYRhC6rag4UrU8=; b=ad8AHzvMB/Z1Uvh2pt64o74blY9fOt7etGjJS812VzQgQypyBl1osbdL/iyrny97vD humYg9Uqz01PMmtbr68TlwjRJ/tMBCtWCe2fagZUd4uPoKlb5P8IYcj7iVVzehPSR1+7 zUnQZFFK6/PlY7bn62svIh20mpYXqcOlXQYKr1ZN3u1WmijvrA6DTto7VI28l3vzem28 sT77RCEK9IL6/OoNk07NHEGUtQLQQaCAwXJFEpz05m9P/6K5YeBw9Rjjg7CxTe3OlgZO Vc3rXhJ7XvFFtnd4lw4fCPJXdmvzBEArZXuVWJy3vCmHH9Tt7iVBTJJLlxYBPeqnigg5 dbzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792146; 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=1bjJCHjPopHyUjvHSkW6nz42baGjBGYRhC6rag4UrU8=; b=VuAzvHdAc0t/qchMbJFQp83cHrwGyfSO+nxW1W0T/8ZQMhyd0wYmr2OTIRjAoM6cYZ C2L5iMikkxgt6AE7dLeAx235ctiQ7Qx5krCLSSLYcVa0sNkzSjEJ/GS7wB/r4RRayHkr a9UTO0DM1iiO3pWgL5jZ8dOyxaXfE1Zu+8wcvGHMBKNWvEYXmiwxA7GSEOGkmYZ9ZUAV 6liJfYOJezhv6EmT0f6F06shbg6xQWPs4wlbeO6GihF0YL3Q1OZEWGuTraIYJ985/W5d jeO2+KHT6JB9B4hKxzrnDm45ZizZ/0BvSyvCfEjjwfaU6qKZ+ck1cpeef5v7E2n4phK9 YO8Q== X-Gm-Message-State: AO0yUKWzLO/Zz8pP94VTQd4do6FTwI2WGYNJlBApapVxyNUseUl3ptdg p5EE74YsJm8V+cnafihp+YwfHS96XUs= X-Google-Smtp-Source: AK7set+c+zCQxo5ZiDJROVIuYiTsGJyEhhhnNArKXjcKBG/S09bt040gyDg+1SpcHYEcshNMVRLeig== X-Received: by 2002:a17:906:4a10:b0:864:223:40b with SMTP id w16-20020a1709064a1000b008640223040bmr13967653eju.33.1677792145806; Thu, 02 Mar 2023 13:22:25 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 15/23] hw/isa/piix4: Reuse struct PIIXState from PIIX3 Date: Thu, 2 Mar 2023 22:21:53 +0100 Message-Id: <20230302212201.224360-16-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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: 1677792269930100005 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 which is only used by PIIX4. Signed-off-by: Bernhard Beschow --- include/hw/southbridge/piix.h | 1 + hw/isa/piix4.c | 62 +++++++++++------------------------ 2 files changed, 21 insertions(+), 42 deletions(-) diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h index 62fc5ddab9..b60061d2d7 100644 --- a/include/hw/southbridge/piix.h +++ b/include/hw/southbridge/piix.h @@ -50,6 +50,7 @@ struct PIIXState { #endif uint64_t pic_levels; =20 + qemu_irq cpu_intr; qemu_irq *pic; =20 /* This member isn't used. Just for save/load compatibility */ diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index a88ae859c4..b74b7dc5d3 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -42,33 +42,10 @@ #include "sysemu/runstate.h" #include "qom/object.h" =20 -struct PIIX4State { - PCIDevice dev; - qemu_irq cpu_intr; - qemu_irq *isa; - - MC146818RtcState rtc; - PCIIDEState ide; - UHCIState uhci; - PIIX4PMState pm; - - uint32_t smb_io_base; - - /* Reset Control Register */ - MemoryRegion rcr_mem; - uint8_t rcr; - - bool has_acpi; - bool has_usb; - bool smm_enabled; -}; - -OBJECT_DECLARE_SIMPLE_TYPE(PIIX4State, PIIX4_PCI_DEVICE) - 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 = */ @@ -82,13 +59,13 @@ static void piix4_set_irq(void *opaque, int irq_num, in= t level) pic_level |=3D pci_bus_get_irq_level(bus, i); } } - qemu_set_irq(s->isa[pic_irq], pic_level); + qemu_set_irq(s->pic[pic_irq], pic_level); } } =20 static void piix4_isa_reset(DeviceState *dev) { - PIIX4State *d =3D PIIX4_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 @@ -123,12 +100,13 @@ static void piix4_isa_reset(DeviceState *dev) pci_conf[0xac] =3D 0x00; pci_conf[0xae] =3D 0x00; =20 + d->pic_levels =3D 0; /* not used in PIIX4 */ d->rcr =3D 0; } =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; @@ -143,22 +121,22 @@ 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() } }; =20 static void piix4_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 static void piix4_rcr_write(void *opaque, hwaddr addr, uint64_t val, unsigned int len) { - PIIX4State *s =3D opaque; + PIIXState *s =3D opaque; =20 if (val & 4) { qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); @@ -170,7 +148,7 @@ static void piix4_rcr_write(void *opaque, hwaddr addr, = uint64_t val, =20 static uint64_t piix4_rcr_read(void *opaque, hwaddr addr, unsigned int len) { - PIIX4State *s =3D opaque; + PIIXState *s =3D opaque; =20 return s->rcr; } @@ -187,7 +165,7 @@ static const MemoryRegionOps piix4_rcr_ops =3D { =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; @@ -208,10 +186,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->pic =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->pic); =20 /* initialize pit */ i8254_pit_init(isa_bus, 0x40, 0, NULL); @@ -251,7 +229,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->pic[9]); } =20 pci_bus_irqs(pci_bus, piix4_set_irq, s, PIIX_NUM_PIRQS); @@ -259,17 +237,17 @@ static void piix4_realize(PCIDevice *dev, Error **err= p) =20 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); } =20 static Property piix4_props[] =3D { - DEFINE_PROP_UINT32("smb_io_base", PIIX4State, smb_io_base, 0), - DEFINE_PROP_BOOL("has-acpi", PIIX4State, has_acpi, true), - DEFINE_PROP_BOOL("has-usb", PIIX4State, has_usb, true), - DEFINE_PROP_BOOL("smm-enabled", PIIX4State, 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 @@ -297,7 +275,7 @@ static void piix4_class_init(ObjectClass *klass, void *= data) static const TypeInfo piix4_info =3D { .name =3D TYPE_PIIX4_PCI_DEVICE, .parent =3D TYPE_PCI_DEVICE, - .instance_size =3D sizeof(PIIX4State), + .instance_size =3D sizeof(PIIXState), .instance_init =3D piix4_init, .class_init =3D piix4_class_init, .interfaces =3D (InterfaceInfo[]) { --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792298; cv=none; d=zohomail.com; s=zohoarc; b=DUOhDBcZzrQjWS3wKkk2yfvKPzzT4JgLYTfbsz2LuVcr069ohV9nRR9j6K+b+0nkwFqMfrI2dR8fDUm73Kuwi/LZ+L8U8MtJT52oNzCqHmf+UFbaHRvpSWHzbBKsJIyRGpSW1dxVZcSof8xEPXVetm+mgeKxkwrPHt9/PCEyT2U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792298; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zixELIAqxL8NFNKifykT+zC7EYsj/RbTSc+eJBRLJJo=; b=IRkdxlGX73irB6aKTiqZ7IBk+8rh6GuMTG1+i9EOghWlUEUa5PcTBj/OT4WyqIvlqzz4a6fY2A3O80yFzInq5fCmtMT1pRNGKUUqaPnMcG1NJBZmz6yYERjDtRPV/h8gEicW2T9H8YSv5DIALiv7ypby4XZQpWmFHub1cZKxWS8= 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 1677792298415856.9499344901019; Thu, 2 Mar 2023 13:24:58 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNj-0000pT-10; Thu, 02 Mar 2023 16:22:31 -0500 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 1pXqNi-0000pB-4w for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:30 -0500 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pXqNg-0002Ri-Il for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:29 -0500 Received: by mail-ed1-x535.google.com with SMTP id g3so2583638eda.1 for ; Thu, 02 Mar 2023 13:22:28 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792147; 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=zixELIAqxL8NFNKifykT+zC7EYsj/RbTSc+eJBRLJJo=; b=Aqt32CswHncEToqVPzzk1Uaiu92vY7RfcCHQ+AdQgLyilIOxfRjZ87avDxVnmtutD4 ubUDceB54zSBLSKczUliQde7zid8PN2WLkSV/hjtFJK3H3P+/G3YXkuOqC0v0CWu3IXE BcDRyiDQ4grJUloAWuHTGN+RNNACoCurX9U3ZXfBBKEWfllO0RFVQwmxuHNmO00SaTW2 TPd4LMW1vTpd+3Yj19fS9D62WS8WLn2/mGccc0gRppY88UkH+zqHhhmKMJYfEav8j4lv dvciSmRqe7cKfwloknV9nmGT4KiBtTL1PdvoHdzcAndhv89CxLLU266yabN6BxFNYqs+ KJVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792147; 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=zixELIAqxL8NFNKifykT+zC7EYsj/RbTSc+eJBRLJJo=; b=QfkNRKuSrhMPxrlXcSwH9jEJHX5NYNSfShG7bsOw/zgufn/4KdhMbjrArHhSjO1RFk 5/MGC5dJ+SMaL/I+whr0LM2nJnseXGdoLWSVY3WO63gJsrE0HSvTnaoRpnefG/oy847j cDzzGvUUM6Wm00dj6SPZJWmaVrdO7QjdDB254npFKq0UMnmwdXHF6Rk3jyP3JT7szQQP udZQRXhr1R1WAnANWHNbrcGIPYNvllh7Dh6nBJ2JeoAdML15GKuAJRw/eAHfhyNzg67A u7eZizvMmv3LW18ATu0hXqDdYYn0fYlC8et+cVQMFEvVFNzTNCz45iPWOPFqO3ZsGolf FjkA== X-Gm-Message-State: AO0yUKUmJs42Y3PuVAIgF5EGiY2qadmdcLZfTZygVNPTPpZYWIqhGswk OKldEnV3cYbAlSpM+hewpDMVFUujyJw= X-Google-Smtp-Source: AK7set98uSljXkwGv4gcJHfzaSs9nGg6CuCzW4AG3T1uyydr5LdYMpwWjScqnIhSs6GIDYdhNnnbsQ== X-Received: by 2002:a17:906:a93:b0:8aa:c358:fc01 with SMTP id y19-20020a1709060a9300b008aac358fc01mr12406571ejf.67.1677792146777; Thu, 02 Mar 2023 13:22:26 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 16/23] hw/isa/piix4: Create the "intr" property during init() already Date: Thu, 2 Mar 2023 22:21:54 +0100 Message-Id: <20230302212201.224360-17-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::535; envelope-from=shentey@gmail.com; helo=mail-ed1-x535.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: 1677792300027100003 Content-Type: text/plain; charset="utf-8" Only PIIX4 provides this property while PIIX3 doesn't. Unlike initialize() methods, init() methods allow for device-specific quirks without having to call the parent method. So move the creation of the property into PIIX4's init() method as a preparation of the code merge and the subsequent cleanup of the realize methods. Signed-off-by: Bernhard Beschow --- hw/isa/piix4.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index b74b7dc5d3..d70c74dcf9 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -176,9 +176,6 @@ static void piix4_realize(PCIDevice *dev, Error **errp) return; } =20 - qdev_init_gpio_out_named(DEVICE(dev), &s->cpu_intr, - "intr", 1); - memory_region_init_io(&s->rcr_mem, OBJECT(dev), &piix4_rcr_ops, s, "reset-control", 1); memory_region_add_subregion_overlap(pci_address_space_io(dev), @@ -239,6 +236,8 @@ static void piix4_init(Object *obj) { PIIXState *s =3D PIIX_PCI_DEVICE(obj); =20 + qdev_init_gpio_out_named(DEVICE(obj), &s->cpu_intr, "intr", 1); + object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC); object_initialize_child(obj, "ide", &s->ide, TYPE_PIIX4_IDE); } --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792260; cv=none; d=zohomail.com; s=zohoarc; b=JjpZz7sZ0HmXoX6dEI/O74FO4INrTkedtyze2jWCQFPHNhn29EkulF/tRq17RBJ/qgE7Lpc/4Ej1bAzpQw315hHdtV3LahXLwJz+Mjf0PfrMwSucXZc9iZI5RDMyq5E693wOIOcrai8FBWpscq2SO1bq1KFCCi/HVuVZ0uCaVVA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792260; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5OrUE/U70BJ7maQb3sQsawvs53yVkt6J0fA/3K8eiXs=; b=IHG4iNVmeTutsZOBqdnrZRd0VxOZeXrGqxsBXvzO4//dU/QYQJVdHbpPT+iuNdrkN/QxEueLRBAvq/Xt7ktdWwi6H7KnnxXTZF56poFA7n0Pot/3sC9cJ8w7dF3Gjwf1arlxSfay36jte4mEl5coPvPiM7cFNt1gU+38dC+Fb4o= 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 1677792260428827.7629467800548; Thu, 2 Mar 2023 13:24:20 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNj-0000pf-L8; Thu, 02 Mar 2023 16:22:31 -0500 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 1pXqNi-0000pD-8v for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:30 -0500 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pXqNg-0002PR-Ne for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:30 -0500 Received: by mail-ed1-x530.google.com with SMTP id cy23so2336429edb.12 for ; Thu, 02 Mar 2023 13:22:28 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792148; 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=5OrUE/U70BJ7maQb3sQsawvs53yVkt6J0fA/3K8eiXs=; b=ATddspeJpiRORXo/jBvzk0gZ3OMuIKpWlBWy+AppTO/U7I75KhTtW0Wf9Dux+JrBJv 9ShQ7Ljb9uh0+ZlmbwMS8bms4HlCAt06p4pm2SjbzZ80JZPDQ9MGcleVKMvXeCpYgGU2 c4U9gBozEht6FDJWueGcLGEH6Rpdc5C7fbriPVrXdBdUDWu68flvaAhoSRg8fYjiVTzm nMjgkqBptyCqhNo+Wq9l9aiC6h0XI5Bjonrgc+x1AFSIkHlsuigVT0GJTxustamt9lc0 C31j2YHlbkcisYWSuUqhyTDzmnjU0Bn6NpXD+Jv+wuponcpPSP9VRtkeIyQdcjQNoVZt F14Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792148; 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=5OrUE/U70BJ7maQb3sQsawvs53yVkt6J0fA/3K8eiXs=; b=6ZaluBDQBJn1IWWH3CSWSv728Ndsj1ghpQPKGVDEBHNzBVdiSd4K2zDAmcIwceO9jQ Qe+qBVuJ230gsUP+IE4nibdwgU/KJceXei3+uzriB82uPpMiFH1NPxiLfVlfe0ss1KIw biO7hNjT5ZTvgtrv7TQNy7i0X1Nz2aZF1/147DEWEsJa/WVFX/Fcgbb0GvK37dKdV5Jl l6uL/Fo6Mas+nnTmzJE28ISOUw/Peb22H+w99skd+Wah1sNznXse2CpPkJi50OlUDDkj fohpRerJXWutlyV+iiKf3yxXw/pVIS90ufx/kuka/FKMX/5DX9bajGppavwwupTe00UP vOmg== X-Gm-Message-State: AO0yUKXo2pxN/V1GybtGozokL+986vM149WJdSQBosy15va2cuQuMqEK vbxa77DUmKX+vIASW5ckYUszgwwO97w= X-Google-Smtp-Source: AK7set8RHbFe2YRDqyEFBbTat9Zlm35JDysVRC5RwJFhEVYsdNG43XLVaM5C0HZOi/0cQf7hXZQlhQ== X-Received: by 2002:a17:907:3e1a:b0:8b1:7f87:8174 with SMTP id hp26-20020a1709073e1a00b008b17f878174mr15450779ejc.65.1677792147889; Thu, 02 Mar 2023 13:22:27 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 17/23] hw/isa/piix4: Rename reset control operations to match PIIX3 Date: Thu, 2 Mar 2023 22:21:55 +0100 Message-Id: <20230302212201.224360-18-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::530; envelope-from=shentey@gmail.com; helo=mail-ed1-x530.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: 1677792261738100003 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 Message-Id: <20221022150508.26830-35-shentey@gmail.com> --- 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 d70c74dcf9..9388767d74 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -133,8 +133,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) { PIIXState *s =3D opaque; =20 @@ -146,16 +146,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) { PIIXState *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, @@ -176,7 +176,7 @@ static void piix4_realize(PCIDevice *dev, Error **errp) return; } =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.39.2 From nobody Fri May 3 15:14:25 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=1677792315; cv=none; d=zohomail.com; s=zohoarc; b=EDHso0Lc0CG7Sq4rIqIp6r2gIcX8Y1Aoroz0TgpbRCLTmsOnrc23SLVdegYg47CyOhv/BYNIB7L+5CuldL6QcxFvK94hNcMrnt+l483UXEtp2imswJlJnSkW5OLqllUDIzs1EpxBk8Pd7h32oKbbW+Pnsk9bsizyY+Y+EEo9pHo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792315; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=+OYWOyRxUm4eFdJ0drUOwqxErmfS/87yTD7Q4TnP04o=; b=G0oSGfzkYqb7CqnGBqCmeNDUaTPpTf3FYNjcbV5udeMt6MfABU8aUpBj3sxzQ6lzid9dgKCjE53d6TGXOBLhiUoLCn/sohuWvo6UBrg0WgQZQl5ofhEgbjIVgodzI1+RA8COhQDzkiJc26DAkUGQiRtbWYpPwk602+e0nYBWYlk= 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 1677792315645621.277362278921; Thu, 2 Mar 2023 13:25:15 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNn-0000rZ-75; Thu, 02 Mar 2023 16:22:35 -0500 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 1pXqNl-0000qm-AW for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:33 -0500 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 1pXqNi-0002SC-KQ for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:33 -0500 Received: by mail-ed1-x531.google.com with SMTP id s26so2353964edw.11 for ; Thu, 02 Mar 2023 13:22:30 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792149; 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=+OYWOyRxUm4eFdJ0drUOwqxErmfS/87yTD7Q4TnP04o=; b=XNxOQUfpvr3vG2IsF9PYQQKr3HPZwJBUAFwDgk6mpyV1mQc/hO7W99nSuAiVVKTH+W hF2Zg8nfBGgQUG+EuQpsMEeqVqga5wMqXk11eYzkZ/aFcQS+CCsG+lBUxwMEiOplfPel Won3kO6Yr7BLkU6UujKykuQ3hg7M0c9XUlGcdz1yEw7O++BlwZinaPQS3XGZq6U6u2Ue b78vHjJfabCcrPqQmrVLUxbd5N6WWx2sCoqs5V3vUmBLjdGL/PZTfk3wXv2Ph0oqah1x /gvUi1LCgVQEpJ1zZHQi+jLm8KEsOrBgOdV1Iiveo3s+vKboFcJCgVvGvyDuKMCPrOO+ Vlyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792149; 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=+OYWOyRxUm4eFdJ0drUOwqxErmfS/87yTD7Q4TnP04o=; b=lYIivHGwigA7634z1Xbw63IiMFeTut5/8xpjFLEOSwZxiUbai8kYeEWExUB4pLXP5M nSSHuJ/n0Ecs5vBgmsnHx4jD9sh2qcreYWcwTzbXtM7hN2mIhjwx6oB0QKxR9WS6hR4n jC3P0S2vxNLe6m+HJCiLmHJGx2Cd/GTAwbFLzW5zI8nKGfn7kYSbkm0zH2IgB5APboiR 2V8+Auy+2dbJo9qzPE8wAogmCidnLRjkhYl9Q2bpA5H+Tw183MNBloTlrfmWQM5yWRx4 J0Ud3bcPwIIi3WpG6ln+c2p1RwYeRLGYtPvupBcoU1NWGF5KXscqdPHA0J1/W8tB/B71 7ckA== X-Gm-Message-State: AO0yUKWprs9X13lttCL9f/o/fgcD8Bhou3sac2TIWFYHnPo0YCEIbf0F 6Hq3gwBTXzU75OrWGrGpzJoXAv/rofc= X-Google-Smtp-Source: AK7set+Akn+XpZVuOKf8QtFVYQbQ58iFzY7ax2fOWjvCnpR0hQShSwEfs6NT4MmJb0zMzwZqojZbag== X-Received: by 2002:a17:906:2da9:b0:8b1:3554:25 with SMTP id g9-20020a1709062da900b008b135540025mr10270032eji.61.1677792148950; Thu, 02 Mar 2023 13:22:28 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 18/23] hw/isa/piix3: Merge hw/isa/piix4.c Date: Thu, 2 Mar 2023 22:21:56 +0100 Message-Id: <20230302212201.224360-19-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::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: 1677792316167100001 Now that the PIIX3 and PIIX4 device models are sufficiently consolidated, their implementations can be merged into one file for further consolidation. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin Message-Id: <20221022150508.26830-37-shentey@gmail.com> --- MAINTAINERS | 6 +- hw/isa/{piix3.c =3D> piix.c} | 165 +++++++++++++++++++++ hw/isa/piix4.c | 291 ------------------------------------- hw/i386/Kconfig | 2 +- hw/isa/Kconfig | 11 +- hw/isa/meson.build | 3 +- hw/mips/Kconfig | 2 +- 7 files changed, 172 insertions(+), 308 deletions(-) rename hw/isa/{piix3.c =3D> piix.c} (74%) delete mode 100644 hw/isa/piix4.c diff --git a/MAINTAINERS b/MAINTAINERS index e96e9dbfe6..3fe5cb359e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1255,7 +1255,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 @@ -1674,7 +1674,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 @@ -2363,7 +2363,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 74% rename from hw/isa/piix3.c rename to hw/isa/piix.c index 2de1112171..09d411a6b7 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,9 +28,11 @@ #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 "hw/xen/xen.h" #include "sysemu/runstate.h" @@ -81,6 +84,27 @@ 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; + 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->pic[pic_irq], pic_level); + } +} + static PCIINTxRoute piix3_route_intx_pin_to_irq(void *opaque, int pin) { PIIXState *piix3 =3D opaque; @@ -208,6 +232,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) +{ + PIIXState *s =3D opaque; + + if (version_id =3D=3D 2) { + s->rcr =3D 0; + } + + return 0; +} + static int piix3_pre_save(void *opaque) { int i; @@ -257,6 +292,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, PIIXState), + VMSTATE_UINT8_V(rcr, PIIXState, 3), + VMSTATE_END_OF_LIST() + } +}; =20 static void rcr_write(void *opaque, hwaddr addr, uint64_t val, unsigned le= n) { @@ -479,11 +525,130 @@ static const TypeInfo piix3_xen_info =3D { .class_init =3D piix3_xen_class_init, }; =20 +static void piix4_request_i8259_irq(void *opaque, int irq, int level) +{ + PIIXState *s =3D opaque; + qemu_set_irq(s->cpu_intr, level); +} + +static void piix4_realize(PCIDevice *dev, Error **errp) +{ + PIIXState *s =3D PIIX_PCI_DEVICE(dev); + PCIBus *pci_bus =3D pci_get_bus(dev); + ISABus *isa_bus; + qemu_irq *i8259_out_irq; + + isa_bus =3D isa_bus_new(DEVICE(dev), pci_address_space(dev), + pci_address_space_io(dev), errp); + if (!isa_bus) { + return; + } + + 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); + s->pic =3D i8259_init(isa_bus, *i8259_out_irq); + + /* initialize ISA irqs */ + isa_bus_register_input_irqs(isa_bus, s->pic); + + /* 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 s->pic[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 */ + if (s->has_usb) { + object_initialize_child(OBJECT(dev), "uhci", &s->uhci, + TYPE_PIIX4_USB_UHCI); + qdev_prop_set_int32(DEVICE(&s->uhci), "addr", dev->devfn + 2); + if (!qdev_realize(DEVICE(&s->uhci), BUS(pci_bus), errp)) { + return; + } + } + + /* ACPI controller */ + if (s->has_acpi) { + object_initialize_child(OBJECT(s), "pm", &s->pm, TYPE_PIIX4_PM); + qdev_prop_set_int32(DEVICE(&s->pm), "addr", dev->devfn + 3); + qdev_prop_set_uint32(DEVICE(&s->pm), "smb_io_base", s->smb_io_base= ); + qdev_prop_set_bit(DEVICE(&s->pm), "smm-enabled", s->smm_enabled); + if (!qdev_realize(DEVICE(&s->pm), BUS(pci_bus), errp)) { + return; + } + qdev_connect_gpio_out(DEVICE(&s->pm), 0, s->pic[9]); + } + + pci_bus_irqs(pci_bus, piix4_set_irq, s, PIIX_NUM_PIRQS); +} + +static void piix4_init(Object *obj) +{ + PIIXState *s =3D PIIX_PCI_DEVICE(obj); + + qdev_init_gpio_out_named(DEVICE(obj), &s->cpu_intr, "intr", 1); + + object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC); + object_initialize_child(obj, "ide", &s->ide, TYPE_PIIX4_IDE); +} + +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 piix_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; + device_class_set_props(dc, pci_piix_props); +} + +static const TypeInfo piix4_info =3D { + .name =3D TYPE_PIIX4_PCI_DEVICE, + .parent =3D TYPE_PCI_DEVICE, + .instance_size =3D sizeof(PIIXState), + .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(&piix3_xen_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 9388767d74..0000000000 --- a/hw/isa/piix4.c +++ /dev/null @@ -1,291 +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" - -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->pic[pic_irq], pic_level); - } -} - -static void piix4_isa_reset(DeviceState *dev) -{ - PIIXState *d =3D PIIX_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->pic_levels =3D 0; /* not used in PIIX4 */ - d->rcr =3D 0; -} - -static int piix4_post_load(void *opaque, int version_id) -{ - PIIXState *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, PIIXState), - VMSTATE_UINT8_V(rcr, PIIXState, 3), - VMSTATE_END_OF_LIST() - } -}; - -static void piix4_request_i8259_irq(void *opaque, int irq, int level) -{ - PIIXState *s =3D opaque; - qemu_set_irq(s->cpu_intr, level); -} - -static void rcr_write(void *opaque, hwaddr addr, uint64_t val, - unsigned int len) -{ - PIIXState *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) -{ - PIIXState *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) -{ - PIIXState *s =3D PIIX_PCI_DEVICE(dev); - PCIBus *pci_bus =3D pci_get_bus(dev); - ISABus *isa_bus; - qemu_irq *i8259_out_irq; - - isa_bus =3D isa_bus_new(DEVICE(dev), pci_address_space(dev), - pci_address_space_io(dev), errp); - if (!isa_bus) { - return; - } - - 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); - s->pic =3D i8259_init(isa_bus, *i8259_out_irq); - - /* initialize ISA irqs */ - isa_bus_register_input_irqs(isa_bus, s->pic); - - /* 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 */ - if (s->has_usb) { - object_initialize_child(OBJECT(dev), "uhci", &s->uhci, - TYPE_PIIX4_USB_UHCI); - qdev_prop_set_int32(DEVICE(&s->uhci), "addr", dev->devfn + 2); - if (!qdev_realize(DEVICE(&s->uhci), BUS(pci_bus), errp)) { - return; - } - } - - /* ACPI controller */ - if (s->has_acpi) { - object_initialize_child(OBJECT(s), "pm", &s->pm, TYPE_PIIX4_PM); - qdev_prop_set_int32(DEVICE(&s->pm), "addr", dev->devfn + 3); - qdev_prop_set_uint32(DEVICE(&s->pm), "smb_io_base", s->smb_io_base= ); - qdev_prop_set_bit(DEVICE(&s->pm), "smm-enabled", s->smm_enabled); - if (!qdev_realize(DEVICE(&s->pm), BUS(pci_bus), errp)) { - return; - } - qdev_connect_gpio_out(DEVICE(&s->pm), 0, s->pic[9]); - } - - pci_bus_irqs(pci_bus, piix4_set_irq, s, PIIX_NUM_PIRQS); -} - -static void piix4_init(Object *obj) -{ - PIIXState *s =3D PIIX_PCI_DEVICE(obj); - - qdev_init_gpio_out_named(DEVICE(obj), &s->cpu_intr, "intr", 1); - - object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC); - object_initialize_child(obj, "ide", &s->ide, TYPE_PIIX4_IDE); -} - -static Property piix4_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-usb", PIIXState, has_usb, true), - DEFINE_PROP_BOOL("smm-enabled", PIIXState, smm_enabled, false), - DEFINE_PROP_END_OF_LIST(), -}; - -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; - device_class_set_props(dc, piix4_props); -} - -static const TypeInfo piix4_info =3D { - .name =3D TYPE_PIIX4_PCI_DEVICE, - .parent =3D TYPE_PCI_DEVICE, - .instance_size =3D sizeof(PIIXState), - .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 cfbe75d5b0..62adf440f2 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 8bf678ca0a..314bbd0860 100644 --- a/hw/isa/meson.build +++ b/hw/isa/meson.build @@ -3,8 +3,7 @@ softmmu_ss.add(when: 'CONFIG_I82378', if_true: files('i8237= 8.c')) softmmu_ss.add(when: 'CONFIG_ISA_BUS', if_true: files('isa-bus.c')) softmmu_ss.add(when: 'CONFIG_ISA_SUPERIO', if_true: files('isa-superio.c')) softmmu_ss.add(when: 'CONFIG_PC87312', if_true: files('pc87312.c')) -softmmu_ss.add(when: 'CONFIG_PIIX3', if_true: files('piix3.c')) -softmmu_ss.add(when: 'CONFIG_PIIX4', if_true: files('piix4.c')) +softmmu_ss.add(when: 'CONFIG_PIIX', if_true: files('piix.c')) softmmu_ss.add(when: 'CONFIG_SMC37C669', if_true: files('smc37c669-superio= .c')) softmmu_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.39.2 From nobody Fri May 3 15:14:25 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=1677792214; cv=none; d=zohomail.com; s=zohoarc; b=gUi7bKkiGeGeQrGpyRWCGIwIbjiGSJ2CAkEoXUBI7lH3z8eqnYs9ZJbYFKYN8XbtPo+Nx0Vo/oXJYVA72G0e4AvRzsXTxsqdL0GNVAuvoMR9pThf+3326e27+gEr6+PYwMR29laMy1804dSVV3Nmd6Dp4zXvgLNdtSuk3Hch4tk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792214; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=yUnc9UP62zjLRuhYByUP2+UPOyRSwBRtfaQiBc6V0dM=; b=grABPkLzHS/xniPUPXLNILZU7wkWQj2AQkAUitkYYb45IS0+wtl3z/N2WESumeRrL5sI0rtqatGgFBChpz1dLafw2tVk0aZVlMgqPYvs1SuGyiUT/XZEeoHsvwxCHPxt1KhcKZKM8zFeSyE8KWRtEM9mH9UnnenjMB44tGgeRng= 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 1677792214950162.21945317760867; Thu, 2 Mar 2023 13:23:34 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNm-0000rB-CY; Thu, 02 Mar 2023 16:22:34 -0500 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 1pXqNk-0000qb-J4 for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:32 -0500 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 1pXqNi-0002Op-UD for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:32 -0500 Received: by mail-ed1-x531.google.com with SMTP id i34so2451061eda.7 for ; Thu, 02 Mar 2023 13:22:30 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792150; 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=yUnc9UP62zjLRuhYByUP2+UPOyRSwBRtfaQiBc6V0dM=; b=kM4hHDMkVQcyVHkc+GVVyZLc6wBIPqsQ+i5SObscl8D5UKgEP3MDhMJQv52gYj3yiO f4qLpnpXfXIcilWXeauUdM4xQwoQjrXPmeUHkvxJ8RC0r6d7tkUv3+jhDQrjC7aIITkJ vQ8JJ1D+UPL3jJY+mC0g8AFg7w7lsDHS+4chNNh2jwU6jNCxOU+oAx9E4rz/TMsIM4U3 EylvRXN8LcEtc1zUL0NsZkzZakRODy6APjkv7Me+EW6HZitmmkY2ydW5i+e9RcSJZF1n 4SQ8qav4kNGM/VFw/h93vBhFvr5phqs6CVKjk9LTve8knUtKyJj5IH/K6LWdav8KzRNa HwdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792150; 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=yUnc9UP62zjLRuhYByUP2+UPOyRSwBRtfaQiBc6V0dM=; b=hu2eA2hv7GI9Cd5DlE0XJzghsK70/85gLeVF6BlaYoX1B7ZCwUV8WF1xfcUTo91Kba k2LI/hrJHUabLrpBat7/FgHfmDxCLFY4JmUwpTojjCaW+oS+6px4iSJB1bRADJoaLwZv s56iXdRFd5OQWbBnuS1LlOfGf2SGfLBnUnEXVTbb1loAZQ+YwXHjLAT21FhRUzu7Ozbh QMz7d3db4vCVAY7rjv8z72URVjUiShnQOYflO1a96P8uDnl1IUUvh9RrrZKk6CrLp5vi gJilu64Ya6B0w/eAZYnHnBqnfbEKDSJppCy/agJK0d9l32zPW9lPW515EHWtnkkZxDzU /U5A== X-Gm-Message-State: AO0yUKV9naKd0jT6wfE0bKBvJmQNFaFkBD0MXSZ5c4bgdc3lTIrvpPab r/VF/xpLQSAumfYZPaKPUsgk77Yawfw= X-Google-Smtp-Source: AK7set+dGAvtUKgh6pujTG3Br9UN/DT/Nz4JE1pkF8mwJ6FiMRi7iwuOcaB95eQotLwFrHlkclosKw== X-Received: by 2002:a17:907:628a:b0:889:794d:f412 with SMTP id nd10-20020a170907628a00b00889794df412mr13776983ejc.10.1677792149886; Thu, 02 Mar 2023 13:22:29 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 19/23] hw/isa/piix: Harmonize names of reset control memory regions Date: Thu, 2 Mar 2023 22:21:57 +0100 Message-Id: <20230302212201.224360-20-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::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: 1677792216069100001 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 Message-Id: <20221022150508.26830-38-shentey@gmail.com> --- 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 09d411a6b7..8206cbebf3 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -345,7 +345,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 @@ -545,7 +545,7 @@ static void piix4_realize(PCIDevice *dev, Error **errp) } =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.39.2 From nobody Fri May 3 15:14:25 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=1677792248; cv=none; d=zohomail.com; s=zohoarc; b=Llxuloo+DuUVjTI/v2O5u6hdMH2VIfdpF0KtTEHjlyBEzI+COF43W5fiCAZO5Oc1NKkU+ggM7GDZiX/8OlQwZ7Oo9k0lC3Rl9tCMY0XJfJXcGdtCwJBLhavS6586t7N3dsVi6EnBKNLF6oI/hgwtUa+YZN0q6ESw/v78lkAScAg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792248; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qAhyJnCASmVYNz2C++4x3cLZkEKpScng4rvFLIxlK/s=; b=FbtyRqqmIaHlGR1r5H4rk80UQqTFjOU7WKuMAZDRgFQGWAgO3DUgldq/6AVcs2513JlNbOz7VhU5WTVul26d+il7emDrUKgHYIJZwDoqxcUC11FbEpEpOiuojHKmMdJsao/3XJYKUA4DgH/51sU19FVAovpjDfsEuOtFOGoK2xw= 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 1677792248563589.0648877688178; Thu, 2 Mar 2023 13:24:08 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNq-0000si-2k; Thu, 02 Mar 2023 16:22:38 -0500 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 1pXqNm-0000r9-Fq for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:34 -0500 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 1pXqNk-0002Sy-IT for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:34 -0500 Received: by mail-ed1-x536.google.com with SMTP id da10so2537420edb.3 for ; Thu, 02 Mar 2023 13:22:32 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792151; 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=qAhyJnCASmVYNz2C++4x3cLZkEKpScng4rvFLIxlK/s=; b=H8viYHdahmkcNBlynrHMJaN+00UOQhXQbqcVMdUbg9HHUuvnk55XwVfuzOu0kORNq9 cyMaScuGPTjrG872jaYT9Kx8rG12+Q8RZya7L2phVzL+mzjsD0VCTLhZgpyxXC776b5C msyVqfo1YkQjegr3P1KFRE4JClY9mTQY/Eah2Z23WQDZ0LZtBpVFRu3TIBnoE7do/2LM DPwDrTj/Z0n+R992vXEPjhsb7DYl7yde0kojqpae/5HycuA3fOOHbkFF0zh83asXYXhD lQxEqpGMc6iY9HcmaYKsUL2X51gHqKXVe/ZeR9ZzUKFTMTW+vHkUI0ZjV84/4KRu4c6w T/Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792151; 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=qAhyJnCASmVYNz2C++4x3cLZkEKpScng4rvFLIxlK/s=; b=z+A3IOl/o0krj2dmWk52cb1aEqZiv8apxa1jaMUh6NmQMwXJ3wjN3ikQVEpIUr9YKS A/Fl0bG9XY00SLYsSqYuTxkg7vqIGB0HrlZJeezidBLTkuM9JvEkYcUcbTC/D0xNDI99 pptZ4k76Z9Ybsg9+xxOeVYd/SToMNjdLzzBkovaT2U9HKxndro/p68j71yg5Z/LNnchY scieS4ZI9Yc8zaL3+L9cNrmaaNY0OWHLIREmEvbWvtkx2lF5mbj/Jk1aSY345jytwzJ8 +eKjWpgyTMf9yiR8Yvg5wUc7rGKzsalj4bzSBpd78/bLzzU237aDg62Hj7Lk1i8HtdJf kV4w== X-Gm-Message-State: AO0yUKUa+k1dfEUcftNN9XKmYo5ygBdRwBhZfTLnXFvpLoYnjk/TvqKX uyJedrHgNvWSe4aRLu1VHZZ2MjPAKCg= X-Google-Smtp-Source: AK7set9a1+JtTcjxg5Kz6kXoaCfM/E5/r87D6HWYt+3sFw9/iC72o9/oR9fpULFeyQPhuy9901UWVg== X-Received: by 2002:a17:906:b748:b0:8fc:c566:dc67 with SMTP id fx8-20020a170906b74800b008fcc566dc67mr12636491ejb.64.1677792151044; Thu, 02 Mar 2023 13:22:31 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 20/23] hw/isa/piix: Rename functions to be shared for interrupt triggering Date: Thu, 2 Mar 2023 22:21:58 +0100 Message-Id: <20230302212201.224360-21-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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: 1677792249754100001 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 Message-Id: <20221022150508.26830-40-shentey@gmail.com> --- hw/isa/piix.c | 56 +++++++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/hw/isa/piix.c b/hw/isa/piix.c index 8206cbebf3..d6c39d6f37 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -41,47 +41,47 @@ =20 #define XEN_PIIX_NUM_PIRQS 128ULL =20 -static void piix3_set_irq_pic(PIIXState *piix3, int pic_irq) +static void piix_set_irq_pic(PIIXState *piix, int pic_irq) { - qemu_set_irq(piix3->pic[pic_irq], - !!(piix3->pic_levels & + qemu_set_irq(piix->pic[pic_irq], + !!(piix->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_irq_level_internal(PIIXState *piix, int pirq, int lev= el) { int pic_irq; uint64_t mask; =20 - pic_irq =3D piix3->dev.config[PIIX_PIRQCA + pirq]; + pic_irq =3D piix->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; + piix->pic_levels &=3D ~mask; + piix->pic_levels |=3D mask * !!level; } =20 -static void piix3_set_irq_level(PIIXState *piix3, int pirq, int level) +static void piix_set_irq_level(PIIXState *piix, int pirq, int level) { int pic_irq; =20 - pic_irq =3D piix3->dev.config[PIIX_PIRQCA + pirq]; + pic_irq =3D piix->dev.config[PIIX_PIRQCA + pirq]; if (pic_irq >=3D ISA_NUM_IRQS) { return; } =20 - piix3_set_irq_level_internal(piix3, pirq, level); + piix_set_irq_level_internal(piix, pirq, level); =20 - piix3_set_irq_pic(piix3, pic_irq); + piix_set_irq_pic(piix, pic_irq); } =20 -static void piix3_set_irq(void *opaque, int pirq, int level) +static void piix_set_irq(void *opaque, int pirq, int level) { - PIIXState *piix3 =3D opaque; - piix3_set_irq_level(piix3, pirq, level); + PIIXState *piix =3D opaque; + piix_set_irq_level(piix, pirq, level); } =20 static void piix4_set_irq(void *opaque, int irq_num, int level) @@ -122,29 +122,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_irq_levels(PIIXState *piix) { - PCIBus *bus =3D pci_get_bus(&piix3->dev); + PCIBus *bus =3D pci_get_bus(&piix->dev); int pirq; =20 - piix3->pic_levels =3D 0; + piix->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_irq_level(piix, 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 *piix =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(&piix->dev)); + piix_update_irq_levels(piix); for (pic_irq =3D 0; pic_irq < ISA_NUM_IRQS; pic_irq++) { - piix3_set_irq_pic(piix3, pic_irq); + piix_set_irq_pic(piix, pic_irq); } } } @@ -166,7 +166,7 @@ static void piix3_write_config_xen(PCIDevice *dev, } } =20 - piix3_write_config(dev, address, val, len); + piix_write_config(dev, address, val, len); } =20 static void piix_reset(DeviceState *dev) @@ -226,7 +226,7 @@ static int piix3_post_load(void *opaque, int version_id) */ piix3->pic_levels =3D 0; for (pirq =3D 0; pirq < PIIX_NUM_PIRQS; pirq++) { - piix3_set_irq_level_internal(piix3, pirq, + piix_set_irq_level_internal(piix3, pirq, pci_bus_get_irq_level(pci_get_bus(&piix3->dev), pirq)); } return 0; @@ -473,7 +473,7 @@ static void piix3_realize(PCIDevice *dev, Error **errp) return; } =20 - pci_bus_irqs(pci_bus, piix3_set_irq, piix3, PIIX_NUM_PIRQS); + pci_bus_irqs(pci_bus, piix_set_irq, piix3, PIIX_NUM_PIRQS); pci_bus_set_route_irq_fn(pci_bus, piix3_route_intx_pin_to_irq); } =20 @@ -481,7 +481,7 @@ static void piix3_class_init(ObjectClass *klass, void *= data) { 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; } =20 --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792255; cv=none; d=zohomail.com; s=zohoarc; b=RGdOB1RE/eyL6I9fo5WaYpFGRpbGaovjXEMG1yYzU5in0q2ksKS8KYkYn7vbtNRdIV6MQilxJL5AuZV56YL34GHSy0sC2SyHG96XtLiOICDTa6+i4hMFlui3zyTgWSvxQO3xinS/U3OI+hrL6o+0EU5wS3b/ImVbty77At6IU84= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792255; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=8Nyy3BC37kImjkVwZxg+wfPmOnmEQ2wZSPRsrjcxuus=; b=OJizsyRR/OWKdpo4QJjr7jjZ1LpwPoQtx4lPOJiHKoxSv8zGq7hw9x/2Cc/r1eLWrFcPrUd2Y1VJFIsDGNYdUDwQSnacKlsG7s5Q8Pj+Ln5TYH6H0OaHzmyEJ2AOULc6RUoaXntsbWOFA7U+qNvxoMikeb5VlEnoytj2moXGxQY= 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 1677792255228619.9495752419865; Thu, 2 Mar 2023 13:24:15 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNn-0000rr-TD; Thu, 02 Mar 2023 16:22:35 -0500 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 1pXqNm-0000rC-Hl for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:34 -0500 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pXqNl-0002Ri-02 for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:34 -0500 Received: by mail-ed1-x535.google.com with SMTP id g3so2584639eda.1 for ; Thu, 02 Mar 2023 13:22:32 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792152; 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=8Nyy3BC37kImjkVwZxg+wfPmOnmEQ2wZSPRsrjcxuus=; b=odZtaPsFzuFEisp7Fo/q3CzRzKDrTzb1shXlmGZ2ybk3jeCD/SAdZ0E8fVMqZ5W5K/ b9tBxWgmEEWpEJEyXLGpHsTpAzi8yBiC6UkmJD6OnFx8/LYMtMY/aWnRO7OX8+HGkUT8 Tcw+8k8BU6V2qs8VaJ7MoNweHy61jxv/20fGA2iXVz3E3iT81+7j5NC28iV7S5ovldi3 kx27M0q9sTPb1eWx8K671uif/jeF0GvGMJUJZU2UoXkrprnnKJwTbbvI22hsrj+7EpyB DbIA46PliRGK00JiBpEXuKC8+zi6x7VmkU+kEQUr135jBUrU7EKG3R/5Uf0VhnwPYpnw pAEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792152; 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=8Nyy3BC37kImjkVwZxg+wfPmOnmEQ2wZSPRsrjcxuus=; b=jZKie7fvQ2ECupB336rCcF5JmXf3mwnVUOsXCAlkuCjrsfa5Bni9KOqJVWYDQWjM35 auhwNUXKYYZwxeNqmccNst/V3arzymte8UmlTMzu3ucDYtZFmKo9MIRXr3S46Zankbam Cbp5z4K7zyG/r1xEV85b5YZpqYl5WG4aCjKPkYuqgzFpSBXwYlX53zkyGeFGuv0TxYB2 YdTEhWSJQUZzmQb7zRFaHw4AjgqkM5PulP2v6aQfAfYQfm+tib6Y+e0rhir6yxl5iVaU m6Ut3P1DF/j4g4f/FcL3ZPOVnQrB0ieLZDF1Udp0NvFzQW+pB8NXpYWlehB1+HtC9ntS 6zyQ== X-Gm-Message-State: AO0yUKWAT5e2yAf7Sh2gY5MJ27vrOGOT9C2w84dr9pdsYb54Ly+v+QLB 00V18Rd5lzF6TeFYxzMNkspFEcHYbg0= X-Google-Smtp-Source: AK7set9/eoCcgwBu0GLS9vo2R5Vgfz900B1xsb0U6/xR5Kg2oZJU7zRzhavtR6VgC750ENbep/c7Ag== X-Received: by 2002:a17:906:36c6:b0:895:ef96:9d9b with SMTP id b6-20020a17090636c600b00895ef969d9bmr11736225ejc.30.1677792151971; Thu, 02 Mar 2023 13:22:31 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 21/23] hw/isa/piix: Consolidate IRQ triggering Date: Thu, 2 Mar 2023 22:21:59 +0100 Message-Id: <20230302212201.224360-22-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::535; envelope-from=shentey@gmail.com; helo=mail-ed1-x535.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: 1677792255710100009 Content-Type: text/plain; charset="utf-8" Speeds up PIIX4 which resolves an old TODO. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin Message-Id: <20221022150508.26830-41-shentey@gmail.com> --- hw/isa/piix.c | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/hw/isa/piix.c b/hw/isa/piix.c index d6c39d6f37..30873b0764 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -84,27 +84,6 @@ static void piix_set_irq(void *opaque, int pirq, int lev= el) piix_set_irq_level(piix, 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->pic[pic_irq], pic_level); - } -} - static PCIINTxRoute piix3_route_intx_pin_to_irq(void *opaque, int pin) { PIIXState *piix3 =3D opaque; @@ -240,7 +219,7 @@ static int piix4_post_load(void *opaque, int version_id) s->rcr =3D 0; } =20 - return 0; + return piix3_post_load(opaque, version_id); } =20 static int piix3_pre_save(void *opaque) @@ -597,7 +576,7 @@ static void piix4_realize(PCIDevice *dev, Error **errp) qdev_connect_gpio_out(DEVICE(&s->pm), 0, s->pic[9]); } =20 - pci_bus_irqs(pci_bus, piix4_set_irq, s, PIIX_NUM_PIRQS); + pci_bus_irqs(pci_bus, piix_set_irq, s, PIIX_NUM_PIRQS); } =20 static void piix4_init(Object *obj) @@ -615,6 +594,7 @@ static void piix4_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 piix4_realize; k->vendor_id =3D PCI_VENDOR_ID_INTEL; k->device_id =3D PCI_DEVICE_ID_INTEL_82371AB_0; --=20 2.39.2 From nobody Fri May 3 15:14:25 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=1677792238; cv=none; d=zohomail.com; s=zohoarc; b=TAqBMJQEHV+3b0q9syErLM1oQxmEfxD7zLcinSzWAna5XbmbuQaqPrUaoU3z5QWpGlw3QicRsLhD6wIF9iKyh8U732YpJhWNYzEHaD2sTi7fzbgtdcdpdqHhigS5RLd3bODKdnuQgvCTPaLunh+lxV2tsb9HH74KZ8UaR1pnUao= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792238; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=2Kx/g2VrS2dX5K0SmH0rYqZrQLtmH4+SmEOJoYir288=; b=iM/FmEPk7MAV3aCAmmyqTQQac64al0qBdKwhJWnD2JMu4l+b/TW1HOJzatN6wK0IcGrRXCKAkvYmARCavG13avY19da4HEh3/9GeArPaZi0Qb2xO3V7FDvVmxDVCZMkSUuZDmrPvd/v8tJHTVB/bWs+eUe68fneNcOL+fefsMyY= 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 1677792238278620.6862796946625; Thu, 2 Mar 2023 13:23:58 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNo-0000sI-Hc; Thu, 02 Mar 2023 16:22:36 -0500 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 1pXqNn-0000ro-MT for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:35 -0500 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 1pXqNl-0002RM-VE for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:35 -0500 Received: by mail-ed1-x531.google.com with SMTP id o12so2403965edb.9 for ; Thu, 02 Mar 2023 13:22:33 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792153; 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=2Kx/g2VrS2dX5K0SmH0rYqZrQLtmH4+SmEOJoYir288=; b=FPG8K2qpTSDxamN0GCgLKOZ+IAFarwUzSiwDvcttUpRw7UU98fNIM/NxmNBnV6qY1a /aRm7cfz6qS+/XuSREvUkzSrXUzEcZi5bwdRsschnu50lBu5uMaN7QHPeHO2tzmabj4K UiTCCYtvTK8U0EGG4GpL0NNIC53mz3L6amIyJGsP2B8HbYEFVxsFxzPbY2zcRkY7HTxT 86jFxpGoiC0Ud7JkFDnMryCEHd7fGHmF67RtjKXtN05hwfMHL5eiO6s0rM7wzrpwfemr XC3Lqx5ALBChIFjhzCJJT/Mk/iUYwaIUMWTqoT5pBhH0ArgeXfduU08djG5ewtXnCKaB iWRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792153; 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=2Kx/g2VrS2dX5K0SmH0rYqZrQLtmH4+SmEOJoYir288=; b=kDt1USSPd413DCALJ0Z1qnYql5vnceuRo3V2CSxmRxdndjmXdVfreWRxwSQyOTg6y6 sybtl6IV8tXVaKsUpFoifZziYn9xUQXMh0mW0dRIHdMaL/9AXycD6TPc7t8IRUdfgX1+ dQ5cjlvZYfm+4L6rpoKIlv+lIjyCBkPmS/N6rY/MEsAFdNaK+EV9Mwp/WwO1XzJ8f1XM lDrH13bdwOa3yzgRpsiI/jYnhWkIMyiJXJSyDxdzURzMCBYrEPGPZgQ9FNB7a4GS31EP K3wzIPs82fSoSXBpY/g/u/X7jMPWkU6EMZnlUxc1By3Q/GXbCi011fur+vuKhHWzYsbI aE4w== X-Gm-Message-State: AO0yUKXFuXbSUYEaxcR1tYchnzR1VC7aJ8Jv70xWJS9xj/t1mT7KESGd 5mIgb34mvjjo383Q+aWjFLdRerx7McM= X-Google-Smtp-Source: AK7set9mmAyb0ELf3cnLM/5o4Pg+b88TKRIm2/FbNsvcbIcbz9K3qcQyLQkDTDfpsQUVxd0UtbEHzA== X-Received: by 2002:a17:907:c15:b0:879:bff:55c with SMTP id ga21-20020a1709070c1500b008790bff055cmr17368486ejc.1.1677792153073; Thu, 02 Mar 2023 13:22:33 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 22/23] hw/isa/piix: Share PIIX3's base class with PIIX4 Date: Thu, 2 Mar 2023 22:22:00 +0100 Message-Id: <20230302212201.224360-23-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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: 1677792239613100003 Content-Type: text/plain; charset="utf-8" Having a common base class will allow for substituting PIIX3 with PIIX4 and vice versa. Moreover, it makes PIIX4 implement the acpi-dev-aml-interface. Signed-off-by: Bernhard Beschow Reviewed-by: Michael S. Tsirkin Message-Id: <20221022150508.26830-42-shentey@gmail.com> --- hw/isa/piix.c | 48 ++++++++++++++++++++++-------------------------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/hw/isa/piix.c b/hw/isa/piix.c index 30873b0764..5d4e411e33 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -388,12 +388,11 @@ 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 object_initialize_child(obj, "rtc", &d->rtc, TYPE_MC146818_RTC); - object_initialize_child(obj, "ide", &d->ide, TYPE_PIIX3_IDE); } =20 static Property pci_piix_props[] =3D { @@ -404,7 +403,7 @@ static Property pci_piix_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); @@ -412,11 +411,8 @@ static void pci_piix3_class_init(ObjectClass *klass, v= oid *data) =20 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 @@ -431,9 +427,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 }, @@ -456,17 +452,29 @@ 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 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; + dc->vmsd =3D &vmstate_piix3; } =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 @@ -492,15 +500,20 @@ static void piix3_xen_realize(PCIDevice *dev, Error *= *errp) =20 static void piix3_xen_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_xen; k->realize =3D piix3_xen_realize; + /* 82371SB PIIX3 PCI-to-ISA bridge (Step A1) */ + k->device_id =3D PCI_DEVICE_ID_INTEL_82371SB_0; + dc->vmsd =3D &vmstate_piix3; } =20 static const TypeInfo piix3_xen_info =3D { .name =3D TYPE_PIIX3_XEN_DEVICE, .parent =3D TYPE_PIIX_PCI_DEVICE, + .instance_init =3D piix3_init, .class_init =3D piix3_xen_class_init, }; =20 @@ -585,7 +598,6 @@ static void piix4_init(Object *obj) =20 qdev_init_gpio_out_named(DEVICE(obj), &s->cpu_intr, "intr", 1); =20 - object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC); object_initialize_child(obj, "ide", &s->ide, TYPE_PIIX4_IDE); } =20 @@ -596,31 +608,15 @@ static void piix4_class_init(ObjectClass *klass, void= *data) =20 k->config_write =3D piix_write_config; 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 piix_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; - device_class_set_props(dc, pci_piix_props); } =20 static const TypeInfo piix4_info =3D { .name =3D TYPE_PIIX4_PCI_DEVICE, - .parent =3D TYPE_PCI_DEVICE, - .instance_size =3D sizeof(PIIXState), + .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.39.2 From nobody Fri May 3 15:14:25 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=1677792245; cv=none; d=zohomail.com; s=zohoarc; b=Jlah9xeW9Rptk4KeaS8XkJUxc90V2r4kfJ99/RlOeZq53BDusWaf7VE67pko1I2SkLfLCE9yjvv9Sh2Xdr6w1u5JBrX1ehRxoKyv1XUZIAH+67Q16U9exqwKKLb8zCU9FA6zsVYFLKi6TVdLVTldPh5KBkQmFsKtRBHOYBOLDCk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677792245; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=E3AbtksDDkEgW154O4FaZBF+XsOlCJCcpo5LHxuITys=; b=Ki5t9P0EkQIuOh/RSEyZM4JjMRDRW/jVnvjJdcfOLinM9j3KAbyVtfQEFSUYsWlhVn18cdloh1m4BJ1OqBDJ4e1F2sgoJd1QtAqHYqrI6Vhn5GhZlbygi/GZrDdpg4WMiwmzTeOtk//qwE9sRWEONDLvPC06sLa+XkUZqyHCskA= 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 1677792245194341.03081359183307; Thu, 2 Mar 2023 13:24:05 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pXqNq-0000tE-Kh; Thu, 02 Mar 2023 16:22:38 -0500 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 1pXqNo-0000sJ-JP for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:36 -0500 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pXqNm-0002Pr-UI for qemu-devel@nongnu.org; Thu, 02 Mar 2023 16:22:36 -0500 Received: by mail-ed1-x529.google.com with SMTP id s11so2434201edy.8 for ; Thu, 02 Mar 2023 13:22:34 -0800 (PST) Received: from Provence.localdomain (dynamic-092-224-150-004.92.224.pool.telefonica.de. [92.224.150.4]) by smtp.gmail.com with ESMTPSA id s4-20020a1709062ec400b008f89953b761sm145895eji.3.2023.03.02.13.22.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Mar 2023 13:22:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677792154; 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=E3AbtksDDkEgW154O4FaZBF+XsOlCJCcpo5LHxuITys=; b=SbodzgqTXASpdpzrW/p33BHevosp6Xf34vNuqkZ2y6kabsW0vLkcSl/Y9T6M42A5u8 uJEqeOV2EWGw8Q0LN+EjltfFvXWz7nMY0HOg4veIJs7iwQS6Hpb6heLqquPR3L0FX2u6 gGmRQFBXilq5eCa13E07ePMCDqNhQeehpNMB49/hr/5EcEtzPo1NbgeJBRnUyxa53xo1 ZwNO7EV6CrMcS6zSCO8V8OiMUKGFiaNqDRfWnMyF9zhRKWGZJrA+QZfeO8A3d8IU5RKJ 6HwMQ9RwZ1xpPGQ/2armPRJf+AECE+egXUKgTnr32IVIE4yaDZ68FqbAgLATwQ2v785o pVLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677792154; 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=E3AbtksDDkEgW154O4FaZBF+XsOlCJCcpo5LHxuITys=; b=K6kBARuFGDds2FdhNYWAEP+1AoDEIwaj/MSCDEKs3qUIhnaana413eowu5T4Dtp4CJ 0nwvbLVdRlHHi3AuQ10ZvgqLOaFAhGlYrmGMByKsa0sJIk1KIFCVPaTeo1dvb+QstZjD /blXZxAfUGbx0rGzbAEWruIm4XtYaFoRzMlt3ty9PCxaDfvj7BTGXOQllG73Gfe7KDwb yhFfWisIjrF9u4fEqgL7qf5Kek2cdnb/4wcyZR17sL7+jHWB+oP/y0WDH4BSw/hdGdXo ZXy2Y9CW1Ap5+iD6r8AwkohpU/uCekKXG6adYmHP5iLnphcTtPiDtUG946sDhFkTl+1X NaOQ== X-Gm-Message-State: AO0yUKWrvayD0EuRHWLLsYUbJa4CgU3emdEIR0QhkkeT9nNUHagZ5hLy hGx/YRvUH6x9T3bGprmvcZqvRyB+HfI= X-Google-Smtp-Source: AK7set+MX29xmLqjZSpu0iLhBwH5+L7t7+5T0s6ldasBy0sZRNpY+Hud2DxQvRc2laf0aucK79xzYg== X-Received: by 2002:a17:906:2b48:b0:8f8:7a2b:cc0d with SMTP id b8-20020a1709062b4800b008f87a2bcc0dmr12981685ejg.47.1677792154009; Thu, 02 Mar 2023 13:22:34 -0800 (PST) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Eduardo Habkost , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Aurelien Jarno , Richard Henderson , "Michael S. Tsirkin" , Bernhard Beschow Subject: [PATCH v8 23/23] hw/isa/piix: Reuse PIIX3 base class' realize method in PIIX4 Date: Thu, 2 Mar 2023 22:22:01 +0100 Message-Id: <20230302212201.224360-24-shentey@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230302212201.224360-1-shentey@gmail.com> References: <20230302212201.224360-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::529; envelope-from=shentey@gmail.com; helo=mail-ed1-x529.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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: 1677792245706100001 Content-Type: text/plain; charset="utf-8" Resolves duplicate code. Signed-off-by: Bernhard Beschow --- hw/isa/piix.c | 78 ++++++++++++++++----------------------------------- 1 file changed, 24 insertions(+), 54 deletions(-) diff --git a/hw/isa/piix.c b/hw/isa/piix.c index 5d4e411e33..945c47b7e9 100644 --- a/hw/isa/piix.c +++ b/hw/isa/piix.c @@ -311,17 +311,11 @@ 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, + ISABus *isa_bus, Error **errp) { PIIXState *d =3D PIIX_PCI_DEVICE(dev); PCIBus *pci_bus =3D pci_get_bus(dev); - ISABus *isa_bus; - - isa_bus =3D isa_bus_new(DEVICE(d), pci_address_space(dev), - pci_address_space_io(dev), errp); - if (!isa_bus) { - return; - } =20 memory_region_init_io(&d->rcr_mem, OBJECT(dev), &rcr_ops, d, "piix-reset-control", 1); @@ -346,8 +340,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; @@ -442,8 +435,15 @@ 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); + ISABus *isa_bus; + + isa_bus =3D isa_bus_new(DEVICE(dev), pci_address_space(dev), + pci_address_space_io(dev), errp); + if (!isa_bus) { + return; + } =20 - pci_piix3_realize(dev, errp); + pci_piix_realize(dev, TYPE_PIIX3_USB_UHCI, isa_bus, errp); if (*errp) { return; } @@ -483,8 +483,15 @@ static void piix3_xen_realize(PCIDevice *dev, Error **= errp) ERRP_GUARD(); PIIXState *piix3 =3D PIIX_PCI_DEVICE(dev); PCIBus *pci_bus =3D pci_get_bus(dev); + ISABus *isa_bus; =20 - pci_piix3_realize(dev, errp); + isa_bus =3D isa_bus_new(DEVICE(dev), pci_address_space(dev), + pci_address_space_io(dev), errp); + if (!isa_bus) { + return; + } + + pci_piix_realize(dev, TYPE_PIIX3_USB_UHCI, isa_bus, errp); if (*errp) { return; } @@ -525,6 +532,7 @@ static void piix4_request_i8259_irq(void *opaque, int i= rq, int level) =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; @@ -536,59 +544,21 @@ static void piix4_realize(PCIDevice *dev, Error **err= p) return; } =20 - 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(piix4_request_i8259_irq, s, 1); s->pic =3D i8259_init(isa_bus, *i8259_out_irq); =20 - /* initialize ISA irqs */ - isa_bus_register_input_irqs(isa_bus, s->pic); + pci_piix_realize(dev, TYPE_PIIX4_USB_UHCI, isa_bus, errp); + if (*errp) { + return; + } =20 /* 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 s->pic[s->rtc.isairq]; =20 - /* IDE */ - qdev_prop_set_int32(DEVICE(&s->ide), "addr", dev->devfn + 1); - if (!qdev_realize(DEVICE(&s->ide), BUS(pci_bus), errp)) { - return; - } - - /* USB */ - if (s->has_usb) { - object_initialize_child(OBJECT(dev), "uhci", &s->uhci, - TYPE_PIIX4_USB_UHCI); - qdev_prop_set_int32(DEVICE(&s->uhci), "addr", dev->devfn + 2); - if (!qdev_realize(DEVICE(&s->uhci), BUS(pci_bus), errp)) { - return; - } - } - - /* ACPI controller */ - if (s->has_acpi) { - object_initialize_child(OBJECT(s), "pm", &s->pm, TYPE_PIIX4_PM); - qdev_prop_set_int32(DEVICE(&s->pm), "addr", dev->devfn + 3); - qdev_prop_set_uint32(DEVICE(&s->pm), "smb_io_base", s->smb_io_base= ); - qdev_prop_set_bit(DEVICE(&s->pm), "smm-enabled", s->smm_enabled); - if (!qdev_realize(DEVICE(&s->pm), BUS(pci_bus), errp)) { - return; - } - qdev_connect_gpio_out(DEVICE(&s->pm), 0, s->pic[9]); - } - pci_bus_irqs(pci_bus, piix_set_irq, s, PIIX_NUM_PIRQS); } =20 --=20 2.39.2