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
This commit is contained in:
Linus Torvalds 2011-05-24 11:49:16 -07:00
commit 988c7f2d6d
5 changed files with 6 additions and 15 deletions

View File

@ -29,10 +29,10 @@ config X86_64
def_bool 64BIT def_bool 64BIT
config RWSEM_XCHGADD_ALGORITHM config RWSEM_XCHGADD_ALGORITHM
def_bool X86_XADD def_bool X86_XADD && 64BIT
config RWSEM_GENERIC_SPINLOCK config RWSEM_GENERIC_SPINLOCK
def_bool !X86_XADD def_bool !RWSEM_XCHGADD_ALGORITHM
config 3_LEVEL_PGTABLES config 3_LEVEL_PGTABLES
bool "Three-level pagetables (EXPERIMENTAL)" if !64BIT bool "Three-level pagetables (EXPERIMENTAL)" if !64BIT

View File

@ -8,11 +8,6 @@
#ifdef CONFIG_X86_32 #ifdef CONFIG_X86_32
#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0))) #define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))
/*
* For 32-bit UML - mark functions implemented in assembly that use
* regparm input parameters:
*/
#define asmregparm __attribute__((regparm(3)))
/* /*
* Make sure the compiler doesn't do anything stupid with the * Make sure the compiler doesn't do anything stupid with the

View File

@ -676,7 +676,7 @@ void mask_ioapic_entries(void)
int apic, pin; int apic, pin;
for (apic = 0; apic < nr_ioapics; apic++) { for (apic = 0; apic < nr_ioapics; apic++) {
if (ioapics[apic].saved_registers) if (!ioapics[apic].saved_registers)
continue; continue;
for (pin = 0; pin < ioapics[apic].nr_registers; pin++) { for (pin = 0; pin < ioapics[apic].nr_registers; pin++) {
@ -699,7 +699,7 @@ int restore_ioapic_entries(void)
int apic, pin; int apic, pin;
for (apic = 0; apic < nr_ioapics; apic++) { for (apic = 0; apic < nr_ioapics; apic++) {
if (ioapics[apic].saved_registers) if (!ioapics[apic].saved_registers)
continue; continue;
for (pin = 0; pin < ioapics[apic].nr_registers; pin++) for (pin = 0; pin < ioapics[apic].nr_registers; pin++)

View File

@ -1363,7 +1363,7 @@ void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs,
* We must return the syscall number to actually look up in the table. * We must return the syscall number to actually look up in the table.
* This can be -1L to skip running any syscall at all. * This can be -1L to skip running any syscall at all.
*/ */
asmregparm long syscall_trace_enter(struct pt_regs *regs) long syscall_trace_enter(struct pt_regs *regs)
{ {
long ret = 0; long ret = 0;
@ -1408,7 +1408,7 @@ asmregparm long syscall_trace_enter(struct pt_regs *regs)
return ret ?: regs->orig_ax; return ret ?: regs->orig_ax;
} }
asmregparm void syscall_trace_leave(struct pt_regs *regs) void syscall_trace_leave(struct pt_regs *regs)
{ {
bool step; bool step;

View File

@ -14,10 +14,6 @@
#define asmlinkage CPP_ASMLINKAGE #define asmlinkage CPP_ASMLINKAGE
#endif #endif
#ifndef asmregparm
# define asmregparm
#endif
#define __page_aligned_data __section(.data..page_aligned) __aligned(PAGE_SIZE) #define __page_aligned_data __section(.data..page_aligned) __aligned(PAGE_SIZE)
#define __page_aligned_bss __section(.bss..page_aligned) __aligned(PAGE_SIZE) #define __page_aligned_bss __section(.bss..page_aligned) __aligned(PAGE_SIZE)