Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/microblaze/kernel/irq.c
26424 views
1
/*
2
* Copyright (C) 2007-2009 Michal Simek <[email protected]>
3
* Copyright (C) 2007-2009 PetaLogix
4
* Copyright (C) 2006 Atmark Techno, Inc.
5
*
6
* This file is subject to the terms and conditions of the GNU General Public
7
* License. See the file "COPYING" in the main directory of this archive
8
* for more details.
9
*/
10
11
#include <linux/init.h>
12
#include <linux/ftrace.h>
13
#include <linux/kernel.h>
14
#include <linux/hardirq.h>
15
#include <linux/interrupt.h>
16
#include <linux/irqflags.h>
17
#include <linux/seq_file.h>
18
#include <linux/kernel_stat.h>
19
#include <linux/irq.h>
20
#include <linux/irqchip.h>
21
#include <linux/of_irq.h>
22
23
void __irq_entry do_IRQ(struct pt_regs *regs)
24
{
25
struct pt_regs *old_regs = set_irq_regs(regs);
26
trace_hardirqs_off();
27
28
irq_enter();
29
handle_arch_irq(regs);
30
irq_exit();
31
set_irq_regs(old_regs);
32
trace_hardirqs_on();
33
}
34
35
void __init init_IRQ(void)
36
{
37
/* process the entire interrupt tree in one go */
38
irqchip_init();
39
}
40
41