xen: balloon: allow PVMMU interfaces to be compiled out
The ARM platform has no concept of PVMMU and therefor no HYPERVISOR_update_va_mapping et al. Allow this code to be compiled out when not required. In some similar situations (e.g. P2M) we have defined dummy functions to avoid this, however I think we can/should draw the line at dummying out actual hypercalls. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
parent
d71f513985
commit
c2374bf57e
3 changed files with 8 additions and 1 deletions
|
@ -6,6 +6,7 @@ config XEN
|
|||
bool "Xen guest support"
|
||||
select PARAVIRT
|
||||
select PARAVIRT_CLOCK
|
||||
select XEN_HAVE_PVMMU
|
||||
depends on X86_64 || (X86_32 && X86_PAE && !X86_VISWS)
|
||||
depends on X86_CMPXCHG && X86_TSC
|
||||
help
|
||||
|
|
|
@ -206,4 +206,7 @@ config XEN_MCE_LOG
|
|||
Allow kernel fetching MCE error from Xen platform and
|
||||
converting it into Linux mcelog format for mcelog tools
|
||||
|
||||
config XEN_HAVE_PVMMU
|
||||
bool
|
||||
|
||||
endmenu
|
||||
|
|
|
@ -359,6 +359,7 @@ static enum bp_state increase_reservation(unsigned long nr_pages)
|
|||
|
||||
set_phys_to_machine(pfn, frame_list[i]);
|
||||
|
||||
#ifdef CONFIG_XEN_HAVE_PVMMU
|
||||
/* Link back into the page tables if not highmem. */
|
||||
if (xen_pv_domain() && !PageHighMem(page)) {
|
||||
int ret;
|
||||
|
@ -368,6 +369,7 @@ static enum bp_state increase_reservation(unsigned long nr_pages)
|
|||
0);
|
||||
BUG_ON(ret);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Relinquish the page back to the allocator. */
|
||||
ClearPageReserved(page);
|
||||
|
@ -416,13 +418,14 @@ static enum bp_state decrease_reservation(unsigned long nr_pages, gfp_t gfp)
|
|||
|
||||
scrub_page(page);
|
||||
|
||||
#ifdef CONFIG_XEN_HAVE_PVMMU
|
||||
if (xen_pv_domain() && !PageHighMem(page)) {
|
||||
ret = HYPERVISOR_update_va_mapping(
|
||||
(unsigned long)__va(pfn << PAGE_SHIFT),
|
||||
__pte_ma(0), 0);
|
||||
BUG_ON(ret);
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Ensure that ballooned highmem pages don't have kmaps. */
|
||||
|
|
Loading…
Reference in a new issue