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

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

?? s5933.h

?? windows driver model開發的一個例子程序,適合初學者使用
?? H
字號:
// S5933.H -- Programming interface for AMCC S5933
// Copyright (C) 1999 by Walter Oney
// All rights reserved

#ifndef S5933_H
#define S5933_H

// References are to page numbers in "PCI Products Data Book S5920/S5933"
// (Applied Micro Curcuits Corporation 1998)

// With regard to DMA, note that a "read" means a memory-to-device transfer,
// whereas a "write" means a device-to-memory transfer

///////////////////////////////////////////////////////////////////////////////
// Operation register offsets from base port address (I/O mapped) -- p. 3-51

#define OMB1		0x00		// outgoing mailbox register 1
#define OMB2		0x04		// outgoing mailbox register 2
#define OMB3		0x08		// outgoing mailbox register 3
#define OMB4		0x0C		// outgoing mailbox register 4
#define IMB1		0x10		// incoming mailbox register 1
#define IMB2		0x14		// incoming mailbox register 2
#define IMB3		0x18		// incoming mailbox register 3
#define IMB4		0x1C		// incoming mailbox register 4
#define FIFO		0x20		// bidirectional FIFO port
#define MWAR		0x24		// write address register
#define MWTC		0x28		// write transfer count register
#define MRAR		0x2C		// read address register
#define MRTC		0x30		// read transfer count register
#define MBEF		0x34		// mailbox empty/full status
#define INTCSR		0x38		// interrupt control/status register
#define MCSR		0x3C		// bus master control/status register

///////////////////////////////////////////////////////////////////////////////
// Bits in INTCSR register (pp. 3-59 ff.)

// Control Flags:

#define INTCSR_OMBI_BYTE_SELECT_MASK	0x00000003	// byte select for outgoing mailbox interrupt 
#define INTCSR_OMBI_BYTE_SELECT_SHIFT	0
#define INTCSR_OMBI_REG_SELECT_MASK		0x0000000C	// register select for ditto
#define INTCSR_OMBI_REG_SELECT_SHIFT	2
#define INTCSR_OMBI_ENABLE				0x00000010	// ditto enabled if "1"

//										0x000000E0	// reserved (always zero)
#define INTCSR_IMBI_BYTE_SELECT_MASK	0x00000300	// byte select for incoming mailbox interrupt
#define INTCSR_IMBI_BYTE_SELECT_SHIFT	8
#define INTCSR_IMBI_REG_SELECT_MASK		0x00000C00	// register select for ditto
#define INTCSR_IMBI_REG_SELECT_SHIFT	10
#define INTCSR_IMBI_ENABLE				0x00001000	// ditto enabled if "1"

//										0x00002000	// reserved (always zero)
#define INTCSR_WTCI_ENABLE				0x00004000	// interrupt on write transfer complete
#define INTCSR_RTCI_ENABLE				0x00008000	// interrupt on read transfer complete

#define INTCSR_MB1						0			// mailbox register 1
#define INTCSR_MB2						1			// mailbox register 2
#define INTCSR_MB3						2			// mailbox register 3
#define INTCSR_MB4						3			// mailbox register 4

#define INTCSR_BYTE0					0			// mailbox byte 0
#define INTCSR_BYTE1					1			// mailbox byte 1
#define INTCSR_BYTE2					2			// mailbox byte 2
#define INTCSR_BYTE3					3			// mailbox byte 3

// Status flags:

#define INTCSR_OMBI						0x00010000	// outgoing mailbox interrupt (R/WC)
#define INTCSR_IMBI						0x00020000	// incoming mailbox interrupt (R/WC)
#define INTCSR_WTCI						0x00040000	// write transfer complete interrupt (R/WC)
#define INTCSR_RTCI						0x00080000	// read transfer complete interrupt (R/WC)
#define INTCSR_MASTER_ABORT				0x00100000	// interrupt due to master abort (R/WC)
#define INTCSR_TARGET_ABORT				0x00200000	// interrupt due to target abort (R/WC)
//										0x00400000	// reserved (always zero)
#define INTCSR_INTERRUPT_PENDING		0x00800000	// summary flag (R/O)

#define INTCSR_INTERRUPT_MASK			0x003F0000	// mask for all interrupt flags

// FIFO & endian management flags:

#define INTCSR_ENDIAN_NONE				0			// no conversion
#define INTCSR_ENDIAN_16				1			// 16-bit endian conversion
#define INTCSR_ENDIAN_32				2			// 32-bit endian conversion
#define INTCSR_ENDIAN_64				3			// 64-bit endian conversion
#define INTCSR_ENDIAN_MASK				0x03000000	// mask for endian conversion
#define INTCSR_ENDIAN_SHIFT				24			// shift for endian conversion

#define INTCSR_ADVANCE_BYTE0			0			// advance on byte 0
#define INTCSR_ADVANCE_BYTE1			1			// advance on byte 1
#define INTCSR_ADVANCE_BYTE2			2			// advance on byte 2
#define INTCSR_ADVANCE_BYTE3			3			// advance on byte 3
#define INTCSR_ADVANCE_PCI_MASK			0x0C000000	// mask for pci interface advance control
#define INTCSR_ADVANCE_PCI_SHIFT		26			// shift for ditto
#define INTCSR_ADVANCE_ADDON_MASK		0x30000000	// mask for add-on interface advance control
#define INTCSR_ADVANCE_ADDON_SHIFT		28			// shift for ditto

#define INTCSR_IN_TOGGLE				0x40000000	// inbound fifo dword toggle bytes 4-7 (must have endian_64 if set)
#define INTCSR_OUT_TOGGLE				0x80000000	// outbound fifo dword toggle bytes 4-7 (must have endian_64 if set)

///////////////////////////////////////////////////////////////////////////////
// Bits in MCSR (pp. 3-63 ff.)

#define MCSR_RFIFO_FULL					0x00000001	// PCI to add-on FIFO is full
#define MCSR_RFIFO_4PLUS				0x00000002	// at least 4 empty words in PCI to add-on FIFO
#define MCSR_RFIFO_EMPTY				0x00000004	// PCI to add-on FIFO completely empty
#define MCSR_WFIFO_FULL					0x00000008	// add-on to PCI FIFO is full
#define MCSR_WFIFO_4PLUS				0x00000010	// at least 4 valid words in add-on to PCI FIFO
#define MCSR_WFIFO_EMPTY				0x00000020	// add-on to PCI FIFO is completely empty
#define MCSR_RTCZ						0x00000040	// read transfer (PCI to add-on) count is zero
#define MCSR_WTCZ						0x00000080	// write transfer (add-on to PCI) count is zero
#define MCSR_WRITE_PRIORITY				0x00000100	// give writes priority over reads
#define MCSR_WRITE_NEED4				0x00000200	// don't request bus until at least 4 FIFO locations filled
#define MCSR_WRITE_ENABLE				0x00000400	// enable bus-mastering write (to memory) transfer
//										0x00000800	// reserved (always zero)
#define MCSR_READ_PRIORITY				0x00001000	// give reads priority over writes
#define MCSR_READ_NEED4					0x00002000	// don't request bus until at least 4 FIFO locations empty
#define MCSR_READ_ENABLE				0x00004000	// enable bus-mastering read (from memory) transfer
#define MCSR_READ_MULTIPLE				0x00008000	// enable read-multiple

#define MCSR_NVRAM_ADDRESS				0x00FF0000	// address/data port for NVRAM access

#define MCSR_ADDON_RESET				0x01000000	// activate add-on reset pin
#define MCSR_OFIFO_RESET				0x02000000	// reset (mark empty) PCI to add-on FIFO
#define MCSR_IFIFO_RESET				0x04000000	// reset (mark full) add-on to PCI FIFO
#define MCSR_MAILBOX_RESET				0x08000000	// reset mailbox flags
#define MCSR_RESET						0x0F000000	// all reset flags

#define MCSR_FIFO_LOOPBACK				0x10000000	// FIFO loopback mode

// NVRAM control commands

#define MCSR_LOAD_ADDRESS_LO			0x80000000	// load low address byte (W)
#define MCSR_LOAD_ADDRESS_HI			0xA0000000	// load high address byte (W)
#define MCSR_BEGIN_WRITE				0xC0000000	// begin write (W)
#define MCSR_BEGIN_READ					0xE0000000	// begin read (W)

#define MCSR_NVRAM_BUSY					0x80000000	// busy (R)
	
///////////////////////////////////////////////////////////////////////////////
// Masks for MBEF register (p. 3-58):

#define MBEF_INCOMING		0xFFFF0000			// bits for incoming mailbox bytes
#define MBEF_OUTGOING		0x0000FFFF			// bits for outgoing mailbox bytes

#define MBEF_IN4_3			0x80000000
#define MBEF_IN4_2			0x40000000
#define MBEF_IN4_1			0x20000000
#define MBEF_IN4_0			0x10000000
#define MBEF_IN3_3			0x08000000
#define MBEF_IN3_2			0x04000000
#define MBEF_IN3_1			0x02000000
#define MBEF_IN3_0			0x01000000
#define MBEF_IN2_3			0x00800000
#define MBEF_IN2_2			0x00400000
#define MBEF_IN2_1			0x00200000
#define MBEF_IN2_0			0x00100000
#define MBEF_IN1_3			0x00080000
#define MBEF_IN1_2			0x00040000
#define MBEF_IN1_1			0x00020000
#define MBEF_IN1_0			0x00010000

#define MBEF_OUT4_3			0x00008000
#define MBEF_OUT4_2			0x00004000
#define MBEF_OUT4_1			0x00002000
#define MBEF_OUT4_0			0x00001000
#define MBEF_OUT3_3			0x00000800
#define MBEF_OUT3_2			0x00000400
#define MBEF_OUT3_1			0x00000200
#define MBEF_OUT3_0			0x00000100
#define MBEF_OUT2_3			0x00000080
#define MBEF_OUT2_2			0x00000040
#define MBEF_OUT2_1			0x00000020
#define MBEF_OUT2_0			0x00000010
#define MBEF_OUT1_3			0x00000008
#define MBEF_OUT1_2			0x00000004
#define MBEF_OUT1_1			0x00000002
#define MBEF_OUT1_0			0x00000001
	
///////////////////////////////////////////////////////////////////////////////
// Miscellaneous constants

#define S5933_ALIGNMENT_MASK	0x00000003		// transfers must begin on 4-byte boundary
#define S5933_MAXIMUM_COUNT		0x03FFFFFF		// maximum transfer count (bytes)

///////////////////////////////////////////////////////////////////////////////
// S5933DK1 ISA card operation register addresses (p. 3-67)

// The sense of mailbox transfers is the opposite from the S5933: an S5933 "inbound" mailbox
// is an add-on "outbound" mailbox. The sense of DMA transfers is the same: an S5933 "read"
// moves data from memory to the S5933, and an add-on "read" moves data from the S5933 to
// the add-on.

#define AIMB1				((PULONG) 0x300)
#define AIMB2				((PULONG) 0x304)
#define AIMB3				((PULONG) 0x308)
#define AIMB4				((PULONG) 0x30C)
#define AOMB1				((PULONG) 0x310)
#define AOMB2				((PULONG) 0x314)
#define AOMB3				((PULONG) 0x318)
#define AOMB4				((PULONG) 0x31C)
#define AFIFO				((PULONG) 0x320)
#define AMWAR				((PULONG) 0x324)
#define APTA				((PULONG) 0x328)		// pass-through address
#define APTD				((PULONG) 0x32C)		// pass-through data
#define AMRAR				((PULONG) 0x330)
#define AMBEF				((PULONG) 0x334)
#define AINT				((PULONG) 0x338)
#define AGCSTS				((PULONG) 0x33C)
#define AMWTC				((PULONG) 0x718)
#define AMRTC				((PULONG) 0x71C)

///////////////////////////////////////////////////////////////////////////////
// Bits in INT register (p. 3-74 ff.):

// Control Flags:

#define INT_IMBI_BYTE_SELECT_MASK		0x00000003	// byte select for incoming (PCI to add-on) mailbox interrupt 
#define INT_IMBI_BYTE_SELECT_SHIFT		0
#define INT_IMBI_REG_SELECT_MASK		0x0000000C	// register select for ditto
#define INT_IMBI_REG_SELECT_SHIFT		2
#define INT_IMBI_ENABLE					0x00000010	// ditto enabled if "1"

//										0x000000E0	// reserved (always zero)
#define INT_OMBI_BYTE_SELECT_MASK		0x00000300	// byte select for outgoing (add-on to PCI) mailbox interrupt
#define INT_OMBI_BYTE_SELECT_SHIFT		8
#define INT_OMBI_REG_SELECT_MASK		0x00000C00	// register select for ditto
#define INT_OMBI_REG_SELECT_SHIFT		10
#define INT_OMBI_ENABLE					0x00001000	// ditto enabled if "1"

//										0x00002000	// reserved (always zero)
#define INT_WTCI_ENABLE					0x00004000	// interrupt on write (add-on to PCI) transfer complete
#define INT_RTCI_ENABLE					0x00008000	// interrupt on read (PCI to add-on) transfer complete

#define INT_MB1							0			// mailbox register 1
#define INT_MB2							1			// mailbox register 2
#define INT_MB3							2			// mailbox register 3
#define INT_MB4							3			// mailbox register 4

#define INT_BYTE0						0			// mailbox byte 0
#define INT_BYTE1						1			// mailbox byte 1
#define INT_BYTE2						2			// mailbox byte 2
#define INT_BYTE3						3			// mailbox byte 3

// Status flags:

#define INT_IMBI						0x00010000	// incoming mailbox interrupt (R/WC)
#define INT_OMBI						0x00020000	// outgoing mailbox interrupt (R/WC)
#define INT_WTCI						0x00040000	// write transfer complete interrupt (R/WC)
#define INT_RTCI						0x00080000	// read transfer complete interrupt (R/WC)
#define INT_BISTI						0x00100000	// interrupt due to BIST request (R/WC)
#define INT_ABORT						0x00200000	// interrupt due to master or target abort (R/WC)
//										0x00400000	// reserved (always zero)
#define INT_INTERRUPT_PENDING			0x00800000	// summary flag (R/O)

#define INT_INTERRUPT_MASK				0x003F0000	// mask for all interrupt flags

///////////////////////////////////////////////////////////////////////////////
// Bits in GCSTS register (p. 3.77 ff.):

#define GCSTS_WFIFO_FULL				0x00000001	// add-on to PCI FIFO is full
#define GCSTS_WFIFO_4PLUS				0x00000002	// at least 4 empty words in add-on to PCI FIFO
#define GCSTS_WFIFO_EMPTY				0x00000004	// add-on to PCI FIFO completely empty
#define GCSTS_RFIFO_FULL				0x00000008	// PCI to add-on FIFO is full
#define GCSTS_RFIFO_4PLUS				0x00000010	// at least 4 valid words in PCI to add-on FIFO
#define GCSTS_RFIFO_EMPTY				0x00000020	// PCI to add-on is completely empty
#define GCSTS_RTCZ						0x00000040	// read (PCI to add-on) transfer count is zero
#define GCSTS_WTCZ						0x00000080	// write (add-on to PCI) transfer count is zero

//										0x00000F00	// reserved (always zero)
#define GCSTS_BIST_CODE					0x0000F000	// results of built-in self test
#define GCSTS_NVRAM_ADDRESS				0x00FF0000	// address/data port for NVRAM access

//										0x01000000	// reserved (always zero)
#define GCSTS_OFIFO_RESET				0x02000000	// reset (mark empty) PCI to add-on FIFO
#define GCSTS_IFIFO_RESET				0x04000000	// reset (mark full) add-on to PCI FIFO
#define GCSTS_MAILBOX_RESET				0x08000000	// reset mailbox flags
#define GCSTS_RESET						0x0E000000	// all reset flags

#define GCSTS_TC_ENABLE					0x10000000	// use transfer counts for addon-initiated DMA

// NVRAM control commands

#define GCSTS_LOAD_ADDRESS_LO			0x80000000	// load low address byte (W)
#define GCSTS_LOAD_ADDRESS_HI			0xA0000000	// load high address byte (W)
#define GCSTS_BEGIN_WRITE				0xC0000000	// begin write (W)
#define GCSTS_BEGIN_READ				0xE0000000	// begin read (W)

#define GCSTS_NVRAM_BUSY				0x80000000	// busy (R)

#endif // S5933_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99视频在线精品| 亚洲女女做受ⅹxx高潮| 性欧美大战久久久久久久久| 色婷婷综合久久久久中文| 91精品免费在线| 天堂在线一区二区| 欧美日韩国产大片| 亚洲一区二区视频在线| 欧美在线综合视频| 香蕉加勒比综合久久| 色综合久久综合| 亚洲欧美一区二区三区孕妇| 91在线观看高清| 成人欧美一区二区三区白人| 91网站最新网址| 亚洲欧美日韩系列| 91免费国产在线| 亚洲国产成人av网| 7777精品久久久大香线蕉| 水蜜桃久久夜色精品一区的特点| 欧美另类videos死尸| 日产国产高清一区二区三区| 日韩丝袜美女视频| 国产乱码精品一区二区三区五月婷 | 日韩高清一级片| 日韩欧美国产综合一区| 国内精品久久久久影院一蜜桃| 久久久五月婷婷| 一本色道久久综合亚洲91| 亚洲综合视频在线观看| 在线播放国产精品二区一二区四区| 麻豆久久久久久久| 久久久精品国产99久久精品芒果| 国产91富婆露脸刺激对白| 亚洲欧美综合色| 欧美精品一二三四| 国产精品白丝jk白祙喷水网站| 亚洲欧洲成人自拍| 欧美日韩成人综合在线一区二区| 精品一区二区三区在线观看国产| 日韩欧美国产一区在线观看| 成人av第一页| 日韩高清电影一区| 国产欧美久久久精品影院| 在线观看亚洲精品视频| 久久精品久久久精品美女| 国产精品麻豆久久久| 欧美老人xxxx18| 国产一区二区三区四| 亚洲老妇xxxxxx| 欧美成人艳星乳罩| 91老司机福利 在线| 麻豆精品一区二区综合av| 国产精品成人免费在线| 日韩精品中文字幕一区二区三区| 成人美女视频在线观看| 午夜伦理一区二区| 欧美女孩性生活视频| aaa国产一区| 久久99热99| 亚洲欧美日韩中文字幕一区二区三区| 3751色影院一区二区三区| www.久久久久久久久| 免费黄网站欧美| 亚洲在线成人精品| 国产欧美一区二区精品婷婷| 日韩一区二区高清| 色欧美日韩亚洲| 国产.欧美.日韩| 狠狠狠色丁香婷婷综合久久五月| 亚洲一区在线免费观看| 国产亚洲福利社区一区| 欧美日韩极品在线观看一区| 972aa.com艺术欧美| 国产米奇在线777精品观看| 亚洲第一搞黄网站| 亚洲同性同志一二三专区| 久久久久国产精品免费免费搜索| 欧美美女一区二区在线观看| 色综合久久久久久久久| 高清不卡在线观看| 国内精品久久久久影院薰衣草| 日本强好片久久久久久aaa| 亚洲精品乱码久久久久久 | 欧美三级中文字幕在线观看| 国产一区二区精品久久| 免费人成网站在线观看欧美高清| 亚洲成人一区在线| 亚洲午夜电影在线| 国产精品欧美经典| 久久久精品国产99久久精品芒果 | 中文字幕av免费专区久久| 久久久久久**毛片大全| 日韩免费成人网| 日韩精品中文字幕在线不卡尤物 | 欧美高清视频一二三区 | 亚洲欧洲三级电影| 欧美国产日韩精品免费观看| 国产清纯在线一区二区www| 26uuu精品一区二区三区四区在线| 亚洲精品在线三区| 日本一区二区三区dvd视频在线| 中文子幕无线码一区tr| 一区二区三区欧美在线观看| 日韩av在线免费观看不卡| 久久电影网电视剧免费观看| 91在线视频播放| 91精品国产综合久久精品图片 | 福利一区二区在线观看| 91欧美激情一区二区三区成人| 欧美中文字幕久久 | 国产亚洲1区2区3区| 亚洲老妇xxxxxx| 激情图片小说一区| 不卡av在线网| 欧美电影免费观看高清完整版| 亚洲国产精品成人久久综合一区| 一个色综合网站| 国产乱人伦偷精品视频免下载| 色八戒一区二区三区| 精品国产电影一区二区| 亚洲人精品午夜| 精久久久久久久久久久| 91视视频在线观看入口直接观看www| 日韩一区二区三区视频在线| 亚洲欧美激情插| 韩国av一区二区三区四区| 日本韩国视频一区二区| 久久久蜜桃精品| 日韩影院在线观看| 99久免费精品视频在线观看| 精品免费视频一区二区| 亚洲综合色视频| 97久久精品人人爽人人爽蜜臀 | jlzzjlzz国产精品久久| 日韩欧美一区二区不卡| 亚洲一区二区av在线| 东方aⅴ免费观看久久av| 欧美一级二级在线观看| 亚洲黄色录像片| 成人免费精品视频| 精品成人免费观看| 日韩va欧美va亚洲va久久| 91国模大尺度私拍在线视频| 亚洲欧美在线另类| 国产一区二区不卡在线| 日韩精品一区二区三区三区免费 | 亚洲欧洲日本在线| 国产精品亚洲成人| 精品国产露脸精彩对白| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美日韩国产a| 亚洲成在线观看| 欧美天堂一区二区三区| 亚洲欧美色一区| 91视频免费看| 亚洲精品欧美在线| 色婷婷综合久久| 一个色综合av| 在线观看精品一区| 亚洲一区在线看| 欧美日韩一区高清| 夜夜嗨av一区二区三区 | 3751色影院一区二区三区| 亚洲国产精品久久艾草纯爱 | av在线不卡网| 国产精品久久毛片| 成人美女在线视频| 1000部国产精品成人观看| 不卡一区二区中文字幕| 国产精品私人影院| 欧美日韩成人一区二区| 日日夜夜精品免费视频| 制服丝袜亚洲网站| 人人爽香蕉精品| 精品国产一区二区在线观看| 国产精选一区二区三区| 日本一区二区高清| 99精品欧美一区二区蜜桃免费| 亚洲欧美一区二区三区极速播放| 91久久免费观看| 日本午夜一区二区| 亚洲精品在线一区二区| 成人午夜视频在线观看| 综合电影一区二区三区 | 美女国产一区二区| 久久久不卡网国产精品二区| zzijzzij亚洲日本少妇熟睡| 18欧美乱大交hd1984| 欧洲精品在线观看| 日韩av网站在线观看| 久久婷婷色综合| 97久久人人超碰| 香蕉乱码成人久久天堂爱免费| 欧美刺激午夜性久久久久久久| 国产一区二区三区久久久| 欧美激情在线观看视频免费| 色婷婷综合久久久中文一区二区| 日本系列欧美系列| 国产精品久久久久久妇女6080 |