From nobody Sat Oct 25 08:57:41 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 152028529049540.486796472520155; Mon, 5 Mar 2018 13:28:10 -0800 (PST) Received: from localhost ([::1]:51635 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1esxeT-0003CC-Lx for importer@patchew.org; Mon, 05 Mar 2018 16:28:09 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49556) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1esxWg-0004cS-Ki for qemu-devel@nongnu.org; Mon, 05 Mar 2018 16:20:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1esxWf-0001kH-AM for qemu-devel@nongnu.org; Mon, 05 Mar 2018 16:20:06 -0500 Received: from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]:54408) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1esxWf-0001jT-06 for qemu-devel@nongnu.org; Mon, 05 Mar 2018 16:20:05 -0500 Received: by mail-wm0-x243.google.com with SMTP id z81so18730611wmb.4 for ; Mon, 05 Mar 2018 13:20:04 -0800 (PST) Received: from x1.local (ABayonne-654-1-79-224.w86-222.abo.wanadoo.fr. [86.222.222.224]) by smtp.gmail.com with ESMTPSA id g96sm12904808wrd.73.2018.03.05.13.20.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 05 Mar 2018 13:20:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QZ267pz5Pehx0/O/HW5sMwpiWd03lKnGPfIsK0JMZw4=; b=ESStVgXX8pI90Pc+NaOwHP894WZHKOpRloYpBOPeAp/xtqVVDYhYHi9OrhZYtIN7wI AdlGPfE9Qu0lnSzOGJZxpwi+PfsnuALr5PN2cDENN2cXELrsITmvG3r9pNfAm9rFrK61 hwEXty3PftPCJqWmgsmygrjB4+0N9ZQQYVeeg8zvPBN3GSE7cQsrXLayQWbRf38k3Ach 027Ngof9Gcg+e7dQVHCnaR9tmanNxBsoWO6grATtKcnju3zCEo8EMweqU2t2VzguDaCA xLwEsP6nPXMT4xqJQcLeHqFJQDC68kH1VBkxEYOPQEh26pXjM8FnmS+zOOkH+hxUIvYw 3voQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=QZ267pz5Pehx0/O/HW5sMwpiWd03lKnGPfIsK0JMZw4=; b=im7JLNFVvvQ6cYS3u7nLjqvj8XNs24H1kQkgViIg9R7tPEgM2+48bnsBZ+2JE5YC4h vcU6V6d/CmdeasS4TtVFcE0F2ZeSHsqqlE30R+BrOHagMyEgm2nxLygqEM4KU4M6wHFR us4Mf5IbO6sObznjoG6bc21VPSvGS1gZySbQMft1G3K9A2fudHBZWJGP/V3fnn1MA8Dn 1lEZFhsJp41zjJJFU1Cj3Z8hbfYLA6n1I66invZcQksgqW2nkS4rLNKAI56Hokw9Nv3t +XhXnYzgoZi99PuhHBZEUb0CInWUb5sBkn50JWJiNIZxqVB+9kLLoAqrL4MciMZcXJvl NHtg== X-Gm-Message-State: AElRT7GWn3PojVaPvwv2QCTDkcmctrLBMXs9HEeJH+1k+NWuIeY+gJHz lEhBosj8vjDtKWi0qx0QHAI= X-Google-Smtp-Source: AG47ELssvl74LZ4JohrQ3c5EC8PKyiOd5ZbfkEd39wcFvjNmvDGQsumUQWXRC0haGB5EACph4WrXXw== X-Received: by 10.28.124.20 with SMTP id x20mr8624849wmc.62.1520284803974; Mon, 05 Mar 2018 13:20:03 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: "Michael S . Tsirkin" , Paolo Bonzini , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Marcel Apfelbaum , Aurelien Jarno , Mark Cave-Ayland , Alexey Kardashevskiy , Thomas Huth Date: Mon, 5 Mar 2018 18:19:22 -0300 Message-Id: <20180305211928.466-17-f4bug@amsat.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180305211928.466-1-f4bug@amsat.org> References: <20180305211928.466-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::243 Subject: [Qemu-devel] [RFC PATCH v2 16/22] hw/mips/mips_fulong2e: Factor out vt82c686b_southbridge_init() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Guan Xuetao , Yongbok Kim , Artyom Tarasenko , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/mips/mips_fulong2e.c | 83 ++++++++++++++++++++++++---------------------= ---- 1 file changed, 41 insertions(+), 42 deletions(-) diff --git a/hw/mips/mips_fulong2e.c b/hw/mips/mips_fulong2e.c index 9339e02120..ca1f76a724 100644 --- a/hw/mips/mips_fulong2e.c +++ b/hw/mips/mips_fulong2e.c @@ -78,8 +78,6 @@ #define FULONG2E_ATI_SLOT 6 #define FULONG2E_RTL8139_SLOT 7 =20 -static ISADevice *pit; - static struct _loaderparams { int ram_size; const char *kernel_filename; @@ -232,11 +230,44 @@ static const uint8_t eeprom_spd[0x80] =3D { 0x20,0x30,0x20 }; =20 -/* Audio support */ -static void audio_init (PCIBus *pci_bus) +static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq= intc, + I2CBus **i2c_bus, ISABus **p_isa_bu= s) { - vt82c686b_ac97_init(pci_bus, PCI_DEVFN(FULONG2E_VIA_SLOT, 5)); - vt82c686b_mc97_init(pci_bus, PCI_DEVFN(FULONG2E_VIA_SLOT, 6)); + qemu_irq *i8259; + ISABus *isa_bus; + DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS]; + + isa_bus =3D vt82c686b_init(pci_bus, PCI_DEVFN(slot, 0)); + if (!isa_bus) { + fprintf(stderr, "vt82c686b_init error\n"); + exit(1); + } + *p_isa_bus =3D isa_bus; + /* Interrupt controller */ + /* The 8259 -> IP5 */ + i8259 =3D i8259_init(isa_bus, intc); + isa_bus_irqs(isa_bus, i8259); + /* init other devices */ + i8254_pit_init(isa_bus, 0x40, 0, NULL); + i8257_dma_init(isa_bus, 0); + + ide_drive_get(hd, ARRAY_SIZE(hd)); + vt82c686b_ide_init(pci_bus, hd, PCI_DEVFN(slot, 1)); + + pci_create_simple(pci_bus, PCI_DEVFN(slot, 2), "vt82c686b-usb-uhci"); + pci_create_simple(pci_bus, PCI_DEVFN(slot, 3), "vt82c686b-usb-uhci"); + + *i2c_bus =3D vt82c686b_pm_init(pci_bus, PCI_DEVFN(slot, 4), 0xeee1, NU= LL); + + /* Audio support */ + vt82c686b_ac97_init(pci_bus, PCI_DEVFN(slot, 5)); + vt82c686b_mc97_init(pci_bus, PCI_DEVFN(slot, 6)); + + /* Super I/O */ + isa_create_simple(isa_bus, TYPE_I8042); + + serial_hds_isa_init(isa_bus, 0, MAX_SERIAL_PORTS); + parallel_hds_isa_init(isa_bus, 1); } =20 /* Network support */ @@ -269,11 +300,9 @@ static void mips_fulong2e_init(MachineState *machine) MemoryRegion *bios =3D g_new(MemoryRegion, 1); long bios_size; int64_t kernel_entry; - qemu_irq *i8259; PCIBus *pci_bus; ISABus *isa_bus; I2CBus *smbus; - DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS]; MIPSCPU *cpu; CPUMIPSState *env; =20 @@ -335,46 +364,16 @@ static void mips_fulong2e_init(MachineState *machine) /* North bridge, Bonito --> IP2 */ pci_bus =3D bonito_init((qemu_irq *)&(env->irq[2])); =20 - /* South bridge */ - ide_drive_get(hd, ARRAY_SIZE(hd)); - - isa_bus =3D vt82c686b_init(pci_bus, PCI_DEVFN(FULONG2E_VIA_SLOT, 0)); - if (!isa_bus) { - error_report("vt82c686b_init error"); - exit(1); - } - - /* Interrupt controller */ - /* The 8259 -> IP5 */ - i8259 =3D i8259_init(isa_bus, env->irq[5]); - isa_bus_irqs(isa_bus, i8259); - - vt82c686b_ide_init(pci_bus, hd, PCI_DEVFN(FULONG2E_VIA_SLOT, 1)); - pci_create_simple(pci_bus, PCI_DEVFN(FULONG2E_VIA_SLOT, 2), - "vt82c686b-usb-uhci"); - pci_create_simple(pci_bus, PCI_DEVFN(FULONG2E_VIA_SLOT, 3), - "vt82c686b-usb-uhci"); + /* South bridge -> IP5 */ + vt82c686b_southbridge_init(pci_bus, FULONG2E_VIA_SLOT, env->irq[5], + &smbus, &isa_bus); =20 - smbus =3D vt82c686b_pm_init(pci_bus, PCI_DEVFN(FULONG2E_VIA_SLOT, 4), - 0xeee1, NULL); /* TODO: Populate SPD eeprom data. */ smbus_eeprom_init(smbus, 1, eeprom_spd, sizeof(eeprom_spd)); =20 - /* init other devices */ - pit =3D i8254_pit_init(isa_bus, 0x40, 0, NULL); - i8257_dma_init(isa_bus, 0); - - /* Super I/O */ - isa_create_simple(isa_bus, TYPE_I8042); - mc146818_rtc_init(isa_bus, 2000, NULL); =20 - serial_hds_isa_init(isa_bus, 0, MAX_SERIAL_PORTS); - parallel_hds_isa_init(isa_bus, 1); - - /* Sound card */ - audio_init(pci_bus); - /* Network card */ + /* Network card: RTL8139D */ network_init(pci_bus); } =20 --=20 2.16.2