From: Andi Kleen <ak@suse.de>
To: undisclosed-recipients:;
Subject: [PATCH for review] [84/145] x86_64: annotate arch/x86_64/lib/*.S
Date: Thu, 10 Aug 2006 21:36:41 +0200 (CEST) [thread overview]
Message-ID: <20060810193641.2904013C0B@wotan.suse.de> (raw)
In-Reply-To: <20060810 935.775038000@suse.de>
r
From: "Jan Beulich" <jbeulich@novell.com>
Add unwind annotations to arch/x86_64/lib/*.S, and also use the macros
provided by linux/linkage.h where-ever possible.
Some of the alternative instructions handling needed to be adjusted so
that the replacement code would also have valid unwind information.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
---
arch/x86_64/lib/clear_page.S | 47 +++++++++++++++----------
arch/x86_64/lib/copy_page.S | 53 +++++++++++++++++++---------
arch/x86_64/lib/copy_user.S | 39 +++++++++++++++------
arch/x86_64/lib/csum-copy.S | 26 +++++++++++---
arch/x86_64/lib/getuser.S | 32 ++++++++++-------
arch/x86_64/lib/iomap_copy.S | 10 +++--
arch/x86_64/lib/memcpy.S | 69 +++++++++++++++++++++----------------
arch/x86_64/lib/memset.S | 79 +++++++++++++++++++++++--------------------
arch/x86_64/lib/putuser.S | 32 ++++++++++-------
9 files changed, 244 insertions(+), 143 deletions(-)
Index: linux/arch/x86_64/lib/clear_page.S
===================================================================
--- linux.orig/arch/x86_64/lib/clear_page.S
+++ linux/arch/x86_64/lib/clear_page.S
@@ -1,10 +1,22 @@
+#include <linux/linkage.h>
+#include <asm/dwarf2.h>
+
/*
* Zero a page.
* rdi page
*/
- .globl clear_page
- .p2align 4
-clear_page:
+ ALIGN
+clear_page_c:
+ CFI_STARTPROC
+ movl $4096/8,%ecx
+ xorl %eax,%eax
+ rep stosq
+ ret
+ CFI_ENDPROC
+ENDPROC(clear_page)
+
+ENTRY(clear_page)
+ CFI_STARTPROC
xorl %eax,%eax
movl $4096/64,%ecx
.p2align 4
@@ -23,28 +35,25 @@ clear_page:
jnz .Lloop
nop
ret
-clear_page_end:
+ CFI_ENDPROC
+.Lclear_page_end:
+ENDPROC(clear_page)
/* Some CPUs run faster using the string instructions.
It is also a lot simpler. Use this when possible */
#include <asm/cpufeature.h>
+ .section .altinstr_replacement,"ax"
+1: .byte 0xeb /* jmp <disp8> */
+ .byte (clear_page_c - clear_page) - (2f - 1b) /* offset */
+2:
+ .previous
.section .altinstructions,"a"
.align 8
- .quad clear_page
- .quad clear_page_c
- .byte X86_FEATURE_REP_GOOD
- .byte clear_page_end-clear_page
- .byte clear_page_c_end-clear_page_c
- .previous
-
- .section .altinstr_replacement,"ax"
-clear_page_c:
- movl $4096/8,%ecx
- xorl %eax,%eax
- rep
- stosq
- ret
-clear_page_c_end:
+ .quad clear_page
+ .quad 1b
+ .byte X86_FEATURE_REP_GOOD
+ .byte .Lclear_page_end - clear_page
+ .byte 2b - 1b
.previous
Index: linux/arch/x86_64/lib/copy_page.S
===================================================================
--- linux.orig/arch/x86_64/lib/copy_page.S
+++ linux/arch/x86_64/lib/copy_page.S
@@ -1,17 +1,33 @@
/* Written 2003 by Andi Kleen, based on a kernel by Evandro Menezes */
+#include <linux/config.h>
+#include <linux/linkage.h>
+#include <asm/dwarf2.h>
+
+ ALIGN
+copy_page_c:
+ CFI_STARTPROC
+ movl $4096/8,%ecx
+ rep movsq
+ ret
+ CFI_ENDPROC
+ENDPROC(copy_page_c)
+
/* Don't use streaming store because it's better when the target
ends up in cache. */
/* Could vary the prefetch distance based on SMP/UP */
- .globl copy_page
- .p2align 4
-copy_page:
+ENTRY(copy_page)
+ CFI_STARTPROC
subq $3*8,%rsp
+ CFI_ADJUST_CFA_OFFSET 3*8
movq %rbx,(%rsp)
+ CFI_REL_OFFSET rbx, 0
movq %r12,1*8(%rsp)
+ CFI_REL_OFFSET r12, 1*8
movq %r13,2*8(%rsp)
+ CFI_REL_OFFSET r13, 2*8
movl $(4096/64)-5,%ecx
.p2align 4
@@ -72,30 +88,33 @@ copy_page:
jnz .Loop2
movq (%rsp),%rbx
+ CFI_RESTORE rbx
movq 1*8(%rsp),%r12
+ CFI_RESTORE r12
movq 2*8(%rsp),%r13
+ CFI_RESTORE r13
addq $3*8,%rsp
+ CFI_ADJUST_CFA_OFFSET -3*8
ret
+.Lcopy_page_end:
+ CFI_ENDPROC
+ENDPROC(copy_page)
/* Some CPUs run faster using the string copy instructions.
It is also a lot simpler. Use this when possible */
#include <asm/cpufeature.h>
+ .section .altinstr_replacement,"ax"
+1: .byte 0xeb /* jmp <disp8> */
+ .byte (copy_page_c - copy_page) - (2f - 1b) /* offset */
+2:
+ .previous
.section .altinstructions,"a"
.align 8
- .quad copy_page
- .quad copy_page_c
- .byte X86_FEATURE_REP_GOOD
- .byte copy_page_c_end-copy_page_c
- .byte copy_page_c_end-copy_page_c
- .previous
-
- .section .altinstr_replacement,"ax"
-copy_page_c:
- movl $4096/8,%ecx
- rep
- movsq
- ret
-copy_page_c_end:
+ .quad copy_page
+ .quad 1b
+ .byte X86_FEATURE_REP_GOOD
+ .byte .Lcopy_page_end - copy_page
+ .byte 2b - 1b
.previous
Index: linux/arch/x86_64/lib/copy_user.S
===================================================================
--- linux.orig/arch/x86_64/lib/copy_user.S
+++ linux/arch/x86_64/lib/copy_user.S
@@ -4,6 +4,9 @@
* Functions to copy from and to user space.
*/
+#include <linux/linkage.h>
+#include <asm/dwarf2.h>
+
#define FIX_ALIGNMENT 1
#include <asm/current.h>
@@ -12,9 +15,8 @@
#include <asm/cpufeature.h>
/* Standard copy_to_user with segment limit checking */
- .globl copy_to_user
- .p2align 4
-copy_to_user:
+ENTRY(copy_to_user)
+ CFI_STARTPROC
GET_THREAD_INFO(%rax)
movq %rdi,%rcx
addq %rdx,%rcx
@@ -25,9 +27,11 @@ copy_to_user:
.byte 0xe9 /* 32bit jump */
.long .Lcug-1f
1:
+ CFI_ENDPROC
+ENDPROC(copy_to_user)
.section .altinstr_replacement,"ax"
-3: .byte 0xe9 /* replacement jmp with 8 bit immediate */
+3: .byte 0xe9 /* replacement jmp with 32 bit immediate */
.long copy_user_generic_c-1b /* offset */
.previous
.section .altinstructions,"a"
@@ -40,9 +44,8 @@ copy_to_user:
.previous
/* Standard copy_from_user with segment limit checking */
- .globl copy_from_user
- .p2align 4
-copy_from_user:
+ENTRY(copy_from_user)
+ CFI_STARTPROC
GET_THREAD_INFO(%rax)
movq %rsi,%rcx
addq %rdx,%rcx
@@ -50,10 +53,13 @@ copy_from_user:
cmpq threadinfo_addr_limit(%rax),%rcx
jae bad_from_user
/* FALL THROUGH to copy_user_generic */
+ CFI_ENDPROC
+ENDPROC(copy_from_user)
.section .fixup,"ax"
/* must zero dest */
bad_from_user:
+ CFI_STARTPROC
movl %edx,%ecx
xorl %eax,%eax
rep
@@ -61,6 +67,8 @@ bad_from_user:
bad_to_user:
movl %edx,%eax
ret
+ CFI_ENDPROC
+END(bad_from_user)
.previous
@@ -75,9 +83,8 @@ bad_to_user:
* Output:
* eax uncopied bytes or 0 if successful.
*/
- .globl copy_user_generic
- .p2align 4
-copy_user_generic:
+ENTRY(copy_user_generic)
+ CFI_STARTPROC
.byte 0x66,0x66,0x90 /* 5 byte nop for replacement jump */
.byte 0x66,0x90
1:
@@ -95,6 +102,8 @@ copy_user_generic:
.previous
.Lcug:
pushq %rbx
+ CFI_ADJUST_CFA_OFFSET 8
+ CFI_REL_OFFSET rbx, 0
xorl %eax,%eax /*zero for the exception handler */
#ifdef FIX_ALIGNMENT
@@ -168,9 +177,13 @@ copy_user_generic:
decl %ecx
jnz .Lloop_1
+ CFI_REMEMBER_STATE
.Lende:
popq %rbx
+ CFI_ADJUST_CFA_OFFSET -8
+ CFI_RESTORE rbx
ret
+ CFI_RESTORE_STATE
#ifdef FIX_ALIGNMENT
/* align destination */
@@ -261,6 +274,9 @@ copy_user_generic:
.Le_zero:
movq %rdx,%rax
jmp .Lende
+ CFI_ENDPROC
+ENDPROC(copy_user_generic)
+
/* Some CPUs run faster using the string copy instructions.
This is also a lot simpler. Use them when possible.
@@ -282,6 +298,7 @@ copy_user_generic:
* this please consider this.
*/
copy_user_generic_c:
+ CFI_STARTPROC
movl %edx,%ecx
shrl $3,%ecx
andl $7,%edx
@@ -294,6 +311,8 @@ copy_user_generic_c:
ret
3: lea (%rdx,%rcx,8),%rax
ret
+ CFI_ENDPROC
+END(copy_user_generic_c)
.section __ex_table,"a"
.quad 1b,3b
Index: linux/arch/x86_64/lib/csum-copy.S
===================================================================
--- linux.orig/arch/x86_64/lib/csum-copy.S
+++ linux/arch/x86_64/lib/csum-copy.S
@@ -5,8 +5,9 @@
* License. See the file COPYING in the main directory of this archive
* for more details. No warranty for anything given at all.
*/
- #include <linux/linkage.h>
- #include <asm/errno.h>
+#include <linux/linkage.h>
+#include <asm/dwarf2.h>
+#include <asm/errno.h>
/*
* Checksum copy with exception handling.
@@ -53,19 +54,24 @@
.endm
- .globl csum_partial_copy_generic
- .p2align 4
-csum_partial_copy_generic:
+ENTRY(csum_partial_copy_generic)
+ CFI_STARTPROC
cmpl $3*64,%edx
jle .Lignore
.Lignore:
subq $7*8,%rsp
+ CFI_ADJUST_CFA_OFFSET 7*8
movq %rbx,2*8(%rsp)
+ CFI_REL_OFFSET rbx, 2*8
movq %r12,3*8(%rsp)
+ CFI_REL_OFFSET r12, 3*8
movq %r14,4*8(%rsp)
+ CFI_REL_OFFSET r14, 4*8
movq %r13,5*8(%rsp)
+ CFI_REL_OFFSET r13, 5*8
movq %rbp,6*8(%rsp)
+ CFI_REL_OFFSET rbp, 6*8
movq %r8,(%rsp)
movq %r9,1*8(%rsp)
@@ -208,14 +214,22 @@ csum_partial_copy_generic:
addl %ebx,%eax
adcl %r9d,%eax /* carry */
+ CFI_REMEMBER_STATE
.Lende:
movq 2*8(%rsp),%rbx
+ CFI_RESTORE rbx
movq 3*8(%rsp),%r12
+ CFI_RESTORE r12
movq 4*8(%rsp),%r14
+ CFI_RESTORE r14
movq 5*8(%rsp),%r13
+ CFI_RESTORE r13
movq 6*8(%rsp),%rbp
+ CFI_RESTORE rbp
addq $7*8,%rsp
+ CFI_ADJUST_CFA_OFFSET -7*8
ret
+ CFI_RESTORE_STATE
/* Exception handlers. Very simple, zeroing is done in the wrappers */
.Lbad_source:
@@ -231,3 +245,5 @@ csum_partial_copy_generic:
jz .Lende
movl $-EFAULT,(%rax)
jmp .Lende
+ CFI_ENDPROC
+ENDPROC(csum_partial_copy_generic)
Index: linux/arch/x86_64/lib/getuser.S
===================================================================
--- linux.orig/arch/x86_64/lib/getuser.S
+++ linux/arch/x86_64/lib/getuser.S
@@ -27,25 +27,26 @@
*/
#include <linux/linkage.h>
+#include <asm/dwarf2.h>
#include <asm/page.h>
#include <asm/errno.h>
#include <asm/asm-offsets.h>
#include <asm/thread_info.h>
.text
- .p2align 4
-.globl __get_user_1
-__get_user_1:
+ENTRY(__get_user_1)
+ CFI_STARTPROC
GET_THREAD_INFO(%r8)
cmpq threadinfo_addr_limit(%r8),%rcx
jae bad_get_user
1: movzb (%rcx),%edx
xorl %eax,%eax
ret
+ CFI_ENDPROC
+ENDPROC(__get_user_1)
- .p2align 4
-.globl __get_user_2
-__get_user_2:
+ENTRY(__get_user_2)
+ CFI_STARTPROC
GET_THREAD_INFO(%r8)
addq $1,%rcx
jc 20f
@@ -57,10 +58,11 @@ __get_user_2:
ret
20: decq %rcx
jmp bad_get_user
+ CFI_ENDPROC
+ENDPROC(__get_user_2)
- .p2align 4
-.globl __get_user_4
-__get_user_4:
+ENTRY(__get_user_4)
+ CFI_STARTPROC
GET_THREAD_INFO(%r8)
addq $3,%rcx
jc 30f
@@ -72,10 +74,11 @@ __get_user_4:
ret
30: subq $3,%rcx
jmp bad_get_user
+ CFI_ENDPROC
+ENDPROC(__get_user_4)
- .p2align 4
-.globl __get_user_8
-__get_user_8:
+ENTRY(__get_user_8)
+ CFI_STARTPROC
GET_THREAD_INFO(%r8)
addq $7,%rcx
jc 40f
@@ -87,11 +90,16 @@ __get_user_8:
ret
40: subq $7,%rcx
jmp bad_get_user
+ CFI_ENDPROC
+ENDPROC(__get_user_8)
bad_get_user:
+ CFI_STARTPROC
xorl %edx,%edx
movq $(-EFAULT),%rax
ret
+ CFI_ENDPROC
+END(bad_get_user)
.section __ex_table,"a"
.quad 1b,bad_get_user
Index: linux/arch/x86_64/lib/iomap_copy.S
===================================================================
--- linux.orig/arch/x86_64/lib/iomap_copy.S
+++ linux/arch/x86_64/lib/iomap_copy.S
@@ -15,12 +15,16 @@
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+#include <linux/linkage.h>
+#include <asm/dwarf2.h>
+
/*
* override generic version in lib/iomap_copy.c
*/
- .globl __iowrite32_copy
- .p2align 4
-__iowrite32_copy:
+ENTRY(__iowrite32_copy)
+ CFI_STARTPROC
movl %edx,%ecx
rep movsd
ret
+ CFI_ENDPROC
+ENDPROC(__iowrite32_copy)
Index: linux/arch/x86_64/lib/memcpy.S
===================================================================
--- linux.orig/arch/x86_64/lib/memcpy.S
+++ linux/arch/x86_64/lib/memcpy.S
@@ -1,6 +1,10 @@
/* Copyright 2002 Andi Kleen */
- #include <asm/cpufeature.h>
+#include <linux/config.h>
+#include <linux/linkage.h>
+#include <asm/dwarf2.h>
+#include <asm/cpufeature.h>
+
/*
* memcpy - Copy a memory block.
*
@@ -13,12 +17,26 @@
* rax original destination
*/
- .globl __memcpy
- .globl memcpy
- .p2align 4
-__memcpy:
-memcpy:
+ ALIGN
+memcpy_c:
+ CFI_STARTPROC
+ movq %rdi,%rax
+ movl %edx,%ecx
+ shrl $3,%ecx
+ andl $7,%edx
+ rep movsq
+ movl %edx,%ecx
+ rep movsb
+ ret
+ CFI_ENDPROC
+ENDPROC(memcpy_c)
+
+ENTRY(__memcpy)
+ENTRY(memcpy)
+ CFI_STARTPROC
pushq %rbx
+ CFI_ADJUST_CFA_OFFSET 8
+ CFI_REL_OFFSET rbx, 0
movq %rdi,%rax
movl %edx,%ecx
@@ -86,36 +104,27 @@ memcpy:
.Lende:
popq %rbx
+ CFI_ADJUST_CFA_OFFSET -8
+ CFI_RESTORE rbx
ret
.Lfinal:
+ CFI_ENDPROC
+ENDPROC(memcpy)
+ENDPROC(__memcpy)
/* Some CPUs run faster using the string copy instructions.
It is also a lot simpler. Use this when possible */
+ .section .altinstr_replacement,"ax"
+1: .byte 0xeb /* jmp <disp8> */
+ .byte (memcpy_c - memcpy) - (2f - 1b) /* offset */
+2:
+ .previous
.section .altinstructions,"a"
.align 8
- .quad memcpy
- .quad memcpy_c
- .byte X86_FEATURE_REP_GOOD
- .byte .Lfinal-memcpy
- .byte memcpy_c_end-memcpy_c
- .previous
-
- .section .altinstr_replacement,"ax"
- /* rdi destination
- * rsi source
- * rdx count
- */
-memcpy_c:
- movq %rdi,%rax
- movl %edx,%ecx
- shrl $3,%ecx
- andl $7,%edx
- rep
- movsq
- movl %edx,%ecx
- rep
- movsb
- ret
-memcpy_c_end:
+ .quad memcpy
+ .quad 1b
+ .byte X86_FEATURE_REP_GOOD
+ .byte .Lfinal - memcpy
+ .byte 2b - 1b
.previous
Index: linux/arch/x86_64/lib/memset.S
===================================================================
--- linux.orig/arch/x86_64/lib/memset.S
+++ linux/arch/x86_64/lib/memset.S
@@ -1,4 +1,9 @@
/* Copyright 2002 Andi Kleen, SuSE Labs */
+
+#include <linux/config.h>
+#include <linux/linkage.h>
+#include <asm/dwarf2.h>
+
/*
* ISO C memset - set a memory block to a byte value.
*
@@ -8,11 +13,29 @@
*
* rax original destination
*/
- .globl __memset
- .globl memset
- .p2align 4
-memset:
-__memset:
+ ALIGN
+memset_c:
+ CFI_STARTPROC
+ movq %rdi,%r9
+ movl %edx,%r8d
+ andl $7,%r8d
+ movl %edx,%ecx
+ shrl $3,%ecx
+ /* expand byte value */
+ movzbl %sil,%esi
+ movabs $0x0101010101010101,%rax
+ mulq %rsi /* with rax, clobbers rdx */
+ rep stosq
+ movl %r8d,%ecx
+ rep stosb
+ movq %r9,%rax
+ ret
+ CFI_ENDPROC
+ENDPROC(memset_c)
+
+ENTRY(memset)
+ENTRY(__memset)
+ CFI_STARTPROC
movq %rdi,%r10
movq %rdx,%r11
@@ -25,6 +48,7 @@ __memset:
movl %edi,%r9d
andl $7,%r9d
jnz .Lbad_alignment
+ CFI_REMEMBER_STATE
.Lafter_bad_alignment:
movl %r11d,%ecx
@@ -75,6 +99,7 @@ __memset:
movq %r10,%rax
ret
+ CFI_RESTORE_STATE
.Lbad_alignment:
cmpq $7,%r11
jbe .Lhandle_7
@@ -84,42 +109,26 @@ __memset:
addq %r8,%rdi
subq %r8,%r11
jmp .Lafter_bad_alignment
+.Lfinal:
+ CFI_ENDPROC
+ENDPROC(memset)
+ENDPROC(__memset)
/* Some CPUs run faster using the string instructions.
It is also a lot simpler. Use this when possible */
#include <asm/cpufeature.h>
+ .section .altinstr_replacement,"ax"
+1: .byte 0xeb /* jmp <disp8> */
+ .byte (memset_c - memset) - (2f - 1b) /* offset */
+2:
+ .previous
.section .altinstructions,"a"
.align 8
- .quad memset
- .quad memset_c
- .byte X86_FEATURE_REP_GOOD
- .byte memset_c_end-memset_c
- .byte memset_c_end-memset_c
- .previous
-
- .section .altinstr_replacement,"ax"
- /* rdi destination
- * rsi value
- * rdx count
- */
-memset_c:
- movq %rdi,%r9
- movl %edx,%r8d
- andl $7,%r8d
- movl %edx,%ecx
- shrl $3,%ecx
- /* expand byte value */
- movzbl %sil,%esi
- movabs $0x0101010101010101,%rax
- mulq %rsi /* with rax, clobbers rdx */
- rep
- stosq
- movl %r8d,%ecx
- rep
- stosb
- movq %r9,%rax
- ret
-memset_c_end:
+ .quad memset
+ .quad 1b
+ .byte X86_FEATURE_REP_GOOD
+ .byte .Lfinal - memset
+ .byte 2b - 1b
.previous
Index: linux/arch/x86_64/lib/putuser.S
===================================================================
--- linux.orig/arch/x86_64/lib/putuser.S
+++ linux/arch/x86_64/lib/putuser.S
@@ -25,25 +25,26 @@
*/
#include <linux/linkage.h>
+#include <asm/dwarf2.h>
#include <asm/page.h>
#include <asm/errno.h>
#include <asm/asm-offsets.h>
#include <asm/thread_info.h>
.text
- .p2align 4
-.globl __put_user_1
-__put_user_1:
+ENTRY(__put_user_1)
+ CFI_STARTPROC
GET_THREAD_INFO(%r8)
cmpq threadinfo_addr_limit(%r8),%rcx
jae bad_put_user
1: movb %dl,(%rcx)
xorl %eax,%eax
ret
+ CFI_ENDPROC
+ENDPROC(__put_user_1)
- .p2align 4
-.globl __put_user_2
-__put_user_2:
+ENTRY(__put_user_2)
+ CFI_STARTPROC
GET_THREAD_INFO(%r8)
addq $1,%rcx
jc 20f
@@ -55,10 +56,11 @@ __put_user_2:
ret
20: decq %rcx
jmp bad_put_user
+ CFI_ENDPROC
+ENDPROC(__put_user_2)
- .p2align 4
-.globl __put_user_4
-__put_user_4:
+ENTRY(__put_user_4)
+ CFI_STARTPROC
GET_THREAD_INFO(%r8)
addq $3,%rcx
jc 30f
@@ -70,10 +72,11 @@ __put_user_4:
ret
30: subq $3,%rcx
jmp bad_put_user
+ CFI_ENDPROC
+ENDPROC(__put_user_4)
- .p2align 4
-.globl __put_user_8
-__put_user_8:
+ENTRY(__put_user_8)
+ CFI_STARTPROC
GET_THREAD_INFO(%r8)
addq $7,%rcx
jc 40f
@@ -85,10 +88,15 @@ __put_user_8:
ret
40: subq $7,%rcx
jmp bad_put_user
+ CFI_ENDPROC
+ENDPROC(__put_user_8)
bad_put_user:
+ CFI_STARTPROC
movq $(-EFAULT),%rax
ret
+ CFI_ENDPROC
+END(bad_put_user)
.section __ex_table,"a"
.quad 1b,bad_put_user
next prev parent reply other threads:[~2006-08-10 20:07 UTC|newest]
Thread overview: 195+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20060810 935.775038000@suse.de>
2006-08-10 19:35 ` [PATCH for review] [1/145] x86_64: Update defconfig Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [2/145] i386: " Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [3/145] i386: Allow to use GENERICARCH for UP kernels Andi Kleen
2006-08-10 19:47 ` Dave Hansen
2006-08-10 19:50 ` Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [4/145] x86_64: Temporarily revert parts of the Core 2 nmi nmi watchdog support Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [5/145] x86_64: Add performance counter reservation framework for UP kernels Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [6/145] x86_64: Utilize performance counter reservation framework in oprofile Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [7/145] x86_64: Add SMP support on x86_64 to reservation framework Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [8/145] x86_64: Add SMP support on i386 " Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [9/145] x86_64: Cleanup NMI interrupt path Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [10/145] x86_64: Add TIF_RESTORE_SIGMASK Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [11/145] x86_64: Add ppoll/pselect syscalls Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [12/145] i386/x86-64: Remove un/set_nmi_callback and reserve/release_lapic_nmi functions Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [13/145] x86_64: Add abilty to enable/disable nmi watchdog with sysctl Andi Kleen
2006-08-10 19:48 ` Oleg Verych
2006-08-11 6:44 ` Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [14/145] x86_64: Add abilty to enable/disable nmi watchdog from procfs (update) Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [15/145] x86_64: Allow users to force a panic on NMI Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [16/145] x86_64: x86 clean up nmi panic messages Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [17/145] i386/x86-64: x86 nmi fix Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [18/145] x86_64: x86 nmi fix 2 Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [19/145] x86_64: Fix up panic messages for different NMI panics Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [20/145] x86_64: make functions static Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [21/145] x86_64: kdump x86_64 nmi event notification fix Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [22/145] x86_64: Kdump i386 " Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [23/145] i386: Enable NMI watchdog by default Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [24/145] x86_64: i386/x86-64 Add nmi watchdog support for new Intel CPUs Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [25/145] x86_64: Add macros for rdtscp Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [26/145] x86_64: Add initalization of the RDTSCP auxilliary values Andi Kleen
2006-08-10 21:49 ` Oleg Verych
2006-08-11 4:09 ` Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [27/145] x86_64: Add the vgetcpu vsyscall Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [28/145] x86_64: Add portable getcpu call Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [29/145] x86_64: Clean up asm/smp.h includes Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [30/145] x86_64: x86-64 TIF flags for debug regs and io bitmap in ctxsw Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [31/145] x86_64: Don't print virtual address in HPET initialization Andi Kleen
2006-08-11 16:50 ` Clemens Ladisch
2006-08-10 19:35 ` [PATCH for review] [32/145] x86_64: A few trivial spelling and grammar fixes Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [33/145] i386/x86-64: Don't randomize stack top when no randomization personality is set Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [34/145] i386: Account spinlocks to the caller during profiling for !FP kernels Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [35/145] x86_64: Simplify profile_pc on x86-64 Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [36/145] x86_64: Document backtracer selection options Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [37/145] x86_64: Support patchable lock prefix for pure assembly files Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [38/145] x86_64: Switch rwlocks over to patchable lock prefix Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [39/145] x86_64: Clean up read write lock assembly Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [40/145] i386: Remove const case for rwlocks Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [41/145] x86_64: Add proper alignment to ENTRY Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [42/145] i386: add alternative-asm.h to allow LOCK_PREFIX replacement in .S files Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [43/145] i386: Redo semaphore and rwlock assembly helpers Andi Kleen
2006-08-13 0:53 ` Andrew Morton
2006-08-13 6:50 ` Andi Kleen
2006-08-13 6:54 ` Andrew Morton
2006-08-13 7:42 ` Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [44/145] x86_64: Remove leftover CVS Id in thunk.S Andi Kleen
2006-08-10 19:35 ` [PATCH for review] [45/145] x86_64: Add some comments what tce.c actually does Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [46/145] x86_64: Remove all ifdefs for local/io apic Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [47/145] x86_64: Remove apic mismatch counter Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [48/145] x86_64: Remove old "focus disabled" chipset errata workaround Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [49/145] x86_64: Clean up and minor fixes to TLB flush Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [50/145] i386: Minor fixes & cleanup to tlb flush Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [51/145] x86_64: Add some comments to entry.S Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [52/145] x86_64: Remove pirq overwrite support Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [53/145] x86_64: Remove leftover MCE/EISA support Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [54/145] x86_64: Remove obsolete PIC mode Andi Kleen
2006-08-16 16:31 ` Len Brown
2006-08-16 16:35 ` Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [55/145] i386/x86-64: Remove obsolete sanity check in mptable parsing Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [56/145] x86_64: Factor out common io apic routing entry access Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [57/145] i386: " Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [58/145] x86_64: AUX_DEVICE_INFO is one byte long, use 'movb' Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [59/145] x86_64: Remove MPS table APIC renumbering Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [60/145] x86_64: Move early chipset quirks out to new file Andi Kleen
2006-08-16 15:36 ` Len Brown
2006-08-10 19:36 ` [PATCH for review] [61/145] x86_64: Replace mp bus array with bitmap for bus not pci Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [62/145] x86_64: Remove useless wrapper in mpparse.c code Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [63/145] x86_64: Remove some unneeded ACPI externs in mpparse.c Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [64/145] x86_64: Fix up some non linuxy style in ACPI functions " Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [65/145] i386: Clean up code style in mpparse.c ACPI code Andi Kleen
2006-08-16 16:08 ` Len Brown
2006-08-16 16:30 ` Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [66/145] x86_64: Use BUILD_BUG_ON in apic.c build sanity checking Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [67/145] x86_64: Detect CFI support in the assembler at runtime Andi Kleen
[not found] ` <20060811053932.GA4910@mars.ravnborg.org>
2006-08-11 5:55 ` Andi Kleen
2006-08-11 15:16 ` Sam Ravnborg
2006-08-11 16:10 ` Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [68/145] x86_64: Remove obsolete CVS $ from assembler files in arch/x86_64/kernel/* Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [69/145] x86_64: Disable DAC on VIA PCI bridges Andi Kleen
[not found] ` <20060810205554.GE4745@rhun.haifa.ibm.com>
2006-08-11 6:51 ` Andi Kleen
2006-08-11 19:13 ` Muli Ben-Yehuda
2006-08-11 19:36 ` Andi Kleen
2006-08-11 19:41 ` Muli Ben-Yehuda
2006-08-10 19:36 ` [PATCH for review] [70/145] x86_64: initialize end of memory variables as early as possible Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [71/145] x86_64: remove int_delivery_dest Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [72/145] i386: initialize end-of-memory variables as early as possible Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [73/145] x86_64: Add stack documentation document from Keith Owens Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [74/145] x86_64: Calgary IOMMU: rearrange 'struct iommu_table' members Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [75/145] x86_64: Calgary IOMMU: consolidate per bus data structures Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [76/145] x86_64: Calgary IOMMU: break out of pci_find_device_reverse if dev not found Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [77/145] x86_64: Calgary IOMMU: fix error path memleak in calgary_free_tar Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [78/145] x86_64: Calgary IOMMU: fix reference counting of Calgary PCI devices Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [79/145] x86_64: Calgary IOMMU: calgary_init_one_nontraslated() can return void Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [80/145] x86_64: Calgary IOMMU: save a bit of space in bus_info Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [81/145] i386: Remove lock section support in mutex.h, semaphore.h Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [82/145] x86_64: Don't use lock section for mutexes and semaphores Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [83/145] x86_64: fix is_at_popf() for compat tasks Andi Kleen
2006-08-10 19:36 ` Andi Kleen [this message]
2006-08-10 19:36 ` [PATCH for review] [85/145] x86_64: Fix gdt table size in trampoline.S Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [86/145] x86_64: remove superflous BUG_ON's in nommu and gart Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [87/145] x86_64: remove lock prefix from is_at_popf() tests Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [88/145] x86_64: Use early CPU identify before early command line parsing Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [89/145] x86_64: Allow early_param and identical __setup to exist Andi Kleen
2006-08-16 16:25 ` Len Brown
2006-08-10 19:36 ` [PATCH for review] [90/145] x86_64: Replace i386 open-coded cmdline parsing with Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [91/145] x86_64: Convert x86-64 to early param Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [92/145] x86_64: Remove need for early lockdep init Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [93/145] i386/x86-64: Move acpi_disabled variables into acpi/boot.c Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [94/145] x86_64: Clean up acpi_numa variable Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [95/145] x86_64: Move e820 map into e820.c Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [96/145] x86_64: Add sparse annotation to vsyscall.c Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [97/145] x86_64: Add sparse annotations to quiet sparse in arch/x86_64/mm/fault.c Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [98/145] x86_64: Fix most sparse warnings in sys_ia32.c Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [99/145] x86_64: Fix sparse warnings in compat aout code Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [100/145] x86_64: Fix broken indentation in iommu_setup Andi Kleen
2006-08-10 19:36 ` [PATCH for review] [101/145] x86_64: Replace local_save_flags+local_irq_disable with Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [102/145] x86_64: Remove unneeded externs in acpi/boot.c Andi Kleen
2006-08-16 15:41 ` Len Brown
2006-08-10 19:37 ` [PATCH for review] [103/145] i386/x86-64: rename is_at_popf(), add iret to tests and fix Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [104/145] x86_64: print whether CONFIG_IOMMU_DEBUG is enabled Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [105/145] x86_64: only verify the allocation bitmap if CONFIG_IOMMU_DEBUG is on Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [106/145] x86_64: remove tce_cache_blast_stress() Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [107/145] x86_64: Calgary IOMMU: eradicate sole remaining 80 chars per line offender Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [108/145] x86_64: Some preparationary cleanup for stack trace Andi Kleen
2006-08-13 6:26 ` Andrew Morton
2006-08-13 6:53 ` Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [109/145] x86_64: Convert modlist_lock to be a raw spinlock Andi Kleen
2006-08-13 5:48 ` Andrew Morton
2006-08-13 6:52 ` Andi Kleen
2006-08-13 7:02 ` Andrew Morton
2006-08-13 7:15 ` Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [110/145] x86_64: Don't access the APIC in safe_smp_processor_id when it is not mapped yet Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [111/145] x86_64: Move unwind_init earlier Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [112/145] x86_64: Merge stacktrace and show_trace Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [113/145] i386: Do stacktracer conversion too Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [114/145] x86_64: Don't force frame pointers for lockdep Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [115/145] x86_64: fix dubious segment register clear in cpu_init() Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [116/145] i386: don't taint UP K7's running SMP kernels Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [117/145] i386: error_code is not safe for kprobes Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [118/145] x86_64: Mark error_entry as forbidden to kprobes Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [119/145] x86_64: X86_64 monotonic_clock goes backwards Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [120/145] i386/x86-64: Improve Kconfig description of CRASH_DUMP Andi Kleen
2006-08-10 21:12 ` Randy.Dunlap
2006-08-10 19:37 ` [PATCH for review] [121/145] x86_64: Make boot_param_data pure BSS Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [122/145] i386: Fix warning in mpparse.c Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [123/145] i386: make fault notifier unconditional and export it Andi Kleen
2006-08-13 15:28 ` Adrian Bunk
2006-08-13 17:11 ` Alan Cox
2006-08-13 17:08 ` Adrian Bunk
2006-08-13 18:04 ` Alan Cox
2006-08-13 20:17 ` Andi Kleen
2006-08-14 0:03 ` Keith Owens
2006-08-10 19:37 ` [PATCH for review] [124/145] " Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [125/145] i376: Make acpi_force static Andi Kleen
2006-08-16 15:47 ` Len Brown
2006-08-16 16:07 ` Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [126/145] i386: Make enable_local_apic static Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [127/145] i386: move kernel_thread_helper into entry.S Andi Kleen
2006-08-11 8:33 ` Jan Beulich
2006-08-11 8:38 ` Andi Kleen
2006-08-11 9:48 ` Jan Beulich
2006-08-11 10:16 ` Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [128/145] i386: Descriptor and trap table cleanups Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [129/145] x86_64: Auto size the per cpu area Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [130/145] i386: clean up topology.c Andi Kleen
2006-08-10 19:50 ` Dave Hansen
2006-08-10 19:55 ` Andi Kleen
2006-08-11 1:32 ` Magnus Damm
2006-08-10 19:37 ` [PATCH for review] [131/145] i386: mark two more functions as __init Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [132/145] x86_64: fix bus numbering format in mmconfig warning Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [133/145] x86_64: Support physical cpu hotplug for x86_64 Andi Kleen
[not found] ` <20060810222056.GA24184@mail.muni.cz>
2006-08-11 4:05 ` Andi Kleen
2006-08-16 16:02 ` Len Brown
2006-08-10 19:37 ` [PATCH for review] [134/145] x86_64: non lazy "sleazy" fpu implementation Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [135/145] x86_64: wire up oops_enter()/oops_exit() Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [136/145] x86_64: x86_64 kernel mapping fix Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [137/145] i386: KPROBE_ENTRY ends up putting code into .fixup Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [138/145] i386: remove redundant generic_identify() calls when identifying cpus Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [139/145] x86_64: mark init_amd() as __cpuinit Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [140/145] i386: mark cpu_dev structures as __cpuinitdata Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [141/145] i386: mark cpu init functions as __cpuinit, data " Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [142/145] i386: mark cpu identify functions as __cpuinit Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [143/145] i386: mark cpu cache " Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [144/145] i386: Disallow kprobes on NMI handlers Andi Kleen
2006-08-10 19:37 ` [PATCH for review] [145/145] " Andi Kleen
[not found] ` <20060810193518.394E413B90__40006.6926530146$1155241071$gmane$org@wotan.suse.de>
2006-08-10 22:42 ` [PATCH for review] [6/145] x86_64: Utilize performance counter reservation framework in oprofile Oleg Verych
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060810193641.2904013C0B@wotan.suse.de \
--to=ak@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®