ia64: fix build (next instance) A number of build problems crept in once again. Fix them. Signed-off-by: Jan Beulich --- a/xen/common/memory.c +++ b/xen/common/memory.c @@ -683,7 +683,7 @@ long do_memory_op(unsigned long cmd, XEN mfn = get_gfn_untyped(d, xrfp.gpfn); if ( mfn_valid(mfn) ) - guest_physmap_remove_page(d, xrfp.gpfn, mfn, PAGE_ORDER_4K); + guest_physmap_remove_page(d, xrfp.gpfn, mfn, 0); else rc = -ENOENT; --- a/xen/include/asm-ia64/linux-xen/asm/irq.h +++ b/xen/include/asm-ia64/linux-xen/asm/irq.h @@ -72,7 +72,7 @@ extern int request_irq_vector(unsigned i #define irq_complete_move(x) do {} \ while(!x) -#define domain_pirq_to_irq(d, irq) domain_irq_to_vector(d, irq) +#define domain_pirq_to_irq(d, irq) (irq) /* domain_irq_to_vector(d, irq) */ #define hvm_domain_use_pirq(d, info) 0 #endif --- a/xen/include/asm-ia64/linux-xen/asm/processor.h +++ b/xen/include/asm-ia64/linux-xen/asm/processor.h @@ -17,7 +17,12 @@ #include #include +#if !defined(XEN) #include +#elif !defined(__ASSEMBLY__) +struct cpu_user_regs; +#define pt_regs cpu_user_regs +#endif #include /* Our arch specific arch_init_sched_domain is in arch/ia64/kernel/domain.c */ @@ -783,4 +788,8 @@ ia64_get_cpl(unsigned long psr) #endif /* !__ASSEMBLY__ */ +#ifdef XEN +#include +#endif + #endif /* _ASM_IA64_PROCESSOR_H */ --- a/xen/include/xen/list.h +++ b/xen/include/xen/list.h @@ -8,7 +8,6 @@ #define __XEN_LIST_H__ #include -#include #include /* These are non-NULL pointers that will result in page faults @@ -40,6 +39,9 @@ struct list_head { #define LIST_HEAD_READ_MOSTLY(name) \ struct list_head __read_mostly name = LIST_HEAD_INIT(name) +/* Do not move this ahead of the struct list_head definition! */ +#include + static inline void INIT_LIST_HEAD(struct list_head *list) { list->next = list; --- a/xen/include/xsm/xsm.h +++ b/xen/include/xsm/xsm.h @@ -106,6 +106,7 @@ struct xsm_operations { int (*memory_adjust_reservation) (struct domain *d1, struct domain *d2); int (*memory_stat_reservation) (struct domain *d1, struct domain *d2); int (*memory_pin_page) (struct domain *d, struct page_info *page); + int (*remove_from_physmap) (struct domain *d1, struct domain *d2); int (*console_io) (struct domain *d, int cmd); @@ -174,7 +175,6 @@ struct xsm_operations { int (*update_va_mapping) (struct domain *d, struct domain *f, l1_pgentry_t pte); int (*add_to_physmap) (struct domain *d1, struct domain *d2); - int (*remove_from_physmap) (struct domain *d1, struct domain *d2); int (*sendtrigger) (struct domain *d); int (*bind_pt_irq) (struct domain *d, struct xen_domctl_bind_pt_irq *bind); int (*unbind_pt_irq) (struct domain *d); @@ -460,6 +460,11 @@ static inline int xsm_memory_pin_page(st return xsm_call(memory_pin_page(d, page)); } +static inline int xsm_remove_from_physmap(struct domain *d1, struct domain *d2) +{ + return xsm_call(remove_from_physmap(d1, d2)); +} + static inline int xsm_console_io (struct domain *d, int cmd) { return xsm_call(console_io(d, cmd)); @@ -764,11 +769,6 @@ static inline int xsm_add_to_physmap(str return xsm_call(add_to_physmap(d1, d2)); } -static inline int xsm_remove_from_physmap(struct domain *d1, struct domain *d2) -{ - return xsm_call(remove_from_physmap(d1, d2)); -} - static inline int xsm_sendtrigger(struct domain *d) { return xsm_call(sendtrigger(d));