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

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

?? dma-arc.c

?? linux-2.4.29操作系統的源碼
?? C
字號:
/* *  linux/arch/arm/kernel/dma-arc.c * *  Copyright (C) 1998-1999 Dave Gilbert / Russell King * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * *  DMA functions specific to Archimedes and A5000 architecture */#include <linux/config.h>#include <linux/sched.h>#include <linux/init.h>#include <asm/dma.h>#include <asm/fiq.h>#include <asm/irq.h>#include <asm/io.h>#include <asm/hardware.h>#include <asm/mach-types.h>#include <asm/mach/dma.h>#define DPRINTK(x...) printk(KERN_DEBUG x)#if defined(CONFIG_BLK_DEV_FD1772) || defined(CONFIG_BLK_DEV_FD1772_MODULE)static void arc_floppy_data_enable_dma(dmach_t channel, dma_t *dma){	DPRINTK("arc_floppy_data_enable_dma\n");	switch (dma->dma_mode) {	case DMA_MODE_READ: { /* read */		extern unsigned char fdc1772_dma_read, fdc1772_dma_read_end;		extern void fdc1772_setupdma(unsigned int count,unsigned int addr);		unsigned long flags;		DPRINTK("enable_dma fdc1772 data read\n");		local_save_flags(flags);		__clf();					memcpy ((void *)0x1c, (void *)&fdc1772_dma_read,			&fdc1772_dma_read_end - &fdc1772_dma_read);		fdc1772_setupdma(dma->buf.length, dma->buf.address); /* Sets data pointer up */		enable_fiq(FIQ_FLOPPYDATA);		local_irq_restore(flags);	   }	   break;	case DMA_MODE_WRITE: { /* write */		extern unsigned char fdc1772_dma_write, fdc1772_dma_write_end;		extern void fdc1772_setupdma(unsigned int count,unsigned int addr);		unsigned long flags;		DPRINTK("enable_dma fdc1772 data write\n");		local_save_flags(flags);		__clf();		memcpy ((void *)0x1c, (void *)&fdc1772_dma_write,			&fdc1772_dma_write_end - &fdc1772_dma_write);		fdc1772_setupdma(dma->buf.length, dma->buf.address); /* Sets data pointer up */		enable_fiq(FIQ_FLOPPYDATA;		local_irq_restore(flags);	    }	    break;	default:		printk ("enable_dma: dma%d not initialised\n", channel);	}}static int arc_floppy_data_get_dma_residue(dmach_t channel, dma_t *dma){	extern unsigned int fdc1772_bytestogo;	/* 10/1/1999 DAG - I presume its the number of bytes left? */	return fdc1772_bytestogo;}static void arc_floppy_cmdend_enable_dma(dmach_t channel, dma_t *dma){	/* Need to build a branch at the FIQ address */	extern void fdc1772_comendhandler(void);	unsigned long flags;	DPRINTK("arc_floppy_cmdend_enable_dma\n");	/*printk("enable_dma fdc1772 command end FIQ\n");*/	local_save_flags(flags);	__clf();		/* B fdc1772_comendhandler */	*((unsigned int *)0x1c)=0xea000000 |			(((unsigned int)fdc1772_comendhandler-(0x1c+8))/4);	local_irq_restore(flags);}static int arc_floppy_cmdend_get_dma_residue(dmach_t channel, dma_t *dma){	/* 10/1/1999 DAG - Presume whether there is an outstanding command? */	extern unsigned int fdc1772_fdc_int_done;	/* Explicit! If the int done is 0 then 1 int to go */	return (fdc1772_fdc_int_done==0)?1:0;}static void arc_disable_dma(dmach_t channel, dma_t *dma){	disable_fiq(dma->dma_irq);}static struct dma_ops arc_floppy_data_dma_ops = {	.type		= "FIQDMA",	.enable		= arc_floppy_data_enable_dma,	.disable	= arc_disable_dma,	.residue	= arc_floppy_data_get_dma_residue,};static struct dma_ops arc_floppy_cmdend_dma_ops = {	.type		= "FIQCMD",	.enable		= arc_floppy_cmdend_enable_dma,	.disable	= arc_disable_dma,	.residue	= arc_floppy_cmdend_get_dma_residue,};#endif#ifdef CONFIG_ARCH_A5Kstatic struct fiq_handler fh = {	.name		= "floppydata",};static int a5k_floppy_get_dma_residue(dmach_t channel, dma_t *dma){	struct pt_regs regs;	get_fiq_regs(&regs);	return regs.ARM_r9;}static void a5k_floppy_enable_dma(dmach_t channel, dma_t *dma){	struct pt_regs regs;	void *fiqhandler_start;	unsigned int fiqhandler_length;	extern void floppy_fiqsetup(unsigned long len, unsigned long addr,				     unsigned long port);	if (dma->dma_mode == DMA_MODE_READ) {		extern unsigned char floppy_fiqin_start, floppy_fiqin_end;		fiqhandler_start = &floppy_fiqin_start;		fiqhandler_length = &floppy_fiqin_end - &floppy_fiqin_start;	} else {		extern unsigned char floppy_fiqout_start, floppy_fiqout_end;		fiqhandler_start = &floppy_fiqout_start;		fiqhandler_length = &floppy_fiqout_end - &floppy_fiqout_start;	}	if (claim_fiq(&fh)) {		printk("floppydma: couldn't claim FIQ.\n");		return;	}	memcpy((void *)0x1c, fiqhandler_start, fiqhandler_length);	regs.ARM_r9 = dma->buf.length;	regs.ARM_r10 = (unsigned long)dma->buf.address;	regs.ARM_fp = FLOPPYDMA_BASE;	set_fiq_regs(&regs);	enable_fiq(dma->dma_irq);}static void a5k_floppy_disable_dma(dmach_t channel, dma_t *dma){	disable_fiq(dma->dma_irq);	release_fiq(&fh);}static struct dma_ops a5k_floppy_dma_ops = {	.type		= "FIQDMA",	.enable		= a5k_floppy_enable_dma,	.disable	= a5k_floppy_disable_dma,	.residue	= a5k_floppy_get_dma_residue,};#endif/* * This is virtual DMA - we don't need anything here */static void sound_enable_disable_dma(dmach_t channel, dma_t *dma){}static struct dma_ops sound_dma_ops = {	.type		= "VIRTUAL",	.enable		= sound_enable_disable_dma,	.disable	= sound_enable_disable_dma,};void __init arch_dma_init(dma_t *dma){#if defined(CONFIG_BLK_DEV_FD1772) || defined(CONFIG_BLK_DEV_FD1772_MODULE)	if (machine_is_archimedes()) {		dma[DMA_VIRTUAL_FLOPPY0].dma_irq = FIQ_FLOPPYDATA;		dma[DMA_VIRTUAL_FLOPPY0].d_ops   = &arc_floppy_data_dma_ops;		dma[DMA_VIRTUAL_FLOPPY1].dma_irq = 1;		dma[DMA_VIRTUAL_FLOPPY1].d_ops   = &arc_floppy_cmdend_dma_ops;	}#endif#ifdef CONFIG_ARCH_A5K	if (machine_is_a5k()) {		dma[DMA_VIRTUAL_FLOPPY0].dma_irq = FIQ_FLOPPYDATA;		dma[DMA_VIRTUAL_FLOPPY0].d_ops   = &a5k_floppy_dma_ops;	}#endif	dma[DMA_VIRTUAL_SOUND].d_ops = &sound_dma_ops;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品乱码一区二区三区软件| 国产精品不卡在线| 国产亚洲女人久久久久毛片| 亚洲欧洲制服丝袜| 久久精品国产99久久6| 91精品福利视频| 国产欧美日韩一区二区三区在线观看| 日韩在线观看一区二区| av不卡在线播放| 精品国产91乱码一区二区三区| 亚洲精品视频一区| 成人18视频在线播放| www国产成人| 日本成人在线网站| 精品视频在线视频| 亚洲综合免费观看高清完整版在线| 久久精品72免费观看| 欧美年轻男男videosbes| 亚洲主播在线播放| 一本久道久久综合中文字幕| 中文成人综合网| 国产成人自拍网| 欧美精品一区二区精品网| 视频在线观看一区| 欧美日韩国产免费一区二区| 亚洲图片欧美综合| 色婷婷综合在线| 亚洲综合久久久| 欧美日韩国产综合视频在线观看| 亚洲无人区一区| 欧美日韩视频专区在线播放| 亚洲午夜精品久久久久久久久| 日本高清无吗v一区| 伊人开心综合网| 欧美蜜桃一区二区三区| 日日夜夜免费精品| 欧美一级免费大片| 激情深爱一区二区| 国产婷婷色一区二区三区| 成人免费三级在线| 一区二区中文视频| 欧洲视频一区二区| 日韩精品免费视频人成| 欧美一级黄色片| 国产不卡视频一区| 亚洲欧美日韩精品久久久久| 日本高清不卡视频| 乱一区二区av| 欧美国产激情二区三区| 一本久道久久综合中文字幕| 无码av免费一区二区三区试看 | 欧美精品一区二区三区很污很色的 | 成人午夜av在线| 亚洲婷婷在线视频| 欧美一区二区三区婷婷月色| 国产一区美女在线| 亚洲精品免费一二三区| 欧美日韩不卡一区| 国产精品18久久久久久vr| 国产精品久久福利| 在线不卡的av| 成人激情免费网站| 亚洲1区2区3区4区| 久久精品网站免费观看| 日本丶国产丶欧美色综合| 麻豆精品久久精品色综合| 中文字幕欧美国产| 欧美高清你懂得| jizz一区二区| 久久国内精品自在自线400部| 国产精品久久久一本精品| 91.com在线观看| 99久久精品国产网站| 久热成人在线视频| 亚洲自拍另类综合| 欧美极品美女视频| 日韩欧美一二三区| 色一情一乱一乱一91av| 国产一区二区久久| 日韩av高清在线观看| 亚洲欧美一区二区久久| 欧美精品一区二区三区高清aⅴ| 91福利区一区二区三区| 成人性色生活片| 另类欧美日韩国产在线| 亚洲午夜激情av| 亚洲欧洲韩国日本视频| 欧美精品一区二区久久婷婷| 在线电影一区二区三区| 色综合久久综合| 成人av在线资源| 韩国欧美国产一区| 秋霞午夜av一区二区三区| 亚洲黄色av一区| 日韩毛片在线免费观看| 国产日韩三级在线| 久久综合色一综合色88| 日韩欧美的一区二区| 欧美日韩一本到| 欧洲一区二区三区在线| 色综合久久中文字幕综合网 | 欧美日韩一本到| 在线观看国产91| 91黄色免费观看| 色哟哟欧美精品| 色偷偷一区二区三区| 色噜噜久久综合| 色8久久人人97超碰香蕉987| 成人av网站在线| 99久久精品国产一区| 99re成人精品视频| 9人人澡人人爽人人精品| 成人午夜激情在线| 91麻豆123| 欧美影视一区二区三区| 欧美综合天天夜夜久久| 欧美日韩中字一区| 欧美日本国产视频| 欧美一区二区三区思思人| 欧美成va人片在线观看| 精品乱人伦一区二区三区| 久久亚洲综合色一区二区三区| 欧美精品一区二区在线观看| 久久久精品蜜桃| 国产精品入口麻豆原神| 亚洲视频在线一区二区| 亚洲在线成人精品| 毛片av一区二区三区| 国产精品一区二区三区四区| 成人免费视频网站在线观看| 色美美综合视频| 日韩欧美国产不卡| 国产午夜精品一区二区三区嫩草 | 热久久久久久久| 国产福利一区二区三区| 91在线观看美女| 欧美日韩亚洲综合在线| 欧美大胆一级视频| 国产精品色婷婷| 午夜激情一区二区| 国产成人av一区二区三区在线| 99热精品国产| 日韩美女一区二区三区| 国产精品久久久久影院亚瑟| 亚洲成精国产精品女| 国产精品18久久久久久久久久久久 | 日韩一二三四区| 日本一区二区视频在线观看| 亚洲第一狼人社区| 国产福利视频一区二区三区| 欧美无砖砖区免费| 久久久电影一区二区三区| 伊人一区二区三区| 国产精品亚洲专一区二区三区| 日本韩国欧美一区| 国产婷婷精品av在线| 视频一区二区三区中文字幕| 国产福利一区在线观看| 在线综合视频播放| ㊣最新国产の精品bt伙计久久| 蜜臀av国产精品久久久久| 99在线视频精品| 精品国产区一区| 天天综合天天做天天综合| 福利视频网站一区二区三区| 制服丝袜成人动漫| 亚洲综合久久久久| jiyouzz国产精品久久| 久久―日本道色综合久久| 亚洲国产成人高清精品| 99热精品国产| 国产精品色眯眯| 国产成人精品综合在线观看 | 免费一级片91| 91精彩视频在线| 亚洲私人黄色宅男| 国产成人免费在线| 2023国产精品| 九色综合狠狠综合久久| 欧美人妖巨大在线| 亚洲综合小说图片| 色综合天天综合给合国产| 中文字幕av一区二区三区免费看| 国产一区二区三区综合| 精品国产一区二区三区四区四 | 欧美无人高清视频在线观看| 国产精品久久久久婷婷| 国产精品白丝av| 2022国产精品视频| 国产一区二区剧情av在线| 欧美电影免费提供在线观看| 天天做天天摸天天爽国产一区 | 日本高清不卡aⅴ免费网站| 日韩久久一区二区| 91丨九色丨蝌蚪丨老版| 亚洲品质自拍视频网站| 一本一道久久a久久精品 | 日韩精品自拍偷拍| 久久国内精品自在自线400部| 日韩精品一区二区三区蜜臀|