提交 988c7f2d 编写于 作者: L Linus Torvalds

Merge branch 'x86-urgent-for-linus' of...

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
...@@ -29,10 +29,10 @@ config X86_64 ...@@ -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
......
...@@ -8,11 +8,6 @@ ...@@ -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
......
...@@ -676,7 +676,7 @@ void mask_ioapic_entries(void) ...@@ -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) ...@@ -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++)
......
...@@ -1363,7 +1363,7 @@ void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs, ...@@ -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) ...@@ -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;
......
...@@ -14,10 +14,6 @@ ...@@ -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)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册