Displaying 20 results from an estimated 1000 matches similar to: "[PATCH 8/14] i386 / Add a per cpu gdt accessor"
2007 Apr 18
0
[PATCH 7/12] gdt-accessor
Index: linux-2.6.13/include/asm-i386/desc.h
===================================================================
--- linux-2.6.13.orig/include/asm-i386/desc.h 2005-08-08 17:15:56.000000000 -0700
+++ linux-2.6.13/include/asm-i386/desc.h 2005-08-08 17:16:07.000000000 -0700
@@ -21,6 +21,8 @@
extern struct desc_struct cpu_gdt_table[GDT_ENTRIES];
DECLARE_PER_CPU(struct desc_struct,
2007 Apr 18
0
[PATCH 7/12] gdt-accessor
Index: linux-2.6.13/include/asm-i386/desc.h
===================================================================
--- linux-2.6.13.orig/include/asm-i386/desc.h 2005-08-08 17:15:56.000000000 -0700
+++ linux-2.6.13/include/asm-i386/desc.h 2005-08-08 17:16:07.000000000 -0700
@@ -21,6 +21,8 @@
extern struct desc_struct cpu_gdt_table[GDT_ENTRIES];
DECLARE_PER_CPU(struct desc_struct,
2007 Apr 18
1
[PATCH 2/3] Gdt_accessor
Add an accessor function for getting the per-CPU gdt. Callee must already
have the CPU.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.14-rc1/include/asm-i386/desc.h
===================================================================
--- linux-2.6.14-rc1.orig/include/asm-i386/desc.h 2005-09-20 14:49:10.000000000 -0700
+++ linux-2.6.14-rc1/include/asm-i386/desc.h
2007 Apr 18
1
[PATCH 2/3] Gdt_accessor
Add an accessor function for getting the per-CPU gdt. Callee must already
have the CPU.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.14-rc1/include/asm-i386/desc.h
===================================================================
--- linux-2.6.14-rc1.orig/include/asm-i386/desc.h 2005-09-20 14:49:10.000000000 -0700
+++ linux-2.6.14-rc1/include/asm-i386/desc.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.
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.
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.
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.
2007 Apr 18
0
[PATCH 2/21] i386 Always relax segments
APM BIOSes have many bugs regarding proper representation of the
appropriate segment limits for calling the BIOS. By default,
APM_RELAX_SEGMENTS is always turned on to support running the APM
BIOS on these buggy machines. Keeping 64k limits poses very little
danger to the kernel, because the pages where the APM BIOS is
located will always be in low physical memory BIOS areas, which
should
2007 Apr 18
0
[PATCH 2/21] i386 Always relax segments
APM BIOSes have many bugs regarding proper representation of the
appropriate segment limits for calling the BIOS. By default,
APM_RELAX_SEGMENTS is always turned on to support running the APM
BIOS on these buggy machines. Keeping 64k limits poses very little
danger to the kernel, because the pages where the APM BIOS is
located will always be in low physical memory BIOS areas, which
should
2007 Apr 18
1
[PATCH 14/21] i386 Apm is on cpu zero only
APM BIOS code has a protective wrapper that runs it only on CPU zero. Thus,
no need to set APM BIOS segments in the GDT for other CPUs.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.14-zach-work/arch/i386/kernel/apm.c
===================================================================
--- linux-2.6.14-zach-work.orig/arch/i386/kernel/apm.c 2005-11-07 10:17:45.000000000
2007 Apr 18
1
[PATCH 14/21] i386 Apm is on cpu zero only
APM BIOS code has a protective wrapper that runs it only on CPU zero. Thus,
no need to set APM BIOS segments in the GDT for other CPUs.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.14-zach-work/arch/i386/kernel/apm.c
===================================================================
--- linux-2.6.14-zach-work.orig/arch/i386/kernel/apm.c 2005-11-07 10:17:45.000000000
2007 Apr 18
0
[PATCH 3/21] i386 Apm seg in gdt
Since APM BIOS segment limits are now fixed, set them in head.S GDT and
don't use the complicated _set_limit() macro expansion.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.14-zach-work/arch/i386/kernel/head.S
===================================================================
--- linux-2.6.14-zach-work.orig/arch/i386/kernel/head.S 2005-11-04 15:46:11.000000000 -0800
2007 Apr 18
0
[PATCH 3/21] i386 Apm seg in gdt
Since APM BIOS segment limits are now fixed, set them in head.S GDT and
don't use the complicated _set_limit() macro expansion.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.14-zach-work/arch/i386/kernel/head.S
===================================================================
--- linux-2.6.14-zach-work.orig/arch/i386/kernel/head.S 2005-11-04 15:46:11.000000000 -0800
2007 Apr 18
3
[PATCH 12/21] i386 Deprecate descriptor asm
Ancient inline assembler that manipulates descriptor tables is unreadable
and has no type checking. Doing this in C actually generates better code,
saves code space, and improves readability.
The fact that you must cast descriptors to (char *) for the inline assembler
to work properly caused me no end of grief working on these patches.
Note that GCC does not generate rotations to utilize
2007 Apr 18
3
[PATCH 12/21] i386 Deprecate descriptor asm
Ancient inline assembler that manipulates descriptor tables is unreadable
and has no type checking. Doing this in C actually generates better code,
saves code space, and improves readability.
The fact that you must cast descriptors to (char *) for the inline assembler
to work properly caused me no end of grief working on these patches.
Note that GCC does not generate rotations to utilize
2007 Apr 18
0
[PATCH 13/21] i386 Gdt page isolation
Make GDT page aligned and page padded to support running inside of a
hypervisor. This prevents false sharing of the GDT page with other
hot data, which is not allowed in Xen, and causes performance problems
in VMware.
Rather than go back to the old method of statically allocating the
GDT (which wastes unneded space for non-present CPUs), the GDT for
APs is allocated dynamically.
Signed-off-by:
2007 Apr 18
0
[PATCH 13/21] i386 Gdt page isolation
Make GDT page aligned and page padded to support running inside of a
hypervisor. This prevents false sharing of the GDT page with other
hot data, which is not allowed in Xen, and causes performance problems
in VMware.
Rather than go back to the old method of statically allocating the
GDT (which wastes unneded space for non-present CPUs), the GDT for
APs is allocated dynamically.
Signed-off-by:
2007 Apr 18
2
[PATCH 4/21] i386 Broken bios common
Both the APM BIOS and PnP BIOS code use a segment hack to simulate real
mode selector 0x40 (which points to the BIOS data area at 0x00400 in
real mode). Several broken BIOSen use selector 0x40 as if they were
running in real mode, which we make work by faking up selector 0x40 in
the GDT to point to physical memory starting at 0x400. We limit the
access to the remainder of this physical page
2007 Apr 18
2
[PATCH 4/21] i386 Broken bios common
Both the APM BIOS and PnP BIOS code use a segment hack to simulate real
mode selector 0x40 (which points to the BIOS data area at 0x00400 in
real mode). Several broken BIOSen use selector 0x40 as if they were
running in real mode, which we make work by faking up selector 0x40 in
the GDT to point to physical memory starting at 0x400. We limit the
access to the remainder of this physical page