diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-24 14:49:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-24 14:49:16 -0400 |
commit | 988c7f2d6d5622c2407bcad49c0349fbad6489a7 (patch) | |
tree | e594aed350730f13874967b2765d21a7f515ea18 | |
parent | d762f4383100c2a87b1a3f2d678cd3b5425655b4 (diff) | |
parent | 2f344d2e51888785be551a756d8a8aa58269aaa8 (diff) |
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86, ioapic: Restore ioapic entries during resume properly
x86: Get rid of asmregparm
um: Use RWSEM_GENERIC_SPINLOCK on x86
-rw-r--r-- | arch/um/Kconfig.x86 | 4 | ||||
-rw-r--r-- | arch/x86/include/asm/linkage.h | 5 | ||||
-rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 4 | ||||
-rw-r--r-- | arch/x86/kernel/ptrace.c | 4 | ||||
-rw-r--r-- | include/linux/linkage.h | 4 |
5 files changed, 6 insertions, 15 deletions
diff --git a/arch/um/Kconfig.x86 b/arch/um/Kconfig.x86 index a9da516a5274..795ea8e869f4 100644 --- a/arch/um/Kconfig.x86 +++ b/arch/um/Kconfig.x86 | |||
@@ -29,10 +29,10 @@ config X86_64 | |||
29 | def_bool 64BIT | 29 | def_bool 64BIT |
30 | 30 | ||
31 | config RWSEM_XCHGADD_ALGORITHM | 31 | config RWSEM_XCHGADD_ALGORITHM |
32 | def_bool X86_XADD | 32 | def_bool X86_XADD && 64BIT |
33 | 33 | ||
34 | config RWSEM_GENERIC_SPINLOCK | 34 | config RWSEM_GENERIC_SPINLOCK |
35 | def_bool !X86_XADD | 35 | def_bool !RWSEM_XCHGADD_ALGORITHM |
36 | 36 | ||
37 | config 3_LEVEL_PGTABLES | 37 | config 3_LEVEL_PGTABLES |
38 | bool "Three-level pagetables (EXPERIMENTAL)" if !64BIT | 38 | bool "Three-level pagetables (EXPERIMENTAL)" if !64BIT |
diff --git a/arch/x86/include/asm/linkage.h b/arch/x86/include/asm/linkage.h index 12d55e773eb6..48142971b25d 100644 --- a/arch/x86/include/asm/linkage.h +++ b/arch/x86/include/asm/linkage.h | |||
@@ -8,11 +8,6 @@ | |||
8 | 8 | ||
9 | #ifdef CONFIG_X86_32 | 9 | #ifdef CONFIG_X86_32 |
10 | #define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0))) | 10 | #define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0))) |
11 | /* | ||
12 | * For 32-bit UML - mark functions implemented in assembly that use | ||
13 | * regparm input parameters: | ||
14 | */ | ||
15 | #define asmregparm __attribute__((regparm(3))) | ||
16 | 11 | ||
17 | /* | 12 | /* |
18 | * Make sure the compiler doesn't do anything stupid with the | 13 | * Make sure the compiler doesn't do anything stupid with the |
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 9488dcff7aec..e5293394b548 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
@@ -676,7 +676,7 @@ void mask_ioapic_entries(void) | |||
676 | int apic, pin; | 676 | int apic, pin; |
677 | 677 | ||
678 | for (apic = 0; apic < nr_ioapics; apic++) { | 678 | for (apic = 0; apic < nr_ioapics; apic++) { |
679 | if (ioapics[apic].saved_registers) | 679 | if (!ioapics[apic].saved_registers) |
680 | continue; | 680 | continue; |
681 | 681 | ||
682 | for (pin = 0; pin < ioapics[apic].nr_registers; pin++) { | 682 | for (pin = 0; pin < ioapics[apic].nr_registers; pin++) { |
@@ -699,7 +699,7 @@ int restore_ioapic_entries(void) | |||
699 | int apic, pin; | 699 | int apic, pin; |
700 | 700 | ||
701 | for (apic = 0; apic < nr_ioapics; apic++) { | 701 | for (apic = 0; apic < nr_ioapics; apic++) { |
702 | if (ioapics[apic].saved_registers) | 702 | if (!ioapics[apic].saved_registers) |
703 | continue; | 703 | continue; |
704 | 704 | ||
705 | for (pin = 0; pin < ioapics[apic].nr_registers; pin++) | 705 | for (pin = 0; pin < ioapics[apic].nr_registers; pin++) |
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c index f65e5b521dbd..807c2a2b80f1 100644 --- a/arch/x86/kernel/ptrace.c +++ b/arch/x86/kernel/ptrace.c | |||
@@ -1363,7 +1363,7 @@ void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs, | |||
1363 | * We must return the syscall number to actually look up in the table. | 1363 | * We must return the syscall number to actually look up in the table. |
1364 | * This can be -1L to skip running any syscall at all. | 1364 | * This can be -1L to skip running any syscall at all. |
1365 | */ | 1365 | */ |
1366 | asmregparm long syscall_trace_enter(struct pt_regs *regs) | 1366 | long syscall_trace_enter(struct pt_regs *regs) |
1367 | { | 1367 | { |
1368 | long ret = 0; | 1368 | long ret = 0; |
1369 | 1369 | ||
@@ -1408,7 +1408,7 @@ asmregparm long syscall_trace_enter(struct pt_regs *regs) | |||
1408 | return ret ?: regs->orig_ax; | 1408 | return ret ?: regs->orig_ax; |
1409 | } | 1409 | } |
1410 | 1410 | ||
1411 | asmregparm void syscall_trace_leave(struct pt_regs *regs) | 1411 | void syscall_trace_leave(struct pt_regs *regs) |
1412 | { | 1412 | { |
1413 | bool step; | 1413 | bool step; |
1414 | 1414 | ||
diff --git a/include/linux/linkage.h b/include/linux/linkage.h index 7135ebc8428c..3f46aedea42f 100644 --- a/include/linux/linkage.h +++ b/include/linux/linkage.h | |||
@@ -14,10 +14,6 @@ | |||
14 | #define asmlinkage CPP_ASMLINKAGE | 14 | #define asmlinkage CPP_ASMLINKAGE |
15 | #endif | 15 | #endif |
16 | 16 | ||
17 | #ifndef asmregparm | ||
18 | # define asmregparm | ||
19 | #endif | ||
20 | |||
21 | #define __page_aligned_data __section(.data..page_aligned) __aligned(PAGE_SIZE) | 17 | #define __page_aligned_data __section(.data..page_aligned) __aligned(PAGE_SIZE) |
22 | #define __page_aligned_bss __section(.bss..page_aligned) __aligned(PAGE_SIZE) | 18 | #define __page_aligned_bss __section(.bss..page_aligned) __aligned(PAGE_SIZE) |
23 | 19 | ||