search for: load_ldt_desc

Displaying 20 results from an estimated 34 matches for "load_ldt_desc".

2007 Apr 18
2
proposed interface change for setting the ldt
At the moment, all the places where the LDT are set in the kernel are of the form: set_ldt_desc(cpu, segments, count); load_LDT_desc(); (two instances in asm-i386/desc.h). set_ldt_desc() sets an LDT descriptor in the GDT, and load_LDT_desc() is basically just lldt. These map to the write_gdt_entry and load_ldt_desc paravirt ops. This doesn't work well for Xen, because you set the ldt directly by passing the base+size i...
2007 Apr 18
0
[PATCH 5/12] desc-cleanup
...17:10:49.000000000 -0700 +++ linux-2.6.13/include/asm-i386/desc.h 2005-08-08 17:15:46.000000000 -0700 @@ -31,18 +31,18 @@ extern struct Xgt_desc_struct idt_descr, cpu_gdt_descr[NR_CPUS]; -#define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) -#define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) +#define load_TR_desc() asm volatile("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) +#define load_LDT_desc() asm volatile("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) -#define load_gdt(dtr) __asm__ __vo...
2007 Apr 18
0
[PATCH 5/12] desc-cleanup
...17:10:49.000000000 -0700 +++ linux-2.6.13/include/asm-i386/desc.h 2005-08-08 17:15:46.000000000 -0700 @@ -31,18 +31,18 @@ extern struct Xgt_desc_struct idt_descr, cpu_gdt_descr[NR_CPUS]; -#define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) -#define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) +#define load_TR_desc() asm volatile("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) +#define load_LDT_desc() asm volatile("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) -#define load_gdt(dtr) __asm__ __vo...
2007 Apr 18
1
[PATCH 4/14] i386 / Clean up asm and volatile keywords in desc
...-09 18:38:14.000000000 -0700 +++ linux-2.6.13/include/asm-i386/mach-default/mach_desc.h 2005-08-10 20:42:03.000000000 -0700 @@ -24,30 +24,30 @@ #ifndef __MACH_DESC_H #define __MACH_DESC_H -#define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) -#define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) +#define load_TR_desc() asm volatile("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) +#define load_LDT_desc() asm volatile("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) -#define load_gdt(dtr) __asm__ __vo...
2007 Apr 18
1
[PATCH 4/14] i386 / Clean up asm and volatile keywords in desc
...-09 18:38:14.000000000 -0700 +++ linux-2.6.13/include/asm-i386/mach-default/mach_desc.h 2005-08-10 20:42:03.000000000 -0700 @@ -24,30 +24,30 @@ #ifndef __MACH_DESC_H #define __MACH_DESC_H -#define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) -#define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) +#define load_TR_desc() asm volatile("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) +#define load_LDT_desc() asm volatile("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) -#define load_gdt(dtr) __asm__ __vo...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 07/17] paravirt_ops - descriptor changes.
...================================= --- clean-start.orig/include/asm-x86_64/desc.h +++ clean-start/include/asm-x86_64/desc.h @@ -16,9 +16,8 @@ extern struct desc_struct cpu_gdt_table[GDT_ENTRIES]; -#define load_TR_desc() asm volatile("ltr %w0"::"r" (GDT_ENTRY_TSS*8)) -#define load_LDT_desc() asm volatile("lldt %w0"::"r" (GDT_ENTRY_LDT*8)) -#define clear_LDT() asm volatile("lldt %w0"::"r" (0)) +/* the cpu gdt accessor */ +#define cpu_gdt(_cpu) ((struct desc_struct *)cpu_gdt_descr[_cpu].address) /* * This is the ldt that every process will...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 07/17] paravirt_ops - descriptor changes.
...================================= --- clean-start.orig/include/asm-x86_64/desc.h +++ clean-start/include/asm-x86_64/desc.h @@ -16,9 +16,8 @@ extern struct desc_struct cpu_gdt_table[GDT_ENTRIES]; -#define load_TR_desc() asm volatile("ltr %w0"::"r" (GDT_ENTRY_TSS*8)) -#define load_LDT_desc() asm volatile("lldt %w0"::"r" (GDT_ENTRY_LDT*8)) -#define clear_LDT() asm volatile("lldt %w0"::"r" (0)) +/* the cpu gdt accessor */ +#define cpu_gdt(_cpu) ((struct desc_struct *)cpu_gdt_descr[_cpu].address) /* * This is the ldt that every process will...
2007 Apr 18
0
[PATCH 11/12] subarch-desc
...05-08-08 17:31:59.000000000 -0700 +++ linux-2.6.13/include/asm-i386/desc.h 2005-08-08 17:36:35.000000000 -0700 @@ -33,19 +33,6 @@ extern struct Xgt_desc_struct idt_descr, cpu_gdt_descr[NR_CPUS]; -#define load_TR_desc() asm volatile("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) -#define load_LDT_desc() asm volatile("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) - -#define load_gdt(dtr) asm volatile("lgdtl %0"::"m" (*dtr)) -#define load_idt(dtr) asm volatile("lidtl %0"::"m" (*dtr)) -#define load_tr(tr) asm volatile("ltr %0"::"mr&quot...
2007 Apr 18
0
[PATCH 11/12] subarch-desc
...05-08-08 17:31:59.000000000 -0700 +++ linux-2.6.13/include/asm-i386/desc.h 2005-08-08 17:36:35.000000000 -0700 @@ -33,19 +33,6 @@ extern struct Xgt_desc_struct idt_descr, cpu_gdt_descr[NR_CPUS]; -#define load_TR_desc() asm volatile("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) -#define load_LDT_desc() asm volatile("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) - -#define load_gdt(dtr) asm volatile("lgdtl %0"::"m" (*dtr)) -#define load_idt(dtr) asm volatile("lidtl %0"::"m" (*dtr)) -#define load_tr(tr) asm volatile("ltr %0"::"mr&quot...
2007 Apr 18
5
[PATCH] paravirt.h
...,9 @@ static inline void pack_gate(__u32 *a, _ #define DESCTYPE_DPL3 0x60 /* DPL-3 */ #define DESCTYPE_S 0x10 /* !system */ +#ifdef CONFIG_PARAVIRT +#include <asm/paravirt.h> +#else #define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) #define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) @@ -98,6 +101,7 @@ static inline void write_dt_entry(void * #define write_ldt_entry(dt, entry, a, b) write_dt_entry(dt, entry, a, b) #define write_gdt_entry(dt, entry, a, b) write_dt_entry(dt, entry, a, b) #define wr...
2007 Apr 18
5
[PATCH] paravirt.h
...,9 @@ static inline void pack_gate(__u32 *a, _ #define DESCTYPE_DPL3 0x60 /* DPL-3 */ #define DESCTYPE_S 0x10 /* !system */ +#ifdef CONFIG_PARAVIRT +#include <asm/paravirt.h> +#else #define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) #define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) @@ -98,6 +101,7 @@ static inline void write_dt_entry(void * #define write_ldt_entry(dt, entry, a, b) write_dt_entry(dt, entry, a, b) #define write_gdt_entry(dt, entry, a, b) write_dt_entry(dt, entry, a, b) #define wr...
2007 Apr 18
3
[RFC, PATCH 10/24] i386 Vmi descriptor changes
...clude/asm-i386/desc.h 2006-03-10 13:03:34.000000000 -0800 @@ -33,50 +33,66 @@ static inline struct desc_struct *get_cp return (struct desc_struct *)per_cpu(cpu_gdt_descr, cpu).address; } -#define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) -#define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) - -#define load_gdt(dtr) __asm__ __volatile("lgdt %0"::"m" (*dtr)) -#define load_idt(dtr) __asm__ __volatile("lidt %0"::"m" (*dtr)) -#define load_tr(tr) __asm__ __volatile("ltr...
2007 Apr 18
3
[RFC, PATCH 10/24] i386 Vmi descriptor changes
...clude/asm-i386/desc.h 2006-03-10 13:03:34.000000000 -0800 @@ -33,50 +33,66 @@ static inline struct desc_struct *get_cp return (struct desc_struct *)per_cpu(cpu_gdt_descr, cpu).address; } -#define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) -#define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) - -#define load_gdt(dtr) __asm__ __volatile("lgdt %0"::"m" (*dtr)) -#define load_idt(dtr) __asm__ __volatile("lidt %0"::"m" (*dtr)) -#define load_tr(tr) __asm__ __volatile("ltr...
2007 Apr 18
3
[PATCH 1/2] paravirt.h header
...oid); + + /* err = 0/-EFAULT. wrmsr returns 0/-EFAULT. */ + u64 (fastcall *read_msr)(unsigned int msr, int *err); + int (fastcall *write_msr)(unsigned int msr, u64 val); + + u64 (fastcall *read_tsc)(void); + u64 (fastcall *read_pmc)(void); + + void (fastcall *load_tr_desc)(void); + void (fastcall *load_ldt_desc)(void); + void (fastcall *load_gdt)(const struct Xgt_desc_struct *); + void (fastcall *load_idt)(const struct Xgt_desc_struct *); + void (fastcall *store_gdt)(struct Xgt_desc_struct *); + void (fastcall *store_idt)(struct Xgt_desc_struct *); + unsigned long (fastcall *store_tr)(void); + void (fastc...
2007 Apr 18
0
[PATCH 18/21] i386 Ldt cleanups 2
...+static inline struct desc_struct *get_ldt_desc(mm_context_t *ctx, unsigned int segment) +{ + char *ldt = (char *)ctx->ldt; + return (struct desc_struct *)&ldt[segment & ~7]; +} + #define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) #define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8))
2007 Apr 18
0
[PATCH 18/21] i386 Ldt cleanups 2
...+static inline struct desc_struct *get_ldt_desc(mm_context_t *ctx, unsigned int segment) +{ + char *ldt = (char *)ctx->ldt; + return (struct desc_struct *)&ldt[segment & ~7]; +} + #define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) #define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8))
2007 Apr 18
2
[PATCH 3/3] Gdt page isolation
...26,8 @@ struct Xgt_desc_struct { extern struct Xgt_desc_struct idt_descr, cpu_gdt_descr[NR_CPUS]; +#define get_cpu_gdt_table(_cpu) ((struct desc_struct *)cpu_gdt_descr[(_cpu)].address) + #define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) #define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) Index: linux-2.6.14-rc1/arch/i386/kernel/i386_ksyms.c =================================================================== --- linux-2.6.14-rc1.orig/arch/i386/kernel/i386_ksyms.c 2005-09-20 20:19:57.000000000 -0700 +++ l...
2007 Apr 18
2
[PATCH 3/3] Gdt page isolation
...26,8 @@ struct Xgt_desc_struct { extern struct Xgt_desc_struct idt_descr, cpu_gdt_descr[NR_CPUS]; +#define get_cpu_gdt_table(_cpu) ((struct desc_struct *)cpu_gdt_descr[(_cpu)].address) + #define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) #define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) Index: linux-2.6.14-rc1/arch/i386/kernel/i386_ksyms.c =================================================================== --- linux-2.6.14-rc1.orig/arch/i386/kernel/i386_ksyms.c 2005-09-20 20:19:57.000000000 -0700 +++ l...
2007 Apr 18
0
[PATCH 13/21] i386 Gdt page isolation
..._desc_struct idt_descr, cpu_gdt_descr[NR_CPUS]; +static inline struct desc_struct *get_cpu_gdt_table(unsigned int cpu) +{ + return ((struct desc_struct *)cpu_gdt_descr[cpu].address); +} + #define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) #define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) Index: linux-2.6.14-zach-work/arch/i386/kernel/i386_ksyms.c =================================================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/i386_ksyms.c 2005-10-27 17:02:08.000000000...
2007 Apr 18
0
[PATCH 13/21] i386 Gdt page isolation
..._desc_struct idt_descr, cpu_gdt_descr[NR_CPUS]; +static inline struct desc_struct *get_cpu_gdt_table(unsigned int cpu) +{ + return ((struct desc_struct *)cpu_gdt_descr[cpu].address); +} + #define load_TR_desc() __asm__ __volatile__("ltr %w0"::"q" (GDT_ENTRY_TSS*8)) #define load_LDT_desc() __asm__ __volatile__("lldt %w0"::"q" (GDT_ENTRY_LDT*8)) Index: linux-2.6.14-zach-work/arch/i386/kernel/i386_ksyms.c =================================================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/i386_ksyms.c 2005-10-27 17:02:08.000000000...