From patchwork Wed Aug 31 15:45:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 12960975 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A5ECCECAAD1 for ; Wed, 31 Aug 2022 15:51:20 +0000 (UTC) Received: from localhost ([::1]:40390 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTPzr-0005rg-H6 for qemu-devel@archiver.kernel.org; Wed, 31 Aug 2022 11:51:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43984) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTPvE-0002fZ-4T; Wed, 31 Aug 2022 11:46:33 -0400 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]:40480) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTPvB-000367-JM; Wed, 31 Aug 2022 11:46:31 -0400 Received: by mail-ej1-x62e.google.com with SMTP id qh18so8957743ejb.7; Wed, 31 Aug 2022 08:46:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=I6LPJZUvTPv4BSyUK+1MUo2I6TDAef6EvKzOqmCgYAk=; b=MR6e/qgQYm4FByKuk3UEBN+lkmU5XC/QcbkETFonaLinkQDb4js/IC4KMvtrja11Qo RiLerxiK3DLRvnTnRF7YlJOspvFglRvMoUys/yZyCe07viIgSMGZF0Ei7rR89+zitM+G T81755wyoZfmwinkvlMo39iUHYZbcPgAWZ6Dx/aI3JJWq0RPbJPg0uT09hLXfWPACYjZ hTRNPr736rYkwp3sVDqQ5Ka7HVd3Gp5+DltHuLDls4W7RiyKwFL0X6RiR/OtxHRm4hOg qDSzVwVLvIBQtyQHMDvNUYDkL78+91pA8to9ExyMpMUltFPSTJQ71HCcw57mBnwQWstD o7Pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=I6LPJZUvTPv4BSyUK+1MUo2I6TDAef6EvKzOqmCgYAk=; b=z1WVhq10418cRDLi/EEhMdg/AGc5b9f+R4snEkBNvUbNG+PW+gvfbEYt6mT2SF2QdV EHNNhTGxmwJKkOxYPsfVuZgxTzL58F/mhzRyFQLMeHJ/ufcNHvnxZvBpHsB4fNiJvSb1 yQNVCEYwlU4Q/S9MH/iaxmZMzF6Mh4D64nbHvTZxvEBlcB+tbrudLD6BzbIbxtNo/jOV v++NnqBmsJBpgBUyZwdbNFQIRsX4e+QByWHApa80z1SLBPBoe+JYb/l2TdPmyLDFW22P RWpgxO0/ygzsCk+hCurPlpF2JbCoX9UXVNmzk0MbUQpee1NbRmpodkqWPe6+DajKBlBS mGlg== X-Gm-Message-State: ACgBeo0XseBr1MU+CUVin1+Dq2kj5VBASF898xOhozczPXysaro7Mwxh sEj//mNMlh5XCQN3tjisPWub2CBukTk= X-Google-Smtp-Source: AA6agR4LQa3XrMPp9FBwfgTBWX0Skr3CKYfZ6pgCGL9gg7ekMNwSIk3rURiNGTFHe4J3Q4WFBGSXIQ== X-Received: by 2002:a17:906:4bd3:b0:731:3bdf:b95c with SMTP id x19-20020a1709064bd300b007313bdfb95cmr20786438ejv.677.1661960785971; Wed, 31 Aug 2022 08:46:25 -0700 (PDT) Received: from osoxes.fritz.box (p200300faaf0bb2009c4947838afc41b6.dip0.t-ipconnect.de. [2003:fa:af0b:b200:9c49:4783:8afc:41b6]) by smtp.gmail.com with ESMTPSA id k9-20020a508ac9000000b00445e930e20esm9252123edk.64.2022.08.31.08.46.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Aug 2022 08:46:25 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: BALATON Zoltan , John Snow , qemu-ppc@nongnu.org, Huacai Chen , qemu-block@nongnu.org, Jiaxun Yang , Gerd Hoffmann , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Bernhard Beschow Subject: [PATCH v4 01/12] hw/isa/vt82c686: Resolve chip-specific realize methods Date: Wed, 31 Aug 2022 17:45:54 +0200 Message-Id: <20220831154605.12773-2-shentey@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220831154605.12773-1-shentey@gmail.com> References: <20220831154605.12773-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62e; envelope-from=shentey@gmail.com; helo=mail-ej1-x62e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" The object creation now happens in chip-specific init methods which allows the realize methods to be consolidated into one method. Shifting the logic into the init methods has the addidional advantage that the parent object's init methods are called implicitly - like constructors in object-oriented languages. Signed-off-by: Bernhard Beschow --- hw/isa/vt82c686.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 8f656251b8..0217c98fe4 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -544,7 +544,7 @@ struct ViaISAState { qemu_irq cpu_intr; qemu_irq *isa_irqs; ISABus *isa_bus; - ViaSuperIOState *via_sio; + ViaSuperIOState via_sio; }; static const VMStateDescription vmstate_via = { @@ -602,6 +602,11 @@ static void via_isa_realize(PCIDevice *d, Error **errp) d->wmask[i] = 0; } } + + /* Super I/O */ + if (!qdev_realize(DEVICE(&s->via_sio), BUS(s->isa_bus), errp)) { + return; + } } /* TYPE_VT82C686B_ISA */ @@ -615,7 +620,7 @@ static void vt82c686b_write_config(PCIDevice *d, uint32_t addr, pci_default_write_config(d, addr, val, len); if (addr == 0x85) { /* BIT(1): enable or disable superio config io ports */ - via_superio_io_enable(s->via_sio, val & BIT(1)); + via_superio_io_enable(&s->via_sio, val & BIT(1)); } } @@ -639,13 +644,11 @@ static void vt82c686b_isa_reset(DeviceState *dev) pci_conf[0x77] = 0x10; /* GPIO Control 1/2/3/4 */ } -static void vt82c686b_realize(PCIDevice *d, Error **errp) +static void vt82c686b_init(Object *obj) { - ViaISAState *s = VIA_ISA(d); + ViaISAState *s = VIA_ISA(obj); - via_isa_realize(d, errp); - s->via_sio = VIA_SUPERIO(isa_create_simple(s->isa_bus, - TYPE_VT82C686B_SUPERIO)); + object_initialize_child(obj, "sio", &s->via_sio, TYPE_VT82C686B_SUPERIO); } static void vt82c686b_class_init(ObjectClass *klass, void *data) @@ -653,7 +656,7 @@ static void vt82c686b_class_init(ObjectClass *klass, void *data) DeviceClass *dc = DEVICE_CLASS(klass); PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); - k->realize = vt82c686b_realize; + k->realize = via_isa_realize; k->config_write = vt82c686b_write_config; k->vendor_id = PCI_VENDOR_ID_VIA; k->device_id = PCI_DEVICE_ID_VIA_82C686B_ISA; @@ -670,6 +673,7 @@ static const TypeInfo vt82c686b_isa_info = { .name = TYPE_VT82C686B_ISA, .parent = TYPE_VIA_ISA, .instance_size = sizeof(ViaISAState), + .instance_init = vt82c686b_init, .class_init = vt82c686b_class_init, }; @@ -684,7 +688,7 @@ static void vt8231_write_config(PCIDevice *d, uint32_t addr, pci_default_write_config(d, addr, val, len); if (addr == 0x50) { /* BIT(2): enable or disable superio config io ports */ - via_superio_io_enable(s->via_sio, val & BIT(2)); + via_superio_io_enable(&s->via_sio, val & BIT(2)); } } @@ -703,13 +707,11 @@ static void vt8231_isa_reset(DeviceState *dev) pci_conf[0x6b] = 0x01; /* Fast IR I/O Base */ } -static void vt8231_realize(PCIDevice *d, Error **errp) +static void vt8231_init(Object *obj) { - ViaISAState *s = VIA_ISA(d); + ViaISAState *s = VIA_ISA(obj); - via_isa_realize(d, errp); - s->via_sio = VIA_SUPERIO(isa_create_simple(s->isa_bus, - TYPE_VT8231_SUPERIO)); + object_initialize_child(obj, "sio", &s->via_sio, TYPE_VT8231_SUPERIO); } static void vt8231_class_init(ObjectClass *klass, void *data) @@ -717,7 +719,7 @@ static void vt8231_class_init(ObjectClass *klass, void *data) DeviceClass *dc = DEVICE_CLASS(klass); PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); - k->realize = vt8231_realize; + k->realize = via_isa_realize; k->config_write = vt8231_write_config; k->vendor_id = PCI_VENDOR_ID_VIA; k->device_id = PCI_DEVICE_ID_VIA_8231_ISA; @@ -734,6 +736,7 @@ static const TypeInfo vt8231_isa_info = { .name = TYPE_VT8231_ISA, .parent = TYPE_VIA_ISA, .instance_size = sizeof(ViaISAState), + .instance_init = vt8231_init, .class_init = vt8231_class_init, }; From patchwork Wed Aug 31 15:45:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 12960981 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7F553ECAAD4 for ; Wed, 31 Aug 2022 15:54:00 +0000 (UTC) Received: from localhost ([::1]:39666 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTQ2R-0003Hz-Ll for qemu-devel@archiver.kernel.org; Wed, 31 Aug 2022 11:53:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43982) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTPvE-0002fY-1w; Wed, 31 Aug 2022 11:46:33 -0400 Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]:42520) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTPvB-00036E-Kp; Wed, 31 Aug 2022 11:46:31 -0400 Received: by mail-ej1-x633.google.com with SMTP id p16so26096034ejb.9; Wed, 31 Aug 2022 08:46:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=ccpcYMGxqn8WXNFI2X2jCqAbkQ1k7CgYSp60BbZylhE=; b=KRJAPydy6BGrD99QFyZyLpSmpNAOv5khBb9fNHDUsanIjUajpo64ybIcouBQc6wzWS yf3Xfec0Ya37YO1ls0Tk5DYlU54cJOSJ+LS8Zkd+ywDXLq2XqOGqKWCq83oc0GCsgot1 mCHv9Oo6+C53i6JZAGbjJ1u6/s7FQVbR7NJ2XzFUNru7pb0HCavFNxTL9vetb13hiarb C/JX4a4KXwbCFvc7G+EzGWjw7t+KRWkAcvPA73Z2GPme74cAmDRv+U/XxilT1adIOHQi rft3cGmljtiQmf3DpFy5HnsvdV+Rif/VHfolftkl6V7gqjK4kN26cLVQDa/5ASIhfRGz E3XA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=ccpcYMGxqn8WXNFI2X2jCqAbkQ1k7CgYSp60BbZylhE=; b=OpR0MIYDri9QfdhTeMKhXm7bmj8Ns8F8SQlJTQ8OY48Jk83iW/haeS5qohAQqGuKWP JNsBhAcJh/dd2IOI0RzEKeIPeciK9VR+8b/HR7oHAfveY6vQl0vNnk9oohGNkB9uMS1n WZ7exErKJ6ktVSwVud3mE9gtrA0vsLTCkKj37EZx24DgBFUICiRtq3FG/335vVAbkXgd pvCTKvQAVDUs/+/OGIQwr92H2EfQRQJyj6ztkIBN9EBi4Ik5fCEx+d+pgBPTfewcFh8W 1C+JOuP33jaELnOI0Qm4gHaBVJbARJ+Oar7ZIWhwwE6Czlfvmqn1/tDR39xl9Ai1eYFI 7EsA== X-Gm-Message-State: ACgBeo1MhE7+QSXRY6scYYtHXeWZZeONqBeM+bGQHt8sVPflk2q/YHBC 1lOo49Sp7bIR/EGzhsqDS6xU2tCmF6w= X-Google-Smtp-Source: AA6agR4HubmOYEiIIdoTTN/E8s8xZemJQ1BX+KPlJcOC/aLXO+JfRbVnn6YBK//GY9d1G8jfnwkPng== X-Received: by 2002:a17:907:868b:b0:741:8f8c:6ab5 with SMTP id qa11-20020a170907868b00b007418f8c6ab5mr10534674ejc.194.1661960787263; Wed, 31 Aug 2022 08:46:27 -0700 (PDT) Received: from osoxes.fritz.box (p200300faaf0bb2009c4947838afc41b6.dip0.t-ipconnect.de. [2003:fa:af0b:b200:9c49:4783:8afc:41b6]) by smtp.gmail.com with ESMTPSA id k9-20020a508ac9000000b00445e930e20esm9252123edk.64.2022.08.31.08.46.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Aug 2022 08:46:26 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: BALATON Zoltan , John Snow , qemu-ppc@nongnu.org, Huacai Chen , qemu-block@nongnu.org, Jiaxun Yang , Gerd Hoffmann , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Bernhard Beschow Subject: [PATCH v4 02/12] hw/isa/vt82c686: Resolve unneeded attribute Date: Wed, 31 Aug 2022 17:45:55 +0200 Message-Id: <20220831154605.12773-3-shentey@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220831154605.12773-1-shentey@gmail.com> References: <20220831154605.12773-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::633; envelope-from=shentey@gmail.com; helo=mail-ej1-x633.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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Now that also the super io device is realized in the common realize method, the isa_bus attribute can be turned into a temporary. Signed-off-by: Bernhard Beschow --- hw/isa/vt82c686.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 0217c98fe4..9d12e1cae4 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -543,7 +543,6 @@ struct ViaISAState { PCIDevice dev; qemu_irq cpu_intr; qemu_irq *isa_irqs; - ISABus *isa_bus; ViaSuperIOState via_sio; }; @@ -585,17 +584,18 @@ static void via_isa_realize(PCIDevice *d, Error **errp) ViaISAState *s = VIA_ISA(d); DeviceState *dev = DEVICE(d); qemu_irq *isa_irq; + ISABus *isa_bus; int i; qdev_init_gpio_out(dev, &s->cpu_intr, 1); isa_irq = qemu_allocate_irqs(via_isa_request_i8259_irq, s, 1); - s->isa_bus = isa_bus_new(dev, get_system_memory(), pci_address_space_io(d), + isa_bus = isa_bus_new(dev, get_system_memory(), pci_address_space_io(d), &error_fatal); - s->isa_irqs = i8259_init(s->isa_bus, *isa_irq); - isa_bus_irqs(s->isa_bus, s->isa_irqs); - i8254_pit_init(s->isa_bus, 0x40, 0, NULL); - i8257_dma_init(s->isa_bus, 0); - mc146818_rtc_init(s->isa_bus, 2000, NULL); + s->isa_irqs = i8259_init(isa_bus, *isa_irq); + isa_bus_irqs(isa_bus, s->isa_irqs); + i8254_pit_init(isa_bus, 0x40, 0, NULL); + i8257_dma_init(isa_bus, 0); + mc146818_rtc_init(isa_bus, 2000, NULL); for (i = 0; i < PCI_CONFIG_HEADER_SIZE; i++) { if (i < PCI_COMMAND || i >= PCI_REVISION_ID) { @@ -604,7 +604,7 @@ static void via_isa_realize(PCIDevice *d, Error **errp) } /* Super I/O */ - if (!qdev_realize(DEVICE(&s->via_sio), BUS(s->isa_bus), errp)) { + if (!qdev_realize(DEVICE(&s->via_sio), BUS(isa_bus), errp)) { return; } } From patchwork Wed Aug 31 15:45:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 12960979 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B668BECAAD4 for ; Wed, 31 Aug 2022 15:52:02 +0000 (UTC) Received: from localhost ([::1]:52838 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTQ0X-0007dN-KG for qemu-devel@archiver.kernel.org; Wed, 31 Aug 2022 11:52:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43988) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTPvF-0002fb-9B; Wed, 31 Aug 2022 11:46:33 -0400 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]:39594) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTPvD-00036S-3A; Wed, 31 Aug 2022 11:46:33 -0400 Received: by mail-ej1-x62f.google.com with SMTP id fy31so28822836ejc.6; Wed, 31 Aug 2022 08:46:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=kziy975Ku9ck3Do5y4RHLxQM6WcJLVSaw/Wzvh4zx/s=; b=XGVDLu//PkX5DB5M+3wFUb6A2+b7TsOdxhKze6BO4JP4WB1eihbsrX8o9iWpQzsFup NsdVJdVhTzscOtakb8jgtJrFOQyhfhCb2g4RKq4xuHciWIzI6pBSC7xCBDjf0kisYq6W p5yDQAhAvzLtFAp/ybmJcrIQASvDnla9cyF6EzVp1bNAzkT0YWO3R2ejfO/ONBUttNtB AkgVmp2nCddxY4i8dUjtLBEE/PT9LSqMpOUvwZfujmEv9WKsgvlKqQW36waxEKYgEFr4 5OnVq1zHSpsMyBxaefcBhw7qnKB+uWX2Oucr3kWyMVzgy/nK/smCZScewji4Jjde3NnG FP8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=kziy975Ku9ck3Do5y4RHLxQM6WcJLVSaw/Wzvh4zx/s=; b=zYLcHdFPE2PFej+bfa3Pxuhs15roadDarxS3DMFtFt+czQRB3xZJvlfas56Sec8FqK vvvzfNjADAPW479LmNjepJLyDhGUwgvxKvAuIPZbTaOyq68MlrfL2Nm/W5cQUS4sYxEp 4R3ozFH5QcOQTWX9c3/lVNJ/dSPzLqHMJ8Q75UMyeyhyhSxkGsMU7Xc4Mz4HxIFJTYwQ ikdlPBn44C2NxoHnjhodP2m6R0tQlmsPrYvMp+8E9t61ViKBWD8QoUwxM4q4lNTkMDY/ LeGztGSDPswP7HDzDtho/XQqtEApR++y+j/MHh09fAHWOetMudyMovT2kGBnRogRW82M MkWA== X-Gm-Message-State: ACgBeo3A6EYjjnrkyh9XQ+GxegrASBsuk//tNHVFeuvxrHAHef1fIWbu GfBLnqpMAOYMjItAMhbYQnWv5K5em1Y= X-Google-Smtp-Source: AA6agR4UiN7P1de0TfveeRLbjdZ1nAI3+wsShuwBRhMcktcAvPha3wwyEUfsByUG8UXHWjLvV98/9Q== X-Received: by 2002:a17:906:491:b0:73d:c060:7cef with SMTP id f17-20020a170906049100b0073dc0607cefmr21023395eja.111.1661960788737; Wed, 31 Aug 2022 08:46:28 -0700 (PDT) Received: from osoxes.fritz.box (p200300faaf0bb2009c4947838afc41b6.dip0.t-ipconnect.de. [2003:fa:af0b:b200:9c49:4783:8afc:41b6]) by smtp.gmail.com with ESMTPSA id k9-20020a508ac9000000b00445e930e20esm9252123edk.64.2022.08.31.08.46.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Aug 2022 08:46:28 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: BALATON Zoltan , John Snow , qemu-ppc@nongnu.org, Huacai Chen , qemu-block@nongnu.org, Jiaxun Yang , Gerd Hoffmann , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Bernhard Beschow Subject: [PATCH v4 03/12] hw/isa/vt82c686: Prefer pci_address_space() over get_system_memory() Date: Wed, 31 Aug 2022 17:45:56 +0200 Message-Id: <20220831154605.12773-4-shentey@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220831154605.12773-1-shentey@gmail.com> References: <20220831154605.12773-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62f; envelope-from=shentey@gmail.com; helo=mail-ej1-x62f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Unlike get_system_memory(), pci_address_space() respects the memory tree available to the parent device. Signed-off-by: Bernhard Beschow --- hw/isa/vt82c686.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 9d12e1cae4..5582c0b179 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -589,7 +589,7 @@ static void via_isa_realize(PCIDevice *d, Error **errp) qdev_init_gpio_out(dev, &s->cpu_intr, 1); isa_irq = qemu_allocate_irqs(via_isa_request_i8259_irq, s, 1); - isa_bus = isa_bus_new(dev, get_system_memory(), pci_address_space_io(d), + isa_bus = isa_bus_new(dev, pci_address_space(d), pci_address_space_io(d), &error_fatal); s->isa_irqs = i8259_init(isa_bus, *isa_irq); isa_bus_irqs(isa_bus, s->isa_irqs); From patchwork Wed Aug 31 15:45:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 12960983 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 70D1AECAAD3 for ; Wed, 31 Aug 2022 15:55:06 +0000 (UTC) Received: from localhost ([::1]:41254 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTQ3V-0004ne-Fm for qemu-devel@archiver.kernel.org; Wed, 31 Aug 2022 11:55:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43990) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTPvG-0002g2-3Q; Wed, 31 Aug 2022 11:46:34 -0400 Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]:42521) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTPvE-00036g-1l; Wed, 31 Aug 2022 11:46:33 -0400 Received: by mail-ej1-x633.google.com with SMTP id p16so26096325ejb.9; Wed, 31 Aug 2022 08:46:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=nD+jGqQYURG5xsaq+oD5YvWClrYTdwH6ZUzIb2BISlw=; b=ji8NyS8mX9gbE7sJnM+bjCkh9El+Aga3vdbbluQjcH+ijSmDJow8bNpUsGhlIl/GWi v0l3Jtbmx/pEwpXMxKbPZg45ITq9cEmsSfWrSj4RcohG8UFTN8GAN9uckLiy1+SGSCyx LPH4I/CFVh/6n0dgtQGD3U5KiMXWV2uuN+0tMFqlLmkHQE97b2vyuYopFzx9JO1NuXRr J7zGAu+P1MoSy3VkkGWDvsc5Mt7pzOc9c26NHCEcbgh4z1XfQZwJ8yHcrnHf/TiGPvUm 2VnPY/YeVuSa208Wk9Qfl7y2/9Fir5sYmUOwaz3VpBfOmfEZSlLhGL8xpB3rNflfpife MvSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=nD+jGqQYURG5xsaq+oD5YvWClrYTdwH6ZUzIb2BISlw=; b=mpgJ56+WtGZoAX1fKIBRLBSn+94d52UbYUhB3UqP68lo9ggAFCUjsCumgqk8Q73Bjk GquZvUocXcR10Klsv11OQt5BIiKw4x34CGuLGTDFoxMOpU39EdlFsyFzzULucWJ+vIwo AYaYY6Ydvs5zNMmgWw9RHJfemXNGFhpp+OPPwpoKLcomSy4FqBbT63ANtNmN3s/walgE xX9SZsSEtLiuVsVkPka9Zp2yZQmP3YCQzDjQoBn6lRs+c8ag1UHs7lvXmqQDQXm+gzib XJkVL+ullTPTxGuMU2ID6tqRAAhqpDNtPtfQGxDhDj/1ydE1+0BH8l4xUFY1Jjkv+GJ/ Efwg== X-Gm-Message-State: ACgBeo1c6koY/7DmPytewZzgEUdjHKrfmTmc5xKMr6AJcnMKDwWy4JI4 sM+BZXQvEoZgutoGZuY23QAOXT+ZM2o= X-Google-Smtp-Source: AA6agR4s6Do6/NpPvxy28lFEH3xC9il6ASbowuM1Lk+NlJtT5vTUX3y3dnmAQQ9YL+GJpvMDaO9YmQ== X-Received: by 2002:a17:907:7ea8:b0:731:4fa1:d034 with SMTP id qb40-20020a1709077ea800b007314fa1d034mr21210105ejc.758.1661960789614; Wed, 31 Aug 2022 08:46:29 -0700 (PDT) Received: from osoxes.fritz.box (p200300faaf0bb2009c4947838afc41b6.dip0.t-ipconnect.de. [2003:fa:af0b:b200:9c49:4783:8afc:41b6]) by smtp.gmail.com with ESMTPSA id k9-20020a508ac9000000b00445e930e20esm9252123edk.64.2022.08.31.08.46.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Aug 2022 08:46:29 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: BALATON Zoltan , John Snow , qemu-ppc@nongnu.org, Huacai Chen , qemu-block@nongnu.org, Jiaxun Yang , Gerd Hoffmann , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Bernhard Beschow Subject: [PATCH v4 04/12] hw/isa/vt82c686: Reuse errp Date: Wed, 31 Aug 2022 17:45:57 +0200 Message-Id: <20220831154605.12773-5-shentey@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220831154605.12773-1-shentey@gmail.com> References: <20220831154605.12773-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::633; envelope-from=shentey@gmail.com; helo=mail-ej1-x633.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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Rather than terminating abruptly, make use of the already present errp and propagate the error to the caller. Signed-off-by: Bernhard Beschow --- hw/isa/vt82c686.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 5582c0b179..37e37b3855 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -590,7 +590,12 @@ static void via_isa_realize(PCIDevice *d, Error **errp) qdev_init_gpio_out(dev, &s->cpu_intr, 1); isa_irq = qemu_allocate_irqs(via_isa_request_i8259_irq, s, 1); isa_bus = isa_bus_new(dev, pci_address_space(d), pci_address_space_io(d), - &error_fatal); + errp); + + if (!isa_bus) { + return; + } + s->isa_irqs = i8259_init(isa_bus, *isa_irq); isa_bus_irqs(isa_bus, s->isa_irqs); i8254_pit_init(isa_bus, 0x40, 0, NULL); From patchwork Wed Aug 31 15:45:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 12960994 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AB503ECAAD3 for ; Wed, 31 Aug 2022 15:58:19 +0000 (UTC) Received: from localhost ([::1]:44324 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTQ6c-0002FF-Rl for qemu-devel@archiver.kernel.org; Wed, 31 Aug 2022 11:58:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43992) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTPvG-0002gG-Eo; Wed, 31 Aug 2022 11:46:34 -0400 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]:40451) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTPvE-00036y-Oy; Wed, 31 Aug 2022 11:46:34 -0400 Received: by mail-ed1-x52f.google.com with SMTP id m1so18964670edb.7; Wed, 31 Aug 2022 08:46:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=7oW9e9CQAQ6fs7n+6iH6aAQcJgkK+/GOKyNQf68VL6Q=; b=DZsxTy1FOjkKozuO9ZVDG2x4ahxEO9ZLgkbgzyD30erPVx5lth4tIf8AGDAQRy+1Ba 7p+J/2fEfpbpnZSuFikLbvFVSErh1Pwb+3P77x2S174xsxWzZHTr8fNFu5ZtabDoRgvv mxlroEfjS3KRq7Zg4A7G/VazOA2u+1ngO+YvLYfYX82Boplk4h39CF9hGdKuDBTsCNUo qFXPAYWvGZwBa0+xweF8SR90SPuSP2k6E8/YttB2RY9iX9Y9ahoqG84SrluGI8Lm5WG1 ebyfn3qNFK+Y7ZCNBVOBlzaO4gzb1DHo3HXeHd3oYYBUmuIiRk6vT0WaL2CoXZBNn0Kp 51HQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=7oW9e9CQAQ6fs7n+6iH6aAQcJgkK+/GOKyNQf68VL6Q=; b=M/ciDBp+dy5zfToN4Tfudp5/tLk+u0UA1ze+o51KoNhCWn3QSX/IDKp5NbV5/7sSiE q+oIFI9dLBaelUzZv0ntWYXC8whagYnsFV5tQjNfHyDMxPOh/7SiI8zhUjypfGUIhsLZ XJh/eXX6YJgjsIFfyOPMxlCeGc3SQdDxihMgO3G5r9vZ1qTiZu2uUICxk7GbsiaKAYm+ fXSdjZrVFOQYHVZIE/kUko4E/sCN3yLe4plrPW4Pmq47RrzQ8Ge2TiD1FsHiWjCyUlQP pPpb+DWoGrVe3wYF9GgbRlzhOquJ1p/YgV+S5zYmCvW5pcY/pFTbY/oVngi9OMm6hv5Z MRPQ== X-Gm-Message-State: ACgBeo2XVEiwTHzHsciyXv4niU+upJ57ttNIgZUfvib7hIEsTraV/u0W YL6nK+fd4Ud0Qncj1zbkT0YD82lVDv4= X-Google-Smtp-Source: AA6agR5r2Qgy6yNITSAiEi4p0YJufHO+kAHxvvsZURO2HpO44Y3i8IiMdc1jl1VBx9enwetXdFE2bw== X-Received: by 2002:a05:6402:50ca:b0:447:3355:76e3 with SMTP id h10-20020a05640250ca00b00447335576e3mr25045061edb.72.1661960790506; Wed, 31 Aug 2022 08:46:30 -0700 (PDT) Received: from osoxes.fritz.box (p200300faaf0bb2009c4947838afc41b6.dip0.t-ipconnect.de. [2003:fa:af0b:b200:9c49:4783:8afc:41b6]) by smtp.gmail.com with ESMTPSA id k9-20020a508ac9000000b00445e930e20esm9252123edk.64.2022.08.31.08.46.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Aug 2022 08:46:30 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: BALATON Zoltan , John Snow , qemu-ppc@nongnu.org, Huacai Chen , qemu-block@nongnu.org, Jiaxun Yang , Gerd Hoffmann , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Bernhard Beschow Subject: [PATCH v4 05/12] hw/isa/vt82c686: Introduce TYPE_VIA_IDE define Date: Wed, 31 Aug 2022 17:45:58 +0200 Message-Id: <20220831154605.12773-6-shentey@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220831154605.12773-1-shentey@gmail.com> References: <20220831154605.12773-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::52f; envelope-from=shentey@gmail.com; helo=mail-ed1-x52f.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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Establishes consistency with other (VIA) devices. Signed-off-by: Bernhard Beschow --- hw/ide/via.c | 2 +- hw/mips/fuloong2e.c | 2 +- hw/ppc/pegasos2.c | 2 +- include/hw/isa/vt82c686.h | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/ide/via.c b/hw/ide/via.c index 82def819c4..e1a429405d 100644 --- a/hw/ide/via.c +++ b/hw/ide/via.c @@ -230,7 +230,7 @@ static void via_ide_class_init(ObjectClass *klass, void *data) } static const TypeInfo via_ide_info = { - .name = "via-ide", + .name = TYPE_VIA_IDE, .parent = TYPE_PCI_IDE, .class_init = via_ide_class_init, }; diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 5ee546f5f6..44225fbe33 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -205,7 +205,7 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, TYPE_VT82C686B_ISA); qdev_connect_gpio_out(DEVICE(dev), 0, intc); - dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 1), "via-ide"); + dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 1), TYPE_VIA_IDE); pci_ide_create_devs(dev); pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), "vt82c686b-usb-uhci"); diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 61f4263953..8039775f80 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -166,7 +166,7 @@ static void pegasos2_init(MachineState *machine) qdev_get_gpio_in_named(pm->mv, "gpp", 31)); /* VT8231 function 1: IDE Controller */ - dev = pci_create_simple(pci_bus, PCI_DEVFN(12, 1), "via-ide"); + dev = pci_create_simple(pci_bus, PCI_DEVFN(12, 1), TYPE_VIA_IDE); pci_ide_create_devs(dev); /* VT8231 function 2-3: USB Ports */ diff --git a/include/hw/isa/vt82c686.h b/include/hw/isa/vt82c686.h index 56ac141be3..87aca3e5bb 100644 --- a/include/hw/isa/vt82c686.h +++ b/include/hw/isa/vt82c686.h @@ -8,6 +8,7 @@ #define TYPE_VT8231_ISA "vt8231-isa" #define TYPE_VT8231_PM "vt8231-pm" #define TYPE_VIA_AC97 "via-ac97" +#define TYPE_VIA_IDE "via-ide" #define TYPE_VIA_MC97 "via-mc97" void via_isa_set_irq(PCIDevice *d, int n, int level); From patchwork Wed Aug 31 15:45:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 12960995 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C05CFECAAD1 for ; Wed, 31 Aug 2022 15:58:30 +0000 (UTC) Received: from localhost ([::1]:53496 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTQ6n-0002m7-R5 for qemu-devel@archiver.kernel.org; Wed, 31 Aug 2022 11:58:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58968) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTPvI-0002jj-Cu; Wed, 31 Aug 2022 11:46:36 -0400 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]:38711) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTPvG-00037O-Cf; Wed, 31 Aug 2022 11:46:36 -0400 Received: by mail-ed1-x532.google.com with SMTP id a36so15132536edf.5; Wed, 31 Aug 2022 08:46:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=J26BIQbiLwzmWEXSRIvf/ti9jfwi26ORKPwb0BotX8Q=; b=dUfvufSrXLjmz/hTv75PF/awZxnSW5vjeSqqbLMFb8ykPw9wMEeKByC/3BymOfiYxk nLFktiWbIe+6irRvcucvuwvO6J1+ZgZX8NI/6UGxgqvQyKdDYkawoS8a30b5zQlU9h8x j8qWPorJFYXx7d2i34g0yddUXlLZVAU4c+n5QHPijw5Sa2ulLxYk+VOJzw0mSrkgsxVa lEaYEpQhsPQARoSPzgbmkVBKY33Zl7WJyjMdsGSYAbAChwGWSdswjgRd8YCdF4dpsGsu WzazaGEvYLRcjdLFAqupDZhfYDz4Hxafbw+3A+DfnSwh5tumYIAekPkTwlX+xlvF7Suo YvTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=J26BIQbiLwzmWEXSRIvf/ti9jfwi26ORKPwb0BotX8Q=; b=kV8C5CiiVJboHtDDDAfnhkf7U/57zzDlF/WVkQ7bnn1V4HmW/DKYY9atZrbENO7UVY uAUoNWOjsagtbLFTKX/4fJGR5HSOBkHZTsVJNrydqJLSRUYpF7ygdtGa/dF70hMqrWB4 3VQBd/CAvLxWGGDnO6FKR28+4sxzzPFsU/+qtTJaq03AT+cmksMFqLc5tErVYXNRxRlO lN6gzBb6f/LN06UeQv3Iker0412K0JnSPwrjWNQp61BRmvo86R4FyJQ6y22k69S9+H/3 +MQiOUXTS7bK5G1CeFXE43cY3EUoHITmF6pc6V1+aahPpxh4O6rhnRvTp8FUB90Y50O3 OHHw== X-Gm-Message-State: ACgBeo3Cvxc+u3M4HLBfEaAR3jqFNedbK1HkKgcP07SDskPt/U4C9XFy Y4wCX2vwq2snNDLF5ZiVk7UL0scGQgY= X-Google-Smtp-Source: AA6agR4cGDaD+7aoWFstpRw948FJT6MNwTGereICjYQY3lz/U3dYif1Knp9ALn+OE0zcnCtiEoSM9w== X-Received: by 2002:a05:6402:530d:b0:446:e22:cca2 with SMTP id eo13-20020a056402530d00b004460e22cca2mr25108522edb.237.1661960791407; Wed, 31 Aug 2022 08:46:31 -0700 (PDT) Received: from osoxes.fritz.box (p200300faaf0bb2009c4947838afc41b6.dip0.t-ipconnect.de. [2003:fa:af0b:b200:9c49:4783:8afc:41b6]) by smtp.gmail.com with ESMTPSA id k9-20020a508ac9000000b00445e930e20esm9252123edk.64.2022.08.31.08.46.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Aug 2022 08:46:31 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: BALATON Zoltan , John Snow , qemu-ppc@nongnu.org, Huacai Chen , qemu-block@nongnu.org, Jiaxun Yang , Gerd Hoffmann , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Bernhard Beschow Subject: [PATCH v4 06/12] hw/isa/vt82c686: Instantiate IDE function in host device Date: Wed, 31 Aug 2022 17:45:59 +0200 Message-Id: <20220831154605.12773-7-shentey@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220831154605.12773-1-shentey@gmail.com> References: <20220831154605.12773-1-shentey@gmail.com> MIME-Version: 1.0 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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" The IDE function is closely tied to the ISA function (e.g. the IDE interrupt routing happens there), so it makes sense that the IDE function is instantiated within the south bridge itself. Signed-off-by: Bernhard Beschow --- configs/devices/mips64el-softmmu/default.mak | 1 - hw/isa/Kconfig | 1 + hw/isa/vt82c686.c | 17 +++++++++++++++++ hw/mips/fuloong2e.c | 8 ++++---- hw/ppc/Kconfig | 1 - hw/ppc/pegasos2.c | 9 ++++----- 6 files changed, 26 insertions(+), 11 deletions(-) diff --git a/configs/devices/mips64el-softmmu/default.mak b/configs/devices/mips64el-softmmu/default.mak index c610749ac1..d5188f7ea5 100644 --- a/configs/devices/mips64el-softmmu/default.mak +++ b/configs/devices/mips64el-softmmu/default.mak @@ -1,7 +1,6 @@ # Default configuration for mips64el-softmmu include ../mips-softmmu/common.mak -CONFIG_IDE_VIA=y CONFIG_FULOONG=y CONFIG_LOONGSON3V=y CONFIG_ATI_VGA=y diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig index d42143a991..20de7e9294 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -53,6 +53,7 @@ config VT82C686 select I8254 select I8257 select I8259 + select IDE_VIA select MC146818RTC select PARALLEL diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 37e37b3855..63c1e3b8ce 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -17,6 +17,7 @@ #include "hw/isa/vt82c686.h" #include "hw/pci/pci.h" #include "hw/qdev-properties.h" +#include "hw/ide/pci.h" #include "hw/isa/isa.h" #include "hw/isa/superio.h" #include "hw/intc/i8259.h" @@ -544,6 +545,7 @@ struct ViaISAState { qemu_irq cpu_intr; qemu_irq *isa_irqs; ViaSuperIOState via_sio; + PCIIDEState ide; }; static const VMStateDescription vmstate_via = { @@ -556,10 +558,18 @@ static const VMStateDescription vmstate_via = { } }; +static void via_isa_init(Object *obj) +{ + ViaISAState *s = VIA_ISA(obj); + + object_initialize_child(obj, "ide", &s->ide, TYPE_VIA_IDE); +} + static const TypeInfo via_isa_info = { .name = TYPE_VIA_ISA, .parent = TYPE_PCI_DEVICE, .instance_size = sizeof(ViaISAState), + .instance_init = via_isa_init, .abstract = true, .interfaces = (InterfaceInfo[]) { { INTERFACE_CONVENTIONAL_PCI_DEVICE }, @@ -583,6 +593,7 @@ static void via_isa_realize(PCIDevice *d, Error **errp) { ViaISAState *s = VIA_ISA(d); DeviceState *dev = DEVICE(d); + PCIBus *pci_bus = pci_get_bus(d); qemu_irq *isa_irq; ISABus *isa_bus; int i; @@ -612,6 +623,12 @@ static void via_isa_realize(PCIDevice *d, Error **errp) if (!qdev_realize(DEVICE(&s->via_sio), BUS(isa_bus), errp)) { return; } + + /* Function 1: IDE */ + qdev_prop_set_int32(DEVICE(&s->ide), "addr", d->devfn + 1); + if (!qdev_realize(DEVICE(&s->ide), BUS(pci_bus), errp)) { + return; + } } /* TYPE_VT82C686B_ISA */ diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 44225fbe33..32605901e7 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -199,13 +199,13 @@ static void main_cpu_reset(void *opaque) static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, I2CBus **i2c_bus) { - PCIDevice *dev; + PCIDevice *dev, *via; - dev = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), true, + via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), true, TYPE_VT82C686B_ISA); - qdev_connect_gpio_out(DEVICE(dev), 0, intc); + qdev_connect_gpio_out(DEVICE(via), 0, intc); - dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 1), TYPE_VIA_IDE); + dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), "vt82c686b-usb-uhci"); diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig index 400511c6b7..18565e966b 100644 --- a/hw/ppc/Kconfig +++ b/hw/ppc/Kconfig @@ -74,7 +74,6 @@ config PEGASOS2 bool select MV64361 select VT82C686 - select IDE_VIA select SMBUS_EEPROM select VOF # This should come with VT82C686 diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 8039775f80..8bc528a560 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -102,7 +102,7 @@ static void pegasos2_init(MachineState *machine) CPUPPCState *env; MemoryRegion *rom = g_new(MemoryRegion, 1); PCIBus *pci_bus; - PCIDevice *dev; + PCIDevice *dev, *via; I2CBus *i2c_bus; const char *fwname = machine->firmware ?: PROM_FILENAME; char *filename; @@ -160,13 +160,12 @@ static void pegasos2_init(MachineState *machine) /* VIA VT8231 South Bridge (multifunction PCI device) */ /* VT8231 function 0: PCI-to-ISA Bridge */ - dev = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(12, 0), true, + via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(12, 0), true, TYPE_VT8231_ISA); - qdev_connect_gpio_out(DEVICE(dev), 0, + qdev_connect_gpio_out(DEVICE(via), 0, qdev_get_gpio_in_named(pm->mv, "gpp", 31)); - /* VT8231 function 1: IDE Controller */ - dev = pci_create_simple(pci_bus, PCI_DEVFN(12, 1), TYPE_VIA_IDE); + dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); /* VT8231 function 2-3: USB Ports */ From patchwork Wed Aug 31 15:46:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 12960997 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D67CFECAAD3 for ; Wed, 31 Aug 2022 16:01:24 +0000 (UTC) Received: from localhost ([::1]:44244 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTQ9b-0006ox-Mi for qemu-devel@archiver.kernel.org; Wed, 31 Aug 2022 12:01:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58970) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTPvI-0002kC-J9; Wed, 31 Aug 2022 11:46:36 -0400 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]:46711) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTPvG-00037l-Ov; Wed, 31 Aug 2022 11:46:36 -0400 Received: by mail-ej1-x62d.google.com with SMTP id bj12so29180090ejb.13; Wed, 31 Aug 2022 08:46:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=JrsI/ne9g59XtZZjXBIVmp2BYTys8MQfr3EVDlgHowE=; b=O5upMJzGoLwehtuzGtGQMnkRwGNY+gJQ1jloKKUGioxTCpXxAeinUbmb2+68g0dL57 py3c4H1GDTwLwHkX+LdLDUrgLk/cvzMf3vQ5gDYj7wS5dIetbsx/KoeEmWb7poIPGuP7 UrTfzvucXpk3wY+biK8Uu+WoaKiSde4cow1OeSBVQtqG9m427px/2247ckgovF16Rbgs IvJim8zEc9CzAYQM92TFm/mGVA344RgLg/r+2aVA0LzV2VOtZ6h1Ve7hOu60bFDkXe9r qwD7wJD92fHamaommTmFUUyUFCVg2jka0a7+K/SUGcZ1t1Hi96pGV6IfAz0x+TkwTbUQ whQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=JrsI/ne9g59XtZZjXBIVmp2BYTys8MQfr3EVDlgHowE=; b=slcFrkcgrf2CVj3njiI7ezv2Zm7pehrLbdWGq7lC7TAaSe9iPt/hHkTKunNPgyt0lF zgjq+VT7EGobjKDDqLk5KtKmolM4w8TYqPCJ+HUcpBoOY8/zFewubU5qO8/iBA6/zKsr gOnb/6WGqE2ctahUUhiSkKaC6oJxTXExTJ4XG0IteSgtyVrDG8JPct+NC352NYYSPrEj 4+Sjr/tumCItIYoZDk0UJX3K3xchjUWoZ9Jo74aMBSi2liRAi2ylSdcPKSjf/5wSrSMi PmQIPvR0EHioD2H4FapytdVRJmsFtOygva0P0suFH21BCgIZZZeRwBaYeOfzEjDczUNQ Ytng== X-Gm-Message-State: ACgBeo1CnZxkT2xzif+qO48s0c2l3o9KWviFw9aENMhHwvN22ROtxE5e gQMQNFqDiBmvRsen7Qp8tJ5sTj/a1i4= X-Google-Smtp-Source: AA6agR7QcrZ0Vrj1sHYZj7negZeCkfACi739ViP6tJ+bGMKdX94Ew4ctImuF5QcaEyvtSTbX0pH3ww== X-Received: by 2002:a17:906:cc4c:b0:741:3f8b:1d19 with SMTP id mm12-20020a170906cc4c00b007413f8b1d19mr15346775ejb.72.1661960792305; Wed, 31 Aug 2022 08:46:32 -0700 (PDT) Received: from osoxes.fritz.box (p200300faaf0bb2009c4947838afc41b6.dip0.t-ipconnect.de. [2003:fa:af0b:b200:9c49:4783:8afc:41b6]) by smtp.gmail.com with ESMTPSA id k9-20020a508ac9000000b00445e930e20esm9252123edk.64.2022.08.31.08.46.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Aug 2022 08:46:32 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: BALATON Zoltan , John Snow , qemu-ppc@nongnu.org, Huacai Chen , qemu-block@nongnu.org, Jiaxun Yang , Gerd Hoffmann , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Bernhard Beschow Subject: [PATCH v4 07/12] hw/isa/vt82c686: Introduce TYPE_VT82C686B_USB_UHCI define Date: Wed, 31 Aug 2022 17:46:00 +0200 Message-Id: <20220831154605.12773-8-shentey@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220831154605.12773-1-shentey@gmail.com> References: <20220831154605.12773-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62d; envelope-from=shentey@gmail.com; helo=mail-ej1-x62d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Suggested-by: BALATON Zoltan Signed-off-by: Bernhard Beschow --- hw/mips/fuloong2e.c | 4 ++-- hw/ppc/pegasos2.c | 4 ++-- hw/usb/vt82c686-uhci-pci.c | 4 ++-- include/hw/isa/vt82c686.h | 1 + 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 32605901e7..6b7370f2aa 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -208,8 +208,8 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); - pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), "vt82c686b-usb-uhci"); - pci_create_simple(pci_bus, PCI_DEVFN(slot, 3), "vt82c686b-usb-uhci"); + pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), TYPE_VT82C686B_USB_UHCI); + pci_create_simple(pci_bus, PCI_DEVFN(slot, 3), TYPE_VT82C686B_USB_UHCI); dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 4), TYPE_VT82C686B_PM); *i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 8bc528a560..70776558c9 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -169,8 +169,8 @@ static void pegasos2_init(MachineState *machine) pci_ide_create_devs(dev); /* VT8231 function 2-3: USB Ports */ - pci_create_simple(pci_bus, PCI_DEVFN(12, 2), "vt82c686b-usb-uhci"); - pci_create_simple(pci_bus, PCI_DEVFN(12, 3), "vt82c686b-usb-uhci"); + pci_create_simple(pci_bus, PCI_DEVFN(12, 2), TYPE_VT82C686B_USB_UHCI); + pci_create_simple(pci_bus, PCI_DEVFN(12, 3), TYPE_VT82C686B_USB_UHCI); /* VT8231 function 4: Power Management Controller */ dev = pci_create_simple(pci_bus, PCI_DEVFN(12, 4), TYPE_VT8231_PM); diff --git a/hw/usb/vt82c686-uhci-pci.c b/hw/usb/vt82c686-uhci-pci.c index 0bf2b72ff0..46a901f56f 100644 --- a/hw/usb/vt82c686-uhci-pci.c +++ b/hw/usb/vt82c686-uhci-pci.c @@ -31,7 +31,7 @@ static void usb_uhci_vt82c686b_realize(PCIDevice *dev, Error **errp) static UHCIInfo uhci_info[] = { { - .name = "vt82c686b-usb-uhci", + .name = TYPE_VT82C686B_USB_UHCI, .vendor_id = PCI_VENDOR_ID_VIA, .device_id = PCI_DEVICE_ID_VIA_UHCI, .revision = 0x01, @@ -45,7 +45,7 @@ static UHCIInfo uhci_info[] = { static const TypeInfo vt82c686b_usb_uhci_type_info = { .parent = TYPE_UHCI, - .name = "vt82c686b-usb-uhci", + .name = TYPE_VT82C686B_USB_UHCI, .class_init = uhci_data_class_init, .class_data = uhci_info, }; diff --git a/include/hw/isa/vt82c686.h b/include/hw/isa/vt82c686.h index 87aca3e5bb..e6f6dd4d43 100644 --- a/include/hw/isa/vt82c686.h +++ b/include/hw/isa/vt82c686.h @@ -5,6 +5,7 @@ #define TYPE_VT82C686B_ISA "vt82c686b-isa" #define TYPE_VT82C686B_PM "vt82c686b-pm" +#define TYPE_VT82C686B_USB_UHCI "vt82c686b-usb-uhci" #define TYPE_VT8231_ISA "vt8231-isa" #define TYPE_VT8231_PM "vt8231-pm" #define TYPE_VIA_AC97 "via-ac97" From patchwork Wed Aug 31 15:46:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 12960982 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 64236ECAAD1 for ; Wed, 31 Aug 2022 15:54:55 +0000 (UTC) Received: from localhost ([::1]:43738 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTQ3K-0004fJ-DQ for qemu-devel@archiver.kernel.org; Wed, 31 Aug 2022 11:54:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58972) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTPvK-0002p5-VN; Wed, 31 Aug 2022 11:46:39 -0400 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]:40450) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTPvJ-00038R-0Z; Wed, 31 Aug 2022 11:46:38 -0400 Received: by mail-ed1-x52d.google.com with SMTP id m1so18964848edb.7; Wed, 31 Aug 2022 08:46:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=RWj9GRHrzzr15/ZkR3tiTCwed+rhxbgqjltEgakH7eA=; b=YhjTlwkWnueSRT0qYX4GZicEDSO11zD8pBuNI9P9gMu9f6hglrSo0h+H3cmcCKmApW 1ly1oJwAtLEYOjHx9K0kPUtsMQCMaGykh8qGvCfNGy5cDCb7SvnKomAw9mbtaJcj80yX VskQif962d2J+7Ng/jq35CBKdQNf0O9HVc7Tk2k0Wh2oXk6CxsE8T9C7imtPleuMDUNe 4bxu1eOtGPigZaS5OVUDXNWraEI0Y7x8olcAIznD9O16U5RuZxJu8oEfbNHdsuVxAIHE EdxjYhZotZHP/l/yMOjD27jIo/H88bHDiT9Lth363VpRHMzatTwFc9qbRdaE24ztSKzP /r5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=RWj9GRHrzzr15/ZkR3tiTCwed+rhxbgqjltEgakH7eA=; b=gG9oNkM6PuyZ/X2/uMJkZdIOe8WVgP7NqcwIHPQAmJ5KgwUiJFqfOnnWsiMYwxNk1o D3xj53yDyAtBi08QFY0wnq0PWi6SXOao4TGMkt9LpvfAZqHmmk6Pf0wkgEAEEfc7FQsl mQAus7pulnSLYK5xapeP31G0zVT54PTXKiRl5UgOAiO7usR6Hxq9crTZLqRFoMMufa9L KIUL7YZ8fwe5A1QLE97+FSg8dKX6wYkN8BHbR5EvutOiguJafdD+Zpgjdmr4DkjmPndN FOsP34QJrJ98u1MWnRr8hsi0+nD8HusenjuktwjzdwmqWfUQXdmb/O7UpARTMvjG/j/m dtCA== X-Gm-Message-State: ACgBeo2kjpX0jm7RYNv5ivru3SN/JU9fVgND+ejDEFfmhw6qfmjqVhCQ AgMaX78DaHYywm+Fodx3UyfwBs7aY30= X-Google-Smtp-Source: AA6agR7reuJRftJi7ba9H4waIHQZbW7K2/FcdmwWZM2N3pyH+sySTAPmQWNWr7eS1yAlSY5f+MP++w== X-Received: by 2002:a05:6402:360d:b0:445:bd16:803b with SMTP id el13-20020a056402360d00b00445bd16803bmr24754102edb.318.1661960793596; Wed, 31 Aug 2022 08:46:33 -0700 (PDT) Received: from osoxes.fritz.box (p200300faaf0bb2009c4947838afc41b6.dip0.t-ipconnect.de. [2003:fa:af0b:b200:9c49:4783:8afc:41b6]) by smtp.gmail.com with ESMTPSA id k9-20020a508ac9000000b00445e930e20esm9252123edk.64.2022.08.31.08.46.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Aug 2022 08:46:33 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: BALATON Zoltan , John Snow , qemu-ppc@nongnu.org, Huacai Chen , qemu-block@nongnu.org, Jiaxun Yang , Gerd Hoffmann , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Bernhard Beschow Subject: [PATCH v4 08/12] hw/isa/vt82c686: Instantiate USB functions in host device Date: Wed, 31 Aug 2022 17:46:01 +0200 Message-Id: <20220831154605.12773-9-shentey@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220831154605.12773-1-shentey@gmail.com> References: <20220831154605.12773-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::52d; envelope-from=shentey@gmail.com; helo=mail-ed1-x52d.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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" The USB functions can be enabled/disabled through the ISA function. Also its interrupt routing can be influenced there. Signed-off-by: Bernhard Beschow --- hw/isa/vt82c686.c | 12 ++++++++++++ hw/mips/fuloong2e.c | 3 --- hw/ppc/pegasos2.c | 4 ---- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 63c1e3b8ce..f05fd9948a 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -23,6 +23,7 @@ #include "hw/intc/i8259.h" #include "hw/irq.h" #include "hw/dma/i8257.h" +#include "hw/usb/hcd-uhci.h" #include "hw/timer/i8254.h" #include "hw/rtc/mc146818rtc.h" #include "migration/vmstate.h" @@ -546,6 +547,7 @@ struct ViaISAState { qemu_irq *isa_irqs; ViaSuperIOState via_sio; PCIIDEState ide; + UHCIState uhci[2]; }; static const VMStateDescription vmstate_via = { @@ -563,6 +565,8 @@ static void via_isa_init(Object *obj) ViaISAState *s = VIA_ISA(obj); object_initialize_child(obj, "ide", &s->ide, TYPE_VIA_IDE); + object_initialize_child(obj, "uhci1", &s->uhci[0], TYPE_VT82C686B_USB_UHCI); + object_initialize_child(obj, "uhci2", &s->uhci[1], TYPE_VT82C686B_USB_UHCI); } static const TypeInfo via_isa_info = { @@ -629,6 +633,14 @@ static void via_isa_realize(PCIDevice *d, Error **errp) if (!qdev_realize(DEVICE(&s->ide), BUS(pci_bus), errp)) { return; } + + /* Functions 2-3: USB Ports */ + for (i = 0; i < ARRAY_SIZE(s->uhci); i++) { + qdev_prop_set_int32(DEVICE(&s->uhci[i]), "addr", d->devfn + 2 + i); + if (!qdev_realize(DEVICE(&s->uhci[i]), BUS(pci_bus), errp)) { + return; + } + } } /* TYPE_VT82C686B_ISA */ diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 6b7370f2aa..dc92223b76 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -208,9 +208,6 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); - pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), TYPE_VT82C686B_USB_UHCI); - pci_create_simple(pci_bus, PCI_DEVFN(slot, 3), TYPE_VT82C686B_USB_UHCI); - dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 4), TYPE_VT82C686B_PM); *i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 70776558c9..85cca6f7a6 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -168,10 +168,6 @@ static void pegasos2_init(MachineState *machine) dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); - /* VT8231 function 2-3: USB Ports */ - pci_create_simple(pci_bus, PCI_DEVFN(12, 2), TYPE_VT82C686B_USB_UHCI); - pci_create_simple(pci_bus, PCI_DEVFN(12, 3), TYPE_VT82C686B_USB_UHCI); - /* VT8231 function 4: Power Management Controller */ dev = pci_create_simple(pci_bus, PCI_DEVFN(12, 4), TYPE_VT8231_PM); i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); From patchwork Wed Aug 31 15:46:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 12961003 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id EA9B2ECAAD1 for ; Wed, 31 Aug 2022 16:04:05 +0000 (UTC) Received: from localhost ([::1]:36508 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTQCC-0001Uh-Lt for qemu-devel@archiver.kernel.org; Wed, 31 Aug 2022 12:04:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58974) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTPvM-0002pP-28; Wed, 31 Aug 2022 11:46:40 -0400 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]:38704) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTPvJ-00038k-1e; Wed, 31 Aug 2022 11:46:38 -0400 Received: by mail-ed1-x52a.google.com with SMTP id a36so15132709edf.5; Wed, 31 Aug 2022 08:46:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=Jlk6oFJAY+l1qPvv1++yQk3ViQamm2gz/v6Qx4/s2dE=; b=UImNWLK7vk3fDrDdjw6vcsIJa6sdOzTDCg/5w9VPo9ju8F7ebvEHNd29jkPAe35F1b bhwN587iJmjOLSMb2m1/ooNyccLOd7Gab22zBdvht5rV/NLNiqo86WUCHbeudOFazUBs W4db/csLGQs4I5Nmf9McKTmHkHOaZa2S+6lp8fmAhhHJpMit0KH2MYWawpwmiqgaB3PD ad42X7Pm9UdfFxkHJeC/19NN0ZBVKLJIAQgG3wcV+suoJvyhLLPfXGjFxkqcLT967RSl 3Yy3or4l4tgQcyLVBpqBsWvajbF6ICk7ppzcUGnTK78aQsfXD0tnMjppvG3nJXTLN12c KzZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=Jlk6oFJAY+l1qPvv1++yQk3ViQamm2gz/v6Qx4/s2dE=; b=Q5jOcYVDTxamIWvGzMiS0iP3iWbz/6Rp5UiBwCCy1BiOPC2a8NTdJ1nSJvi8Uc+JLf AHpBZJ6C7mC3y2Ia739/DKihn9yGTSMng77veglyQq6a0uF/ILde/4PDyH9dd/NMAbdw MySZLmKDno10Y1UPGUg8KYgJ1ygVkaCfSo1sHaicsxu3uLH1fjK6/qIw+KzTY0A/0SIP hGq7AxkcTjmI7XBk3pcyhQO7pzK+ZTAqWpM/e+OkdiYNMYnZabO0NesENOOH72OuEoeD k+260lrhAgbBJZjD4y8VHf+FGdHlvcsGIKOgFlihW8LNDQPEHrE5+T9rMD8yfXNFnOpj qUWw== X-Gm-Message-State: ACgBeo1JhJJgEkkILLfZt+J2Te8Mw5899m86U6UHF/5GaWKpLDU24wAD FjmsbYh27/+85FJvOLdL99dO/NW4z4o= X-Google-Smtp-Source: AA6agR6NhBWHuSqPd12HXvFM4oYU6qhEGBdoeMjsSeT+/UiVgGvuXzKiHD3U6L3utMYcOnsztivkNA== X-Received: by 2002:a05:6402:524c:b0:43e:aba4:a42d with SMTP id t12-20020a056402524c00b0043eaba4a42dmr25163156edd.328.1661960794768; Wed, 31 Aug 2022 08:46:34 -0700 (PDT) Received: from osoxes.fritz.box (p200300faaf0bb2009c4947838afc41b6.dip0.t-ipconnect.de. [2003:fa:af0b:b200:9c49:4783:8afc:41b6]) by smtp.gmail.com with ESMTPSA id k9-20020a508ac9000000b00445e930e20esm9252123edk.64.2022.08.31.08.46.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Aug 2022 08:46:34 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: BALATON Zoltan , John Snow , qemu-ppc@nongnu.org, Huacai Chen , qemu-block@nongnu.org, Jiaxun Yang , Gerd Hoffmann , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Bernhard Beschow Subject: [PATCH v4 09/12] hw/isa/vt82c686: Instantiate PM function in host device Date: Wed, 31 Aug 2022 17:46:02 +0200 Message-Id: <20220831154605.12773-10-shentey@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220831154605.12773-1-shentey@gmail.com> References: <20220831154605.12773-1-shentey@gmail.com> MIME-Version: 1.0 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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" The PM controller has activity bits which monitor activity of other built-in devices in the host device. Signed-off-by: Bernhard Beschow --- hw/isa/vt82c686.c | 13 +++++++++++++ hw/mips/fuloong2e.c | 2 +- hw/ppc/pegasos2.c | 3 +-- include/hw/isa/vt82c686.h | 2 -- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index f05fd9948a..d048607079 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -250,6 +250,8 @@ static const ViaPMInitInfo vt82c686b_pm_init_info = { .device_id = PCI_DEVICE_ID_VIA_82C686B_PM, }; +#define TYPE_VT82C686B_PM "vt82c686b-pm" + static const TypeInfo vt82c686b_pm_info = { .name = TYPE_VT82C686B_PM, .parent = TYPE_VIA_PM, @@ -261,6 +263,8 @@ static const ViaPMInitInfo vt8231_pm_init_info = { .device_id = PCI_DEVICE_ID_VIA_8231_PM, }; +#define TYPE_VT8231_PM "vt8231-pm" + static const TypeInfo vt8231_pm_info = { .name = TYPE_VT8231_PM, .parent = TYPE_VIA_PM, @@ -548,6 +552,7 @@ struct ViaISAState { ViaSuperIOState via_sio; PCIIDEState ide; UHCIState uhci[2]; + ViaPMState pm; }; static const VMStateDescription vmstate_via = { @@ -641,6 +646,12 @@ static void via_isa_realize(PCIDevice *d, Error **errp) return; } } + + /* Function 4: Power Management */ + qdev_prop_set_int32(DEVICE(&s->pm), "addr", d->devfn + 4); + if (!qdev_realize(DEVICE(&s->pm), BUS(pci_bus), errp)) { + return; + } } /* TYPE_VT82C686B_ISA */ @@ -683,6 +694,7 @@ static void vt82c686b_init(Object *obj) ViaISAState *s = VIA_ISA(obj); object_initialize_child(obj, "sio", &s->via_sio, TYPE_VT82C686B_SUPERIO); + object_initialize_child(obj, "pm", &s->pm, TYPE_VT82C686B_PM); } static void vt82c686b_class_init(ObjectClass *klass, void *data) @@ -746,6 +758,7 @@ static void vt8231_init(Object *obj) ViaISAState *s = VIA_ISA(obj); object_initialize_child(obj, "sio", &s->via_sio, TYPE_VT8231_SUPERIO); + object_initialize_child(obj, "pm", &s->pm, TYPE_VT8231_PM); } static void vt8231_class_init(ObjectClass *klass, void *data) diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index dc92223b76..377108d313 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -208,7 +208,7 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); - dev = pci_create_simple(pci_bus, PCI_DEVFN(slot, 4), TYPE_VT82C686B_PM); + dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "pm")); *i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); /* Audio support */ diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 85cca6f7a6..e32944ee2b 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -168,8 +168,7 @@ static void pegasos2_init(MachineState *machine) dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); pci_ide_create_devs(dev); - /* VT8231 function 4: Power Management Controller */ - dev = pci_create_simple(pci_bus, PCI_DEVFN(12, 4), TYPE_VT8231_PM); + dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "pm")); i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); spd_data = spd_data_generate(DDR, machine->ram_size); smbus_eeprom_init_one(i2c_bus, 0x57, spd_data); diff --git a/include/hw/isa/vt82c686.h b/include/hw/isa/vt82c686.h index e6f6dd4d43..eaa07881c5 100644 --- a/include/hw/isa/vt82c686.h +++ b/include/hw/isa/vt82c686.h @@ -4,10 +4,8 @@ #include "hw/pci/pci.h" #define TYPE_VT82C686B_ISA "vt82c686b-isa" -#define TYPE_VT82C686B_PM "vt82c686b-pm" #define TYPE_VT82C686B_USB_UHCI "vt82c686b-usb-uhci" #define TYPE_VT8231_ISA "vt8231-isa" -#define TYPE_VT8231_PM "vt8231-pm" #define TYPE_VIA_AC97 "via-ac97" #define TYPE_VIA_IDE "via-ide" #define TYPE_VIA_MC97 "via-mc97" From patchwork Wed Aug 31 15:46:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 12960980 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9C7F0C0502A for ; Wed, 31 Aug 2022 15:52:22 +0000 (UTC) Received: from localhost ([::1]:59862 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTQ0r-0008VI-Ob for qemu-devel@archiver.kernel.org; Wed, 31 Aug 2022 11:52:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58976) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTPvM-0002vV-GS; Wed, 31 Aug 2022 11:46:40 -0400 Received: from mail-ej1-x629.google.com ([2a00:1450:4864:20::629]:45691) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTPvK-000393-IS; Wed, 31 Aug 2022 11:46:40 -0400 Received: by mail-ej1-x629.google.com with SMTP id lx1so29183084ejb.12; Wed, 31 Aug 2022 08:46:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=yR1WuULr3CbcvDGW25RvKawDTHX0S07ta2xKevtnT3M=; b=f1HsiNNdNUI1IR+8+7CVu4tUZTj0ITjbZyUpQjx/WhzSGAKVyX2Dpx0Gja1iH4cM8z b2K+GgPIZ4Zy4phE/MCaRneR9Ox9WkAKg8j+BEoqlLOQ6t0qn30NaTRm2+Js5A1RsjAh zVzTBDDBoPO3PCf4bjgydjzUvz/UdrHGDJKvKrs8I6Zj0fE2l7D6KY8EpVoYYjsCz/8m Ac16rdKdEqAyFaL0r3R2U9oP5QYWQJYdrYz2OrnBXQI95jKBS7biNtXZIH4HAeYn//L5 mhRXO0t6b6gvdvY4v8c6JrUdwmldOQs7PivHB7uwitw24hiBPpahm25bMfcLD0RX6ck4 v10Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=yR1WuULr3CbcvDGW25RvKawDTHX0S07ta2xKevtnT3M=; b=dmgLwty8H/sGBZV0QU+IIsfUivQxPGHUNwN/2P1m7qa1nOOLppBxqDEdRYPOtXEnn2 NwaCAZriZGyDc2KbhSHr5QpMnQBPL1tnZcLuJOn6aQQ4dSybVH+nkSDTMdyspnxsi6WC Ildr3XRDzOmXShXn5l3A7qDo8jFcuRveQmZhmeBiGKTFFhXWrovt1sXb5smXpb16KZC/ eVIUz8OPcV2Dt0Yace/tIGcZ8HV17u8+9PZnURDNJM6tbhSlRl17GfkBP/erY9HdhRJl 7vbvBLWFtH7zhdsHEGCkl+QmISElHrr5/T/fcbDWl/bnliIVrPA7VOSZ4GHvLP3L1mJ+ +3Rg== X-Gm-Message-State: ACgBeo0gX9nz8rGSNmHAiFgpnxP5vnNfGJee+IxHjQP27KdZAxqPNLaN V6uzr2BhTAAf0Px2RuiwDMMxTDehP4s= X-Google-Smtp-Source: AA6agR7jXBv5XanU1saozJlQzRjmEX1jwbz43QFtRWS4VF5BX+QXHSke21YZfMxO3IjMeoTVP6piuQ== X-Received: by 2002:a17:907:a07c:b0:73d:dc49:e8e7 with SMTP id ia28-20020a170907a07c00b0073ddc49e8e7mr19340262ejc.393.1661960795819; Wed, 31 Aug 2022 08:46:35 -0700 (PDT) Received: from osoxes.fritz.box (p200300faaf0bb2009c4947838afc41b6.dip0.t-ipconnect.de. [2003:fa:af0b:b200:9c49:4783:8afc:41b6]) by smtp.gmail.com with ESMTPSA id k9-20020a508ac9000000b00445e930e20esm9252123edk.64.2022.08.31.08.46.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Aug 2022 08:46:35 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: BALATON Zoltan , John Snow , qemu-ppc@nongnu.org, Huacai Chen , qemu-block@nongnu.org, Jiaxun Yang , Gerd Hoffmann , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Bernhard Beschow Subject: [PATCH v4 10/12] hw/isa/vt82c686: Instantiate AC97 and MC97 functions in host device Date: Wed, 31 Aug 2022 17:46:03 +0200 Message-Id: <20220831154605.12773-11-shentey@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220831154605.12773-1-shentey@gmail.com> References: <20220831154605.12773-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::629; envelope-from=shentey@gmail.com; helo=mail-ej1-x629.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" The AC97 function's wakeup status is wired to the PM function and both the AC97 and MC97 interrupt routing is determined by the ISA function. Signed-off-by: Bernhard Beschow --- hw/isa/vt82c686.c | 16 ++++++++++++++++ hw/mips/fuloong2e.c | 4 ---- hw/ppc/pegasos2.c | 5 ----- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index d048607079..91686e9570 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -553,6 +553,8 @@ struct ViaISAState { PCIIDEState ide; UHCIState uhci[2]; ViaPMState pm; + PCIDevice ac97; + PCIDevice mc97; }; static const VMStateDescription vmstate_via = { @@ -572,6 +574,8 @@ static void via_isa_init(Object *obj) object_initialize_child(obj, "ide", &s->ide, TYPE_VIA_IDE); object_initialize_child(obj, "uhci1", &s->uhci[0], TYPE_VT82C686B_USB_UHCI); object_initialize_child(obj, "uhci2", &s->uhci[1], TYPE_VT82C686B_USB_UHCI); + object_initialize_child(obj, "ac97", &s->ac97, TYPE_VIA_AC97); + object_initialize_child(obj, "mc97", &s->mc97, TYPE_VIA_MC97); } static const TypeInfo via_isa_info = { @@ -652,6 +656,18 @@ static void via_isa_realize(PCIDevice *d, Error **errp) if (!qdev_realize(DEVICE(&s->pm), BUS(pci_bus), errp)) { return; } + + /* Function 5: AC97 Audio */ + qdev_prop_set_int32(DEVICE(&s->ac97), "addr", d->devfn + 5); + if (!qdev_realize(DEVICE(&s->ac97), BUS(pci_bus), errp)) { + return; + } + + /* Function 6: MC97 Modem */ + qdev_prop_set_int32(DEVICE(&s->mc97), "addr", d->devfn + 6); + if (!qdev_realize(DEVICE(&s->mc97), BUS(pci_bus), errp)) { + return; + } } /* TYPE_VT82C686B_ISA */ diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 377108d313..2d8723ab74 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -210,10 +210,6 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "pm")); *i2c_bus = I2C_BUS(qdev_get_child_bus(DEVICE(dev), "i2c")); - - /* Audio support */ - pci_create_simple(pci_bus, PCI_DEVFN(slot, 5), TYPE_VIA_AC97); - pci_create_simple(pci_bus, PCI_DEVFN(slot, 6), TYPE_VIA_MC97); } /* Network support */ diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index e32944ee2b..09fdb7557f 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -159,7 +159,6 @@ static void pegasos2_init(MachineState *machine) pci_bus = mv64361_get_pci_bus(pm->mv, 1); /* VIA VT8231 South Bridge (multifunction PCI device) */ - /* VT8231 function 0: PCI-to-ISA Bridge */ via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(12, 0), true, TYPE_VT8231_ISA); qdev_connect_gpio_out(DEVICE(via), 0, @@ -173,10 +172,6 @@ static void pegasos2_init(MachineState *machine) spd_data = spd_data_generate(DDR, machine->ram_size); smbus_eeprom_init_one(i2c_bus, 0x57, spd_data); - /* VT8231 function 5-6: AC97 Audio & Modem */ - pci_create_simple(pci_bus, PCI_DEVFN(12, 5), TYPE_VIA_AC97); - pci_create_simple(pci_bus, PCI_DEVFN(12, 6), TYPE_VIA_MC97); - /* other PC hardware */ pci_vga_init(pci_bus); From patchwork Wed Aug 31 15:46:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 12960984 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DB7D1ECAAD3 for ; Wed, 31 Aug 2022 15:56:32 +0000 (UTC) Received: from localhost ([::1]:40008 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTQ4t-0006wb-SX for qemu-devel@archiver.kernel.org; Wed, 31 Aug 2022 11:56:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58978) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTPvO-000320-HO; Wed, 31 Aug 2022 11:46:42 -0400 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]:37802) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTPvL-00039R-PZ; Wed, 31 Aug 2022 11:46:42 -0400 Received: by mail-ej1-x62c.google.com with SMTP id nc14so24304097ejc.4; Wed, 31 Aug 2022 08:46:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=gLfUGnAVToF9YqO6CURY5qXIngPZ9Wpmw00YUrrVUss=; b=nrOmPDbW1xMgOamol/V0T3/qzGyFPYaLZFFrsfY//7Bsb9fAyeE6N6suG/1em073AA IESq1O1DLC/ItC4Kyr3i+zcE9A7fHsoSg+wkjwj2aBxqWR98QScoYmrvXRR5F87cJft8 0aEhty+F48jJ2SKsu8F68HLumY37VAJEt9ML7mA3ZkyMFp/LPlEJjYjCRbpWdZMFYFWA 8Uhtiapox/lgHEWxQxZU7HSYv+zjn/c4gaJGK9wrOxJ0KB0eT0I1y8Ch+R7NuDLenk2J gB69qkCoZVxvcGRFOr7pW+JY1N6lgtk+jIKGUqsFeJnfZDKI8oWWizyZCa8PvYYdU1mQ H0xA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=gLfUGnAVToF9YqO6CURY5qXIngPZ9Wpmw00YUrrVUss=; b=0q3VzaGt2EduSYB+FRL/9AEVWW2J38SH5yuanZrQkgvnk9CjgY2aSjAIpe54m5LdeB A/taOdxnHLMe36UpQs+/KvfK7LbtaejgaZ6IvH5UUcgf+G1hXj2pQYYv6TsSrRgwMKNV 0ZLKkvXvD+4HbESoPEZxpWpotND9Rf1+bWChncf3S9X4W+rnvHTU93huzuIWMuv1rWow +5HqkxozOcNEVlE0X5xQ7QpW7pfQ5m8ycpgk7xqoQG3uyXzLc52fpCv56hnfmOydn5DY Hy01BELf6lG11pQumZIZGHV4KnGnTIokAfZ+mI+M5ItitnB3zfzHdH+puotSYCQjLYRu eC5g== X-Gm-Message-State: ACgBeo2k6urN2dznZ941u6Qmo6nOHdh5B4zVD/iCfa7dXQ48NwFM0bud bmgW+7iGvRTEWd6Zaebue8puFA41f8c= X-Google-Smtp-Source: AA6agR5Ps8hpXpWhwLR2yQPCrK/mjdhesph0GyWVLOf/7Oa9n1BdAAL6WFFKFORZKkK242Tj9YxLhw== X-Received: by 2002:a17:906:4fd0:b0:73d:be5b:291b with SMTP id i16-20020a1709064fd000b0073dbe5b291bmr20858888ejw.157.1661960797372; Wed, 31 Aug 2022 08:46:37 -0700 (PDT) Received: from osoxes.fritz.box (p200300faaf0bb2009c4947838afc41b6.dip0.t-ipconnect.de. [2003:fa:af0b:b200:9c49:4783:8afc:41b6]) by smtp.gmail.com with ESMTPSA id k9-20020a508ac9000000b00445e930e20esm9252123edk.64.2022.08.31.08.46.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Aug 2022 08:46:36 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: BALATON Zoltan , John Snow , qemu-ppc@nongnu.org, Huacai Chen , qemu-block@nongnu.org, Jiaxun Yang , Gerd Hoffmann , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Bernhard Beschow Subject: [PATCH v4 11/12] hw/isa/vt82c686: Embed RTCState in host device Date: Wed, 31 Aug 2022 17:46:04 +0200 Message-Id: <20220831154605.12773-12-shentey@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220831154605.12773-1-shentey@gmail.com> References: <20220831154605.12773-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62c; envelope-from=shentey@gmail.com; helo=mail-ej1-x62c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Embed the rtc in the host device, analoguous to the other child devices and analoguous to PIIX4. Signed-off-by: Bernhard Beschow --- hw/isa/vt82c686.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 91686e9570..48cd4d0036 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -550,6 +550,7 @@ struct ViaISAState { qemu_irq cpu_intr; qemu_irq *isa_irqs; ViaSuperIOState via_sio; + RTCState rtc; PCIIDEState ide; UHCIState uhci[2]; ViaPMState pm; @@ -571,6 +572,7 @@ static void via_isa_init(Object *obj) { ViaISAState *s = VIA_ISA(obj); + object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC); object_initialize_child(obj, "ide", &s->ide, TYPE_VIA_IDE); object_initialize_child(obj, "uhci1", &s->uhci[0], TYPE_VT82C686B_USB_UHCI); object_initialize_child(obj, "uhci2", &s->uhci[1], TYPE_VT82C686B_USB_UHCI); @@ -624,7 +626,15 @@ static void via_isa_realize(PCIDevice *d, Error **errp) isa_bus_irqs(isa_bus, s->isa_irqs); i8254_pit_init(isa_bus, 0x40, 0, NULL); i8257_dma_init(isa_bus, 0); - mc146818_rtc_init(isa_bus, 2000, NULL); + + /* RTC */ + qdev_prop_set_int32(DEVICE(&s->rtc), "base_year", 2000); + if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), errp)) { + return; + } + object_property_add_alias(qdev_get_machine(), "rtc-time", OBJECT(&s->rtc), + "date"); + isa_connect_gpio_out(ISA_DEVICE(&s->rtc), 0, s->rtc.isairq); for (i = 0; i < PCI_CONFIG_HEADER_SIZE; i++) { if (i < PCI_COMMAND || i >= PCI_REVISION_ID) { From patchwork Wed Aug 31 15:46:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Beschow X-Patchwork-Id: 12960996 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 90E74ECAAD1 for ; Wed, 31 Aug 2022 15:59:07 +0000 (UTC) Received: from localhost ([::1]:34186 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTQ7O-0003un-Nf for qemu-devel@archiver.kernel.org; Wed, 31 Aug 2022 11:59:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58980) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTPvR-00037l-2f; Wed, 31 Aug 2022 11:46:45 -0400 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]:40480) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTPvO-000367-Cl; Wed, 31 Aug 2022 11:46:44 -0400 Received: by mail-ej1-x62e.google.com with SMTP id qh18so8958890ejb.7; Wed, 31 Aug 2022 08:46:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=Q9dSVrHRL2GS9HzdC/aqcNa7UQpy/akV7EXowwCZurw=; b=eNkAct7B1FQcMvOHqh8QX4KsgaLwGbTqrf893Y00gPpGwD2pKYqjY7x3Vjffv62WO9 q7XcoL0+kHCzSJT//iytB3ftd/ry5ueccQbLmZUbdKfShtWkJT7Pd5ueuFMulXGWlqtg QiHuRDscH+ODBVxJdGA0B0STJo1/EHH1ofPCFred6lgUU0tIdB0sHtUCKWAB7KwaBsge HgUf9jjYodgiQH4y9fK24s6qPIdBXkIivAFF8XmvpITOntSgh31nlk/zsqlqO/+K8tj9 2z6xEMLnt2wFFKBPeCv7gYb1S+2nUfNVg2Q2Nt7ZTM5R6Zk6aXyW2fkGu4D4YHYn3k/u 6CyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=Q9dSVrHRL2GS9HzdC/aqcNa7UQpy/akV7EXowwCZurw=; b=UgpCtcqRJXkJjSJpUT78Bex2ed3ZlqxQFG5w297//KdlYAtUDqSc7tVj/hcFEeBWjp AIGWLIwf7oPQfIM5oHWc1IjF5maKxUtKKaFSzctLkST/Y9e8KF2ElgEhC+rg8l0kc4Ey dAaysw/sXJobBoP8OuJxtAR+gNW1b+9i/1qBIYEYoOgiWXGfkvK4igBUfMeeoFOo9+iT 8z0oK0gCoRCLXaWTDK5127u6xE0iO4bhmC7Oyo2XGL4qN3NCN6BW5kMwCTn+/RQrPHdM /Lc48CdK/njiIovWIQBpjf/HQ8qEMEwGeCW2jcN2Jg4pF6Ru/nVkClA8pIGOOHTUw5bO Pf4w== X-Gm-Message-State: ACgBeo2ato0CKe39GQ+c6kUVGkrdIHxza0+wh6wqjiuTSP0Lt2Lvv9Tu cEl/Joj9llLIr0oZKZzrF5afNBxyI4g= X-Google-Smtp-Source: AA6agR6pNZkAADWVn0PFAGopVxfqPlOpmByaPleDMP3xVud3iuGs4eM3AZZMcaeNNU0BSOs27s6N3Q== X-Received: by 2002:a17:906:d7a9:b0:731:2189:4f58 with SMTP id pk9-20020a170906d7a900b0073121894f58mr21050694ejb.471.1661960798181; Wed, 31 Aug 2022 08:46:38 -0700 (PDT) Received: from osoxes.fritz.box (p200300faaf0bb2009c4947838afc41b6.dip0.t-ipconnect.de. [2003:fa:af0b:b200:9c49:4783:8afc:41b6]) by smtp.gmail.com with ESMTPSA id k9-20020a508ac9000000b00445e930e20esm9252123edk.64.2022.08.31.08.46.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Aug 2022 08:46:37 -0700 (PDT) From: Bernhard Beschow To: qemu-devel@nongnu.org Cc: BALATON Zoltan , John Snow , qemu-ppc@nongnu.org, Huacai Chen , qemu-block@nongnu.org, Jiaxun Yang , Gerd Hoffmann , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Bernhard Beschow Subject: [PATCH v4 12/12] hw/isa/vt82c686: Create rtc-time alias in boards instead Date: Wed, 31 Aug 2022 17:46:05 +0200 Message-Id: <20220831154605.12773-13-shentey@gmail.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220831154605.12773-1-shentey@gmail.com> References: <20220831154605.12773-1-shentey@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62e; envelope-from=shentey@gmail.com; helo=mail-ej1-x62e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" According to good QOM practice, an object should only deal with objects of its own sub tree. Having devices create an alias on the machine object doesn't respect this good practice. To resolve this, create the alias in the machine's code. Signed-off-by: Bernhard Beschow Reviewed-by: BALATON Zoltan --- hw/isa/vt82c686.c | 2 -- hw/mips/fuloong2e.c | 4 ++++ hw/ppc/pegasos2.c | 4 ++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c index 48cd4d0036..3f9bd0c04d 100644 --- a/hw/isa/vt82c686.c +++ b/hw/isa/vt82c686.c @@ -632,8 +632,6 @@ static void via_isa_realize(PCIDevice *d, Error **errp) if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), errp)) { return; } - object_property_add_alias(qdev_get_machine(), "rtc-time", OBJECT(&s->rtc), - "date"); isa_connect_gpio_out(ISA_DEVICE(&s->rtc), 0, s->rtc.isairq); for (i = 0; i < PCI_CONFIG_HEADER_SIZE; i++) { diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 2d8723ab74..0f4cfe1188 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -203,6 +203,10 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), true, TYPE_VT82C686B_ISA); + object_property_add_alias(qdev_get_machine(), "rtc-time", + object_resolve_path_component(OBJECT(via), + "rtc"), + "date"); qdev_connect_gpio_out(DEVICE(via), 0, intc); dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide")); diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c index 09fdb7557f..f50e1d8b3f 100644 --- a/hw/ppc/pegasos2.c +++ b/hw/ppc/pegasos2.c @@ -161,6 +161,10 @@ static void pegasos2_init(MachineState *machine) /* VIA VT8231 South Bridge (multifunction PCI device) */ via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(12, 0), true, TYPE_VT8231_ISA); + object_property_add_alias(qdev_get_machine(), "rtc-time", + object_resolve_path_component(OBJECT(via), + "rtc"), + "date"); qdev_connect_gpio_out(DEVICE(via), 0, qdev_get_gpio_in_named(pm->mv, "gpp", 31));