search for: default_ldt

Displaying 20 results from an estimated 26 matches for "default_ldt".

2006 Feb 15
3
difference between PGT_gdt_page and PGT_ldt_page
Is there any particular reason why there cannot just be a PGT_descr_page, combining the two currently existing types? Even if it''s only a page, I''d want to avoid wasting memory for nothing, and i386''s default_ldt could easily move into the same page cpu_gdt_table lives in. Alternatively one could also use empty_zero_page here. Or do it like on x86-64, where the symbol doesn''t exist at all, and knowledge about it being all zeroes is used where needed. Jan ___________________________________________...
2007 Apr 18
0
[PATCH 6/12] early-clobber-tss
...3/include/asm-i386/desc.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/desc.h 2005-08-08 15:41:11.000000000 -0700 +++ linux-2.6.13/include/asm-i386/desc.h 2005-08-08 15:47:01.000000000 -0700 @@ -51,17 +51,21 @@ extern struct desc_struct default_ldt[]; extern void set_intr_gate(unsigned int irq, void * addr); -#define _set_tssldt_desc(n,addr,limit,type) \ -asm volatile ("movw %w3,0(%2)\n\t" \ - "movw %w1,2(%2)\n\t" \ - "rorl $16,%1\n\t" \ - "movb %b1,4(%2)\n\t" \ - "movb %4,5(%2)\n\t" \ - &q...
2007 Apr 18
1
[PATCH 5/14] i386 / Use early clobber to eliminate rotate in desc
...3/include/asm-i386/desc.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/desc.h 2005-08-09 18:59:10.000000000 -0700 +++ linux-2.6.13/include/asm-i386/desc.h 2005-08-10 20:42:20.000000000 -0700 @@ -34,17 +34,21 @@ extern struct desc_struct default_ldt[]; extern void set_intr_gate(unsigned int irq, void * addr); -#define _set_tssldt_desc(n,addr,limit,type) \ -__asm__ __volatile__ ("movw %w3,0(%2)\n\t" \ - "movw %w1,2(%2)\n\t" \ - "rorl $16,%1\n\t" \ - "movb %b1,4(%2)\n\t" \ - "movb %4,5(%2)\n\t&quot...
2007 Apr 18
0
[PATCH 6/12] early-clobber-tss
...3/include/asm-i386/desc.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/desc.h 2005-08-08 15:41:11.000000000 -0700 +++ linux-2.6.13/include/asm-i386/desc.h 2005-08-08 15:47:01.000000000 -0700 @@ -51,17 +51,21 @@ extern struct desc_struct default_ldt[]; extern void set_intr_gate(unsigned int irq, void * addr); -#define _set_tssldt_desc(n,addr,limit,type) \ -asm volatile ("movw %w3,0(%2)\n\t" \ - "movw %w1,2(%2)\n\t" \ - "rorl $16,%1\n\t" \ - "movb %b1,4(%2)\n\t" \ - "movb %4,5(%2)\n\t" \ - &q...
2007 Apr 18
1
[PATCH 5/14] i386 / Use early clobber to eliminate rotate in desc
...3/include/asm-i386/desc.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/desc.h 2005-08-09 18:59:10.000000000 -0700 +++ linux-2.6.13/include/asm-i386/desc.h 2005-08-10 20:42:20.000000000 -0700 @@ -34,17 +34,21 @@ extern struct desc_struct default_ldt[]; extern void set_intr_gate(unsigned int irq, void * addr); -#define _set_tssldt_desc(n,addr,limit,type) \ -__asm__ __volatile__ ("movw %w3,0(%2)\n\t" \ - "movw %w1,2(%2)\n\t" \ - "rorl $16,%1\n\t" \ - "movb %b1,4(%2)\n\t" \ - "movb %4,5(%2)\n\t&quot...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 07/17] paravirt_ops - descriptor changes.
...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 get unless we need @@ -28,8 +27,6 @@ extern struct desc_struct default_ldt[]; extern struct gate_struct idt_table[]; extern struct desc_ptr cpu_gdt_descr[]; -/* the cpu gdt accessor */ -#define cpu_gdt(_cpu) ((struct desc_struct *)cpu_gdt_descr[_cpu].address) static inline void _set_gate(void *adr, unsigned type, unsigned long func, unsigned dpl, unsigned ist)...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 07/17] paravirt_ops - descriptor changes.
...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 get unless we need @@ -28,8 +27,6 @@ extern struct desc_struct default_ldt[]; extern struct gate_struct idt_table[]; extern struct desc_ptr cpu_gdt_descr[]; -/* the cpu gdt accessor */ -#define cpu_gdt(_cpu) ((struct desc_struct *)cpu_gdt_descr[_cpu].address) static inline void _set_gate(void *adr, unsigned type, unsigned long func, unsigned dpl, unsigned ist)...
2007 Apr 18
0
[PATCH 20/21] i386 Ldt cleanups 3
...ze = bytecount; err = 0; - if (copy_to_user(ptr, mm->context.ldt, size)) + if (copy_to_user(ptr, pc->ldt, size)) err = -EFAULT; - up(&mm->context.sem); + up(&pc->sem); if (err < 0) goto error_return; if (size != bytecount) { @@ -176,10 +181,11 @@ static int read_default_ldt(void __user static int write_ldt(void __user * ptr, unsigned long bytecount, int oldmode) { - struct mm_struct * mm = current->mm; + mm_context_t *pc = &current->mm->context; __u32 entry_1, entry_2; int error; struct user_desc ldt_info; + int page_number; error = -EINVAL...
2007 Apr 18
0
[PATCH 20/21] i386 Ldt cleanups 3
...ze = bytecount; err = 0; - if (copy_to_user(ptr, mm->context.ldt, size)) + if (copy_to_user(ptr, pc->ldt, size)) err = -EFAULT; - up(&mm->context.sem); + up(&pc->sem); if (err < 0) goto error_return; if (size != bytecount) { @@ -176,10 +181,11 @@ static int read_default_ldt(void __user static int write_ldt(void __user * ptr, unsigned long bytecount, int oldmode) { - struct mm_struct * mm = current->mm; + mm_context_t *pc = &current->mm->context; __u32 entry_1, entry_2; int error; struct user_desc ldt_info; + int page_number; error = -EINVAL...
2007 Apr 18
3
[PATCH 12/21] i386 Deprecate descriptor asm
...================================ --- linux-2.6.14-zach-work.orig/include/asm-i386/desc.h 2005-11-04 17:45:04.000000000 -0800 +++ linux-2.6.14-zach-work/include/asm-i386/desc.h 2005-11-05 00:28:07.000000000 -0800 @@ -49,20 +49,68 @@ extern struct Xgt_desc_struct idt_descr, extern struct desc_struct default_ldt[]; extern void set_intr_gate(unsigned int irq, void * addr); -#define _set_tssldt_desc(n,addr,limit,type) \ -__asm__ __volatile__ ("movw %w3,0(%2)\n\t" \ - "movw %w1,2(%2)\n\t" \ - "rorl $16,%1\n\t" \ - "movb %b1,4(%2)\n\t" \ - "movb %4,5(%2)\n\t&quot...
2007 Apr 18
3
[PATCH 12/21] i386 Deprecate descriptor asm
...================================ --- linux-2.6.14-zach-work.orig/include/asm-i386/desc.h 2005-11-04 17:45:04.000000000 -0800 +++ linux-2.6.14-zach-work/include/asm-i386/desc.h 2005-11-05 00:28:07.000000000 -0800 @@ -49,20 +49,68 @@ extern struct Xgt_desc_struct idt_descr, extern struct desc_struct default_ldt[]; extern void set_intr_gate(unsigned int irq, void * addr); -#define _set_tssldt_desc(n,addr,limit,type) \ -__asm__ __volatile__ ("movw %w3,0(%2)\n\t" \ - "movw %w1,2(%2)\n\t" \ - "rorl $16,%1\n\t" \ - "movb %b1,4(%2)\n\t" \ - "movb %4,5(%2)\n\t&quot...
2007 Apr 18
3
[RFC, PATCH 10/24] i386 Vmi descriptor changes
...ot;=m" (*dtr)) -#define store_tr(tr) __asm__ ("str %0":"=mr" (tr)) -#define store_ldt(ldt) __asm__ ("sldt %0":"=mr" (ldt)) - /* * This is the ldt that every process will get unless we need * something other than this. */ extern struct desc_struct default_ldt[]; +extern struct desc_struct idt_table[]; extern void set_intr_gate(unsigned int irq, void * addr); -#define _set_tssldt_desc(n,addr,limit,type) \ -__asm__ __volatile__ ("movw %w3,0(%2)\n\t" \ - "movw %w1,2(%2)\n\t" \ - "rorl $16,%1\n\t" \ - "movb %b1,4(%2)\n\...
2007 Apr 18
3
[RFC, PATCH 10/24] i386 Vmi descriptor changes
...ot;=m" (*dtr)) -#define store_tr(tr) __asm__ ("str %0":"=mr" (tr)) -#define store_ldt(ldt) __asm__ ("sldt %0":"=mr" (ldt)) - /* * This is the ldt that every process will get unless we need * something other than this. */ extern struct desc_struct default_ldt[]; +extern struct desc_struct idt_table[]; extern void set_intr_gate(unsigned int irq, void * addr); -#define _set_tssldt_desc(n,addr,limit,type) \ -__asm__ __volatile__ ("movw %w3,0(%2)\n\t" \ - "movw %w1,2(%2)\n\t" \ - "rorl $16,%1\n\t" \ - "movb %b1,4(%2)\n\...
2007 Apr 18
2
[PATCH 3/6] i386 virtualization - Make ldt a desc struct
...turn base; > @@ -171,7 +174,7 @@ > static inline void load_LDT_nolock(mm_context_t *pc, int cpu) > { > void *segments = pc->ldt; > - int count = pc->size; > + int count = pc->ldt_pages * LDT_ENTRIES_PER_PAGE; > > if (likely(!count)) { > segments = &default_ldt[0]; > Index: linux-2.6.13/include/asm-i386/mmu_context.h > =================================================================== > --- linux-2.6.13.orig/include/asm-i386/mmu_context.h 2005-08-15 11:16:59.000000000 -0700 > +++ linux-2.6.13/include/asm-i386/mmu_context.h 2005-08-15 11:19:49...
2007 Apr 18
2
[PATCH 3/6] i386 virtualization - Make ldt a desc struct
...turn base; > @@ -171,7 +174,7 @@ > static inline void load_LDT_nolock(mm_context_t *pc, int cpu) > { > void *segments = pc->ldt; > - int count = pc->size; > + int count = pc->ldt_pages * LDT_ENTRIES_PER_PAGE; > > if (likely(!count)) { > segments = &default_ldt[0]; > Index: linux-2.6.13/include/asm-i386/mmu_context.h > =================================================================== > --- linux-2.6.13.orig/include/asm-i386/mmu_context.h 2005-08-15 11:16:59.000000000 -0700 > +++ linux-2.6.13/include/asm-i386/mmu_context.h 2005-08-15 11:19:49...
2007 Apr 18
3
[PATCH 1/4] x86 paravirt_ops: create no_paravirt.h for native ops
(Andrew, please sit these in the -mm tree for cooking) Create a paravirt.h header for (almost) all the critical operations which need to be replaced with hypervisor calls. For the moment, this simply includes no_paravirt.h, where all the native implementations now live. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Zachary Amsden <zach@vmware.com>
2007 Apr 18
3
[PATCH 1/4] x86 paravirt_ops: create no_paravirt.h for native ops
(Andrew, please sit these in the -mm tree for cooking) Create a paravirt.h header for (almost) all the critical operations which need to be replaced with hypervisor calls. For the moment, this simply includes no_paravirt.h, where all the native implementations now live. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Zachary Amsden <zach@vmware.com>
2007 Apr 18
2
[PATCH 1/3] Paravirtualization: Kernel Ring Cleanups
Hi all, I've been looking at finding common ground between the VMI, Xen and other paravirtualization approaches, and after some discussion, we're getting somewhere. These first two patches are the fundamentals, stolen mainly from the VMI patches: removing assumptions about the kernel running in ring 0, and macro-izing all the obvious para-virtualize-needing insns. The third patch is
2007 Apr 18
2
[PATCH 1/3] Paravirtualization: Kernel Ring Cleanups
Hi all, I've been looking at finding common ground between the VMI, Xen and other paravirtualization approaches, and after some discussion, we're getting somewhere. These first two patches are the fundamentals, stolen mainly from the VMI patches: removing assumptions about the kernel running in ring 0, and macro-izing all the obvious para-virtualize-needing insns. The third patch is
2007 Dec 06
51
[PATCH 0/19] desc_struct integration
Hi, this is a series of patches that unify the struct desc_struct and friends across x86_64 and i386. As usual, it provides paravirt capabilities as a side-effect for x86_64. I consider the main goal, namely, of unifying the desc_struct, an ongoing effort, being this the beginning. A lot of old code has to be touched to accomplish that. I don't consider this patch ready for inclusion.