qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [SeaBIOS] [PATCH] acpi: hide 64-bit PCI hole for Window


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [SeaBIOS] [PATCH] acpi: hide 64-bit PCI hole for Windows XP
Date: Thu, 08 Aug 2013 12:21:32 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130621 Thunderbird/17.0.7

On 08/08/13 11:52, Michael S. Tsirkin wrote:
> On Thu, Aug 08, 2013 at 10:57:44AM +0200, Gerd Hoffmann wrote:
>> On 08/08/13 10:37, Michael S. Tsirkin wrote:
>>> On Thu, Aug 08, 2013 at 09:57:39AM +0200, Gerd Hoffmann wrote:
>>>> Also coreboot and seabios use different values for pmbase.  coreboot on
>>>> q35 maps the pmbase below 0x1000.  Which surely makes sense.  When we
>>>> don't place chipset stuff at 0xb000 we can assign the 0xb000->0xbfff
>>>> window to a pci bridge instead.
>>>
>>> Yes, this might be useful. But I don't think it's required to
>>> use linker to patch ACPI tables for this - we can write ASL code to read
>>> the register back from device configuration, instead.
>>
>> No, we can't, because the address is in the FADT.
>>
>> cheers,
>>   Gerd
> 
> I see. Yes, PM base is there, this in fact makes it possible
> to patch it by linker in a sane way.

Exactly.  Likewise the mmconf xbar config in the MCFG table.

> But to make addresses usable to devices they also need to be declared in
> the _CRS for the PCI root, correct? Which is code in DSDT.

Yes, the address ranges used for pci devices (aka 32bit + 64bit pci
window) need to be there.  Well, placing in SSDT, then referencing from
DSDT works too, and this is what seabios does today to dynamically
adjust stuff.  Fixing up the SSDT using the linker is probably easier as
we generate it anyway.

cheers,
  Gerd




reply via email to

[Prev in Thread] Current Thread [Next in Thread]