|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 3/8] hvmloader: Set up highmem resouce appropriately if there is no RAM above 4G
On Thu, 20 Jun 2013, George Dunlap wrote:
> hvmloader will read hvm_info->high_mem_pgend to calculate where to start the
> highmem PCI region. However, if the guest does not have any memory in the
> high
> region, this is set to zero, which will cause hvmloader to use the "0" for
> the base
> of the highmem region, rather than 1 << 32.
>
> Check to see whether hvm_info->high_mem_pgend is set; if so, do the normal
> calculation;
> otherwise, use 1<<32.
>
> Signed-off-by: Geore Dunlap <george.dunlap@xxxxxxxxxxxxx>
> CC: Ian Campbell <ian.campbell@xxxxxxxxxx>
> CC: Ian Jackson <ian.jackson@xxxxxxxxxx>
> CC: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx>
> CC: Hanweidong <hanweidong@xxxxxxxxxx>
> CC: Keir Fraser <keir@xxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> tools/firmware/hvmloader/pci.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/tools/firmware/hvmloader/pci.c b/tools/firmware/hvmloader/pci.c
> index d8592b0..f0f11e2 100644
> --- a/tools/firmware/hvmloader/pci.c
> +++ b/tools/firmware/hvmloader/pci.c
> @@ -244,7 +244,14 @@ void pci_setup(void)
> hvm_info->high_mem_pgend += nr_pages;
> }
>
> - high_mem_resource.base = ((uint64_t)hvm_info->high_mem_pgend) <<
> PAGE_SHIFT;
> + if ( hvm_info->high_mem_pgend )
> + high_mem_resource.base = ((uint64_t)hvm_info->high_mem_pgend) <<
> PAGE_SHIFT;
> + else
> + high_mem_resource.base = 1ull << 32;
> + printf("%sRAM in high memory; setting high_mem resource base to
> %x%08x\n",
> + hvm_info->high_mem_pgend?"":"No ",
> + (uint32_t)(high_mem_resource.base>>32),
> + (uint32_t)high_mem_resource.base);
> high_mem_resource.max = 1ull << cpu_phys_addr();
> mem_resource.base = pci_mem_start;
> mem_resource.max = pci_mem_end;
> --
> 1.7.9.5
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |