From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45259) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W1DJI-0006Iw-Aw for qemu-devel@nongnu.org; Thu, 09 Jan 2014 05:58:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W1DJC-0006OE-A4 for qemu-devel@nongnu.org; Thu, 09 Jan 2014 05:58:00 -0500 Received: from mx1.redhat.com ([209.132.183.28]:58002) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W1DJC-0006O5-2n for qemu-devel@nongnu.org; Thu, 09 Jan 2014 05:57:54 -0500 Date: Thu, 9 Jan 2014 12:57:45 +0200 From: "Michael S. Tsirkin" Message-ID: <20140109105745.GA21272@redhat.com> References: <1388269852-21198-1-git-send-email-imammedo@redhat.com> <1388269852-21198-6-git-send-email-imammedo@redhat.com> <20140108170055.GB17404@redhat.com> <20140109113405.318dd8d8@nial.usersys.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140109113405.318dd8d8@nial.usersys.redhat.com> Subject: Re: [Qemu-devel] [PATCH 5/9] pc: PIIX DSDT: exclude CPU/PCI hotplug & GPE0 IO range from PCI bus resources List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Mammedov Cc: hutao@cn.fujitsu.com, mjt@tls.msk.ru, qemu-devel@nongnu.org, chen.fan.fnst@cn.fujitsu.com, kraxel@redhat.com, anthony.perard@citrix.com, lersek@redhat.com, afaerber@suse.de On Thu, Jan 09, 2014 at 11:34:05AM +0100, Igor Mammedov wrote: > On Wed, 8 Jan 2014 19:00:55 +0200 > "Michael S. Tsirkin" wrote: > > > On Sat, Dec 28, 2013 at 11:30:48PM +0100, Igor Mammedov wrote: > > > .. so that they might not be used by PCI devices. > > > > > > Note: > > > Resort to concatenating templates with preprocessor help, > > > because 1.0b spec isn't supporting ConcatenateResTemplate, > > > as result Windows XP fails to execute PCI0._CRS method if > > > ConcatenateResTemplate() is used. > > > > > > Signed-off-by: Igor Mammedov > > > > Interesting. Could be worth getting rid of ConcatenateResTemplate in other places > > too so XP works on more systems ... > I guess they aren't used if there is no complains, I think the workaround is simple - don't have so much memory, that's why people don't complain. > anyway it's topic for another time/patch. Absolutely. > > > > > --- > > > Follow up patch will expose them as motherboard resources > > > --- > > > hw/i386/acpi-dsdt-pci-crs.dsl | 8 +------- > > > hw/i386/acpi-dsdt.dsl | 29 +++++++++++++++++++++++++++++ > > > hw/i386/q35-acpi-dsdt.dsl | 8 ++++++++ > > > 3 files changed, 38 insertions(+), 7 deletions(-) > > > > > > diff --git a/hw/i386/acpi-dsdt-pci-crs.dsl b/hw/i386/acpi-dsdt-pci-crs.dsl > > > index b375a19..8b631d1 100644 > > > --- a/hw/i386/acpi-dsdt-pci-crs.dsl > > > +++ b/hw/i386/acpi-dsdt-pci-crs.dsl > > > @@ -37,13 +37,7 @@ Scope(\_SB.PCI0) { > > > 0x0000, // Address Translation Offset > > > 0x0CF8, // Address Length > > > ,, , TypeStatic) > > > - WordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, > > > - 0x0000, // Address Space Granularity > > > - 0x0D00, // Address Range Minimum > > > - 0xFFFF, // Address Range Maximum > > > - 0x0000, // Address Translation Offset > > > - 0xF300, // Address Length > > > - ,, , TypeStatic) > > > + BOARD_SPECIFIC_PCI_RESOURSES > > > DWordMemory(ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, > > > 0x00000000, // Address Space Granularity > > > 0x000A0000, // Address Range Minimum > > > diff --git a/hw/i386/acpi-dsdt.dsl b/hw/i386/acpi-dsdt.dsl > > > index 3dc4789..55b4794 100644 > > > --- a/hw/i386/acpi-dsdt.dsl > > > +++ b/hw/i386/acpi-dsdt.dsl > > > @@ -35,6 +35,35 @@ DefinitionBlock ( > > > /**************************************************************** > > > * PCI Bus definition > > > ****************************************************************/ > > > +#define BOARD_SPECIFIC_PCI_RESOURSES \ > > > + WordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, \ > > > + 0x0000, \ > > > + 0x0D00, \ > > > + 0xADFF, \ > > > + 0x0000, \ > > > + 0xA100, \ > > > + ,, , TypeStatic) \ > > > + WordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, \ > > > + 0x0000, \ > > > + 0xAE14, \ > > > + 0xAEFF, \ > > > + 0x0000, \ > > > + 0x00EC, \ > > > + ,, , TypeStatic) \ > > > + WordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, \ > > > + 0x0000, \ > > > + 0xAF20, \ > > > + 0xAFDF, \ > > > + 0x0000, \ > > > + 0x00C0, \ > > > + ,, , TypeStatic) \ > > > + WordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, \ > > > + 0x0000, \ > > > + 0xAFE4, \ > > > + 0xFFFF, \ > > > + 0x0000, \ > > > + 0x501C, \ > > > + ,, , TypeStatic) > > > > > > Scope(\_SB) { > > > Device(PCI0) { > > > > Could you add some comments here to document where > > does each number comes from please? > > E.g. /* PIIX4_PROC_BASE + 0x100 */ or something. > done > > > > > Ideally we'd generate this based on defines used > > by host, but that does not have to block merging > > this patch. > > > > > diff --git a/hw/i386/q35-acpi-dsdt.dsl b/hw/i386/q35-acpi-dsdt.dsl > > > index 9a43947..f3e5921 100644 > > > --- a/hw/i386/q35-acpi-dsdt.dsl > > > +++ b/hw/i386/q35-acpi-dsdt.dsl > > > @@ -48,6 +48,14 @@ DefinitionBlock ( > > > /**************************************************************** > > > * PCI Bus definition > > > ****************************************************************/ > > > +#define BOARD_SPECIFIC_PCI_RESOURSES \ > > > + WordIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, \ > > > + 0x0000, \ > > > + 0x0D00, \ > > > + 0xFFFF, \ > > > + 0x0000, \ > > > + 0xF300, \ > > > + ,, , TypeStatic) > > > > > > Scope(\_SB) { > > > Device(PCI0) { > > > -- > > > 1.8.4.2