WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] linux/x86: make set_ldt() more consistent with nativ

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH] linux/x86: make set_ldt() more consistent with native
From: "Jan Beulich" <jbeulich@xxxxxxxxxx>
Date: Mon, 21 Jan 2008 15:24:30 +0000
Delivery-date: Mon, 21 Jan 2008 07:25:28 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] linux/x86: make set_ldt() more consistent with native, Jan Beulich <=