[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 3/5] hvmloader: Remove minimum size for BARs to relocate to 64-bit space
On Tue, Jun 18, 2013 at 05:46:22PM +0100, George Dunlap wrote: > Allow devices with BARs less than 512MiB to be relocated to high memory. > > This will only be invoked if there is not enough low MMIO space to map > the device, and will be done preferentially to large devices first; so > in all likelihood only large devices will be remapped anyway. > > This is needed to work-around the issue of qemu-xen not being able to > handle moving guest memory around to resize the MMIO hole. The default > MMIO hole size is less than 256MiB. > > Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx> > CC: Ian Jackson <ian.jackson@xxxxxxxxxx> > CC: Ian Campbell <ian.campbell@xxxxxxxxxx> > CC: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx> > CC: Hanweidong <hanweidong@xxxxxxxxxx> > --- > tools/firmware/hvmloader/config.h | 1 - > tools/firmware/hvmloader/pci.c | 5 ++--- > 2 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/tools/firmware/hvmloader/config.h > b/tools/firmware/hvmloader/config.h > index 8143d6f..6641197 100644 > --- a/tools/firmware/hvmloader/config.h > +++ b/tools/firmware/hvmloader/config.h > @@ -55,7 +55,6 @@ extern struct bios_config ovmf_config; > /* MMIO hole: Hardcoded defaults, which can be dynamically expanded. */ > #define PCI_MEM_START 0xf0000000 > #define PCI_MEM_END 0xfc000000 > -#define PCI_MIN_BIG_BAR_SIZE 0x20000000 > > extern unsigned long pci_mem_start, pci_mem_end; > > diff --git a/tools/firmware/hvmloader/pci.c b/tools/firmware/hvmloader/pci.c > index 7f306a1..a483b02 100644 > --- a/tools/firmware/hvmloader/pci.c > +++ b/tools/firmware/hvmloader/pci.c > @@ -265,9 +265,8 @@ void pci_setup(void) > if ( (bar_data & PCI_BASE_ADDRESS_SPACE) == > PCI_BASE_ADDRESS_SPACE_MEMORY ) > { > - /* Mapping high memory if PCI deivce is 64 bits bar and the bar > size > - is larger than 512M */ > - if (using_64bar && (bar_sz > PCI_MIN_BIG_BAR_SIZE)) { > + /* Mapping high memory if PCI device is 64 bits bar */ > + if (using_64bar) { I think the original had style problem, if you look at other occurrences for 'if', it should be if ( condition ) statement; Wei. > if ( high_mem_resource.base & (bar_sz - 1) ) > high_mem_resource.base = high_mem_resource.base - > (high_mem_resource.base & (bar_sz - 1)) + bar_sz; > -- > 1.7.9.5 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |