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

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

?? io_microdev.c

?? linux-2.4.29操作系統的源碼
?? C
字號:
/*  * linux/arch/sh/kernel/io_microdev.c * * Copyright (C) 2003 Sean McGoogan (Sean.McGoogan@superh.com) * * SuperH SH4-202 MicroDev board support. * * May be copied or modified under the terms of the GNU General Public * License.  See linux/COPYING for more information. */#include <linux/config.h>#include <linux/init.h>#include <asm/io.h>	/*	 *	we need to have a 'safe' address to re-direct all I/O requests	 *	that we do not explicitly wish to handle. This safe address	 *	must have the following properies:	 *	 *		* writes are ignored (no exception)	 *		* reads are benign (no side-effects)	 *		* accesses of width 1, 2 and 4-bytes are all valid.	 *	 *	The Processor Version Register (PVR) has these properties.	 */#define	PVR	0xff000030	/* Processor Version Register */#define	IO_LAN91C111	0x300ul	/* I/O port for SMSC  LAN91C111 Ethernet chip */#define PORT2ADDR(x) (microdev_isa_port2addr(x))static inline void delay(void){	ctrl_inw(0xa0000000);}unsigned char microdev_inb(unsigned long port){	return *(volatile unsigned char*)PORT2ADDR(port);}unsigned short microdev_inw(unsigned long port){	return *(volatile unsigned short*)PORT2ADDR(port);}unsigned int microdev_inl(unsigned long port){	return *(volatile unsigned int*)PORT2ADDR(port);}void microdev_outb(unsigned char b, unsigned long port){		/*		 *	There is a board feature with the current SH4-202 MicroDev 		 *	in that the 2 byte enables (nBE0 and nBE1) are tied together (and to the 		 *	Chip Select Line (Ethernet_CS)). Due to this conectivity, it is not possible		 *	to safely perform 8-bit writes to the Ethernet registers, as 16-bits		 *	will be consumed from the Data lines (corrupting the other byte).		 *	Hence, this function is written to impliment 16-bit read/modify/write		 *	for all byte-wide acceses.		 *		 *	Note: there is no problem with byte READS (even or odd).		 *		 *			Sean McGoogan - 16th June 2003.		 */	if ( (port>=IO_LAN91C111) && (port<IO_LAN91C111+0x10ul) )	{			/*			 * Then are trying to perform a byte-write to the LAN91C111.			 * This needs special care.			 */		if (port%2==1)					/* is the port odd ? */		{			const unsigned long evenPort = port-1;	/* unset bit-0, i.e. make even */			unsigned short word;			/* temp variable */				/*				 * do a 16-bit read/write to write to 'port', preserving even byte.				 *	Even addresses are bits 0-7				 *	Odd  addresses are bits 8-15				 */			word = microdev_inw(evenPort);			word = (word & 0xffu) | (b << 8);			microdev_outw(word, evenPort);		}		else	/* else, we are trying to do an even byte write */		{			unsigned short word;			/* temp variable */				/*				 * do a 16-bit read/write to write to 'port', preserving odd byte.				 *	Even addresses are bits 0-7				 *	Odd  addresses are bits 8-15				 */			word = microdev_inw(port);			word = (word & 0xff00u) | (b);			microdev_outw(word, port);		}	}	else	{		*(volatile unsigned char*)PORT2ADDR(port) = b;	}}void microdev_outw(unsigned short b, unsigned long port){	*(volatile unsigned short*)PORT2ADDR(port) = b;}void microdev_outl(unsigned int b, unsigned long port){        *(volatile unsigned int*)PORT2ADDR(port) = b;}unsigned char microdev_inb_p(unsigned long port){	unsigned char v = microdev_inb(port);	delay();	return v;}unsigned short microdev_inw_p(unsigned long port){	unsigned short v = microdev_inw(port);	delay();	return v;}unsigned int microdev_inl_p(unsigned long port){	unsigned int v = microdev_inl(port);	delay();	return v;}void microdev_outb_p(unsigned char b, unsigned long port){	microdev_outb(b, port);	delay();}void microdev_outw_p(unsigned short b, unsigned long port){	microdev_outw(b, port);	delay();}void microdev_outl_p(unsigned int b, unsigned long port){	microdev_outl(b, port);	delay();}void microdev_insb(unsigned long port, void *buffer, unsigned long count){	unsigned char *buf=buffer;	while(count--) *buf++=microdev_inb(port);}void microdev_insw(unsigned long port, void *buffer, unsigned long count){	unsigned short *buf=buffer;	while(count--) *buf++=microdev_inw(port);}void microdev_insl(unsigned long port, void *buffer, unsigned long count){	unsigned int *buf=buffer;	while(count--) *buf++=microdev_inl(port);}void microdev_outsb(unsigned long port, const void *buffer, unsigned long count){	const unsigned char *buf=buffer;	while(count--) microdev_outb(*buf++, port);}void microdev_outsw(unsigned long port, const void *buffer, unsigned long count){	const unsigned short *buf=buffer;	while(count--) microdev_outw(*buf++, port);}void microdev_outsl(unsigned long port, const void *buffer, unsigned long count){	const unsigned int *buf=buffer;	while(count--) microdev_outl(*buf++, port);}/* * map I/O ports to memory-mapped addresses  */unsigned long microdev_isa_port2addr(unsigned long offset){	unsigned long result;	if ( (offset>=IO_LAN91C111) && (offset<IO_LAN91C111+0x10ul) )	{			/*			 *	SMSC LAN91C111 Ethernet chip			 */		result = 0xa7500000ul + offset - IO_LAN91C111;	}	else /* if (offset <= 0xfffful) */	{			/*			 *	safe default.			 */		result = PVR;	}	return result;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩毛片在线免费观看| 久久99精品久久久久久国产越南| 亚洲电影欧美电影有声小说| 激情成人午夜视频| 一本色道久久综合亚洲91| 久久精品一区二区三区不卡| 亚洲成人一区二区| 99久久久久免费精品国产| 91精品国产91久久久久久最新毛片| 中文字幕一区免费在线观看| 蜜桃免费网站一区二区三区| 欧美性猛交一区二区三区精品| 国产欧美一区二区三区在线看蜜臀 | 欧美老肥妇做.爰bbww| 中文字幕第一区综合| 久久国产人妖系列| 欧美日韩高清一区| 亚洲精品中文字幕乱码三区| 成人中文字幕电影| 久久久亚洲高清| 麻豆精品视频在线| 欧美一区二区三区在线观看| 亚洲成av人在线观看| 91麻豆产精品久久久久久 | 亚洲女爱视频在线| 国产成人亚洲综合色影视| 日韩欧美在线影院| 免费在线一区观看| 欧美一区2区视频在线观看| 亚洲成人午夜电影| 欧美三级日本三级少妇99| 亚洲精选视频免费看| 91免费国产视频网站| 国产精品成人午夜| av电影在线观看完整版一区二区| 欧美高清一级片在线观看| 国产精品一区二区三区99| 精品入口麻豆88视频| 精品亚洲porn| 久久精品一二三| 国产91丝袜在线播放九色| 久久精品一区二区三区不卡 | 在线观看不卡视频| 亚洲激情自拍视频| 欧美日韩一本到| 日韩极品在线观看| 欧美精品一区二区三区在线播放| 久久国产精品露脸对白| 国产亚洲美州欧州综合国| 国产精品一二三四| 综合婷婷亚洲小说| 精品视频在线视频| 裸体在线国模精品偷拍| 国产欧美日韩亚州综合 | 欧美精品1区2区| 久久99热狠狠色一区二区| 国产日韩av一区| 在线观看精品一区| 免费观看成人av| 中文字幕巨乱亚洲| 日本黄色一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 777亚洲妇女| 国产一区二区三区在线看麻豆| 国产精品色婷婷久久58| 色狠狠一区二区| 精品在线视频一区| 亚洲三级久久久| 欧美精品高清视频| 国产黄色精品视频| 亚洲自拍偷拍综合| www国产精品av| 色偷偷成人一区二区三区91| 日韩精品免费专区| 国产精品视频看| 69p69国产精品| 波多野结衣中文一区| 日韩精品国产欧美| 国产精品伦一区| 欧美成人r级一区二区三区| 成人免费看片app下载| 视频一区在线播放| 日韩理论片一区二区| 日韩美女视频一区二区在线观看| 91女神在线视频| 日本不卡一区二区三区高清视频| 国产精品丝袜久久久久久app| 91精品国产欧美一区二区成人| 91在线看国产| 国产一区二区三区四区在线观看| 午夜天堂影视香蕉久久| 中文字幕在线不卡国产视频| 日韩色视频在线观看| 91久久精品一区二区三| 国产69精品久久99不卡| 奇米在线7777在线精品| 亚洲电影一级黄| 亚洲综合色婷婷| 欧美激情在线一区二区| www久久精品| 精品卡一卡二卡三卡四在线| 欧美日韩亚州综合| 色av一区二区| 色诱视频网站一区| 97精品久久久午夜一区二区三区| 国产一二三精品| 国产一区二区三区在线观看免费视频| 日韩国产在线观看一区| 亚洲自拍偷拍麻豆| 亚洲免费观看视频| 欧美高清一级片在线观看| 久久久久国色av免费看影院| 欧美精品一区二区三区很污很色的| 欧美日本在线观看| 欧美性做爰猛烈叫床潮| 欧洲精品一区二区三区在线观看| 91玉足脚交白嫩脚丫在线播放| 成人免费视频一区| 成人精品国产一区二区4080| 成人国产精品免费网站| 成人毛片老司机大片| 成人av在线一区二区| 成人av先锋影音| 91女厕偷拍女厕偷拍高清| 91久久精品一区二区二区| 欧美午夜影院一区| 欧美亚洲综合在线| 欧美日韩国产大片| 日韩三级.com| 26uuu色噜噜精品一区二区| 精品国产91乱码一区二区三区 | 欧美主播一区二区三区| 欧美在线三级电影| 欧美高清视频不卡网| 日韩欧美一级在线播放| 国产丝袜欧美中文另类| 亚洲视频一区在线| 亚洲福利一区二区三区| 免费不卡在线观看| 国产剧情一区二区三区| 99精品视频在线播放观看| 精品视频1区2区3区| 日韩欧美综合在线| 欧美国产日韩a欧美在线观看| ...xxx性欧美| 午夜精品一区二区三区免费视频| 六月婷婷色综合| 不卡一二三区首页| 欧美系列一区二区| 久久久国产精品不卡| ㊣最新国产の精品bt伙计久久| 亚洲国产wwwccc36天堂| 日本三级亚洲精品| av激情综合网| 欧美一区二区在线视频| 欧美国产一区二区在线观看| 香蕉久久一区二区不卡无毒影院| 国产又黄又大久久| 在线免费观看日韩欧美| 亚洲精品在线三区| 亚洲欧洲av一区二区三区久久| 日日欢夜夜爽一区| 成人妖精视频yjsp地址| 欧美日韩国产一级片| 国产精品色呦呦| 免费人成网站在线观看欧美高清| 高清beeg欧美| 日韩一区二区三区在线| 成人欧美一区二区三区在线播放| 日韩成人伦理电影在线观看| a美女胸又www黄视频久久| 欧美成人女星排行榜| 一区二区三区四区高清精品免费观看| 九色综合国产一区二区三区| 欧美三级日韩在线| 亚洲激情在线激情| 成人av网址在线观看| 精品国产不卡一区二区三区| 亚洲国产一区二区视频| 99国产精品久| 国产精品国产自产拍高清av王其| 奇米影视在线99精品| 欧美日韩国产综合一区二区| 亚洲色图欧美激情| www.在线欧美| 国产精品欧美一区喷水| 国产专区欧美精品| 日韩一区二区免费在线电影| 午夜在线电影亚洲一区| 在线免费观看一区| 一区二区三区日本| 一本一道久久a久久精品 | 成人一区二区视频| 久久人人97超碰com| 麻豆高清免费国产一区| 99精品国产99久久久久久白柏| 26uuu精品一区二区| 日韩av网站免费在线| 日韩欧美一级特黄在线播放| 亚洲成人中文在线|