cregit-Linux how code gets into the kernel

Release 4.14 arch/microblaze/kernel/irq.c

/*
 * Copyright (C) 2007-2009 Michal Simek <monstr@monstr.eu>
 * Copyright (C) 2007-2009 PetaLogix
 * Copyright (C) 2006 Atmark Techno, Inc.
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License. See the file "COPYING" in the main directory of this archive
 * for more details.
 */

#include <linux/init.h>
#include <linux/ftrace.h>
#include <linux/kernel.h>
#include <linux/hardirq.h>
#include <linux/interrupt.h>
#include <linux/irqflags.h>
#include <linux/seq_file.h>
#include <linux/kernel_stat.h>
#include <linux/irq.h>
#include <linux/irqchip.h>
#include <linux/of_irq.h>


static u32 concurrent_irq;


void __irq_entry do_IRQ(struct pt_regs *regs) { unsigned int irq; struct pt_regs *old_regs = set_irq_regs(regs); trace_hardirqs_off(); irq_enter(); irq = xintc_get_irq(); next_irq: BUG_ON(!irq); generic_handle_irq(irq); irq = xintc_get_irq(); if (irq != -1U) { pr_debug("next irq: %d\n", irq); ++concurrent_irq; goto next_irq; } irq_exit(); set_irq_regs(old_regs); trace_hardirqs_on(); }

Contributors

PersonTokensPropCommitsCommitProp
Michal Simek7990.80%350.00%
Grant C. Likely55.75%116.67%
Zubair Lutfullah Kakakhel22.30%116.67%
Steven J. Magnani11.15%116.67%
Total87100.00%6100.00%


void __init init_IRQ(void) { /* process the entire interrupt tree in one go */ irqchip_init(); }

Contributors

PersonTokensPropCommitsCommitProp
Michal Simek12100.00%1100.00%
Total12100.00%1100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Michal Simek12591.24%450.00%
Grant C. Likely64.38%225.00%
Steven J. Magnani42.92%112.50%
Zubair Lutfullah Kakakhel21.46%112.50%
Total137100.00%8100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.