]> xenbits.xensource.com Git - legacy/linux-2.6.18-xen.git/commitdiff
xen/x86: make set_ldt() more consistent with native
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 22 Jan 2008 10:10:52 +0000 (10:10 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 22 Jan 2008 10:10:52 +0000 (10:10 +0000)
Signed-off-by: Jan Beulich <jbeulich@novell.com>
arch/i386/mm/hypervisor.c
include/asm-i386/mach-xen/asm/desc.h
include/asm-i386/mach-xen/asm/hypervisor.h
include/asm-x86_64/mach-xen/asm/desc.h

index 247c1d01a51eca785260642e04fbae17a3f041d8..a19e1155d4b1b3575edb4f79d6b29646dda7d4d2 100644 (file)
@@ -181,12 +181,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 bc1e3766fe8589117e49e20ecc1e3a4839893ef1..6ad05eff70b559ec8ba37bc43c0f736b66cf7668 100644 (file)
@@ -127,7 +127,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();
 }
 
@@ -142,7 +142,7 @@ static inline void load_LDT_nolock(mm_context_t *pc, int cpu)
        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 b294be791e7f3566dd15ca1312c33fa08400904f..5d18cd77b3abd4fd47c3106ac039c52c97ef132b 100644 (file)
@@ -105,7 +105,7 @@ void xen_l4_entry_update(pgd_t *ptr, pgd_t val); /* x86_64 only */
 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>
index f88c2615b48d8ad3b1632a6b773fd250d0412e4a..33b57c816b4ce7ab9c2a1372872e1f7dd04f1bea 100644 (file)
@@ -81,7 +81,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();
 }
 
@@ -248,7 +248,7 @@ static inline void load_LDT_nolock (mm_context_t *pc, int cpu)
        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)