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

Re: [Xen-devel] [PATCH 1/2] hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges



>>> On 21.05.14 at 14:24, <Ian.Campbell@xxxxxxxxxxxxx> wrote:
> On Mon, 2014-05-19 at 14:12 +0100, Jan Beulich wrote:
>> @@ -163,6 +176,17 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, 
>>                  Add(MMIN, MLEN, MMAX)
>>                  Subtract(MMAX, One, MMAX)
>>  
>> +                CreateQWordField(PRT0, \_SB.PCI0._CRS._Y02._MIN, HMIN)
>> +                CreateQWordField(PRT0, \_SB.PCI0._CRS._Y02._MAX, HMAX)
>> +                CreateQWordField(PRT0, \_SB.PCI0._CRS._Y02._LEN, HLEN)
>> +
>> +                Store(\_SB.HMIN, HMIN)
>> +                Store(\_SB.HLEN, HLEN)
>> +                Add(HMIN, HLEN, HMAX)
>> +                If(LOr(HMIN, HLEN)) {
>> +                    Subtract(HMAX, One, HMAX)
>> +                }
> 
> This is (unlike the low version) conditional because HLEN might be 0?

Yes.

> Is the fact that _Y02 might continue to contain all zeroes OK?

Yes, it is - for Linux at least things end up being slightly wrong
(in that the region then gets treated as disabled rather than absent)
when doing the subtraction of 1 unconditionally.

Additionally I have a physical system where such an empty range (all
zeros) exists, which I take as additional proof that this is okay.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.