From: awilliam@xenbuild.aw Date: Mon, 22 May 2006 20:13:38 +0000 (-0600) Subject: merge with xen-unstable.hg X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16047 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=7e713108bee7015018d3577e163d58003f0371b2;p=xen.git merge with xen-unstable.hg --- 7e713108bee7015018d3577e163d58003f0371b2 diff --cc linux-2.6-xen-sparse/arch/ia64/xen/Makefile index ce1f07cac3,5794a4136c..da3ca07cd0 --- a/linux-2.6-xen-sparse/arch/ia64/xen/Makefile +++ b/linux-2.6-xen-sparse/arch/ia64/xen/Makefile @@@ -2,7 -2,7 +2,7 @@@ # Makefile for Xen components # - obj-y := hypercall.o xenivt.o xenentry.o xensetup.o xenpal.o xenhpski.o xenconsole.o xen_ksyms.o + obj-y := hypercall.o xenivt.o xenentry.o xensetup.o xenpal.o xenhpski.o xenconsole.o -obj-$(CONFIG_XEN_IA64_DOM0_VP) += hypervisor.o pci-dma-xen.o +obj-$(CONFIG_XEN_IA64_DOM0_VP) += hypervisor.o pci-dma-xen.o util.o - pci-dma-xen-$(CONFIG_XEN_IA64_DOM0_VP) := ../../i386/kernel/pci-dma-xen.o + pci-dma-xen-$(CONFIG_XEN_IA64_DOM0_VP) := ../../i386/kernel/pci-dma-xen.o diff --cc linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h index 86fc59d809,281b1af3cb..d70cf36ce9 --- a/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h +++ b/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h @@@ -169,24 -158,11 +169,24 @@@ void __xen_destroy_contiguous_region(un static inline void xen_destroy_contiguous_region(unsigned long vstart, unsigned int order) { - if (running_on_xen) + if (is_running_on_xen()) __xen_destroy_contiguous_region(vstart, order); } + +// for netfront.c, netback.c +#define MULTI_UVMFLAGS_INDEX 0 //XXX any value + +static inline void +MULTI_update_va_mapping( + multicall_entry_t *mcl, unsigned long va, + pte_t new_val, unsigned long flags) +{ + mcl->op = __HYPERVISOR_update_va_mapping; + mcl->result = 0; +} + #else -#define xen_create_contiguous_region(vstart, order, address_bits) ({0;}) +#define xen_create_contiguous_region(vstart, order, address_bits) (0) #define xen_destroy_contiguous_region(vstart, order) do {} while (0) #endif diff --cc linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h index 6c79197887,29ff8820dd..660fef75fb --- a/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h +++ b/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h @@@ -42,15 -41,10 +42,10 @@@ #endif #ifndef __ASSEMBLY__ - #ifdef MODULE - extern int is_running_on_xen(void); - #define running_on_xen (is_running_on_xen()) - #else extern int running_on_xen; - #endif -#define XEN_HYPER_SSM_I asm("break 0x7"); -#define XEN_HYPER_GET_IVR asm("break 0x8"); +#define XEN_HYPER_SSM_I asm("break %0" : : "i" (HYPERPRIVOP_SSM_I)) +#define XEN_HYPER_GET_IVR asm("break %0" : : "i" (HYPERPRIVOP_GET_IVR)) /************************************************/ /* Instructions paravirtualized for correctness */ diff --cc xen/include/public/arch-ia64.h index 19716fe79b,d404d47d16..a4d5ead84d --- a/xen/include/public/arch-ia64.h +++ b/xen/include/public/arch-ia64.h @@@ -290,28 -296,31 +296,32 @@@ struct mapped_regs unsigned long reserved6[3456]; unsigned long vmm_avail[128]; unsigned long reserved7[4096]; - } mapped_regs_t; + }; + typedef struct mapped_regs mapped_regs_t; - typedef struct { - } arch_vcpu_info_t; + struct arch_vcpu_info { - struct mapped_regs *privregs; - int evtchn_vector; + }; + typedef struct arch_vcpu_info arch_vcpu_info_t; typedef mapped_regs_t vpd_t; - typedef struct { + struct arch_shared_info { unsigned int flags; unsigned long start_info_pfn; + + /* Interrupt vector for event channel. */ + int evtchn_vector; - } arch_shared_info_t; + }; + typedef struct arch_shared_info arch_shared_info_t; - typedef struct { + struct arch_initrd_info { unsigned long start; unsigned long size; - } arch_initrd_info_t; + }; + typedef struct arch_initrd_info arch_initrd_info_t; #define IA64_COMMAND_LINE_SIZE 512 - typedef struct vcpu_guest_context { + struct vcpu_guest_context { #define VGCF_FPU_VALID (1<<0) #define VGCF_VMX_GUEST (1<<1) #define VGCF_IN_KERNEL (1<<2) @@@ -321,12 -330,13 +331,13 @@@ unsigned long sys_pgnr; /* System pages out of domain memory */ unsigned long vm_assist; /* VMASST_TYPE_* bitmap, now none on IPF */ - cpu_user_regs_t regs; - mapped_regs_t *privregs; - arch_shared_info_t shared; - arch_initrd_info_t initrd; + struct cpu_user_regs regs; - struct arch_vcpu_info vcpu; ++ struct mapped_regs *privregs; + struct arch_shared_info shared; + struct arch_initrd_info initrd; char cmdline[IA64_COMMAND_LINE_SIZE]; - } vcpu_guest_context_t; + }; + typedef struct vcpu_guest_context vcpu_guest_context_t; DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t); // dom0 vp op