Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/loongarch/include/asm/hardirq.h
26488 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/*
3
* Copyright (C) 2020-2022 Loongson Technology Corporation Limited
4
*/
5
#ifndef _ASM_HARDIRQ_H
6
#define _ASM_HARDIRQ_H
7
8
#include <linux/cache.h>
9
#include <linux/threads.h>
10
#include <linux/irq.h>
11
12
extern void ack_bad_irq(unsigned int irq);
13
#define ack_bad_irq ack_bad_irq
14
15
#define NR_IPI 4
16
17
enum ipi_msg_type {
18
IPI_RESCHEDULE,
19
IPI_CALL_FUNCTION,
20
IPI_IRQ_WORK,
21
IPI_CLEAR_VECTOR,
22
};
23
24
typedef struct {
25
unsigned int ipi_irqs[NR_IPI];
26
unsigned int __softirq_pending;
27
atomic_t message ____cacheline_aligned_in_smp;
28
} ____cacheline_aligned irq_cpustat_t;
29
30
DECLARE_PER_CPU_SHARED_ALIGNED(irq_cpustat_t, irq_stat);
31
32
#define __ARCH_IRQ_STAT
33
34
#endif /* _ASM_HARDIRQ_H */
35
36