From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MeY4Z-000690-0D for qemu-devel@nongnu.org; Fri, 21 Aug 2009 13:38:43 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MeY4T-0005w6-GX for qemu-devel@nongnu.org; Fri, 21 Aug 2009 13:38:41 -0400 Received: from [199.232.76.173] (port=56023 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MeY4T-0005vk-6T for qemu-devel@nongnu.org; Fri, 21 Aug 2009 13:38:37 -0400 Received: from mx1.redhat.com ([209.132.183.28]:27504) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MeY4S-0004c6-OG for qemu-devel@nongnu.org; Fri, 21 Aug 2009 13:38:37 -0400 Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n7LHcYmV010053 for ; Fri, 21 Aug 2009 13:38:34 -0400 From: Juan Quintela Date: Fri, 21 Aug 2009 19:36:14 +0200 Message-Id: Subject: [Qemu-devel] [PATCH 0/5] piix_pci cleanup List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Hi This series: - split piix4 from piix_pci. The only shared code where piix_save/load, i.e. almost nothing. Once there, compile piix4.o only for mips (it was not used anywhere else). - Move global variables to PCII440FXState. Nice and clean until.... - pci_irq_levels: This is great: * it is saved/loaded from i440fx * it is cleaned during reset in piix3 * it is used in piix3_set_irq, that don't receive neither i440fx nor piix state, it needs to be a global variable. (created a global link until a better solution appear). I looked where to "hide" pci_irq_levels and piix3_dev (both needed in piix3_set_irq), and didn't found where to pass them, out of: - hack i8259 to hide it into PicState2 (that one got passed through the pic) ugly for words, but will work - try to add at setup_irq time, but at that point we have: * opaque -> pci_dev of device that we are working with * from there we can get to the bus that the device is attached to, but no way to go from there to the Host bridge (that is what we wanted in the 1st place) Notice that this is needed for both pc and mips_malta.c Ideas on where to hide a pci_dev inside a bus? Later, Juan. Juan Quintela (5): piix4 don't use pci_irq_levels at all Split piix4 support from piix_pci.c Use PCII440FXState instead of generic PCIDevice Move smm_enabled and isa_memory_mappings to PCII440FXState Cleanup of pci_irq_levels belong to i440fx Makefile.target | 2 +- hw/pc.c | 2 +- hw/pc.h | 10 +++- hw/piix4.c | 127 +++++++++++++++++++++++++++++++++++++++++++ hw/piix_pci.c | 161 +++++++++++++++++------------------------------------- 5 files changed, 187 insertions(+), 115 deletions(-) create mode 100644 hw/piix4.c