[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] linux/x86: make set_ldt() more consistent with native
As usual, written and tested on 2.6.24-rc8 and made apply to the 2.6.18 tree without further testing. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> Index: head-2008-01-21/arch/i386/mm/hypervisor.c =================================================================== --- head-2008-01-21.orig/arch/i386/mm/hypervisor.c 2008-01-21 13:30:08.000000000 +0100 +++ head-2008-01-21/arch/i386/mm/hypervisor.c 2008-01-21 13:31:56.000000000 +0100 @@ -182,12 +182,12 @@ void xen_pgd_unpin(unsigned long ptr) BUG_ON(HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF) < 0); } -void xen_set_ldt(unsigned long ptr, unsigned long len) +void xen_set_ldt(const void *ptr, unsigned int ents) { struct mmuext_op op; op.cmd = MMUEXT_SET_LDT; - op.arg1.linear_addr = ptr; - op.arg2.nr_ents = len; + op.arg1.linear_addr = (unsigned long)ptr; + op.arg2.nr_ents = ents; BUG_ON(HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF) < 0); } Index: head-2008-01-21/include/asm-i386/mach-xen/asm/desc.h =================================================================== --- head-2008-01-21.orig/include/asm-i386/mach-xen/asm/desc.h 2008-01-21 13:31:43.000000000 +0100 +++ head-2008-01-21/include/asm-i386/mach-xen/asm/desc.h 2008-01-21 13:31:56.000000000 +0100 @@ -140,7 +140,7 @@ static inline void clear_LDT(void) * it slows down context switching. Noone uses it anyway. */ cpu = cpu; /* XXX avoid compiler warning */ - xen_set_ldt(0UL, 0); + xen_set_ldt(NULL, 0); put_cpu(); } @@ -160,7 +160,7 @@ static inline void load_LDT_nolock (mm_c if (likely(!count)) segments = NULL; - xen_set_ldt((unsigned long)segments, count); + xen_set_ldt(segments, count); } static inline void load_LDT(mm_context_t *pc) Index: head-2008-01-21/include/asm-x86_64/mach-xen/asm/desc.h =================================================================== --- head-2008-01-21.orig/include/asm-x86_64/mach-xen/asm/desc.h 2008-01-21 13:31:43.000000000 +0100 +++ head-2008-01-21/include/asm-x86_64/mach-xen/asm/desc.h 2008-01-21 13:31:56.000000000 +0100 @@ -30,7 +30,7 @@ static inline void clear_LDT(void) * it slows down context switching. Noone uses it anyway. */ cpu = cpu; /* XXX avoid compiler warning */ - xen_set_ldt(0UL, 0); + xen_set_ldt(NULL, 0); put_cpu(); } @@ -211,7 +211,7 @@ static inline void load_LDT_nolock (mm_c if (likely(!count)) segments = NULL; - xen_set_ldt((unsigned long)segments, count); + xen_set_ldt(segments, count); } static inline void load_LDT(mm_context_t *pc) Index: head-2008-01-21/include/asm-i386/mach-xen/asm/hypervisor.h =================================================================== --- head-2008-01-21.orig/include/asm-i386/mach-xen/asm/hypervisor.h 2008-01-21 13:31:43.000000000 +0100 +++ head-2008-01-21/include/asm-i386/mach-xen/asm/hypervisor.h 2008-01-21 13:31:56.000000000 +0100 @@ -96,7 +96,7 @@ void xen_l4_entry_update(pgd_t *ptr, pgd void xen_pgd_pin(unsigned long ptr); void xen_pgd_unpin(unsigned long ptr); -void xen_set_ldt(unsigned long ptr, unsigned long bytes); +void xen_set_ldt(const void *ptr, unsigned int ents); #ifdef CONFIG_SMP #include <linux/cpumask.h> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |