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

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

?? irq.h

?? LINUX1.0源代碼,代碼條理清晰
?? H
字號:
#ifndef _ASM_IRQ_H
#define _ASM_IRQ_H

/*
 *	linux/include/asm/irq.h
 *
 *	(C) 1992, 1993 Linus Torvalds
 */

#include <linux/segment.h>
#include <linux/linkage.h>

extern void disable_irq(unsigned int);
extern void enable_irq(unsigned int);

#define __STR(x) #x
#define STR(x) __STR(x)
 
#define SAVE_ALL \
	"cld\n\t" \
	"push %gs\n\t" \
	"push %fs\n\t" \
	"push %es\n\t" \
	"push %ds\n\t" \
	"pushl %eax\n\t" \
	"pushl %ebp\n\t" \
	"pushl %edi\n\t" \
	"pushl %esi\n\t" \
	"pushl %edx\n\t" \
	"pushl %ecx\n\t" \
	"pushl %ebx\n\t" \
	"movl $" STR(KERNEL_DS) ",%edx\n\t" \
	"mov %dx,%ds\n\t" \
	"mov %dx,%es\n\t" \
	"movl $" STR(USER_DS) ",%edx\n\t" \
	"mov %dx,%fs\n\t"   \
	"movl $0,%edx\n\t"  \
	"movl %edx,%db7\n\t"

/*
 * SAVE_MOST/RESTORE_MOST is used for the faster version of IRQ handlers,
 * installed by using the SA_INTERRUPT flag. These kinds of IRQ's don't
 * call the routines that do signal handling etc on return, and can have
 * more relaxed register-saving etc. They are also atomic, and are thus
 * suited for small, fast interrupts like the serial lines or the harddisk
 * drivers, which don't actually need signal handling etc.
 *
 * Also note that we actually save only those registers that are used in
 * C subroutines (%eax, %edx and %ecx), so if you do something weird,
 * you're on your own. The only segments that are saved (not counting the
 * automatic stack and code segment handling) are %ds and %es, and they
 * point to kernel space. No messing around with %fs here.
 */
#define SAVE_MOST \
	"cld\n\t" \
	"push %es\n\t" \
	"push %ds\n\t" \
	"pushl %eax\n\t" \
	"pushl %edx\n\t" \
	"pushl %ecx\n\t" \
	"movl $" STR(KERNEL_DS) ",%edx\n\t" \
	"mov %dx,%ds\n\t" \
	"mov %dx,%es\n\t"

#define RESTORE_MOST \
	"popl %ecx\n\t" \
	"popl %edx\n\t" \
	"popl %eax\n\t" \
	"pop %ds\n\t" \
	"pop %es\n\t" \
	"iret"

/*
 * The "inb" instructions are not needed, but seem to change the timings
 * a bit - without them it seems that the harddisk driver won't work on
 * all hardware. Arghh.
 */
#define ACK_FIRST(mask) \
	"inb $0x21,%al\n\t" \
	"jmp 1f\n" \
	"1:\tjmp 1f\n" \
	"1:\torb $" #mask ",_cache_21\n\t" \
	"movb _cache_21,%al\n\t" \
	"outb %al,$0x21\n\t" \
	"jmp 1f\n" \
	"1:\tjmp 1f\n" \
	"1:\tmovb $0x20,%al\n\t" \
	"outb %al,$0x20\n\t"

#define ACK_SECOND(mask) \
	"inb $0xA1,%al\n\t" \
	"jmp 1f\n" \
	"1:\tjmp 1f\n" \
	"1:\torb $" #mask ",_cache_A1\n\t" \
	"movb _cache_A1,%al\n\t" \
	"outb %al,$0xA1\n\t" \
	"jmp 1f\n" \
	"1:\tjmp 1f\n" \
	"1:\tmovb $0x20,%al\n\t" \
	"outb %al,$0xA0\n\t" \
	"jmp 1f\n" \
	"1:\tjmp 1f\n" \
	"1:\toutb %al,$0x20\n\t"

#define UNBLK_FIRST(mask) \
	"inb $0x21,%al\n\t" \
	"jmp 1f\n" \
	"1:\tjmp 1f\n" \
	"1:\tandb $~(" #mask "),_cache_21\n\t" \
	"movb _cache_21,%al\n\t" \
	"outb %al,$0x21\n\t"

#define UNBLK_SECOND(mask) \
	"inb $0xA1,%al\n\t" \
	"jmp 1f\n" \
	"1:\tjmp 1f\n" \
	"1:\tandb $~(" #mask "),_cache_A1\n\t" \
	"movb _cache_A1,%al\n\t" \
	"outb %al,$0xA1\n\t"

#define IRQ_NAME2(nr) nr##_interrupt(void)
#define IRQ_NAME(nr) IRQ_NAME2(IRQ##nr)
#define FAST_IRQ_NAME(nr) IRQ_NAME2(fast_IRQ##nr)
#define BAD_IRQ_NAME(nr) IRQ_NAME2(bad_IRQ##nr)
	
#define BUILD_IRQ(chip,nr,mask) \
asmlinkage void IRQ_NAME(nr); \
asmlinkage void FAST_IRQ_NAME(nr); \
asmlinkage void BAD_IRQ_NAME(nr); \
__asm__( \
"\n.align 4\n" \
"_IRQ" #nr "_interrupt:\n\t" \
	"pushl $-"#nr"-2\n\t" \
	SAVE_ALL \
	ACK_##chip(mask) \
	"incl _intr_count\n\t"\
	"sti\n\t" \
	"movl %esp,%ebx\n\t" \
	"pushl %ebx\n\t" \
	"pushl $" #nr "\n\t" \
	"call _do_IRQ\n\t" \
	"addl $8,%esp\n\t" \
	"cli\n\t" \
	UNBLK_##chip(mask) \
	"decl _intr_count\n\t" \
	"jmp ret_from_sys_call\n" \
"\n.align 4\n" \
"_fast_IRQ" #nr "_interrupt:\n\t" \
	SAVE_MOST \
	ACK_##chip(mask) \
	"incl _intr_count\n\t" \
	"pushl $" #nr "\n\t" \
	"call _do_fast_IRQ\n\t" \
	"addl $4,%esp\n\t" \
	"cli\n\t" \
	UNBLK_##chip(mask) \
	"decl _intr_count\n\t" \
	RESTORE_MOST \
"\n\n.align 4\n" \
"_bad_IRQ" #nr "_interrupt:\n\t" \
	SAVE_MOST \
	ACK_##chip(mask) \
	RESTORE_MOST);

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区中文字幕精品精品| 亚洲欧美日韩国产成人精品影院 | 国产精品自产自拍| 老司机精品视频在线| 亚洲成av人片观看| 无吗不卡中文字幕| 日韩和欧美一区二区| 日韩av网站免费在线| 国内精品免费在线观看| 丁香网亚洲国际| 91在线视频18| 欧美日精品一区视频| 91精品国产全国免费观看 | 久久久亚洲精品石原莉奈| 久久久高清一区二区三区| 国产精品欧美极品| 亚洲国产三级在线| 美女一区二区视频| 不卡免费追剧大全电视剧网站| 91在线观看高清| 日韩一区二区三区视频| 亚洲国产精品激情在线观看| 亚洲人精品午夜| 视频一区国产视频| 国产精品中文字幕日韩精品| 99久久精品情趣| 7777精品伊人久久久大香线蕉经典版下载| 欧美一区二区三区婷婷月色| 欧美激情中文字幕一区二区| 一区二区高清免费观看影视大全| 奇米精品一区二区三区四区| 国产99久久久国产精品免费看| 91免费观看视频| 精品国产亚洲在线| 亚洲精品成a人| 国产精品一线二线三线精华| 欧美中文字幕亚洲一区二区va在线 | 午夜精品在线看| 国产激情偷乱视频一区二区三区| 在线看日韩精品电影| 久久影院午夜片一区| 亚洲一区二区三区美女| 国产精品88av| 日韩欧美在线123| 亚洲欧美另类图片小说| 国产精品99久久久久久似苏梦涵 | 亚洲第四色夜色| 成人中文字幕在线| 2023国产精华国产精品| 天天av天天翘天天综合网| 成人性视频免费网站| 精品国产一区二区亚洲人成毛片 | 激情五月播播久久久精品| 在线日韩av片| 亚洲美女精品一区| 成人免费看片app下载| 精品91自产拍在线观看一区| 视频在线观看91| 欧美婷婷六月丁香综合色| 中文字幕在线一区二区三区| 久久www免费人成看片高清| 欧美私人免费视频| 一区二区三区加勒比av| www.日本不卡| 亚洲色欲色欲www| 99精品久久只有精品| 国产精品久久久久久久久免费樱桃 | 91久久精品一区二区二区| 一区二区中文字幕在线| 成人毛片视频在线观看| 中文字幕免费一区| 国产mv日韩mv欧美| 亚洲欧美自拍偷拍色图| 成人免费视频一区| 国产精品久久久久影院亚瑟 | 国产欧美精品在线观看| 国产一区 二区 三区一级| 久久网站热最新地址| 国产在线精品一区二区夜色| 久久综合色一综合色88| 国产成人激情av| 中文字幕av在线一区二区三区| 顶级嫩模精品视频在线看| 中文字幕视频一区| 欧美怡红院视频| 免费成人在线视频观看| wwww国产精品欧美| 成人高清免费观看| 亚洲黄色片在线观看| 欧美男男青年gay1069videost| 午夜精品影院在线观看| 日韩精品一区二区三区中文不卡| 国产又黄又大久久| 亚洲欧洲中文日韩久久av乱码| 欧洲视频一区二区| 久久99热这里只有精品| 国产日韩欧美不卡| 日本高清不卡aⅴ免费网站| 天堂va蜜桃一区二区三区| 精品国产成人在线影院 | 欧美丝袜丝nylons| 美女网站视频久久| 国产精品视频一二| 777奇米四色成人影色区| 国产精品影视网| 亚洲成人综合网站| 国产日韩欧美在线一区| 欧美日韩性生活| 成人在线一区二区三区| 天堂精品中文字幕在线| 国产精品丝袜久久久久久app| 欧美片在线播放| 成人av网站大全| 日韩avvvv在线播放| 国产精品久久夜| 1024成人网| 成人h动漫精品一区二| 亚洲黄色av一区| 久久久亚洲国产美女国产盗摄| 色婷婷av一区二区三区大白胸| 美女网站视频久久| 亚洲午夜私人影院| 国产精品灌醉下药二区| 日韩精品一区二区三区四区视频| 色综合久久久久综合| 国产91丝袜在线18| 麻豆成人免费电影| 午夜激情一区二区| 亚洲黄色性网站| 一区在线播放视频| 欧美国产乱子伦| 久久久亚洲精品一区二区三区 | 伊人色综合久久天天人手人婷| 国产亚洲精久久久久久| 在线不卡免费av| 在线观看网站黄不卡| 99re热这里只有精品免费视频 | 亚洲男人的天堂在线观看| 国产日产欧美一区| 久久久久久影视| 久久久久88色偷偷免费| 亚洲精品一区二区三区影院| 日韩视频在线永久播放| 欧美久久久久久蜜桃| 欧美日韩激情一区二区三区| 99久久精品免费观看| 99精品视频一区二区| 91丨九色丨尤物| 91在线视频网址| 欧美性生活大片视频| 欧美中文字幕一区| 欧美日本一区二区| 日韩一区二区免费高清| 日韩一级在线观看| 久久综合色婷婷| 中文字幕第一页久久| 亚洲人成网站色在线观看| 国产精品灌醉下药二区| 伊人性伊人情综合网| 偷拍与自拍一区| 久久精品99久久久| 国产激情视频一区二区在线观看| 成人综合婷婷国产精品久久免费| 国产·精品毛片| 色综合一个色综合亚洲| 欧美自拍偷拍午夜视频| 91精品国产综合久久久久| 久久午夜电影网| 亚洲视频一二三| 亚洲v中文字幕| 国产在线精品一区二区| 99国内精品久久| 欧美精品在线观看一区二区| 欧美成人性福生活免费看| 中文在线资源观看网站视频免费不卡| 亚洲国产成人一区二区三区| 亚洲一二三区不卡| 国内一区二区视频| 色婷婷精品大视频在线蜜桃视频| 在线不卡中文字幕| 中文字幕乱码亚洲精品一区| 一级特黄大欧美久久久| 日本欧美加勒比视频| av欧美精品.com| 日韩一区二区三区免费观看| 国产日韩精品视频一区| 午夜成人免费视频| 高清beeg欧美| 日韩一区二区三区在线观看| 综合色中文字幕| 久久精品久久精品| 欧美优质美女网站| 国产精品天干天干在线综合| 日韩国产欧美视频| 91视频国产资源| 国产亚洲污的网站| 男男视频亚洲欧美| 在线观看视频一区二区欧美日韩| 国产欧美久久久精品影院| 美女在线观看视频一区二区|