[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Xen-ia64-specific changes to adapt to recent xen-unstable changes
# HG changeset patch # User djm@xxxxxxxxxxxxxxx # Node ID d4d880fcef2860ebe3fd54b391147a57db06a5c7 # Parent b2f4823b6ff09017e21c0d44f73c58118f50ea46 Xen-ia64-specific changes to adapt to recent xen-unstable changes Signed-off-by: Dan Magenheimer <dan.magenheimer@xxxxxx> diff -r b2f4823b6ff0 -r d4d880fcef28 xen/arch/ia64/xen/domain.c --- a/xen/arch/ia64/xen/domain.c Fri Sep 9 16:30:54 2005 +++ b/xen/arch/ia64/xen/domain.c Fri Sep 9 16:31:36 2005 @@ -1101,3 +1101,19 @@ set_bit(_VCPUF_cpu_migrated, &v->vcpu_flags); v->processor = newcpu; } + +void sync_vcpu_execstate(struct vcpu *v) +{ + ia64_save_fpu(v->arch._thread.fph); +#ifdef CONFIG_VTI + if (VMX_DOMAIN(v)) + vmx_save_state(v); +#else + if (0) do {} while(0); +#endif + else { + if (IA64_HAS_EXTRA_STATE(v)) + ia64_save_extra(v); + } + // FIXME SMP: Anything else needed here for SMP? +} diff -r b2f4823b6ff0 -r d4d880fcef28 xen/arch/ia64/xen/hypercall.c --- a/xen/arch/ia64/xen/hypercall.c Fri Sep 9 16:30:54 2005 +++ b/xen/arch/ia64/xen/hypercall.c Fri Sep 9 16:31:36 2005 @@ -151,7 +151,7 @@ regs->r8 = do_dom0_op(regs->r14); break; - case __HYPERVISOR_dom_mem_op: + case __HYPERVISOR_memory_op: #ifdef CONFIG_VTI regs->r8 = do_dom_mem_op(regs->r14, regs->r15, regs->r16, regs->r17, regs->r18); #else diff -r b2f4823b6ff0 -r d4d880fcef28 xen/arch/ia64/xen/xensetup.c --- a/xen/arch/ia64/xen/xensetup.c Fri Sep 9 16:30:54 2005 +++ b/xen/arch/ia64/xen/xensetup.c Fri Sep 9 16:31:36 2005 @@ -11,6 +11,7 @@ #include <xen/multiboot.h> #include <xen/sched.h> #include <xen/mm.h> +#include <public/version.h> //#include <xen/delay.h> #include <xen/compile.h> //#include <xen/console.h> @@ -384,3 +385,17 @@ printk("About to call startup_cpu_idle_loop()\n"); startup_cpu_idle_loop(); } + +void arch_get_xen_caps(xen_capabilities_info_t *info) +{ + char *p=info->caps; + + *p=0; + + p+=sprintf(p,"xen_%d.%d_ia64 ",XEN_VERSION,XEN_SUBVERSION); + + BUG_ON((p-info->caps)>sizeof(*info)); + + if(p>info->caps) *(p-1) = 0; +} + diff -r b2f4823b6ff0 -r d4d880fcef28 xen/include/asm-ia64/mm.h --- a/xen/include/asm-ia64/mm.h Fri Sep 9 16:30:54 2005 +++ b/xen/include/asm-ia64/mm.h Fri Sep 9 16:31:36 2005 @@ -415,7 +415,7 @@ /* If pmt table is provided by control pannel later, we need __get_user * here. However if it's allocated by HV, we should access it directly */ -#define phys_to_machine_mapping(d, gpfn) \ +#define get_mfn_from_pfn(d, gpfn) \ ((d) == dom0 ? gpfn : \ (gpfn <= d->arch.max_pfn ? (d)->arch.pmt[(gpfn)] : \ INVALID_MFN)) @@ -424,7 +424,7 @@ machine_to_phys_mapping[(mfn)] #define __gpfn_to_mfn(_d, gpfn) \ - phys_to_machine_mapping((_d), (gpfn)) + get_mfn_from_pfn((_d), (gpfn)) #define __gpfn_invalid(_d, gpfn) \ (__gpfn_to_mfn((_d), (gpfn)) & GPFN_INV_MASK) diff -r b2f4823b6ff0 -r d4d880fcef28 xen/include/asm-ia64/xenpage.h --- a/xen/include/asm-ia64/xenpage.h Fri Sep 9 16:30:54 2005 +++ b/xen/include/asm-ia64/xenpage.h Fri Sep 9 16:31:36 2005 @@ -29,6 +29,25 @@ unsigned long l; void *p; } xen_va; + +static inline int get_order_from_bytes(physaddr_t size) +{ + int order; + size = (size-1) >> PAGE_SHIFT; + for ( order = 0; size; order++ ) + size >>= 1; + return order; +} + +static inline int get_order_from_pages(unsigned long nr_pages) +{ + int order; + nr_pages--; + for ( order = 0; nr_pages; order++ ) + nr_pages >>= 1; + return order; +} + #endif #undef __pa diff -r b2f4823b6ff0 -r d4d880fcef28 xen/include/asm-ia64/xensystem.h --- a/xen/include/asm-ia64/xensystem.h Fri Sep 9 16:30:54 2005 +++ b/xen/include/asm-ia64/xensystem.h Fri Sep 9 16:31:36 2005 @@ -22,6 +22,7 @@ #endif // CONFIG_VTI #define XEN_START_ADDR 0xf000000000000000 +#define HYPERVISOR_VIRT_START 0xf000000000000000 #undef KERNEL_START #define KERNEL_START 0xf000000004000000 #undef PERCPU_ADDR _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |