forked from analogdevicesinc/linux
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'parisc-for-3.10' of git://git.kernel.org/pub/scm/linux/…
…kernel/git/deller/parisc-linux Pull parisc updates from Helge Deller: "Main fixes and updates in this patch series are: - we faced kernel stack corruptions because of multiple delivery of interrupts - added kernel stack overflow checks - added possibility to use dedicated stacks for irq processing - initial support for page sizes > 4k - more information in /proc/interrupts (e.g. TLB flushes and number of IPI calls) - documented how the parisc gateway page works - and of course quite some other smaller cleanups and fixes." * 'parisc-for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: tlb flush counting fix for SMP and UP parisc: more irq statistics in /proc/interrupts parisc: implement irq stacks parisc: add kernel stack overflow check parisc: only re-enable interrupts if we need to schedule or deliver signals when returning to userspace parisc: implement atomic64_dec_if_positive() parisc: use long branch in fork_like macro parisc: fix NATIVE set up in build parisc: document the parisc gateway page parisc: fix partly 16/64k PAGE_SIZE boot parisc: Provide default implementation for dma_{alloc, free}_attrs parisc: fix whitespace errors in arch/parisc/kernel/traps.c parisc: remove the second argument of kmap_atomic
- Loading branch information
Showing
21 changed files
with
348 additions
and
70 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,41 @@ | ||
/* hardirq.h: PA-RISC hard IRQ support. | ||
* | ||
* Copyright (C) 2001 Matthew Wilcox <[email protected]> | ||
* Copyright (C) 2013 Helge Deller <[email protected]> | ||
*/ | ||
|
||
#ifndef _PARISC_HARDIRQ_H | ||
#define _PARISC_HARDIRQ_H | ||
|
||
#include <asm-generic/hardirq.h> | ||
#include <linux/cache.h> | ||
#include <linux/threads.h> | ||
#include <linux/irq.h> | ||
|
||
typedef struct { | ||
unsigned int __softirq_pending; | ||
#ifdef CONFIG_DEBUG_STACKOVERFLOW | ||
unsigned int kernel_stack_usage; | ||
#endif | ||
#ifdef CONFIG_SMP | ||
unsigned int irq_resched_count; | ||
unsigned int irq_call_count; | ||
#endif | ||
unsigned int irq_tlb_count; | ||
} ____cacheline_aligned irq_cpustat_t; | ||
|
||
DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat); | ||
|
||
#define __ARCH_IRQ_STAT | ||
#define __IRQ_STAT(cpu, member) (irq_stat[cpu].member) | ||
#define inc_irq_stat(member) this_cpu_inc(irq_stat.member) | ||
#define local_softirq_pending() this_cpu_read(irq_stat.__softirq_pending) | ||
|
||
#define __ARCH_SET_SOFTIRQ_PENDING | ||
|
||
#define set_softirq_pending(x) \ | ||
this_cpu_write(irq_stat.__softirq_pending, (x)) | ||
#define or_softirq_pending(x) this_cpu_or(irq_stat.__softirq_pending, (x)) | ||
|
||
#define ack_bad_irq(irq) WARN(1, "unexpected IRQ trap at vector %02x\n", irq) | ||
|
||
#endif /* _PARISC_HARDIRQ_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.