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

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

?? istallion.c

?? linux和2410結合開發 用他可以生成2410所需的zImage文件
?? C
?? 第 1 頁 / 共 5 頁
字號:
#define	ECP_ATADDRSHFT	12/* *	Important defines for the EISA class of ECP board. */#define	ECP_EIIREG	0#define	ECP_EIMEMARL	1#define	ECP_EICONFR	2#define	ECP_EIMEMARH	3#define	ECP_EIENABLE	0x1#define	ECP_EIDISABLE	0x0#define	ECP_EISTOP	0x4#define	ECP_EIEDGE	0x00#define	ECP_EILEVEL	0x80#define	ECP_EIADDRMASKL	0x00ff0000#define	ECP_EIADDRSHFTL	16#define	ECP_EIADDRMASKH	0xff000000#define	ECP_EIADDRSHFTH	24#define	ECP_EIBRDENAB	0xc84#define	ECP_EISAID	0x4/* *	Important defines for the Micro-channel class of ECP board. *	(It has a lot in common with the ISA boards.) */#define	ECP_MCIREG	0#define	ECP_MCCONFR	1#define	ECP_MCSTOP	0x20#define	ECP_MCENABLE	0x80#define	ECP_MCDISABLE	0x00/* *	Important defines for the PCI class of ECP board. *	(It has a lot in common with the other ECP boards.) */#define	ECP_PCIIREG	0#define	ECP_PCICONFR	1#define	ECP_PCISTOP	0x01/* *	Hardware configuration info for ONboard and Brumby boards. These *	defines apply to the directly accessible io ports of these boards. */#define	ONB_IOSIZE	16#define	ONB_MEMSIZE	(64 * 1024)#define	ONB_ATPAGESIZE	(64 * 1024)#define	ONB_MCPAGESIZE	(64 * 1024)#define	ONB_EIMEMSIZE	(128 * 1024)#define	ONB_EIPAGESIZE	(64 * 1024)/* *	Important defines for the ISA class of ONboard board. */#define	ONB_ATIREG	0#define	ONB_ATMEMAR	1#define	ONB_ATCONFR	2#define	ONB_ATSTOP	0x4#define	ONB_ATENABLE	0x01#define	ONB_ATDISABLE	0x00#define	ONB_ATADDRMASK	0xff0000#define	ONB_ATADDRSHFT	16#define	ONB_MEMENABLO	0#define	ONB_MEMENABHI	0x02/* *	Important defines for the EISA class of ONboard board. */#define	ONB_EIIREG	0#define	ONB_EIMEMARL	1#define	ONB_EICONFR	2#define	ONB_EIMEMARH	3#define	ONB_EIENABLE	0x1#define	ONB_EIDISABLE	0x0#define	ONB_EISTOP	0x4#define	ONB_EIEDGE	0x00#define	ONB_EILEVEL	0x80#define	ONB_EIADDRMASKL	0x00ff0000#define	ONB_EIADDRSHFTL	16#define	ONB_EIADDRMASKH	0xff000000#define	ONB_EIADDRSHFTH	24#define	ONB_EIBRDENAB	0xc84#define	ONB_EISAID	0x1/* *	Important defines for the Brumby boards. They are pretty simple, *	there is not much that is programmably configurable. */#define	BBY_IOSIZE	16#define	BBY_MEMSIZE	(64 * 1024)#define	BBY_PAGESIZE	(16 * 1024)#define	BBY_ATIREG	0#define	BBY_ATCONFR	1#define	BBY_ATSTOP	0x4/* *	Important defines for the Stallion boards. They are pretty simple, *	there is not much that is programmably configurable. */#define	STAL_IOSIZE	16#define	STAL_MEMSIZE	(64 * 1024)#define	STAL_PAGESIZE	(64 * 1024)/* *	Define the set of status register values for EasyConnection panels. *	The signature will return with the status value for each panel. From *	this we can determine what is attached to the board - before we have *	actually down loaded any code to it. */#define	ECH_PNLSTATUS	2#define	ECH_PNL16PORT	0x20#define	ECH_PNLIDMASK	0x07#define	ECH_PNLXPID	0x40#define	ECH_PNLINTRPEND	0x80/* *	Define some macros to do things to the board. Even those these boards *	are somewhat related there is often significantly different ways of *	doing some operation on it (like enable, paging, reset, etc). So each *	board class has a set of functions which do the commonly required *	operations. The macros below basically just call these functions, *	generally checking for a NULL function - which means that the board *	needs nothing done to it to achieve this operation! */#define	EBRDINIT(brdp)						\	if (brdp->init != NULL)					\		(* brdp->init)(brdp)#define	EBRDENABLE(brdp)					\	if (brdp->enable != NULL)				\		(* brdp->enable)(brdp);#define	EBRDDISABLE(brdp)					\	if (brdp->disable != NULL)				\		(* brdp->disable)(brdp);#define	EBRDINTR(brdp)						\	if (brdp->intr != NULL)					\		(* brdp->intr)(brdp);#define	EBRDRESET(brdp)						\	if (brdp->reset != NULL)				\		(* brdp->reset)(brdp);#define	EBRDGETMEMPTR(brdp,offset)				\	(* brdp->getmemptr)(brdp, offset, __LINE__)/* *	Define the maximal baud rate, and the default baud base for ports. */#define	STL_MAXBAUD	460800#define	STL_BAUDBASE	115200#define	STL_CLOSEDELAY	(5 * HZ / 10)/*****************************************************************************//* *	Define macros to extract a brd or port number from a minor number. */#define	MINOR2BRD(min)		(((min) & 0xc0) >> 6)#define	MINOR2PORT(min)		((min) & 0x3f)/* *	Define a baud rate table that converts termios baud rate selector *	into the actual baud rate value. All baud rate calculations are based *	on the actual baud rate required. */static unsigned int	stli_baudrates[] = {	0, 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800,	9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600};/*****************************************************************************//* *	Define some handy local macros... */#undef MIN#define	MIN(a,b)	(((a) <= (b)) ? (a) : (b))#undef	TOLOWER#define	TOLOWER(x)	((((x) >= 'A') && ((x) <= 'Z')) ? ((x) + 0x20) : (x))/*****************************************************************************//* *	Prototype all functions in this driver! */#ifdef MODULEint		init_module(void);void		cleanup_module(void);static void	stli_argbrds(void);static int	stli_parsebrd(stlconf_t *confp, char **argp);static unsigned long	stli_atol(char *str);#endifint		stli_init(void);static int	stli_open(struct tty_struct *tty, struct file *filp);static void	stli_close(struct tty_struct *tty, struct file *filp);static int	stli_write(struct tty_struct *tty, int from_user, const unsigned char *buf, int count);static void	stli_putchar(struct tty_struct *tty, unsigned char ch);static void	stli_flushchars(struct tty_struct *tty);static int	stli_writeroom(struct tty_struct *tty);static int	stli_charsinbuffer(struct tty_struct *tty);static int	stli_ioctl(struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg);static void	stli_settermios(struct tty_struct *tty, struct termios *old);static void	stli_throttle(struct tty_struct *tty);static void	stli_unthrottle(struct tty_struct *tty);static void	stli_stop(struct tty_struct *tty);static void	stli_start(struct tty_struct *tty);static void	stli_flushbuffer(struct tty_struct *tty);static void	stli_breakctl(struct tty_struct *tty, int state);static void	stli_waituntilsent(struct tty_struct *tty, int timeout);static void	stli_sendxchar(struct tty_struct *tty, char ch);static void	stli_hangup(struct tty_struct *tty);static int	stli_portinfo(stlibrd_t *brdp, stliport_t *portp, int portnr, char *pos);static int	stli_brdinit(stlibrd_t *brdp);static int	stli_startbrd(stlibrd_t *brdp);static ssize_t	stli_memread(struct file *fp, char *buf, size_t count, loff_t *offp);static ssize_t	stli_memwrite(struct file *fp, const char *buf, size_t count, loff_t *offp);static int	stli_memioctl(struct inode *ip, struct file *fp, unsigned int cmd, unsigned long arg);static void	stli_brdpoll(stlibrd_t *brdp, volatile cdkhdr_t *hdrp);static void	stli_poll(unsigned long arg);static int	stli_hostcmd(stlibrd_t *brdp, stliport_t *portp);static int	stli_initopen(stlibrd_t *brdp, stliport_t *portp);static int	stli_rawopen(stlibrd_t *brdp, stliport_t *portp, unsigned long arg, int wait);static int	stli_rawclose(stlibrd_t *brdp, stliport_t *portp, unsigned long arg, int wait);static int	stli_waitcarrier(stlibrd_t *brdp, stliport_t *portp, struct file *filp);static void	stli_dohangup(void *arg);static void	stli_delay(int len);static int	stli_setport(stliport_t *portp);static int	stli_cmdwait(stlibrd_t *brdp, stliport_t *portp, unsigned long cmd, void *arg, int size, int copyback);static void	stli_sendcmd(stlibrd_t *brdp, stliport_t *portp, unsigned long cmd, void *arg, int size, int copyback);static void	stli_dodelaycmd(stliport_t *portp, volatile cdkctrl_t *cp);static void	stli_mkasyport(stliport_t *portp, asyport_t *pp, struct termios *tiosp);static void	stli_mkasysigs(asysigs_t *sp, int dtr, int rts);static long	stli_mktiocm(unsigned long sigvalue);static void	stli_read(stlibrd_t *brdp, stliport_t *portp);static void	stli_getserial(stliport_t *portp, struct serial_struct *sp);static int	stli_setserial(stliport_t *portp, struct serial_struct *sp);static int	stli_getbrdstats(combrd_t *bp);static int	stli_getportstats(stliport_t *portp, comstats_t *cp);static int	stli_portcmdstats(stliport_t *portp);static int	stli_clrportstats(stliport_t *portp, comstats_t *cp);static int	stli_getportstruct(unsigned long arg);static int	stli_getbrdstruct(unsigned long arg);static void	*stli_memalloc(int len);static stlibrd_t *stli_allocbrd(void);static void	stli_ecpinit(stlibrd_t *brdp);static void	stli_ecpenable(stlibrd_t *brdp);static void	stli_ecpdisable(stlibrd_t *brdp);static char	*stli_ecpgetmemptr(stlibrd_t *brdp, unsigned long offset, int line);static void	stli_ecpreset(stlibrd_t *brdp);static void	stli_ecpintr(stlibrd_t *brdp);static void	stli_ecpeiinit(stlibrd_t *brdp);static void	stli_ecpeienable(stlibrd_t *brdp);static void	stli_ecpeidisable(stlibrd_t *brdp);static char	*stli_ecpeigetmemptr(stlibrd_t *brdp, unsigned long offset, int line);static void	stli_ecpeireset(stlibrd_t *brdp);static void	stli_ecpmcenable(stlibrd_t *brdp);static void	stli_ecpmcdisable(stlibrd_t *brdp);static char	*stli_ecpmcgetmemptr(stlibrd_t *brdp, unsigned long offset, int line);static void	stli_ecpmcreset(stlibrd_t *brdp);static void	stli_ecppciinit(stlibrd_t *brdp);static char	*stli_ecppcigetmemptr(stlibrd_t *brdp, unsigned long offset, int line);static void	stli_ecppcireset(stlibrd_t *brdp);static void	stli_onbinit(stlibrd_t *brdp);static void	stli_onbenable(stlibrd_t *brdp);static void	stli_onbdisable(stlibrd_t *brdp);static char	*stli_onbgetmemptr(stlibrd_t *brdp, unsigned long offset, int line);static void	stli_onbreset(stlibrd_t *brdp);static void	stli_onbeinit(stlibrd_t *brdp);static void	stli_onbeenable(stlibrd_t *brdp);static void	stli_onbedisable(stlibrd_t *brdp);static char	*stli_onbegetmemptr(stlibrd_t *brdp, unsigned long offset, int line);static void	stli_onbereset(stlibrd_t *brdp);static void	stli_bbyinit(stlibrd_t *brdp);static char	*stli_bbygetmemptr(stlibrd_t *brdp, unsigned long offset, int line);static void	stli_bbyreset(stlibrd_t *brdp);static void	stli_stalinit(stlibrd_t *brdp);static char	*stli_stalgetmemptr(stlibrd_t *brdp, unsigned long offset, int line);static void	stli_stalreset(stlibrd_t *brdp);static stliport_t *stli_getport(int brdnr, int panelnr, int portnr);static inline int	stli_initbrds(void);static inline int	stli_initecp(stlibrd_t *brdp);static inline int	stli_initonb(stlibrd_t *brdp);static inline int	stli_findeisabrds(void);static inline int	stli_eisamemprobe(stlibrd_t *brdp);static inline int	stli_initports(stlibrd_t *brdp);static inline int	stli_getbrdnr(void);#ifdef	CONFIG_PCIstatic inline int	stli_findpcibrds(void);static inline int	stli_initpcibrd(int brdtype, struct pci_dev *devp);#endif/*****************************************************************************//* *	Define the driver info for a user level shared memory device. This *	device will work sort of like the /dev/kmem device - except that it *	will give access to the shared memory on the Stallion intelligent *	board. This is also a very useful debugging tool. */static struct file_operations	stli_fsiomem = {	owner:		THIS_MODULE,	read:		stli_memread,	write:		stli_memwrite,	ioctl:		stli_memioctl,};/*****************************************************************************//* *	Define a timer_list entry for our poll routine. The slave board *	is polled every so often to see if anything needs doing. This is *	much cheaper on host cpu than using interrupts. It turns out to *	not increase character latency by much either... */static struct timer_list	stli_timerlist = {	function: stli_poll};static int	stli_timeron;/* *	Define the calculation for the timeout routine. */#define	STLI_TIMEOUT	(jiffies + 1)/*****************************************************************************/#ifdef MODULE/* *	Loadable module initialization stuff. */int init_module(){	unsigned long	flags;#if DEBUG	printk("init_module()\n");#endif	save_flags(flags);	cli();	stli_init();	restore_flags(flags);	return(0);}/*****************************************************************************/void cleanup_module(){	stlibrd_t	*brdp;	stliport_t	*portp;	unsigned long	flags;	int		i, j;#if DEBUG	printk("cleanup_module()\n");#endif	printk(KERN_INFO "Unloading %s: version %s\n", stli_drvtitle,		stli_drvversion);	save_flags(flags);	cli();/* *	Free up all allocated resources used by the ports. This includes *	memory and interrupts. */	if (stli_timeron) {		stli_timeron = 0;		del_timer(&stli_timerlist);	}	i = tty_unregister_driver(&stli_serial);	j = tty_unregister_driver(&stli_callout);	if (i || j) {		printk("STALLION: failed to un-register tty driver, "			"errno=%d,%d\n", -i, -j);		restore_flags(flags);		return;	}	devfs_unregister (devfs_handle);	if ((i = devfs_unregister_chrdev(STL_SIOMEMMAJOR, "staliomem")))		printk("STALLION: failed to un-register serial memory device, "			"errno=%d\n", -i);	if (stli_tmpwritebuf != (char *) NULL)		kfree(stli_tmpwritebuf);	if (stli_txcookbuf != (char *) NULL)		kfree(stli_txcookbuf);	for (i = 0; (i < stli_nrbrds); i++) {		if ((brdp = stli_brds[i]) == (stlibrd_t *) NULL)			continue;		for (j = 0; (j < STL_MAXPORTS); j++) {			portp = brdp->ports[j];			if (portp != (stliport_t *) NULL) {				if (portp->tty != (struct tty_struct *) NULL)					tty_hangup(portp->tty);				kfree(portp);			}		}		iounmap(brdp->membase);		if (brdp->iosize > 0)			release_region(brdp->iobase, brdp->iosize);		kfree(brdp);		stli_brds[i] = (stlibrd_t *) NULL;	}	restore_flags(flags);}/*****************************************************************************//* *	Check for any arguments passed in on the module load command line. */static void stli_argbrds(){	stlconf_t	conf;	stlibrd_t	*brdp;	int		nrargs, i;#if DEBUG	printk("stli_argbrds()\n");#endif	nrargs = sizeof(stli_brdsp) / sizeof(char **);	for (i = stli_nrbrds; (i < nrargs); i++) {		memset(&conf, 0, sizeof(conf));		if (stli_parsebrd(&conf, stli_brdsp[i]) == 0)			continue;		if ((brdp = stli_allocbrd()) == (stlibrd_t *) NULL)			continue;		stli_nrbrds = i + 1;		brdp->brdnr = i;		brdp->brdtype = conf.brdtype;		brdp->iobase = conf.ioaddr1;		brdp->memaddr = conf.memaddr;		stli_brdinit(brdp);	}}/*****************************************************************************//* *	Convert an ascii string number into an unsigned long. */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕高清不卡| 美日韩黄色大片| 国产中文字幕一区| 99久久久免费精品国产一区二区| 欧美肥妇bbw| 一区二区三区欧美久久| 国产成人免费高清| 日韩欧美高清一区| 天天色综合成人网| 欧美综合亚洲图片综合区| 国产精品视频免费| 久久久久久久久久久久久久久99 | www.66久久| 精品欧美久久久| 日本女优在线视频一区二区| 国产亚洲欧美日韩在线一区| 午夜私人影院久久久久| 日本电影亚洲天堂一区| 亚洲欧美在线高清| 成人高清视频免费观看| 国产欧美日韩精品在线| 国产精品18久久久久久久久| 日韩精品一区二区三区中文不卡 | 亚洲欧洲制服丝袜| 成+人+亚洲+综合天堂| 日本一区二区电影| 国产麻豆精品一区二区| 久久久久久久综合日本| 国产精品一区不卡| 91在线视频播放| 欧美成人bangbros| 久久99深爱久久99精品| 精品国产91久久久久久久妲己| 日韩高清不卡一区| 日韩一区二区三区高清免费看看| 日日摸夜夜添夜夜添亚洲女人| 欧美性猛交一区二区三区精品| 亚洲精品第一国产综合野| 日韩欧美你懂的| 久久99精品久久只有精品| 精品久久久久一区| 国产黄色成人av| 亚洲欧洲另类国产综合| 色综合天天综合在线视频| 一区二区三区电影在线播| 在线免费av一区| 日韩电影在线免费| www精品美女久久久tv| 风间由美性色一区二区三区| 成人欧美一区二区三区白人| 在线免费观看视频一区| 蜜桃视频在线一区| 国产精品进线69影院| 欧美图片一区二区三区| 久久精品久久久精品美女| 日本一区二区三区国色天香 | 99久久精品免费| 亚洲影视在线播放| 日韩亚洲欧美成人一区| 成a人片国产精品| 亚洲超碰精品一区二区| 久久蜜桃一区二区| 色婷婷久久久综合中文字幕| 日本亚洲三级在线| 中文字幕在线播放不卡一区| 欧美丰满少妇xxxbbb| 成人深夜在线观看| 亚洲成人先锋电影| 中文字幕av免费专区久久| 欧美日韩精品三区| 国产乱子伦一区二区三区国色天香 | 91精品久久久久久久91蜜桃| 国产99精品国产| 亚洲成人激情自拍| 中文字幕制服丝袜成人av| 欧美一区中文字幕| 成人少妇影院yyyy| 秋霞午夜av一区二区三区| 国产精品久久久久永久免费观看 | 欧美国产欧美综合| 欧美精品tushy高清| 91片黄在线观看| 国产一区二区网址| 亚洲超碰97人人做人人爱| 国产精品美女久久久久久久网站| 91麻豆精品国产91久久久更新时间| 成人美女视频在线看| 精品一区在线看| 亚洲一本大道在线| 《视频一区视频二区| 亚洲精品在线三区| 在线成人小视频| 欧美主播一区二区三区美女| 大桥未久av一区二区三区中文| 久久99久国产精品黄毛片色诱| 亚洲成人先锋电影| 亚洲一级二级三级| 亚洲欧美日韩国产另类专区| 国产午夜精品福利| 久久久国产一区二区三区四区小说| 91麻豆精品国产自产在线| 欧美性生活大片视频| 日本道精品一区二区三区| 99精品在线观看视频| 粉嫩一区二区三区在线看| 国产精品77777竹菊影视小说| 美女免费视频一区| 美女视频黄 久久| 精品中文av资源站在线观看| 日本强好片久久久久久aaa| 亚洲成人激情综合网| 亚洲成人动漫精品| 亚洲国产成人91porn| 一区二区三区美女视频| 亚洲网友自拍偷拍| 五月开心婷婷久久| 日本不卡高清视频| 久久99国产精品久久| 国产精品12区| 91同城在线观看| 在线观看日韩电影| 69堂国产成人免费视频| 日韩一卡二卡三卡四卡| 久久久精品综合| 亚洲欧美在线aaa| 亚洲激情欧美激情| 日韩国产欧美三级| 国产一区二区三区蝌蚪| 国产寡妇亲子伦一区二区| 99免费精品在线观看| 在线欧美小视频| 欧美成人国产一区二区| 久久久另类综合| 亚洲免费电影在线| 日韩不卡一区二区| 国产乱淫av一区二区三区| 91丨九色porny丨蝌蚪| 欧美日韩亚洲综合一区| 2023国产精品自拍| 中日韩免费视频中文字幕| 亚洲视频每日更新| 秋霞午夜av一区二区三区| 国产一区二区三区高清播放| 91免费视频大全| 日韩欧美一级在线播放| ...av二区三区久久精品| 亚洲成人1区2区| 久久疯狂做爰流白浆xx| 91亚洲国产成人精品一区二区三| 91麻豆精品国产91久久久久久| 欧美经典三级视频一区二区三区| 亚洲小说欧美激情另类| 国产成人免费在线观看不卡| 欧美日韩综合不卡| 国产精品网站在线播放| 视频在线观看一区二区三区| 不卡的av在线播放| 欧美一级xxx| 有坂深雪av一区二区精品| 久久精品理论片| 在线观看一区二区视频| 国产日韩精品一区二区三区在线| 亚洲国产一二三| 99精品一区二区三区| 亚洲精品一区二区三区在线观看| 亚洲女同ⅹxx女同tv| 国产一区二区三区视频在线播放| 精品视频在线免费| 亚洲欧洲精品一区二区精品久久久| 精品一区二区三区av| 欧美日韩日本视频| 亚洲精选在线视频| 国产 欧美在线| 欧美第一区第二区| 日韩精品福利网| 欧美日韩在线亚洲一区蜜芽| 亚洲品质自拍视频| 成人网男人的天堂| 国产目拍亚洲精品99久久精品| 免费在线观看精品| 91精品国产综合久久小美女| 亚洲国产wwwccc36天堂| 在线观看视频一区二区| 亚洲区小说区图片区qvod| 99久久久久免费精品国产| 国产欧美日韩在线观看| 国产91高潮流白浆在线麻豆 | 欧美一激情一区二区三区| 亚洲精品成人在线| 一本一道综合狠狠老| 亚洲丝袜精品丝袜在线| 99久久99精品久久久久久| 中文字幕精品一区二区精品绿巨人| 国模冰冰炮一区二区| 久久夜色精品国产噜噜av| 九色综合国产一区二区三区| 久久一留热品黄| 成人免费视频一区二区| 国产精品国产a| 一本大道久久a久久综合婷婷|