⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 irq.h

📁 最新版的BCC, bcc-src-1.0.29c.rar,基于sparc平台处理器leon2,leon3,v7,v8等系列的linux环境下交叉编译工具
💻 H
字号:
#ifndef _LEON_CATCHIRQ_HANDLER_H_#define _LEON_CATCHIRQ_HANDLER_H_#include <asm-leon/leon.h>#include <sys/fsu_pthread_queue.h>#include <asm-leon/leoncompat.h>#include <asm-leon/leonstack.h>struct pt_regs;typedef int (*irqhandler)(int, void *, struct leonbare_pt_regs *);struct irqaction  {	irqhandler handler;	unsigned long flags;	void *dev_id;	struct irqaction *next;};#define INIT_IRQACTION { 0,0,0,0 }extern void chained_catch_interrupt (int irq, struct irqaction *a );extern int catch_interrupt (int func, int irq);typedef int (*schedulehandler)(struct leonbare_pt_regs *);extern schedulehandler schedule_callback;typedef int (*tickerhandler)(struct leonbare_pt_regs *);extern tickerhandler ticker_callback;extern void leonbare_enable_traps(unsigned long old_flags); extern unsigned long leonbare_disable_traps();extern __inline__ void leonbare_enable_irq(int irq) {	unsigned int old, irqmask = 1 << irq;        old = leonbare_disable_traps();	//---------------------	switch (LEONCOMPAT_VERSION) {	case 2:	  LEON_REG.Interrupt_Mask = LEON_REG.Interrupt_Mask | irqmask;	  break;	case 3:	default:	  LEON3_IrqCtrl_Regs ->mask[0] = LEON3_IrqCtrl_Regs ->mask[0] | irqmask;	  break;	}	//---------------------        leonbare_enable_traps(old);}typedef int (*pendinghandler)(void *);struct pendingaction  {	TAILQ_ENTRY(pendingaction) next; 	pendinghandler handler;	void *arg;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -