similar to: [PATCH 17/21] i386 Ldt cleanups 1

Displaying 20 results from an estimated 1000 matches similar to: "[PATCH 17/21] i386 Ldt cleanups 1"

2007 Apr 18
0
[PATCH 20/21] i386 Ldt cleanups 3
Big cleanup of LDT code. This code has very little type checking and is not frequently used, so I audited the code, added type checking and size optimizations to generate smaller assembly code. I changed the ldt count to be in pages, and converted the char * ldt into a desc_struct. Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.14-zach-work/arch/i386/kernel/ldt.c
2007 Apr 18
0
[PATCH 20/21] i386 Ldt cleanups 3
Big cleanup of LDT code. This code has very little type checking and is not frequently used, so I audited the code, added type checking and size optimizations to generate smaller assembly code. I changed the ldt count to be in pages, and converted the char * ldt into a desc_struct. Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.14-zach-work/arch/i386/kernel/ldt.c
2007 Apr 18
2
[PATCH 19/21] i386 Kprobes semaphore fix
IA-32 linear address translation is loads of fun. While cleaning up the LDT code, I noticed that kprobes code was very bogus with respect to segment handling. Many, many bugs are fixed here. I chose to combine the three separate functions that try to do linear address conversion into one, nice and working functions. All of the versions had bugs. 1) Taking an int3 from v8086 mode could cause
2007 Apr 18
2
[PATCH 19/21] i386 Kprobes semaphore fix
IA-32 linear address translation is loads of fun. While cleaning up the LDT code, I noticed that kprobes code was very bogus with respect to segment handling. Many, many bugs are fixed here. I chose to combine the three separate functions that try to do linear address conversion into one, nice and working functions. All of the versions had bugs. 1) Taking an int3 from v8086 mode could cause
2007 Apr 18
2
[PATCH 3/6] i386 virtualization - Make ldt a desc struct
* zach@vmware.com (zach@vmware.com) wrote: > Make the LDT a desc_struct pointer, since this is what it actually is. I like that plan. > There is code which relies on the fact that LDTs are allocated in page > chunks, and it is both cleaner and more convenient to keep the rather > poorly named "size" variable from the LDT in terms of LDT pages. I noticed it's replaced
2007 Apr 18
2
[PATCH 3/6] i386 virtualization - Make ldt a desc struct
* zach@vmware.com (zach@vmware.com) wrote: > Make the LDT a desc_struct pointer, since this is what it actually is. I like that plan. > There is code which relies on the fact that LDTs are allocated in page > chunks, and it is both cleaner and more convenient to keep the rather > poorly named "size" variable from the LDT in terms of LDT pages. I noticed it's replaced
2007 Apr 18
1
[PATCH 6/14] i386 / Add some segment convenience functions
Add some convenient segment macros to the kernel. This makes the rather obfuscated 'seg & 4' go away. Patch-keys: i386 segment cleanup Patch-base: 2.6.13-rc5-mm1 Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/segment.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/segment.h
2007 Apr 18
1
[PATCH 6/14] i386 / Add some segment convenience functions
Add some convenient segment macros to the kernel. This makes the rather obfuscated 'seg & 4' go away. Patch-keys: i386 segment cleanup Patch-base: 2.6.13-rc5-mm1 Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/segment.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/segment.h
2007 Apr 18
0
[PATCH 13/14] i386 / Introduce hypervisor ldt hooks
Add hooks that the hypervisor can use to establish writable and non-writable pages for LDT pages. I made these parallel the page flags as defined in include/linux/page-flags.h, since the flag mechanism is very similar to the hypercall page flagging, and extended easily later to include PT, PD, PDP, GDT, etc. Patch-against: 2.6.13-rc5-mm1 Patch-keys: i386 ldt paravirt xen Signed-off-by: Zachary
2007 Apr 18
0
[PATCH 13/14] i386 / Introduce hypervisor ldt hooks
Add hooks that the hypervisor can use to establish writable and non-writable pages for LDT pages. I made these parallel the page flags as defined in include/linux/page-flags.h, since the flag mechanism is very similar to the hypercall page flagging, and extended easily later to include PT, PD, PDP, GDT, etc. Patch-against: 2.6.13-rc5-mm1 Patch-keys: i386 ldt paravirt xen Signed-off-by: Zachary
2007 Apr 18
0
[PATCH 12/12] xen-ldt
Index: linux-2.6.13/arch/i386/kernel/ldt.c =================================================================== --- linux-2.6.13.orig/arch/i386/kernel/ldt.c 2005-08-08 15:27:26.000000000 -0700 +++ linux-2.6.13/arch/i386/kernel/ldt.c 2005-08-08 21:13:19.000000000 -0700 @@ -18,6 +18,7 @@ #include <asm/system.h> #include <asm/ldt.h> #include <asm/desc.h> +#include
2007 Apr 18
0
[PATCH 12/12] xen-ldt
Index: linux-2.6.13/arch/i386/kernel/ldt.c =================================================================== --- linux-2.6.13.orig/arch/i386/kernel/ldt.c 2005-08-08 15:27:26.000000000 -0700 +++ linux-2.6.13/arch/i386/kernel/ldt.c 2005-08-08 21:13:19.000000000 -0700 @@ -18,6 +18,7 @@ #include <asm/system.h> #include <asm/ldt.h> #include <asm/desc.h> +#include
2007 Apr 18
2
[PATCH 12/12; UPDATED] xen-ldt
Add Xen accessors for LDT updates. Todo: Bring back return values from write_ldt_entry. Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/arch/i386/kernel/ldt.c =================================================================== --- linux-2.6.13.orig/arch/i386/kernel/ldt.c 2005-08-08 21:13:56.000000000 -0700 +++ linux-2.6.13/arch/i386/kernel/ldt.c 2005-08-08
2007 Apr 18
2
[PATCH 12/12; UPDATED] xen-ldt
Add Xen accessors for LDT updates. Todo: Bring back return values from write_ldt_entry. Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/arch/i386/kernel/ldt.c =================================================================== --- linux-2.6.13.orig/arch/i386/kernel/ldt.c 2005-08-08 21:13:56.000000000 -0700 +++ linux-2.6.13/arch/i386/kernel/ldt.c 2005-08-08
2007 Apr 18
0
[PATCH 18/21] i386 Ldt cleanups 2
Add an acessor function to get a pointer to an LDT descriptor. Add one for the GDT too, while we are here, and a function to tell the difference. Turns out on some GCC versions, converting to char * and back gives better code output than gdt[seg >> 3]. Lets keep that trick in the header file so the C-code can be clean. Not used yet, but soon. Signed-off-by: Zachary Amsden
2007 Apr 18
0
[PATCH 18/21] i386 Ldt cleanups 2
Add an acessor function to get a pointer to an LDT descriptor. Add one for the GDT too, while we are here, and a function to tell the difference. Turns out on some GCC versions, converting to char * and back gives better code output than gdt[seg >> 3]. Lets keep that trick in the header file so the C-code can be clean. Not used yet, but soon. Signed-off-by: Zachary Amsden
2007 Apr 18
1
[PATCH] Slight cleanups for x86 ring macros (against rc3-mm2)
Clean up of patch for letting kernel run other than ring 0: a. Add some comments about the SEGMENT_IS_*_CODE() macros. b. Add a USER_RPL macro. (Code was comparing a value to a mask in some places and to the magic number 3 in other places.) c. Add macros for table indicator field and use them. d. Change the entry.S tests for LDT stack segment to use the macros. Signed-off-by: Chuck Ebbert
2007 Apr 18
1
[PATCH] Slight cleanups for x86 ring macros (against rc3-mm2)
Clean up of patch for letting kernel run other than ring 0: a. Add some comments about the SEGMENT_IS_*_CODE() macros. b. Add a USER_RPL macro. (Code was comparing a value to a mask in some places and to the magic number 3 in other places.) c. Add macros for table indicator field and use them. d. Change the entry.S tests for LDT stack segment to use the macros. Signed-off-by: Chuck Ebbert
2007 Apr 18
0
[PATCH 12/14] i386 / Move context switch inline
By moving init_new_context and destroy_context inline into mmu_context.h, we can avoid extra functions calls, which are only needed for the unlikely case that the process context has an LDT to deal with. Now the code in ldt.c is called only when actually dealing with LDT creation or destruction. Careful analysis of alloc_ldt function showed that by using two const parameters, huge amounts of
2007 Apr 18
0
[PATCH 12/14] i386 / Move context switch inline
By moving init_new_context and destroy_context inline into mmu_context.h, we can avoid extra functions calls, which are only needed for the unlikely case that the process context has an LDT to deal with. Now the code in ldt.c is called only when actually dealing with LDT creation or destruction. Careful analysis of alloc_ldt function showed that by using two const parameters, huge amounts of