亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? irq.c

?? samsung 9908DVD源代碼,
?? C
字號:
/**********************************************************************************
 * IRQ.c                                                                         
 * hspark@pplab.ce.cnu.ac.kr
 * 
 **********************************************************************************/

#include "kernel\\mk_sys.h"
#include "CalmRISC16\\CalmRISC16.h"
#include "CalmRISC16\\irq.h"
#include "kernel\\mk_task.h"

MK_voidFuncVoid MK_INTFunc[32];
extern VOID MK_TimeTick(INT id);
extern INT MK_ContextSwitchDisable(VOID);
extern VOID MK_ContextSwitchRestore(INT ContextSwitchFlags);
extern void 	IO_WData32(unsigned char *addr,unsigned int high,unsigned int low);
extern void    IO_WData32_EX(unsigned char *addr,unsigned int high,unsigned int low);
extern unsigned long IO_RData32_EX(unsigned char *addr);
extern VOID WRITE32SETMASK ( unsigned char *ui8Addr, unsigned long ui32Val );
extern VOID WRITE32CLRMASK ( unsigned char *ui8Addr, unsigned long ui32Val );

//#define _LISR_MONITOR	
#ifdef _LISR_MONITOR
unsigned long	*pLisr_Ptr;
unsigned long	gLisrStartPointer = 0x273e20;
int	gLisrBufNo, gLisrOffset;
void	ScrTimeChkStart(unsigned long *timer);
#endif

VOID
MK_DefaultINTFunc(INT argc)
{
#if MK_DEBUG_PRINT
	// MK_InfoPrintf(MK_TASK_WARNING, "INT-0x%x\n", argc);
#endif
}

VOID
MK_InterruptInitialize(VOID)
{
	INT vector;

	//IMR0L = 0x0;

	IO_WData32_EX((unsigned char *)&rINTMOD_H, 0, 0);  //IRQ肺 竅絆 
	IO_WData32_EX((unsigned char *)&rINTMASK_H, 0, 0); //老竄籃 傈何 MASK 矯挪促 .
	
	for(vector=0; vector<32; vector++)
	{
		MK_INTFunc[vector] = MK_DefaultINTFunc;
	}
}

INT
MK_IRQInstall(INT Num, MK_voidFuncVoid Func)
{
	unsigned long temp1,temp2;

	if(Num < 0 || Num >= 32)
	{
#if MK_DEBUG_PRINT
		MK_KernelInfoPrintf((MK_TASK_WARNING, "MK_IRQInstall() - Wrong Vector! %x\n", Num));
#endif
		return MK_ERROR;
	}

	temp1 = (~((unsigned long)1<<(Num)));

	//rINTMOD &= (~((unsigned int)1<<(Num)));		/* 0 = IRQ	*/

	IO_WData32_EX((unsigned char *)&rINTMOD_H,0,0);
	
	//R0L |= (1<<(Num));
	MK_INTFunc[Num] = Func;
	
	return MK_NO_ERROR;
}
 
INT
MK_FIQInstall(INT Num, MK_voidFuncVoid Func)
{
	if(Num < 0 || Num >= 32)
	{
#if MK_DEBUG_PRINT	
		MK_KernelInfoPrintf((MK_TASK_WARNING, "MK_FIQInstall() - Wrong Vector! %x\n", Num));
#endif		
		return MK_ERROR;
	}
	
	IMR0L |= (1<<(Num));
	MK_INTFunc[Num] = Func;
	
	return MK_NO_ERROR;
}

// #pragma function=beforeaddr 0x10000 
VOID MK_ServiceIRQ(VOID)
{
	// INT vector;
	unsigned long temp, temp2,temp3,temp4,temp5,temp6,temp7;
	unsigned int phk1,phk2;
	INT flags;
	MK_voidFuncVoid Func;

	temp = IO_RData32_EX((unsigned char *)&rINTOFFSET_H);

	/* 2004/03/26, HeeSang Park - Move to MK_TimeTick() */
	if ( temp == INT_TIMERC )
	{
		phk1 = rTCCON_H & 0xffff;
		phk2 = rTCCON_L & 0xffff;	/* Clear Interrupt Source Status */
		IO_WData32_EX((unsigned char *)&rTCCON_H, phk1, phk2);
		IO_WData32_EX((unsigned char *)&rTCCON_H, 5, 0x1000);//timer c pending bit clear 
	}
#if 0
	if (temp != INT_TIMERC && temp != INT_FIU && temp != INT_TIMERD && temp != INT_NTSC )
	{
		MK_Printf ( "\nINT[%ld]",
							temp );
	}
#endif	
	temp6 =~((unsigned long)1<<(temp));
       temp5 =IO_RData32_EX((unsigned char *)&rINTMASK_H);

	temp7 =   temp5 & temp6;

	IO_WData32_EX((unsigned char *)&rINTMASK_H,(unsigned int)(temp7>>16), (unsigned int)temp7);

	Func = MK_INTFunc[temp];
	
	flags = MK_ContextSwitchDisable();
#ifdef _LISR_MONITOR
	{
		unsigned long start, end;

		ScrTimeChkStart(&start);
		(*Func)(temp);
		ScrTimeChkStart(&end);

#if 0
		gLisrOffset++;
		if ( gLisrOffset >= 10000 )
			gLisrOffset = 0;			
#endif		
		gLisrOffset = (gLisrOffset+1)%1000;
#if 1
		pLisr_Ptr = (unsigned long*)(gLisrStartPointer + gLisrOffset*4);
		*pLisr_Ptr = temp;
		*(pLisr_Ptr+1)=start;
		*(pLisr_Ptr+2)=end;
		*(pLisr_Ptr+3)=end-start;
#endif		
	}
#else
	(*Func)(temp);
#endif
	MK_ContextSwitchRestore(flags);

	

		temp2 = ((unsigned long)1<<(temp));

		temp3 =IO_RData32_EX((unsigned char *)&rINTPND_H);
		temp4 = temp3 | temp2; 
	    IO_WData32_EX((unsigned char *)&rSRCPND_H,(unsigned int)(temp2>>16), (unsigned int) temp2);
		//rSRCPND = ((unsigned int)1<<(temp));			/* 1 = Source Pending clear	*/
		
		//rINTPND |= ((unsigned int)1<<(temp));			/* 1 = Pending clear */
	    IO_WData32_EX((unsigned char *)&rINTPND_H,(unsigned int)(temp4>>16), (unsigned int) temp4);
		
		temp6 =((unsigned long)1<<(temp));
       temp5 =IO_RData32_EX((unsigned char *)&rINTMASK_H);

	temp7 =   temp5 | temp6;

	IO_WData32_EX((unsigned char *)&rINTMASK_H,(unsigned int)(temp7>>16), (unsigned int)temp7);
	
	
}

VOID MK_ServiceFIQ(VOID)
{
	INT vector;
	INT flags;
	MK_voidFuncVoid Func;

	vector = IIR/2;
	Func = MK_INTFunc[vector];
	
	flags = MK_ContextSwitchDisable();
	(*Func)(vector);
	MK_ContextSwitchRestore(flags);
}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产另类av| 天使萌一区二区三区免费观看| 日韩欧美电影一区| 欧美另类z0zxhd电影| 欧美日本一道本| 欧美日韩色综合| 欧美高清精品3d| 日韩一区二区三区在线观看| 日韩午夜精品电影| 精品国产乱子伦一区| 久久亚洲精品国产精品紫薇| 国产精品丝袜久久久久久app| 国产网站一区二区| 中文字幕一区三区| 性做久久久久久免费观看| 日韩成人一区二区| 国产成人综合视频| jiyouzz国产精品久久| 欧洲生活片亚洲生活在线观看| 欧美中文一区二区三区| 日韩精品一区二区三区中文不卡 | 韩国av一区二区三区在线观看| 国产综合色产在线精品 | 亚洲影视在线播放| 日韩av一二三| 成人精品高清在线| 欧美日韩国产a| 久久精品一区二区三区不卡 | 欧美不卡一二三| 国产精品网曝门| 亚洲第一福利视频在线| 国产美女视频91| 日本韩国欧美在线| 精品国产乱码久久久久久图片| 亚洲欧洲精品成人久久奇米网| 亚洲国产精品久久久久秋霞影院| 国产中文字幕一区| 欧美日韩在线观看一区二区| 日本一二三不卡| 无吗不卡中文字幕| 成人动漫在线一区| 日韩欧美精品三级| 一级特黄大欧美久久久| 国产成人亚洲精品青草天美| 欧美日韩国产美| 国产精品免费久久久久| 日本不卡视频在线| 欧美午夜在线观看| 国产精品久久久久久福利一牛影视| 日韩精品欧美精品| 色综合久久天天| 国产精品丝袜一区| 国产精品一级片在线观看| 欧美片网站yy| 亚洲永久精品大片| 色狠狠一区二区| 国产精品灌醉下药二区| 国产又粗又猛又爽又黄91精品| 欧美天天综合网| 亚洲欧美日本在线| jiyouzz国产精品久久| 久久久三级国产网站| 狠狠色伊人亚洲综合成人| 欧美一区二区视频免费观看| 亚洲图片欧美色图| 色综合天天综合色综合av| 日本一区二区三区dvd视频在线| 美女视频一区二区| 欧美美女bb生活片| 婷婷六月综合网| 欧美一区二区视频网站| 日本美女一区二区| 日韩欧美国产综合一区| 日本视频一区二区| 日韩欧美中文一区二区| 毛片一区二区三区| 国产精品入口麻豆九色| 国产一区二区精品在线观看| 久久久久久久久久久久久女国产乱| 久久97超碰国产精品超碰| 欧美成人官网二区| 国产成人免费在线观看| 欧美经典一区二区| 色中色一区二区| 亚洲国产毛片aaaaa无费看 | 国产一区二区毛片| 国产三级精品三级在线专区| 99国产精品一区| 亚洲午夜久久久久久久久久久| 欧美色电影在线| 美女mm1313爽爽久久久蜜臀| 国产亚洲精品精华液| av亚洲精华国产精华| 亚洲综合视频在线观看| 欧美一区二区在线视频| 国产精品夜夜爽| 亚洲精品亚洲人成人网| 欧美二区三区的天堂| 久久精品久久99精品久久| 国产午夜精品美女毛片视频| 在线观看欧美日本| 久久激情五月婷婷| 国产精品福利影院| 欧美一区二区久久久| 国产精品99久久久久久久女警 | 粗大黑人巨茎大战欧美成人| 亚洲欧美成人一区二区三区| 91精品久久久久久久91蜜桃| 国产成人精品影视| 首页欧美精品中文字幕| 国产女人aaa级久久久级| 欧美日韩国产精选| 高清日韩电视剧大全免费| 一区二区三区久久久| 国产视频一区在线观看| 欧美日韩一区二区三区在线看| 狠狠色丁香婷婷综合| 亚洲国产精品一区二区尤物区| 久久久久久久久伊人| 欧美日韩国产欧美日美国产精品| 国产不卡视频一区| 免费人成网站在线观看欧美高清| 亚洲视频中文字幕| 久久免费美女视频| 欧美一区二区三级| 91在线无精精品入口| 国产乱码字幕精品高清av| 午夜欧美电影在线观看| 亚洲色大成网站www久久九九| 久久无码av三级| 欧美一级日韩不卡播放免费| 欧美午夜精品一区二区蜜桃| 成人午夜av影视| 国产99久久久国产精品免费看 | 亚洲最大色网站| 国产精品国产三级国产| 精品国产区一区| 91精品在线麻豆| 精品视频一区二区不卡| 91福利社在线观看| 日本电影亚洲天堂一区| 97久久精品人人做人人爽50路| 国产综合一区二区| 国产在线精品不卡| 国产一区二区在线视频| 久久91精品久久久久久秒播| 久久精品国产一区二区| 日本aⅴ免费视频一区二区三区| 亚洲6080在线| 亚洲第一综合色| 性做久久久久久| 日韩电影在线观看一区| 成+人+亚洲+综合天堂| 处破女av一区二区| gogo大胆日本视频一区| 91视频免费看| 欧美中文字幕一区| 欧美日韩精品一区二区天天拍小说| 欧美专区日韩专区| 制服丝袜亚洲色图| 欧美成人精品1314www| 久久在线观看免费| 中文字幕制服丝袜成人av | 日韩成人免费看| 久久99在线观看| 国产电影一区在线| a美女胸又www黄视频久久| 91亚洲精华国产精华精华液| 色综合欧美在线| 制服丝袜中文字幕一区| 国产三级精品在线| 亚洲色图制服诱惑| 日日欢夜夜爽一区| 韩国视频一区二区| 91免费版在线| 69堂亚洲精品首页| 久久久一区二区| 亚洲午夜免费福利视频| 精品一区二区三区久久| av电影在线观看一区| 欧美理论在线播放| 国产女主播在线一区二区| 亚洲一二三区不卡| 国产在线播放一区三区四| 91女神在线视频| 久久网站最新地址| 亚洲综合色在线| 国产九色精品成人porny | 日韩制服丝袜先锋影音| 国产成人欧美日韩在线电影| 在线观看国产日韩| 国产校园另类小说区| 亚洲国产精品久久人人爱| 国产福利一区在线观看| 欧美探花视频资源| 国产欧美一区二区精品久导航| 亚洲成人免费在线| 成人免费视频播放| 久久亚洲综合色一区二区三区 | 国产精品久久久久久福利一牛影视 |