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

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

?? io.c

?? h內核
?? C
字號:
/*  * linux/arch/sh/kernel/io_7751se.c * * Copyright (C) 2001  Ian da Silva, Jeremy Siegel * Based largely on io_se.c. * * I/O routine for Hitachi 7751 SolutionEngine. * * Initial version only to support LAN access; some * placeholder code from io_se.c left in with the * expectation of later SuperIO and PCMCIA access. */#include <linux/kernel.h>#include <linux/types.h>#include <asm/io.h>#include <asm/se7751/se7751.h>#include <asm/addrspace.h>#include <linux/pci.h>#include "../../../drivers/pci/pci-sh7751.h"#if 0/****************************************************************** * Variables from io_se.c, related to PCMCIA (not PCI); we're not * compiling them in, and have removed references from functions * which follow.  [Many checked for IO ports in the range bounded * by sh_pcic_io_start/stop, and used sh_pcic_io_wbase as offset. * As start/stop are uninitialized, only port 0x0 would match?] * When used, remember to adjust names to avoid clash with io_se? *****************************************************************//* SH pcmcia io window base, start and end.  */int sh_pcic_io_wbase = 0xb8400000;int sh_pcic_io_start;int sh_pcic_io_stop;int sh_pcic_io_type;int sh_pcic_io_dummy;/*************************************************************/#endif/* * The 7751 Solution Engine uses the built-in PCI controller (PCIC) * of the 7751 processor, and has a SuperIO accessible via the PCI. * The board also includes a PCMCIA controller on its memory bus, * like the other Solution Engine boards. */ #define PCIIOBR		(volatile long *)PCI_REG(SH7751_PCIIOBR)#define PCIMBR          (volatile long *)PCI_REG(SH7751_PCIMBR)#define PCI_IO_AREA	SH7751_PCI_IO_BASE#define PCI_MEM_AREA	SH7751_PCI_CONFIG_BASE#define PCI_IOMAP(adr)	(PCI_IO_AREA + (adr & ~SH7751_PCIIOBR_MASK))#define maybebadio(name,port) \  printk("bad PC-like io %s for port 0x%lx at 0x%08x\n", \	 #name, (port), (__u32) __builtin_return_address(0))static inline void delay(void){	ctrl_inw(0xa0000000);}static inline volatile __u16 *port2adr(unsigned int port){	if (port >= 0x2000)		return (volatile __u16 *) (PA_MRSHPC + (port - 0x2000));#if 0	else		return (volatile __u16 *) (PA_SUPERIO + (port << 1));#endif	maybebadio(name,(unsigned long)port);	return (volatile __u16*)port;}#if 0/* The 7751 Solution Engine seems to have everything hooked *//* up pretty normally (nothing on high-bytes only...) so this *//* shouldn't be needed */static inline intshifted_port(unsigned long port){	/* For IDE registers, value is not shifted */	if ((0x1f0 <= port && port < 0x1f8) || port == 0x3f6)		return 0;	else		return 1;}#endif/* In case someone configures the kernel w/o PCI support: in that *//* scenario, don't ever bother to check for PCI-window addresses *//* NOTE: WINDOW CHECK MAY BE A BIT OFF, HIGH PCIBIOS_MIN_IO WRAPS? */#if defined(CONFIG_PCI)#define CHECK_SH7751_PCIIO(port) \  ((port >= PCIBIOS_MIN_IO) && (port < (PCIBIOS_MIN_IO + SH7751_PCI_IO_SIZE)))#else#define CHECK_SH7751_PCIIO(port) (0)#endif/* * General outline: remap really low stuff [eventually] to SuperIO, * stuff in PCI IO space (at or above window at pci.h:PCIBIOS_MIN_IO) * is mapped through the PCI IO window.  Stuff with high bits (PXSEG) * should be way beyond the window, and is used  w/o translation for * compatibility. */unsigned char sh7751se_inb(unsigned long port){	if (PXSEG(port))		return *(volatile unsigned char *)port;	else if (CHECK_SH7751_PCIIO(port))		return *(volatile unsigned char *)PCI_IOMAP(port);	else		return (*port2adr(port))&0xff; }unsigned char sh7751se_inb_p(unsigned long port){	unsigned char v;        if (PXSEG(port))                v = *(volatile unsigned char *)port;	else if (CHECK_SH7751_PCIIO(port))                v = *(volatile unsigned char *)PCI_IOMAP(port);	else		v = (*port2adr(port))&0xff; 	delay();	return v;}unsigned short sh7751se_inw(unsigned long port){        if (PXSEG(port))                return *(volatile unsigned short *)port;	else if (CHECK_SH7751_PCIIO(port))                return *(volatile unsigned short *)PCI_IOMAP(port);	else if (port >= 0x2000)		return *port2adr(port);	else		maybebadio(inw, port);	return 0;}unsigned int sh7751se_inl(unsigned long port){        if (PXSEG(port))                return *(volatile unsigned long *)port;	else if (CHECK_SH7751_PCIIO(port))                return *(volatile unsigned int *)PCI_IOMAP(port);	else if (port >= 0x2000)		return *port2adr(port);	else		maybebadio(inl, port);	return 0;}void sh7751se_outb(unsigned char value, unsigned long port){        if (PXSEG(port))                *(volatile unsigned char *)port = value;	else if (CHECK_SH7751_PCIIO(port))        	*((unsigned char*)PCI_IOMAP(port)) = value;	else		*(port2adr(port)) = value;}void sh7751se_outb_p(unsigned char value, unsigned long port){        if (PXSEG(port))                *(volatile unsigned char *)port = value;	else if (CHECK_SH7751_PCIIO(port))        	*((unsigned char*)PCI_IOMAP(port)) = value;	else		*(port2adr(port)) = value;	delay();}void sh7751se_outw(unsigned short value, unsigned long port){        if (PXSEG(port))                *(volatile unsigned short *)port = value;	else if (CHECK_SH7751_PCIIO(port))        	*((unsigned short *)PCI_IOMAP(port)) = value;	else if (port >= 0x2000)		*port2adr(port) = value;	else		maybebadio(outw, port);}void sh7751se_outl(unsigned int value, unsigned long port){        if (PXSEG(port))                *(volatile unsigned long *)port = value;	else if (CHECK_SH7751_PCIIO(port))        	*((unsigned long*)PCI_IOMAP(port)) = value;	else		maybebadio(outl, port);}void sh7751se_insl(unsigned long port, void *addr, unsigned long count){	maybebadio(insl, port);}void sh7751se_outsl(unsigned long port, const void *addr, unsigned long count){	maybebadio(outsw, port);}/* Map ISA bus address to the real address. Only for PCMCIA.  *//* ISA page descriptor.  */static __u32 sh_isa_memmap[256];#if 0static intsh_isa_mmap(__u32 start, __u32 length, __u32 offset){	int idx;	if (start >= 0x100000 || (start & 0xfff) || (length != 0x1000))		return -1;	idx = start >> 12;	sh_isa_memmap[idx] = 0xb8000000 + (offset &~ 0xfff);	printk("sh_isa_mmap: start %x len %x offset %x (idx %x paddr %x)\n",	       start, length, offset, idx, sh_isa_memmap[idx]);	return 0;}#endifunsigned longsh7751se_isa_port2addr(unsigned long offset){	int idx;	idx = (offset >> 12) & 0xff;	offset &= 0xfff;	return sh_isa_memmap[idx] + offset;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲精品一区二区三区不卡| 久久久久久综合| 懂色av一区二区三区免费看| 久久99精品久久久久婷婷| 日韩av二区在线播放| 日韩av二区在线播放| 日本三级亚洲精品| 麻豆成人久久精品二区三区小说| 男人的j进女人的j一区| 美腿丝袜亚洲色图| 精品一区二区在线观看| 国产一区二区三区不卡在线观看| 精品一区二区三区久久| 国产精品自拍在线| 成人精品一区二区三区四区 | 欧美一区二区三区系列电影| 欧美午夜一区二区三区免费大片| 欧美午夜一区二区三区免费大片| 欧美精品久久久久久久多人混战 | 亚洲国产成人精品视频| 日韩影视精彩在线| 麻豆91在线观看| 国产 欧美在线| 在线亚洲免费视频| 日韩视频永久免费| 欧美国产综合一区二区| 亚洲制服丝袜一区| 极品少妇xxxx精品少妇| av电影一区二区| 欧美日本在线一区| 欧美极品少妇xxxxⅹ高跟鞋| 一区二区三区四区不卡视频| 麻豆国产欧美一区二区三区| 丁香婷婷综合色啪| 欧美喷潮久久久xxxxx| 日韩欧美综合一区| 亚洲人一二三区| 免费成人在线观看视频| 99精品欧美一区二区蜜桃免费| 欧美在线看片a免费观看| 久久久国产精品麻豆| 亚洲激情图片一区| 国产精品一二三四区| 欧美日韩国产免费一区二区| 久久免费视频色| 亚洲成人精品在线观看| 成人在线视频首页| 26uuu久久天堂性欧美| 一区二区日韩av| 国产成人日日夜夜| 91精品婷婷国产综合久久| 国产精品国产三级国产三级人妇| 日韩精品一级二级| 91麻豆国产香蕉久久精品| 久久综合国产精品| 蜜臀av性久久久久蜜臀aⅴ流畅| 91网站最新地址| 亚洲国产成人私人影院tom| 麻豆精品一区二区综合av| 欧美性受xxxx| 玉足女爽爽91| 91亚洲精品一区二区乱码| 国产亚洲女人久久久久毛片| 免费观看在线综合| 欧美日高清视频| 亚洲无人区一区| 欧美亚男人的天堂| 亚洲一区免费观看| 在线观看免费成人| 一区二区三区中文在线| 色偷偷88欧美精品久久久| 亚洲欧洲99久久| 91热门视频在线观看| 日韩伦理电影网| 色综合中文字幕国产 | 久久亚洲私人国产精品va媚药| 午夜精品久久久久久久久久| 欧美中文字幕一二三区视频| 亚洲欧美日韩小说| 色综合av在线| 亚洲国产成人tv| 欧美日韩一区不卡| 日韩高清欧美激情| 日韩丝袜情趣美女图片| 久久精品国产网站| 欧美精品一区二区高清在线观看 | 国产精品你懂的在线欣赏| 成人午夜伦理影院| 136国产福利精品导航| 91看片淫黄大片一级在线观看| 亚洲美女淫视频| 欧美性生活大片视频| 日本欧美加勒比视频| 精品国产欧美一区二区| 成人av电影在线播放| 亚洲在线中文字幕| 日韩亚洲欧美在线观看| 国产精品一二一区| 亚洲乱码国产乱码精品精的特点| 欧美午夜一区二区三区免费大片| 日韩国产在线一| 国产午夜久久久久| 色悠悠久久综合| 日本欧美肥老太交大片| 日本一区二区三区国色天香| 91福利在线播放| 人人爽香蕉精品| 国产精品久久久久一区二区三区| 欧美影片第一页| 国产一区视频导航| 一区二区在线观看免费| 欧美v日韩v国产v| www.日韩精品| 免费欧美日韩国产三级电影| 亚洲国产高清在线| 欧美电影在哪看比较好| 成人综合婷婷国产精品久久| 午夜视频在线观看一区二区 | 亚洲欧洲av一区二区三区久久| 欧美久久久久久久久中文字幕| 国产麻豆视频一区二区| 亚洲成va人在线观看| 国产亚洲成av人在线观看导航 | 成人免费观看视频| 日韩精品免费视频人成| 亚洲精品免费播放| 国产欧美一区二区精品忘忧草 | 久久国产精品72免费观看| 亚洲欧美激情插| 久久精品日产第一区二区三区高清版 | 成人开心网精品视频| 男男成人高潮片免费网站| 亚洲综合网站在线观看| 国产精品美女久久久久久 | 国产大陆亚洲精品国产| 免费欧美在线视频| 日日欢夜夜爽一区| 亚洲国产日日夜夜| 一区二区三区四区在线| 亚洲免费资源在线播放| 国产欧美中文在线| 久久久高清一区二区三区| 日韩美女一区二区三区四区| 欧美日韩另类一区| 欧美色偷偷大香| 欧美性xxxxx极品少妇| 色诱亚洲精品久久久久久| 91在线精品秘密一区二区| 国产精品1区2区3区在线观看| 蜜桃在线一区二区三区| 麻豆免费精品视频| 日产精品久久久久久久性色| 香蕉加勒比综合久久| 亚洲国产精品一区二区www| 1区2区3区精品视频| 亚洲欧洲国产日本综合| 亚洲女人****多毛耸耸8| 成人欧美一区二区三区黑人麻豆| 日本一区二区成人在线| 国产精品免费免费| 最新日韩在线视频| 一区二区三区四区视频精品免费| 亚洲欧美日韩在线| 亚洲超丰满肉感bbw| 免费欧美高清视频| 国产iv一区二区三区| 成人av在线播放网址| 日本精品裸体写真集在线观看| 欧美在线观看视频在线| 91精品国产综合久久久蜜臀粉嫩| 欧美一级免费大片| 久久久电影一区二区三区| 国产精品女人毛片| 亚洲国产精品久久久久秋霞影院| 日韩av电影天堂| 国内一区二区视频| 成人久久视频在线观看| 欧美色精品在线视频| 精品国产一区二区三区不卡| 国产精品久久网站| 亚洲国产视频一区| 国产一区视频网站| 日本高清成人免费播放| 欧美成人a∨高清免费观看| 亚洲国产成人在线| 丝袜亚洲另类欧美综合| 久久99久久99精品免视看婷婷 | 一区二区高清在线| 日本欧美在线观看| 成人97人人超碰人人99| 欧美日韩一区二区在线观看| 亚洲精品一区二区三区四区高清 | 波多野洁衣一区| 国产欧美一区二区三区在线看蜜臀| 一区在线观看视频| 午夜欧美在线一二页| 国产福利精品一区二区| 欧美精品在线视频| 亚洲精品一二三| 狠狠久久亚洲欧美|