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

Re: [Xen-devel] [PATCH v1] hvmloader, pci: Don't try to relocate memory if 64-bit BAR is bigger than 4GB



.. snip..
>> +            {
>> +                /* If bigger than 4GB, don't try to put under 4GB. */
>> +                if ( is_64bar && bar_sz > (1ull<<32) )
>
> Clearly at the very least this should be >=. However, even when
> it's a 2Gb BAR, we won't be able to fit it (as it can't go at address
> zero, nor at address 0x80000000, both for different reasons).

<brushes off an old email>
The reason 2GB is also problematic is that we still have other things
that need to live under 4GB region: ACPI, APIC, and BAR of the PCI
platform device (16MB), VGA emulated device (32MB).

mmio_total counts all of those up, and the emulated devices are
enumerated before the passthrough devices - so I can do:

 if ( is_64bar && bar_sz > (GB(2) - mmio_total - HVM_BELOW_4G_MMIO_LENGTH) )

or such?

Let me prep a patch to this effect and also another prereq that adds
MB(x) and GB(x) macros.

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

 


Rackspace

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