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" <m...@redhat.com> 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 <imamm...@redhat.com> > > > > 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