|
[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 |