cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

irq.h (1298B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2#ifdef __KERNEL__
      3#ifndef _ASM_POWERPC_IRQ_H
      4#define _ASM_POWERPC_IRQ_H
      5
      6/*
      7 */
      8
      9#include <linux/threads.h>
     10#include <linux/list.h>
     11#include <linux/radix-tree.h>
     12
     13#include <asm/types.h>
     14#include <linux/atomic.h>
     15
     16
     17extern atomic_t ppc_n_lost_interrupts;
     18
     19/* This number is used when no interrupt has been assigned */
     20#define NO_IRQ			(0)
     21
     22/* Total number of virq in the platform */
     23#define NR_IRQS		CONFIG_NR_IRQS
     24
     25/* Number of irqs reserved for a legacy isa controller */
     26#define NR_IRQS_LEGACY		16
     27
     28extern irq_hw_number_t virq_to_hw(unsigned int virq);
     29
     30static __inline__ int irq_canonicalize(int irq)
     31{
     32	return irq;
     33}
     34
     35extern int distribute_irqs;
     36
     37struct pt_regs;
     38
     39#ifdef CONFIG_BOOKE_OR_40x
     40/*
     41 * Per-cpu stacks for handling critical, debug and machine check
     42 * level interrupts.
     43 */
     44extern void *critirq_ctx[NR_CPUS];
     45extern void *dbgirq_ctx[NR_CPUS];
     46extern void *mcheckirq_ctx[NR_CPUS];
     47#endif
     48
     49/*
     50 * Per-cpu stacks for handling hard and soft interrupts.
     51 */
     52extern void *hardirq_ctx[NR_CPUS];
     53extern void *softirq_ctx[NR_CPUS];
     54
     55void __do_IRQ(struct pt_regs *regs);
     56extern void __init init_IRQ(void);
     57extern void __do_irq(struct pt_regs *regs);
     58
     59int irq_choose_cpu(const struct cpumask *mask);
     60
     61#endif /* _ASM_IRQ_H */
     62#endif /* __KERNEL__ */