search for: get_limit

Displaying 20 results from an estimated 23 matches for "get_limit".

Did you mean: set_limit
2007 Apr 18
0
[PATCH 10/12] yet-another-redundant-accessor
...00000000 -0700 @@ -898,26 +898,6 @@ return 0; } -/* - * Get the current Thread-Local Storage area: - */ - -#define GET_BASE(desc) ( \ - (((desc)->a >> 16) & 0x0000ffff) | \ - (((desc)->b << 16) & 0x00ff0000) | \ - ( (desc)->b & 0xff000000) ) - -#define GET_LIMIT(desc) ( \ - ((desc)->a & 0x0ffff) | \ - ((desc)->b & 0xf0000) ) - -#define GET_32BIT(desc) (((desc)->b >> 22) & 1) -#define GET_CONTENTS(desc) (((desc)->b >> 10) & 3) -#define GET_WRITABLE(desc) (((desc)->b >> 9) & 1) -#define GET_LIMIT_PAGES...
2007 Apr 18
0
[PATCH 10/12] yet-another-redundant-accessor
...00000000 -0700 @@ -898,26 +898,6 @@ return 0; } -/* - * Get the current Thread-Local Storage area: - */ - -#define GET_BASE(desc) ( \ - (((desc)->a >> 16) & 0x0000ffff) | \ - (((desc)->b << 16) & 0x00ff0000) | \ - ( (desc)->b & 0xff000000) ) - -#define GET_LIMIT(desc) ( \ - ((desc)->a & 0x0ffff) | \ - ((desc)->b & 0xf0000) ) - -#define GET_32BIT(desc) (((desc)->b >> 22) & 1) -#define GET_CONTENTS(desc) (((desc)->b >> 10) & 3) -#define GET_WRITABLE(desc) (((desc)->b >> 9) & 1) -#define GET_LIMIT_PAGES...
2007 Apr 18
0
[PATCH 11/14] i386 / Eliminate yet another redundant accessor
...00000000 -0700 @@ -898,26 +898,6 @@ return 0; } -/* - * Get the current Thread-Local Storage area: - */ - -#define GET_BASE(desc) ( \ - (((desc)->a >> 16) & 0x0000ffff) | \ - (((desc)->b << 16) & 0x00ff0000) | \ - ( (desc)->b & 0xff000000) ) - -#define GET_LIMIT(desc) ( \ - ((desc)->a & 0x0ffff) | \ - ((desc)->b & 0xf0000) ) - -#define GET_32BIT(desc) (((desc)->b >> 22) & 1) -#define GET_CONTENTS(desc) (((desc)->b >> 10) & 3) -#define GET_WRITABLE(desc) (((desc)->b >> 9) & 1) -#define GET_LIMIT_PAGES...
2007 Apr 18
0
[PATCH 11/14] i386 / Eliminate yet another redundant accessor
...00000000 -0700 @@ -898,26 +898,6 @@ return 0; } -/* - * Get the current Thread-Local Storage area: - */ - -#define GET_BASE(desc) ( \ - (((desc)->a >> 16) & 0x0000ffff) | \ - (((desc)->b << 16) & 0x00ff0000) | \ - ( (desc)->b & 0xff000000) ) - -#define GET_LIMIT(desc) ( \ - ((desc)->a & 0x0ffff) | \ - ((desc)->b & 0xf0000) ) - -#define GET_32BIT(desc) (((desc)->b >> 22) & 1) -#define GET_CONTENTS(desc) (((desc)->b >> 10) & 3) -#define GET_WRITABLE(desc) (((desc)->b >> 9) & 1) -#define GET_LIMIT_PAGES...
2007 Apr 18
2
[PATCH 16/21] i386 Eliminate duplicate segment macros
...nkage int sys_set_thread_area(struc return 0; } -/* - * Get the current Thread-Local Storage area: - */ - -#define GET_BASE(desc) ( \ - (((desc)->a >> 16) & 0x0000ffff) | \ - (((desc)->b << 16) & 0x00ff0000) | \ - ( (desc)->b & 0xff000000) ) - -#define GET_LIMIT(desc) ( \ - ((desc)->a & 0x0ffff) | \ - ((desc)->b & 0xf0000) ) - -#define GET_32BIT(desc) (((desc)->b >> 22) & 1) -#define GET_CONTENTS(desc) (((desc)->b >> 10) & 3) -#define GET_WRITABLE(desc) (((desc)->b >> 9) & 1) -#define GET_LIMIT_PAGES...
2007 Apr 18
2
[PATCH 16/21] i386 Eliminate duplicate segment macros
...nkage int sys_set_thread_area(struc return 0; } -/* - * Get the current Thread-Local Storage area: - */ - -#define GET_BASE(desc) ( \ - (((desc)->a >> 16) & 0x0000ffff) | \ - (((desc)->b << 16) & 0x00ff0000) | \ - ( (desc)->b & 0xff000000) ) - -#define GET_LIMIT(desc) ( \ - ((desc)->a & 0x0ffff) | \ - ((desc)->b & 0xf0000) ) - -#define GET_32BIT(desc) (((desc)->b >> 22) & 1) -#define GET_CONTENTS(desc) (((desc)->b >> 10) & 3) -#define GET_WRITABLE(desc) (((desc)->b >> 9) & 1) -#define GET_LIMIT_PAGES...
2007 Apr 18
0
[PATCH 8/12] base-limit-cleanup
Found some stray descriptor table accessors that had non-optimal assembler constraints. Use "q" to get word, high and low byte access without forcing a specific register constraint. Add desc as a memory output operand. Also, get_base was completely unused. Deprecate it. The function get_limit is also unused, but I did not deprecate it; it could be used in arch/i386/mm/fault.c. Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/system.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/syste...
2007 Apr 18
0
[PATCH 8/12] base-limit-cleanup
Found some stray descriptor table accessors that had non-optimal assembler constraints. Use "q" to get word, high and low byte access without forcing a specific register constraint. Add desc as a memory output operand. Also, get_base was completely unused. Deprecate it. The function get_limit is also unused, but I did not deprecate it; it could be used in arch/i386/mm/fault.c. Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/system.h =================================================================== --- linux-2.6.13.orig/include/asm-i386/syste...
2007 Apr 18
0
[PATCH 9/14] i386 / Typecheck and optimize base and limit accessors
Found some stray descriptor table accessors that had non-optimal assembler constraints. Use "q" to get word, high and low byte access without forcing a specific register constraint. Add desc as a memory output operand. Also, get_base was completely unused. Deprecate it. The function get_limit is also unused, but I did not deprecate it; it could be used in arch/i386/mm/fault.c. Patch-base: 2.6.13-rc5-mm1 Patch-keys: i386 desc cleanup optimize Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/system.h ==============================================...
2007 Apr 18
0
[PATCH 9/14] i386 / Typecheck and optimize base and limit accessors
Found some stray descriptor table accessors that had non-optimal assembler constraints. Use "q" to get word, high and low byte access without forcing a specific register constraint. Add desc as a memory output operand. Also, get_base was completely unused. Deprecate it. The function get_limit is also unused, but I did not deprecate it; it could be used in arch/i386/mm/fault.c. Patch-base: 2.6.13-rc5-mm1 Patch-keys: i386 desc cleanup optimize Signed-off-by: Zachary Amsden <zach@vmware.com> Index: linux-2.6.13/include/asm-i386/system.h ==============================================...
2007 Apr 18
0
[RFC, PATCH 13/24] i386 Vmi system header
...\ -}) - -#define write_cr4(x) \ - __asm__ __volatile__("movl %0,%%cr4": :"r" (x)); -#define stts() write_cr0(8 | read_cr0()) - #endif /* __KERNEL__ */ -#define wbinvd() \ - __asm__ __volatile__ ("wbinvd": : :"memory"); - static inline unsigned long get_limit(unsigned long segment) { unsigned long __limit; @@ -518,16 +459,7 @@ struct alt_instr { #define set_wmb(var, value) do { var = value; wmb(); } while (0) -/* interrupt control.. */ -#define local_save_flags(x) do { typecheck(unsigned long,x); __asm__ __volatile__("pushfl ; popl %0&quot...
2007 Apr 18
0
[RFC, PATCH 13/24] i386 Vmi system header
...\ -}) - -#define write_cr4(x) \ - __asm__ __volatile__("movl %0,%%cr4": :"r" (x)); -#define stts() write_cr0(8 | read_cr0()) - #endif /* __KERNEL__ */ -#define wbinvd() \ - __asm__ __volatile__ ("wbinvd": : :"memory"); - static inline unsigned long get_limit(unsigned long segment) { unsigned long __limit; @@ -518,16 +459,7 @@ struct alt_instr { #define set_wmb(var, value) do { var = value; wmb(); } while (0) -/* interrupt control.. */ -#define local_save_flags(x) do { typecheck(unsigned long,x); __asm__ __volatile__("pushfl ; popl %0&quot...
2007 Apr 18
3
[PATCH 1/4] x86 paravirt_ops: create no_paravirt.h for native ops
...#39; bit respectively - */ -#define clts() __asm__ __volatile__ ("clts") +/* Set 'TS' bit */ #define stts() write_cr0(8 | read_cr0()) #endif /* __KERNEL__ */ - -#define wbinvd() \ - __asm__ __volatile__ ("wbinvd": : :"memory") static inline unsigned long get_limit(unsigned long segment) { =================================================================== --- /dev/null +++ b/include/asm-i386/no_paravirt.h @@ -0,0 +1,189 @@ +#ifndef __ASM_NO_PARAVIRT_H +#define __ASM_NO_PARAVIRT_H +/* This is the native implementation of the paravirtualized + * instruction w...
2007 Apr 18
3
[PATCH 1/4] x86 paravirt_ops: create no_paravirt.h for native ops
...#39; bit respectively - */ -#define clts() __asm__ __volatile__ ("clts") +/* Set 'TS' bit */ #define stts() write_cr0(8 | read_cr0()) #endif /* __KERNEL__ */ - -#define wbinvd() \ - __asm__ __volatile__ ("wbinvd": : :"memory") static inline unsigned long get_limit(unsigned long segment) { =================================================================== --- /dev/null +++ b/include/asm-i386/no_paravirt.h @@ -0,0 +1,189 @@ +#ifndef __ASM_NO_PARAVIRT_H +#define __ASM_NO_PARAVIRT_H +/* This is the native implementation of the paravirtualized + * instruction w...
2007 Apr 18
5
[PATCH] paravirt.h
...("wbinvd": : :"memory") + +/* Clear the 'TS' bit */ +#define clts() __asm__ __volatile__ ("clts") +#endif/* CONFIG_PARAVIRT */ + +/* Set the 'TS' bit */ +#define stts() write_cr0(8 | read_cr0()) + +#endif /* __KERNEL__ */ static inline unsigned long get_limit(unsigned long segment) { =================================================================== --- /dev/null +++ b/arch/i386/kernel/paravirt.c @@ -0,0 +1,375 @@ +/* Paravirtualization interfaces + Copyright (C) 2006 Rusty Russell IBM Corporation + + This program is free software; you can redi...
2007 Apr 18
5
[PATCH] paravirt.h
...("wbinvd": : :"memory") + +/* Clear the 'TS' bit */ +#define clts() __asm__ __volatile__ ("clts") +#endif/* CONFIG_PARAVIRT */ + +/* Set the 'TS' bit */ +#define stts() write_cr0(8 | read_cr0()) + +#endif /* __KERNEL__ */ static inline unsigned long get_limit(unsigned long segment) { =================================================================== --- /dev/null +++ b/arch/i386/kernel/paravirt.c @@ -0,0 +1,375 @@ +/* Paravirtualization interfaces + Copyright (C) 2006 Rusty Russell IBM Corporation + + This program is free software; you can redi...
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.
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.