Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/parisc/include/asm/hardirq.h
26298 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/* hardirq.h: PA-RISC hard IRQ support.
3
*
4
* Copyright (C) 2001 Matthew Wilcox <[email protected]>
5
* Copyright (C) 2013 Helge Deller <[email protected]>
6
*/
7
8
#ifndef _PARISC_HARDIRQ_H
9
#define _PARISC_HARDIRQ_H
10
11
#include <linux/cache.h>
12
#include <linux/threads.h>
13
#include <linux/irq.h>
14
15
typedef struct {
16
unsigned int __softirq_pending;
17
unsigned int kernel_stack_usage;
18
unsigned int irq_stack_usage;
19
#ifdef CONFIG_SMP
20
unsigned int irq_resched_count;
21
unsigned int irq_call_count;
22
#endif
23
unsigned int irq_unaligned_count;
24
unsigned int irq_fpassist_count;
25
unsigned int irq_tlb_count;
26
} ____cacheline_aligned irq_cpustat_t;
27
28
DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
29
30
#define __ARCH_IRQ_STAT
31
#define inc_irq_stat(member) this_cpu_inc(irq_stat.member)
32
#define __inc_irq_stat(member) __this_cpu_inc(irq_stat.member)
33
#define ack_bad_irq(irq) WARN(1, "unexpected IRQ trap at vector %02x\n", irq)
34
35
#endif /* _PARISC_HARDIRQ_H */
36
37