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

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

?? ncr.c

?? 國產CPU-龍芯(loongson)BIOS源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
	struct timeval	reselect;};/***	profiling data (per device)*/struct profile {	u_long	num_trans;	u_long	num_bytes;	u_long	num_disc;	u_long	num_break;	u_long	num_int;	u_long	num_fly;	u_long	ms_setup;	u_long	ms_data;	u_long	ms_disc;	u_long	ms_post;};/*==========================================================****	Declaration of structs:		target control block****==========================================================*/struct tcb {	/*	**	during reselection the ncr jumps to this point	**	with SFBR set to the encoded target number	**	with bit 7 set.	**	if it's not this target, jump to the next.	**	**	JUMP  IF (SFBR != #target#)	**	@(next tcb)	*/	struct link   jump_tcb;	/*	**	load the actual values for the sxfer and the scntl3	**	register (sync/wide mode).	**	**	SCR_COPY (1);	**	@(sval field of this tcb)	**	@(sxfer register)	**	SCR_COPY (1);	**	@(wval field of this tcb)	**	@(scntl3 register)	*/	ncrcmd	getscr[6];	/*	**	if next message is "identify"	**	then load the message to SFBR,	**	else load 0 to SFBR.	**	**	CALL	**	<RESEL_LUN>	*/	struct link   call_lun;	/*	**	now look for the right lun.	**	**	JUMP	**	@(first ccb of this lun)	*/	struct link   jump_lcb;	/*	**	pointer to interrupted getcc ccb	*/	ccb_p   hold_cp;	/*	**	pointer to ccb used for negotiating.	**	Avoid to start a nego for all queued commands	**	when tagged command queuing is enabled.	*/	ccb_p   nego_cp;	/*	**	statistical data	*/	u_long	transfers;	u_long	bytes;	/*	**	user settable limits for sync transfer	**	and tagged commands.	*/	u_char	usrsync;	u_char	usrtags;	u_char	usrwide;	u_char	usrflag;	/*	**	negotiation of wide and synch transfer.	**	device quirks.	*//*0*/	u_char	minsync;/*1*/	u_char	sval;/*2*/	u_short	period;/*0*/	u_char	maxoffs;/*1*/	u_char	quirks;/*2*/	u_char	widedone;/*3*/	u_char	wval;	/*	**	inquire data	*/#define MAX_INQUIRE 36	u_char	inqdata[MAX_INQUIRE];	/*	**	the lcb's of this tcb	*/	lcb_p   lp[MAX_LUN];};/*==========================================================****	Declaration of structs:		lun control block****==========================================================*/struct lcb {	/*	**	during reselection the ncr jumps to this point	**	with SFBR set to the "Identify" message.	**	if it's not this lun, jump to the next.	**	**	JUMP  IF (SFBR != #lun#)	**	@(next lcb of this target)	*/	struct link	jump_lcb;	/*	**	if next message is "simple tag",	**	then load the tag to SFBR,	**	else load 0 to SFBR.	**	**	CALL	**	<RESEL_TAG>	*/	struct link	call_tag;	/*	**	now look for the right ccb.	**	**	JUMP	**	@(first ccb of this lun)	*/	struct link	jump_ccb;	/*	**	start of the ccb chain	*/	ccb_p	next_ccb;	/*	**	Control of tagged queueing	*/	u_char		reqccbs;	u_char		actccbs;	u_char		reqlink;	u_char		actlink;	u_char		usetags;	u_char		lasttag;};/*==========================================================****      Declaration of structs:     COMMAND control block****==========================================================****	This substructure is copied from the ccb to a**	global address after selection (or reselection)**	and copied back before disconnect.****	These fields are accessible to the script processor.****----------------------------------------------------------*/struct head {	/*	**	Execution of a ccb starts at this point.	**	It's a jump to the "SELECT" label	**	of the script.	**	**	After successful selection the script	**	processor overwrites it with a jump to	**	the IDLE label of the script.	*/	struct link	launch;	/*	**	Saved data pointer.	**	Points to the position in the script	**	responsible for the actual transfer	**	of data.	**	It's written after reception of a	**	"SAVE_DATA_POINTER" message.	**	The goalpointer points after	**	the last transfer command.	*/	u_int32_t	savep;	u_int32_t	lastp;	u_int32_t	goalp;	/*	**	The virtual address of the ccb	**	containing this header.	*/	ccb_p	cp;	/*	**	space for some timestamps to gather	**	profiling data about devices and this driver.	*/	struct tstamp	stamp;	/*	**	status fields.	*/	u_char		status[8];};/***	The status bytes are used by the host and the script processor.****	The first four byte are copied to the scratchb register**	(declared as scr0..scr3 in ncrreg.h) just after the select/reselect,**	and copied back just after disconnecting.**	Inside the script the XX_REG are used.****	The last four bytes are used inside the script by "COPY" commands.**	Because source and destination must have the same alignment**	in a longword, the fields HAVE to be at the choosen offsets.**		xerr_st	(4)	0	(0x34)	scratcha**		sync_st	(5)	1	(0x05)	sxfer**		wide_st	(7)	3	(0x03)	scntl3*//***	First four bytes (script)*/#define  QU_REG	scr0#define  HS_REG	scr1#define  HS_PRT	nc_scr1#define  SS_REG	scr2#define  PS_REG	scr3/***	First four bytes (host)*/#define  actualquirks  phys.header.status[0]#define  host_status   phys.header.status[1]#define  scsi_status   phys.header.status[2]#define  parity_status phys.header.status[3]/***	Last four bytes (script)*/#define  xerr_st       header.status[4]	/* MUST be ==0 mod 4 */#define  sync_st       header.status[5]	/* MUST be ==1 mod 4 */#define  nego_st       header.status[6]#define  wide_st       header.status[7]	/* MUST be ==3 mod 4 *//***	Last four bytes (host)*/#define  xerr_status   phys.xerr_st#define  sync_status   phys.sync_st#define  nego_status   phys.nego_st#define  wide_status   phys.wide_st/*==========================================================****      Declaration of structs:     Data structure block****==========================================================****	During execution of a ccb by the script processor,**	the DSA (data structure address) register points**	to this substructure of the ccb.**	This substructure contains the header with**	the script-processor-changable data and**	data blocks for the indirect move commands.****----------------------------------------------------------*/struct dsb {	/*	**	Header.	**	Has to be the first entry,	**	because it's jumped to by the	**	script processor	*/	struct head	header;	/*	**	Table data for Script	*/	struct scr_tblsel  select;	struct scr_tblmove smsg  ;	struct scr_tblmove smsg2 ;	struct scr_tblmove cmd   ;	struct scr_tblmove scmd  ;	struct scr_tblmove sense ;	struct scr_tblmove data [MAX_SCATTER];};/*==========================================================****      Declaration of structs:     Command control block.****==========================================================****	During execution of a ccb by the script processor,**	the DSA (data structure address) register points**	to this substructure of the ccb.**	This substructure contains the header with**	the script-processor-changable data and then**	data blocks for the indirect move commands.****----------------------------------------------------------*/struct ccb {	/*	**	This filler ensures that the global header is	**	cache line size aligned.	*/	ncrcmd	filler[4];	/*	**	during reselection the ncr jumps to this point.	**	If a "SIMPLE_TAG" message was received,	**	then SFBR is set to the tag.	**	else SFBR is set to 0	**	If looking for another tag, jump to the next ccb.	**	**	JUMP  IF (SFBR != #TAG#)	**	@(next ccb of this lun)	*/	struct link		jump_ccb;	/*	**	After execution of this call, the return address	**	(in  the TEMP register) points to the following	**	data structure block.	**	So copy it to the DSA register, and start	**	processing of this data structure.	**	**	CALL	**	<RESEL_TMP>	*/	struct link		call_tmp;	/*	**	This is the data structure which is	**	to be executed by the script processor.	*/	struct dsb		phys;	/*	**	If a data transfer phase is terminated too early	**	(after reception of a message (i.e. DISCONNECT)),	**	we have to prepare a mini script to transfer	**	the rest of the data.	*/	ncrcmd			patch[8];	/*	**	The general SCSI driver provides a	**	pointer to a control block.	*/	struct scsi_xfer	*xfer;	/*	**	We prepare a message to be sent after selection,	**	and a second one to be sent after getcc selection.	**      Contents are IDENTIFY and SIMPLE_TAG.	**	While negotiating sync or wide transfer,	**	a SDTM or WDTM message is appended.	*/	u_char			scsi_smsg [8];	u_char			scsi_smsg2[8];#if defined(__mips__)	u_char			local_sense[sizeof(struct scsi_sense_data)];#endif	/*	**	Lock this ccb.	**	Flag is used while looking for a free ccb.	*/	u_long		magic;	/*	**	Physical address of this instance of ccb	*/	u_long		p_ccb;	/*	**	Completion time out for this job.	**	It's set to time of start + allowed number of seconds.	*/	u_long		tlimit;	/*	**	All ccbs of one hostadapter are chained.	*/	ccb_p		link_ccb;	/*	**	All ccbs of one target/lun are chained.	*/	ccb_p		next_ccb;	/*	**	Sense command	*/	u_char		sensecmd[6];	/*	**	Tag for this transfer.	**	It's patched into jump_ccb.	**	If it's not zero, a SIMPLE_TAG	**	message is included in smsg.	*/	u_char			tag;};#define CCB_PHYS(cp,lbl)	(cp->p_ccb + offsetof(struct ccb, lbl))/*==========================================================****      Declaration of structs:     NCR device descriptor****==========================================================*/struct ncb {#ifndef __OpenBSD__	/*	**	The global header.	**	Accessible to both the host and the	**	script-processor.	**	We assume it is cache line size aligned.	*/	struct head     header;#endif#ifdef __OpenBSD__	struct device sc_dev;	pci_chipset_tag_t sc_pc;	void *sc_ih;	bus_space_tag_t sc_st;	bus_space_handle_t sc_sh;	int sc_iomapped;#else /* !__OpenBSD__ */	int	unit;#endif /* __OpenBSD__ */	/*-----------------------------------------------	**	Scripts ..	**-----------------------------------------------	**	**	During reselection the ncr jumps to this point.	**	The SFBR register is loaded with the encoded target id.	**	**	Jump to the first target.	**	**	JUMP	**	@(next tcb)	*/	struct link     jump_tcb;	/*-----------------------------------------------	**	Configuration ..	**-----------------------------------------------	**	**	virtual and physical addresses	**	of the 53c810 chip.	*/#ifdef __OpenBSD__	bus_addr_t	paddr;	bus_space_tag_t ram_tag;	bus_space_handle_t ram_handle;	bus_addr_t	paddr2;	int		scriptmapped;#else	vm_offset_t     vaddr;	vm_offset_t     paddr;	vm_offset_t     vaddr2;	vm_offset_t     paddr2;	/*	**	pointer to the chip's registers.	*/	volatile	struct ncr_reg* reg;#endif	/*	**	Scripts instance virtual address.	*/	struct script	*script;	struct scripth	*scripth;	/*	**	Scripts instance physical address.	*/	u_long		p_script;	u_long		p_scripth;	/*	**	The SCSI address of the host adapter.	*/	u_char		myaddr;	/*	**	timing parameters	*/	u_char		minsync;	/* Minimum sync period factor	*/	u_char		maxsync;	/* Maximum sync period factor	*/	u_char		maxoffs;	/* Max scsi offset		*/	u_char		clock_divn;	/* Number of clock divisors	*/	u_long		clock_khz;	/* SCSI clock frequency in KHz	*/	u_long		features;	/* Chip features map		*/	u_char		multiplier;	/* Clock multiplier (1,2,4)	*/	u_char		maxburst;	/* log base 2 of dwords burst	*/	/*	**	BIOS supplied PCI bus options	*/	u_char		rv_scntl3;	u_char		rv_dcntl;	u_char		rv_dmode;	u_char		rv_ctest3;	u_char		rv_ctest4;	u_char		rv_ctest5;	u_char		rv_gpcntl;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日穴在线视频| 91一区二区在线观看| 色综合久久九月婷婷色综合| 欧美精品丝袜中出| 中文字幕乱码亚洲精品一区 | 久久久九九九九| 亚洲综合999| 国产69精品一区二区亚洲孕妇| 色婷婷亚洲精品| 中文字幕免费观看一区| 日本欧美一区二区| 欧洲视频一区二区| 1区2区3区国产精品| 国产一区二区在线观看视频| 69堂成人精品免费视频| 一区二区三区四区亚洲| 国产高清不卡一区二区| 26uuu色噜噜精品一区| 日本va欧美va瓶| 欧美日韩国产成人在线91| 国产精品九色蝌蚪自拍| 国产宾馆实践打屁股91| 精品国精品国产| 卡一卡二国产精品| 国产日韩欧美高清在线| 免费成人你懂的| 色婷婷综合久久久久中文一区二区 | 亚洲成人三级小说| 欧美三级资源在线| 亚洲成a人片在线观看中文| 色偷偷久久一区二区三区| 亚洲人成伊人成综合网小说| 91污片在线观看| 亚洲一二三四区不卡| 欧美日韩美女一区二区| 亚洲美腿欧美偷拍| 欧美日韩一级视频| 午夜精品爽啪视频| 欧美一区二区免费视频| 国产综合色视频| 精品久久久久一区二区国产| 国产精品小仙女| 一区二区三区日韩在线观看| www.亚洲色图.com| 亚洲一区二区影院| 久久亚洲私人国产精品va媚药| 久久成人精品无人区| 最新热久久免费视频| 欧美日韩国产大片| 成人免费视频一区| 蜜桃视频第一区免费观看| 精品电影一区二区| 色婷婷综合久色| 国产乱码精品1区2区3区| 一区二区三区视频在线观看| 精品美女在线播放| 欧美做爰猛烈大尺度电影无法无天| 石原莉奈在线亚洲二区| 国产精品久久久久久久岛一牛影视| 欧美日韩黄色影视| 国产综合成人久久大片91| 亚洲乱码国产乱码精品精的特点| 7799精品视频| 91久久精品一区二区| 国产精品一级片| 亚洲色图欧洲色图| 国产亚洲女人久久久久毛片| 欧美日韩一区中文字幕| 99久久精品国产一区二区三区 | 精品视频一区三区九区| 9l国产精品久久久久麻豆| 国产精品一区二区三区99| 日产欧产美韩系列久久99| 亚洲综合色噜噜狠狠| 亚洲三级小视频| 亚洲国产精品国自产拍av| 精品国产乱码久久久久久牛牛| 久久久久青草大香线综合精品| 国产黄色成人av| 日韩欧美区一区二| 国产精品1区二区.| 亚洲欧美日韩国产中文在线| 欧美日韩在线精品一区二区三区激情 | 99精品视频一区二区| 亚洲欧美激情一区二区| 欧美日本乱大交xxxxx| 蜜桃视频在线观看一区二区| 亚洲国产成人午夜在线一区 | 日本aⅴ亚洲精品中文乱码| 久久久无码精品亚洲日韩按摩| 97se亚洲国产综合在线| 亚洲成人资源在线| 久久精品一级爱片| 欧美日韩色综合| 国产999精品久久久久久绿帽| 亚洲黄色小视频| 精品国产乱码久久久久久夜甘婷婷| av不卡一区二区三区| 麻豆免费精品视频| 亚洲精品国产a| 久久久美女艺术照精彩视频福利播放| 色综合欧美在线视频区| 激情综合色综合久久综合| 综合分类小说区另类春色亚洲小说欧美| 91精品国产欧美一区二区成人| 成人国产免费视频| 美日韩黄色大片| 亚洲欧洲综合另类| 久久综合av免费| 欧美日本在线观看| 91在线观看美女| 国内偷窥港台综合视频在线播放| 亚洲精品成a人| 国产日韩v精品一区二区| 91麻豆精品国产自产在线观看一区| 成人97人人超碰人人99| 免费人成网站在线观看欧美高清| 亚洲美女偷拍久久| 中文字幕成人在线观看| 欧美一级高清片| 欧美亚洲图片小说| 白白色 亚洲乱淫| 精品一区二区三区的国产在线播放| 一区二区三区欧美久久| 国产欧美日产一区| 欧美变态tickling挠脚心| 欧美专区亚洲专区| 91色porny蝌蚪| 春色校园综合激情亚洲| 激情综合五月天| 日韩av一二三| 亚洲电影一区二区| 中文字幕亚洲一区二区av在线| 日韩女优毛片在线| 欧美精品日韩一区| 欧美午夜精品久久久久久超碰| 成人激情免费电影网址| 国产精品中文字幕一区二区三区| 日本在线播放一区二区三区| 亚洲国产精品久久久久婷婷884| 成人免费在线视频观看| 亚洲国产成人一区二区三区| 久久久久免费观看| 久久理论电影网| 精品国产青草久久久久福利| 欧美日韩aaaaaa| 欧美精品免费视频| 欧美日韩久久久一区| 在线观看欧美黄色| 日本韩国一区二区三区| 91日韩一区二区三区| 99re热这里只有精品视频| thepron国产精品| 成人综合婷婷国产精品久久| 国产69精品久久777的优势| 国产成人在线看| 粉嫩13p一区二区三区| 成人性生交大片免费看在线播放| 国产盗摄一区二区| 成人理论电影网| 成人黄色a**站在线观看| 99这里只有精品| 99国产精品视频免费观看| 91小视频在线观看| 欧美丝袜丝交足nylons| 欧美理论电影在线| 欧美一区二区三区白人| 欧美xxxx在线观看| 久久九九久久九九| 国产精品视频麻豆| 亚洲欧洲精品天堂一级 | 精品久久久久久无| 久久久久久久久久久久久女国产乱 | 在线精品亚洲一区二区不卡| 欧美亚洲高清一区二区三区不卡| 欧美视频精品在线| 5月丁香婷婷综合| 精品国产髙清在线看国产毛片| 久久在线观看免费| 中文字幕精品—区二区四季| 亚洲欧美另类在线| 亚洲成人高清在线| 美女视频一区二区三区| 国产成人免费在线观看| 色综合色狠狠综合色| 制服丝袜日韩国产| 久久一区二区视频| 中文字幕日韩一区| 婷婷综合在线观看| 国产精品一区在线| 91女人视频在线观看| 欧美日韩大陆一区二区| 26uuu精品一区二区三区四区在线| 久久九九久久九九| 亚洲愉拍自拍另类高清精品| 欧美bbbbb| 成人激情小说网站| 欧美精品日日鲁夜夜添| 国产日韩欧美制服另类| 亚洲欧美电影一区二区|