X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=arch%2Fx86%2Fxen%2Fsetup.c;fp=arch%2Fx86%2Fxen%2Fsetup.c;h=99ef82cc4edc3bd8c6e2b2674b0ce1c565998398;hb=e612b4a7db4ae1dd8c2bbe171e10c21723de95b2;hp=87251b4c2e303d0c18a37c9e0b82445ec373a150;hpb=5097cdf6cef15439f971df54f9abcf143d7ca698;p=firefly-linux-kernel-4.4.55.git diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c index 87251b4c2e30..99ef82cc4edc 100644 --- a/arch/x86/xen/setup.c +++ b/arch/x86/xen/setup.c @@ -573,6 +573,29 @@ static unsigned long __init xen_count_remap_pages(unsigned long max_pfn) return extra; } +bool __init xen_is_e820_reserved(phys_addr_t start, phys_addr_t size) +{ + struct e820entry *entry; + unsigned mapcnt; + phys_addr_t end; + + if (!size) + return false; + + end = start + size; + entry = xen_e820_map; + + for (mapcnt = 0; mapcnt < xen_e820_map_entries; mapcnt++) { + if (entry->type == E820_RAM && entry->addr <= start && + (entry->addr + entry->size) >= end) + return false; + + entry++; + } + + return true; +} + /* * Reserve Xen mfn_list. * See comment above "struct start_info" in