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
|