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

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

?? wd7000.h

?? 內核是系統的心臟
?? H
字號:
#ifndef _WD7000_H

/* $Id: $
 *
 * Header file for the WD-7000 driver for Linux
 *
 * $Log: $
 * Revision 1.1  1992/07/24  06:27:38  root
 * Initial revision
 *
 * Revision 1.1  1992/07/05  08:32:32  root
 * Initial revision
 *
 * Revision 1.1  1992/05/15  18:38:05  root
 * Initial revision
 *
 * Revision 1.1  1992/04/02  03:23:13  drew
 * Initial revision
 *
 * Revision 1.3  1992/01/27  14:46:29  tthorn
 * *** empty log message ***
 *
 */

#include <linux/types.h>

#undef STATMASK
#undef CONTROL

#define IO_BASE 	0x350
#define IRQ_LVL 	15
#define DMA_CH  	6
#define OGMB_CNT	8
#define ICMB_CNT	16

/* I/O Port interface 4.2 */
/* READ */
#define ASC_STAT IO_BASE
#define INT_IM	0x80		/* Interrupt Image Flag */
#define CMD_RDY	0x40		/* Command Port Ready */
#define CMD_REJ	0x20		/* Command Port Byte Rejected */
#define ASC_INI	0x10		/* ASC Initialized Flag */
#define STATMASK 0xf0		/* The lower 4 Bytes are reserved */

/* This register serves two purposes
 * Diagnostics error code
 * Interrupt Status
 */
#define INTR_STAT ASC_STAT+1
#define ANYINTR	0x80		/* Mailbox Service possible/required */
#define IMB	0x40		/* 1 Incoming / 0 Outgoing */
#define MBMASK 0x3f
/* if MSb is zero, the lower bits are diagnostic status *
 * Diagnostics:
 * 01	No diagnostic error occurred
 * 02	RAM failure
 * 03	FIFO R/W failed
 * 04   SBIC register read/write failed
 * 05   Initialization D-FF failed
 * 06   Host IRQ D-FF failed
 * 07   ROM checksum error
 * Interrupt status (bitwise):
 * 10NNNNNN   outgoing mailbox NNNNNN is free
 * 11NNNNNN   incoming mailbox NNNNNN needs service
 */

/* WRITE */
#define COMMAND ASC_STAT
/*
 *  COMMAND opcodes
 */
#define NO_OP             0
#define INITIALIZATION    1     /* initialization after reset (10 bytes) */
#define DISABLE_UNS_INTR  2     /* disable unsolicited interrupts */
#define ENABLE_UNS_INTR   3     /* enable unsolicited interrupts */
#define INTR_ON_FREE_OGMB 4     /* interrupt on free OGMB */
#define SCSI_SOFT_RESET   5     /* SCSI soft reset */
#define SCSI_HARD_RESET   6     /* SCSI hard reset acknowledge */
#define START_OGMB        0x80  /* start command in OGMB (n) */
#define SCAN_OGMBS        0xc0  /* start multiple commands, signature (n) */
                                /*    where (n) = lower 6 bits */
/*
 *  For INITIALIZATION:
 */
#define BUS_ON            48    /* x 125ns, 48 = 6000ns, BIOS uses 8000ns */
#define BUS_OFF           24    /* x 125ns, 24 = 3000ns, BIOS uses 1875ns */
 
#define INTR_ACK ASC_STAT+1


#define CONTROL ASC_STAT+2
#define INT_EN	0x08		/* Interrupt Enable	*/
#define DMA_EN	0x04		/* DMA Enable		*/
#define SCSI_RES	0x02	/* SCSI Reset		*/
#define ASC_RES	0x01		/* ASC Reset		*/

/* Mailbox Definition */

struct wd_mailbox{
	unchar status;
	unchar scbptr[3];
};


/* These belong in scsi.h also */
#undef any2scsi
#define any2scsi(up, p)			\
(up)[0] = (((long)(p)) >> 16);	\
(up)[1] = ((long)(p)) >> 8;		\
(up)[2] = ((long)(p));

#define scsi2int(up) ( (((long)*(up)) << 16) + (((long)(up)[1]) << 8) + ((long)(up)[2]) )

#define xany2scsi(up, p)	\
(up)[0] = ((long)(p)) >> 24;	\
(up)[1] = ((long)(p)) >> 16;	\
(up)[2] = ((long)(p)) >> 8;	\
(up)[3] = ((long)(p));

#define xscsi2int(up) ( (((long)(up)[0]) << 24) + (((long)(up)[1]) << 16) \
		      + (((long)(up)[2]) <<  8) +  ((long)(up)[3]) )

#define MAX_CDB 12
#define MAX_SENSE 14

typedef struct scb {		/* Command Control Block 5.4.1 */
  unchar op;			/* Command Control Block Operation Code */
  unchar idlun;			/* op=0,2:Target Id, op=1:Initiator Id */
				/* Outbound data transfer, length is checked*/
				/* Inbound data transfer, length is checked */
				/* Logical Unit Number */
  unchar cdb[12];		/* SCSI Command Block */
  unchar status;		/* SCSI Return Status */
  unchar vue;			/* Vendor Unique Error Code */
  unchar maxlen[3];		/* Maximum Data Transfer Length */
  unchar dataptr[3];		/* SCSI Data Block Pointer */
  unchar linkptr[3];		/* Next Command Link Pointer */
  unchar direc;			/* Transfer Direction */
  unchar reserved2[6];		/* SCSI Command Descriptor Block */
                                /* end of hardware SCB */
  Scsi_Cmnd *SCpnt;             /* Scsi_Cmnd using this SCB */
  struct scb *next;             /* for lists of scbs */
} Scb;

/*
 *  WD7000-specific scatter/gather element structure
 */
typedef struct sgb {
    unchar len[3];
    unchar ptr[3];
} Sgb;

/*
 *  Note:  MAX_SCBS _must_ be defined large enough to keep ahead of the
 *  demand for SCBs, which will be at most WD7000_Q * WD7000_SG.  1 is
 *  added to each because they can be 0.
 */
#define MAX_SCBS  ((WD7000_Q+1) * (WD7000_SG+1))

/*
 *  The driver is written to allow host-only commands to be executed.  These
 *  use a 16-byte block called an ICB.
 *
 *  (Currently, only wd7000_info uses this, to get the firmware rev. level.)
 */
#define ICB_STATUS  16          /* set to icmb status by wd7000_intr_handle */
#define ICB_PHASE   17          /* set to 0 by wd7000_intr_handle */
#define ICB_LEN     18          /* actually 16; this includes the above */

int wd7000_detect(int);
int wd7000_command(Scsi_Cmnd *);
int wd7000_queuecommand(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
int wd7000_abort(Scsi_Cmnd *, int);
const char *wd7000_info(void);
int wd7000_reset(Scsi_Cmnd *);
int wd7000_biosparam(int, int, int*);

#ifndef NULL
	#define NULL 0
#endif

/*
 *  Define WD7000_SG to be the number of Sgbs that will fit in a block of
 *  size WD7000_SCRIBBLE.  WD7000_SCRIBBLE must be 512, 1024, 2048, or 4096.
 *
 *  The sg_tablesize value will default to SG_NONE for older boards (before
 *  rev 7.0), but will be changed to WD7000_SG when a newer board is
 *  detected.
 */
#define WD7000_SCRIBBLE  512

#define WD7000_Q    OGMB_CNT
#define WD7000_SG   (WD7000_SCRIBBLE / sizeof(Sgb))

#define WD7000 {\
	"Western Digital WD-7000",      \
	wd7000_detect,                  \
	wd7000_info, wd7000_command,	\
	wd7000_queuecommand,	        \
	wd7000_abort,			\
	wd7000_reset,			\
	NULL,                           \
	wd7000_biosparam,               \
	WD7000_Q, 7, SG_NONE, 1, 0, 1}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区理论电影在线观看| 日韩免费观看2025年上映的电影| 奇米影视7777精品一区二区| 尤物av一区二区| 成人av在线播放网站| 久久久久亚洲蜜桃| 欧美探花视频资源| 精品视频在线看| 国产精品久久毛片a| 日韩制服丝袜先锋影音| 91影院在线观看| 欧美国产禁国产网站cc| 久久网这里都是精品| 国产电影精品久久禁18| 亚洲人亚洲人成电影网站色| 成人黄色av电影| 国产欧美日韩综合精品一区二区| 91.xcao| 欧美久久一区二区| 欧美一卡在线观看| 成人性生交大片免费看视频在线| 经典一区二区三区| 国产不卡视频在线观看| 成人黄色在线网站| 日韩精品在线一区二区| 激情久久五月天| 亚洲国产综合人成综合网站| 激情五月播播久久久精品| 欧美xxxxx牲另类人与| 国产ts人妖一区二区| 久久久久亚洲蜜桃| 日韩一区二区在线免费观看| 国产精品亲子伦对白| 欧美日韩一级二级| 久久国产精品免费| 综合久久久久久| 日韩一级片网址| 国产成人啪免费观看软件| 亚洲成人在线免费| 日韩欧美三级在线| 国产成人免费9x9x人网站视频| 亚洲午夜久久久久久久久电影院| 日韩欧美一级二级三级久久久| 国产成人一区在线| 丝袜美腿亚洲色图| 亚洲最新视频在线观看| 欧美老肥妇做.爰bbww视频| 久久97超碰色| 亚洲精品日韩专区silk| 中文字幕av不卡| 欧美一级二级三级蜜桃| 日韩激情一区二区| 国产精品免费久久| 26uuuu精品一区二区| 欧美中文字幕久久| 国产精品综合一区二区| 色综合久久久久| 日韩欧美亚洲另类制服综合在线| 午夜影视日本亚洲欧洲精品| 欧美日韩在线观看一区二区 | 成人av网站在线| 久久综合国产精品| 国产jizzjizz一区二区| 日韩精品影音先锋| 国产麻豆成人传媒免费观看| 成人一级黄色片| 欧美va亚洲va| 成人18视频日本| 中文字幕中文乱码欧美一区二区| 欧美日韩国产精品自在自线| 国产精品99久久不卡二区| 国产欧美一区二区在线| 亚洲国产一区视频| 国产精品久久久久7777按摩| 88在线观看91蜜桃国自产| 成人福利在线看| 国产自产高清不卡| 美脚の诱脚舐め脚责91| 蜜桃精品在线观看| 欧美色图在线观看| 国产精品996| 美女视频网站黄色亚洲| 久久久久久久久久久99999| 国产精品一区二区不卡| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩美女视频在线| 精品美女在线播放| 精品国产不卡一区二区三区| 日韩欧美一二区| 日韩午夜激情电影| 91精品国产入口| 91美女在线观看| 久久国产视频网| 中文字幕制服丝袜成人av| 欧美电影免费观看高清完整版 | 色综合天天综合| 一区二区三区不卡视频| 久久久亚洲欧洲日产国码αv| 日韩精品一区二区三区swag| 日韩一级片网址| 欧美精品一级二级| 日韩美女主播在线视频一区二区三区| 欧美日韩三级视频| 制服丝袜在线91| 国产亚洲一区二区在线观看| 久久夜色精品国产噜噜av| 91精品国产一区二区| 日韩不卡免费视频| 中文字幕不卡一区| 国产精品成人免费| 亚洲一区二区三区影院| 久久精品国产成人一区二区三区| 国产精品中文字幕一区二区三区| 国产精品亚洲成人| 色婷婷国产精品久久包臀| 欧美天堂一区二区三区| 欧美日韩国产综合视频在线观看| 欧美不卡在线视频| 欧美国产乱子伦| 一区二区三区日韩在线观看| 麻豆91免费看| 成人福利视频网站| 成人午夜碰碰视频| 日韩色在线观看| 欧美精彩视频一区二区三区| 国产精品成人一区二区三区夜夜夜 | 精品久久久三级丝袜| 国产日韩高清在线| 一区二区高清视频在线观看| 青椒成人免费视频| bt7086福利一区国产| 亚洲二区在线观看| 亚洲国产一二三| 麻豆精品蜜桃视频网站| 在线观看一区不卡| 精品久久久久久亚洲综合网| 一区二区三区视频在线看| 精品一区二区三区蜜桃| www.欧美色图| 欧美电影免费观看完整版| 亚洲欧美成aⅴ人在线观看 | 久久久99久久精品欧美| 夜夜爽夜夜爽精品视频| 国内精品自线一区二区三区视频| 91小视频在线| 日韩欧美在线综合网| |精品福利一区二区三区| 免费观看一级特黄欧美大片| 成人丝袜18视频在线观看| www.激情成人| 国产天堂亚洲国产碰碰| 亚洲日本在线视频观看| 五月天激情小说综合| 日韩高清中文字幕一区| 欧美亚男人的天堂| 亚洲日本青草视频在线怡红院| 国产成人av一区二区三区在线| 欧美不卡激情三级在线观看| 免费一级欧美片在线观看| 欧美理论片在线| 天堂影院一区二区| 欧美性猛片aaaaaaa做受| 日本精品视频一区二区| 国产精品亲子伦对白| 国产91富婆露脸刺激对白| 精品国产一区二区三区久久影院 | 色激情天天射综合网| 国产精品美女视频| 国产ts人妖一区二区| 国产欧美精品在线观看| 成人动漫中文字幕| 日韩美女精品在线| 在线一区二区视频| 亚洲一二三四区| 欧美精品v国产精品v日韩精品| 午夜视频一区二区| 欧美sm极限捆绑bd| 国产精品99久| 亚洲欧美另类小说| 欧美制服丝袜第一页| 肉色丝袜一区二区| 欧美成人官网二区| 国产高清亚洲一区| 综合欧美亚洲日本| 欧美少妇性性性| 久久精品免费观看| 国产日本欧美一区二区| 91麻豆国产精品久久| 午夜国产精品一区| 2020国产精品自拍| 不卡在线观看av| 亚洲国产成人91porn| 日韩欧美中文字幕制服| 成人午夜激情视频| 亚洲成va人在线观看| 精品国产乱码久久久久久浪潮| 国产精品一区二区久激情瑜伽| 亚洲精品免费一二三区| 91精品国产一区二区三区香蕉| 国产精品123|