URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Go to most recent revision |
Details |
Compare with Previous |
View Log
Line No. |
Rev |
Author |
Line |
1 |
1276 |
phoenix |
/*
|
2 |
|
|
* Copyright (C) 1999 Cort Dougan <cort@cs.nmt.edu>
|
3 |
|
|
*/
|
4 |
|
|
#ifdef __KERNEL__
|
5 |
|
|
#ifndef _PPC_HW_IRQ_H
|
6 |
|
|
#define _PPC_HW_IRQ_H
|
7 |
|
|
|
8 |
|
|
extern unsigned long timer_interrupt_intercept;
|
9 |
|
|
extern unsigned long do_IRQ_intercept;
|
10 |
|
|
extern int timer_interrupt(struct pt_regs *);
|
11 |
|
|
extern void ppc_irq_dispatch_handler(struct pt_regs *regs, int irq);
|
12 |
|
|
|
13 |
|
|
extern void __sti(void);
|
14 |
|
|
extern void __cli(void);
|
15 |
|
|
extern void __restore_flags(unsigned long);
|
16 |
|
|
extern void __save_flags_ptr(unsigned long *);
|
17 |
|
|
extern unsigned long __sti_end, __cli_end, __restore_flags_end, __save_flags_ptr_end;
|
18 |
|
|
|
19 |
|
|
#define __save_flags(flags) __save_flags_ptr((unsigned long *)&flags)
|
20 |
|
|
#define __save_and_cli(flags) ({__save_flags(flags);__cli();})
|
21 |
|
|
#define __save_and_sti(flags) ({__save_flags(flags);__sti();})
|
22 |
|
|
|
23 |
|
|
extern void do_lost_interrupts(unsigned long);
|
24 |
|
|
|
25 |
|
|
#define mask_irq(irq) ({if (irq_desc[irq].handler && irq_desc[irq].handler->disable) irq_desc[irq].handler->disable(irq);})
|
26 |
|
|
#define unmask_irq(irq) ({if (irq_desc[irq].handler && irq_desc[irq].handler->enable) irq_desc[irq].handler->enable(irq);})
|
27 |
|
|
#define ack_irq(irq) ({if (irq_desc[irq].handler && irq_desc[irq].handler->ack) irq_desc[irq].handler->ack(irq);})
|
28 |
|
|
|
29 |
|
|
/* Should we handle this via lost interrupts and IPIs or should we don't care like
|
30 |
|
|
* we do now ? --BenH.
|
31 |
|
|
*/
|
32 |
|
|
struct hw_interrupt_type;
|
33 |
|
|
static inline void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i) {}
|
34 |
|
|
|
35 |
|
|
|
36 |
|
|
#endif /* _PPC_HW_IRQ_H */
|
37 |
|
|
#endif /* __KERNEL__ */
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.