Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq cleanups from Ingo Molnar: "This is a multi-arch cleanup series from Thomas Gleixner, which we kept to near the end of the merge window, to not interfere with architecture updates. This series (motivated by the -rt kernel) unifies more aspects of IRQ handling and generalizes PREEMPT_ACTIVE" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: preempt: Make PREEMPT_ACTIVE generic sparc: Use preempt_schedule_irq ia64: Use preempt_schedule_irq m32r: Use preempt_schedule_irq hardirq: Make hardirq bits generic m68k: Simplify low level interrupt handling code genirq: Prevent spurious detection for unconditionally polled interrupts
This commit is contained in:
@@ -3,22 +3,6 @@
|
||||
#define __ASM_HARDIRQ_H
|
||||
|
||||
#include <asm/irq.h>
|
||||
|
||||
#if NR_IRQS > 256
|
||||
#define HARDIRQ_BITS 9
|
||||
#else
|
||||
#define HARDIRQ_BITS 8
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The hardirq mask has to be large enough to have
|
||||
* space for potentially all IRQ sources in the system
|
||||
* nesting on a single CPU:
|
||||
*/
|
||||
#if (1 << HARDIRQ_BITS) < NR_IRQS
|
||||
# error HARDIRQ_BITS is too low!
|
||||
#endif
|
||||
|
||||
#include <asm-generic/hardirq.h>
|
||||
|
||||
#endif /* __ASM_HARDIRQ_H */
|
||||
|
@@ -53,8 +53,6 @@ struct thread_info {
|
||||
|
||||
#endif
|
||||
|
||||
#define PREEMPT_ACTIVE 0x10000000
|
||||
|
||||
#define THREAD_SIZE (PAGE_SIZE << 1)
|
||||
#define THREAD_SIZE_ORDER 1
|
||||
/*
|
||||
|
@@ -182,13 +182,7 @@ need_resched:
|
||||
ld r4, PSW(sp) ; interrupts off (exception path) ?
|
||||
and3 r4, r4, #0x4000
|
||||
beqz r4, restore_all
|
||||
LDIMM (r4, PREEMPT_ACTIVE)
|
||||
st r4, @(TI_PRE_COUNT, r8)
|
||||
ENABLE_INTERRUPTS(r4)
|
||||
bl schedule
|
||||
ldi r4, #0
|
||||
st r4, @(TI_PRE_COUNT, r8)
|
||||
DISABLE_INTERRUPTS(r4)
|
||||
bl preempt_schedule_irq
|
||||
bra need_resched
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user