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

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

?? tc.c

?? Linux Kernel 2.6.9 for OMAP1710
?? C
字號:
/* * tc-init: We assume the TURBOchannel to be up and running so * just probe for Modules and fill in the global data structure * tc_bus. * * This file is subject to the terms and conditions of the GNU General Public * License.  See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (c) Harald Koerfgen, 1998 */#include <linux/string.h>#include <linux/init.h>#include <linux/ioport.h>#include <asm/addrspace.h>#include <asm/errno.h>#include <asm/dec/machtype.h>#include <asm/dec/tcinfo.h>#include <asm/dec/tcmodule.h>#include <asm/dec/interrupts.h>#include <asm/ptrace.h>#include <linux/kernel.h>#include <linux/module.h>#define TC_DEBUGMODULE_LICENSE("GPL");slot_info tc_bus[MAX_SLOT];static int max_tcslot;static tcinfo *info;unsigned long system_base;extern void (*dbe_board_handler)(struct pt_regs *regs);extern unsigned long *(*rex_slot_address)(int);extern void *(*rex_gettcinfo)(void);/* * Interface to the world. Read comment in include/asm-mips/tc.h. */int search_tc_card(char *name){	int slot;	slot_info *sip;	for (slot = 0; slot <= max_tcslot; slot++) {		sip = &tc_bus[slot];		if ((sip->flags & FREE) && (strncmp(sip->name, name, strlen(name)) == 0)) {			return slot;		}	}	return -ENODEV;}void claim_tc_card(int slot){	if (tc_bus[slot].flags & IN_USE) {		printk("claim_tc_card: attempting to claim a card already in use\n");		return;	}	tc_bus[slot].flags &= ~FREE;	tc_bus[slot].flags |= IN_USE;}void release_tc_card(int slot){	if (tc_bus[slot].flags & FREE) {		printk("release_tc_card: attempting to release a card already free\n");		return;	}	tc_bus[slot].flags &= ~IN_USE;	tc_bus[slot].flags |= FREE;}unsigned long get_tc_base_addr(int slot){	return tc_bus[slot].base_addr;}unsigned long get_tc_irq_nr(int slot){	return tc_bus[slot].interrupt;}unsigned long get_tc_speed(void){	return 100000 * (10000 / (unsigned long)info->clk_period);}/* * Probing for TURBOchannel modules */static void __init my_dbe_handler(struct pt_regs *regs){	regs->cp0_epc += 4;}static void __init tc_probe(unsigned long startaddr, unsigned long size, int max_slot){	int i, slot;	long offset;	unsigned char *module;	void (*old_be_handler)(struct pt_regs *regs);	/* Install our exception handler temporarily */	old_be_handler = dbe_board_handler;	dbe_board_handler = my_dbe_handler;	for (slot = 0; slot <= max_slot; slot++) {		module = (char *)(startaddr + slot * size);		offset = -1;		if (module[OLDCARD + TC_PATTERN0] == 0x55 && module[OLDCARD + TC_PATTERN1] == 0x00		  && module[OLDCARD + TC_PATTERN2] == 0xaa && module[OLDCARD + TC_PATTERN3] == 0xff)			offset = OLDCARD;		if (module[TC_PATTERN0] == 0x55 && module[TC_PATTERN1] == 0x00		  && module[TC_PATTERN2] == 0xaa && module[TC_PATTERN3] == 0xff)			offset = 0;		if (offset != -1) {			tc_bus[slot].base_addr = (unsigned long)module;			for(i = 0; i < 8; i++) {				tc_bus[slot].firmware[i] = module[TC_FIRM_VER + offset + 4 * i];				tc_bus[slot].vendor[i] = module[TC_VENDOR + offset + 4 * i];				tc_bus[slot].name[i] = module[TC_MODULE + offset + 4 * i];			}			tc_bus[slot].firmware[8] = 0;			tc_bus[slot].vendor[8] = 0;			tc_bus[slot].name[8] = 0;			/*			 * Looks unneccesary, but we may change			 * TC? in the future			 */			switch (slot) {			case 0:				tc_bus[slot].interrupt = TC0;				break;			case 1:				tc_bus[slot].interrupt = TC1;				break;			case 2:				tc_bus[slot].interrupt = TC2;				break;			/*			 * Yuck! DS5000/200 onboard devices			 */			case 5:				tc_bus[slot].interrupt = SCSI_INT;				break;			case 6:				tc_bus[slot].interrupt = ETHER;				break;			default:				tc_bus[slot].interrupt = -1;				break;			}			}	}	dbe_board_handler = old_be_handler;}/* * the main entry */void __init tc_init(void){	int tc_clock;	int i;	unsigned long slot0addr;	unsigned long slot_size;	if (!TURBOCHANNEL)		return;	for (i = 0; i < MAX_SLOT; i++) {		tc_bus[i].base_addr = 0;		tc_bus[i].name[0] = 0;		tc_bus[i].vendor[0] = 0;		tc_bus[i].firmware[0] = 0;		tc_bus[i].interrupt = -1;		tc_bus[i].flags = FREE;	}	info = (tcinfo *) rex_gettcinfo();	slot0addr = (unsigned long)KSEG1ADDR(rex_slot_address(0));	switch (mips_machtype) {	case MACH_DS5000_200:		max_tcslot = 6;		break;	case MACH_DS5000_1XX:	case MACH_DS5000_2X0:		max_tcslot = 2;		break;	case MACH_DS5000_XX:	default:		max_tcslot = 1;		break;	}	tc_clock = 10000 / info->clk_period;	if (TURBOCHANNEL && info->slot_size && slot0addr) {		printk("TURBOchannel rev. %1d at %2d.%1d MHz ", info->revision,			tc_clock / 10, tc_clock % 10);		printk("(with%s parity)\n", info->parity ? "" : "out");		slot_size = info->slot_size << 20;		tc_probe(slot0addr, slot_size, max_tcslot);  		/*  		 * All TURBOchannel DECstations have the onboard devices 		 * where the (max_tcslot + 1 or 2 on DS5k/xx) Option Module 		 * would be. 		 */ 		if(mips_machtype == MACH_DS5000_XX) 			i = 2;		else 			i = 1; 		 	        system_base = slot0addr + slot_size * (max_tcslot + i);#ifdef TC_DEBUG		for (i = 0; i <= max_tcslot; i++)			if (tc_bus[i].base_addr) {				printk("    slot %d: ", i);				printk("%s %s %s\n", tc_bus[i].vendor,					tc_bus[i].name, tc_bus[i].firmware);			}#endif		ioport_resource.end = KSEG2 - 1;	}}subsys_initcall(tc_init);EXPORT_SYMBOL(search_tc_card);EXPORT_SYMBOL(claim_tc_card);EXPORT_SYMBOL(release_tc_card);EXPORT_SYMBOL(get_tc_base_addr);EXPORT_SYMBOL(get_tc_irq_nr);EXPORT_SYMBOL(get_tc_speed);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人福利片| 成人动漫一区二区在线| 国产亚洲精品bt天堂精选| 91久久线看在观草草青青| 黄网站免费久久| 一区二区三区欧美激情| 久久久久久久久久久久久女国产乱| 欧美色图激情小说| 不卡的av电影| 狠狠久久亚洲欧美| 青青青伊人色综合久久| 亚洲精品写真福利| 国产精品私人影院| 久久综合久久综合久久| 欧美巨大另类极品videosbest | 一区二区在线观看免费| 精品国产乱码久久久久久影片| 欧美性生活影院| 成人免费观看av| 国产乱人伦精品一区二区在线观看 | 成人黄色片在线观看| 久久 天天综合| 日韩国产精品久久久| 亚洲成人动漫在线观看| 国产精品高潮久久久久无| 久久亚洲春色中文字幕久久久| 欧美久久久久久蜜桃| 在线一区二区三区四区| 91一区二区在线观看| 成人黄色在线看| 国产成人精品免费看| 国产一区二区不卡老阿姨| 蜜桃视频一区二区三区在线观看| 一区二区三区日韩精品| 亚洲夂夂婷婷色拍ww47| 亚洲天堂中文字幕| 欧美国产精品中文字幕| 中文一区二区在线观看| 久久久精品国产免费观看同学| 日韩免费一区二区三区在线播放| 欧美一区二区在线观看| 欧美一区二区三区四区高清| 欧美一二三在线| 欧美va亚洲va| 国产午夜亚洲精品不卡| 国产精品沙发午睡系列990531| 中文字幕免费一区| 日本一区二区三区在线观看| 国产亚洲精品7777| 国产精品第一页第二页第三页 | 亚洲激情一二三区| 亚洲手机成人高清视频| 亚洲三级在线观看| 亚洲激情五月婷婷| 国产精品二区一区二区aⅴ污介绍| 久久精品人人做人人爽97| 久久久国产一区二区三区四区小说| 久久人人爽人人爽| 久久久久久亚洲综合影院红桃| 国产午夜三级一区二区三| 国产日韩欧美激情| 国产精品久久久久久久裸模 | 午夜精品久久久久久久蜜桃app| 亚洲一区二区在线免费观看视频 | 粉嫩一区二区三区在线看| www.欧美色图| 在线观看91视频| 欧美日韩国产另类不卡| 欧美一区二区三区视频在线观看| 欧美大黄免费观看| 日韩一级免费观看| 精品国产乱子伦一区| 国产亚洲自拍一区| 久久精品无码一区二区三区| 久久精品一区蜜桃臀影院| 日韩理论片在线| 丝袜美腿一区二区三区| 激情五月婷婷综合网| 国产69精品久久99不卡| 99久久精品国产毛片| 欧美在线视频日韩| 久久婷婷一区二区三区| 国产午夜精品一区二区三区嫩草 | 国产真实乱偷精品视频免| thepron国产精品| 欧美日韩精品久久久| 欧美国产在线观看| 亚洲动漫第一页| 狠狠久久亚洲欧美| 色天天综合久久久久综合片| 日韩欧美一卡二卡| 亚洲精品日产精品乱码不卡| 日本不卡视频在线| 国产成人在线视频播放| 欧美在线999| 91精品中文字幕一区二区三区| 精品国产精品一区二区夜夜嗨 | 亚洲不卡av一区二区三区| 日本人妖一区二区| 国产精品99久久久久久久女警| 色综合天天综合网天天狠天天| 91麻豆精品国产自产在线观看一区| 国产婷婷色一区二区三区在线| 一区二区日韩电影| 国产黄色精品网站| 欧美日韩卡一卡二| 亚洲欧美日韩在线不卡| 国产精品一区二区久久不卡| 欧美日韩高清一区二区| 中文字幕一区二区三区在线不卡 | 欧美电影免费观看高清完整版在 | 国产大片一区二区| 欧美性生活大片视频| 国产精品国产成人国产三级| 久久成人18免费观看| 欧洲精品在线观看| 最新成人av在线| 国产999精品久久| 日韩免费观看高清完整版在线观看| 亚洲综合视频网| 高清不卡一区二区| 国产亚洲综合av| 美日韩黄色大片| 欧美综合一区二区三区| 国产精品伦理在线| 国产不卡高清在线观看视频| 精品不卡在线视频| 亚洲成人免费在线| 日本高清不卡视频| 亚洲乱码国产乱码精品精小说 | 色婷婷久久久久swag精品| 久久嫩草精品久久久精品| 免费成人在线视频观看| 911精品国产一区二区在线| 亚洲一区二区三区四区不卡| 成人精品高清在线| 久久久99久久| 国产一区二区不卡老阿姨| 日韩欧美国产综合一区| 日韩和欧美的一区| 欧美精品一卡两卡| 水野朝阳av一区二区三区| 激情综合色播激情啊| 精品国产三级电影在线观看| 激情综合色丁香一区二区| 日韩一区二区高清| 精彩视频一区二区三区| 精品国产露脸精彩对白| 国产电影一区二区三区| 国产精品久久久久久久裸模| 91亚洲永久精品| 亚洲影院理伦片| 欧美性色欧美a在线播放| 亚洲成人黄色小说| 日韩欧美中文字幕公布| 美女尤物国产一区| 久久蜜桃av一区精品变态类天堂| 激情小说亚洲一区| 国产亚洲精品久| 91视频免费看| 亚洲精品日韩专区silk| 91精品国产色综合久久不卡蜜臀| 久久99热这里只有精品| 欧美激情一区二区三区不卡| 色哟哟日韩精品| 日韩激情在线观看| 久久久噜噜噜久久人人看| av不卡在线观看| 亚洲成年人影院| 欧美videossexotv100| www.久久久久久久久| 亚洲国产aⅴ成人精品无吗| 欧美tickling网站挠脚心| 国产成a人亚洲| 中文字幕一区二区三区在线播放| 欧美自拍丝袜亚洲| 老司机午夜精品| 国产精品国产成人国产三级| 欧美日韩视频专区在线播放| 五月综合激情网| 久久色在线观看| 色婷婷av一区二区三区大白胸| 日本不卡高清视频| 国产精品电影一区二区三区| 日韩午夜激情视频| 国产成人精品亚洲午夜麻豆| 尤物视频一区二区| 日韩欧美中文字幕一区| 国产精品一区久久久久| 午夜精品福利在线| 久久久久久一二三区| 欧美午夜一区二区三区| 国产成人自拍高清视频在线免费播放| 亚洲欧洲成人自拍| 3d成人动漫网站| 日本韩国精品在线| 国产成人免费视频| 老司机免费视频一区二区三区| 亚洲欧美另类在线| www一区二区|