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

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

?? osr-pci.h

?? PCI驅動代碼實例
?? H
字號:
///////////////////////////////////////////////////////////////////////////////
//
//    (C) Copyright 1995 - 1997 OSR Open Systems Resources, Inc.
//    All Rights Reserved
//
//    This sofware is supplied for instructional purposes only.
//
//    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty
//    for this software.  THIS SOFTWARE IS PROVIDED  "AS IS" WITHOUT WARRANTY
//    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,
//    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR
//    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS
//    WITH YOU.  OSR's entire liability and your exclusive remedy shall not
//    exceed the price paid for this material.  In no event shall OSR or its
//    suppliers be liable for any damages whatsoever (including, without
//    limitation, damages for loss of business profit, business interruption,
//    loss of business information, or any other pecuniary loss) arising out
//    of the use or inability to use this software, even if OSR has been
//    advised of the possibility of such damages.  Because some states/
//    jurisdictions do not allow the exclusion or limitation of liability for
//    consequential or incidental damages, the above limitation may not apply
//    to you.
//
//    OSR Open Systems Resources, Inc.
//    105 Route 101A Suite 19
//    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503
//    email bugs to: bugs@osr.com
//
//
//    MODULE:
//
//        OSR_PCI.H
//
//    ABSTRACT:
//
//      This file contains PCI definitions for the OSR Sample
//      PCI Busmaster DMA device driver for the AMCC 5933 chip.
//
//    AUTHOR(S):
//
//        OSR Open Systems Resources, Inc.
// 
//    REVISION:   
//
//
///////////////////////////////////////////////////////////////////////////////
#ifndef __OSR_PCI_H__
#define __OSR_PCI_H__ (1) // suppress duplicate loading of this file

#define __OSR_SKEL_DRIVER__ (1)

#include <NTDDK.H>

#include "OSR-IOCTL.h"

//
// These are AMCC's Vendor ID and Device ID
//
#define OSR_PCI_VID 0x10E8
#define OSR_PCI_DID 0x4750

//
// Maxmimum transfer size supported
// 64K sounds right.
// 
#define OSR_PCI_MAX_TXFER	65535

//
// The watchdog interval.  Any request pending
// for this number of seconds is subject to
// being cancelled.  Note, this is a ONE SECOND GRANULARITY TIMER
// so provide a length of time at least one second greater
// than the minimum.
//
#define OSR_WATCHDOG_INTERVAL	5


//
// Device Extension
//
// This is the per-device component of the device object.
//
typedef struct
{
	//
	// Device information
	//
	PDEVICE_OBJECT		DeviceObject;

	//
	// Data structure elements for Read IRPs
	//
	KSPIN_LOCK			ReadQueueLock;
	LIST_ENTRY			ReadQueue;
	//
	// Pending READ information
	//
	PIRP				CurrentReadIrp;
	PHYSICAL_ADDRESS	ReadPaToDevice;
	ULONG				ReadLength;
	ULONG				ReadTotalLength;
	ULONG				MapRegsThisRead;
	ULONG				ReadSoFar;
	ULONG				ReadStartingOffset;
	PVOID				ReadMapRegBase;

	//
	// Data structure elements for Write IRPs
	//
	KSPIN_LOCK			WriteQueueLock;
	LIST_ENTRY			WriteQueue;
	//
	// Pending WRITE information
	//
	PIRP				CurrentWriteIrp;
	PHYSICAL_ADDRESS	WritePaToDevice;
	ULONG				WriteLength;
	ULONG				WriteTotalLength;
	ULONG				MapRegsThisWrite;
	ULONG				WriteSoFar;
	ULONG				WriteStartingOffset;
	PVOID				WriteMapRegBase;

	//
	// Interrupt Object
	//
	PKINTERRUPT			InterruptObject;

	// Adapter Objects
	//
	PADAPTER_OBJECT		ReadAdapter;
	ULONG				ReadMapRegsGot;
	PADAPTER_OBJECT		WriteAdapter;
	ULONG				WriteMapRegsGot;

	//
	// PCI Configuration infomration; once set at configuration time,
	// this information remains the same.
	//
	ULONG				BusNumber;
	PCI_SLOT_NUMBER 	SlotNumber;

	//
	// Adapter's port base address
	//
	PULONG				AmccBaseRegisterAddress;

	//
	// COPY of Read and Write complete bits from INTCSR
	// in device.  ***NOTE: ACCESSED ONLY WHILE HOLDING
	// THIS DEVICE'S INTERRUPT SPIN LOCK***
	//
	ULONG				IntCsr;

} OSR_DEVICE_EXT, *POSR_DEVICE_EXT;

//
// The following offsets describe the layout of the control registers for
// the AMCC controller chip.
//
#define OMB1_OFF 0x0
#define OMB2_OFF 0x1
#define OMB3_OFF 0x2
#define OMB4_OFF 0x3
#define IMB1_OFF 0x4
#define IMB2_OFF 0x5
#define IMB3_OFF 0x6
#define IMB4_OFF 0x7
#define FIFO_OFF 0x8
#define MWAR_OFF 0x9
#define MWTC_OFF 0xA
#define MRAR_OFF 0xB
#define MRTC_OFF 0xC
#define MBEF_OFF 0xD
#define ICSR_OFF 0xE
#define MCSR_OFF 0xF

//
// MCSR Register Bits
//
#define AMCC_MCSR_NVRAM_CTRL	(7<<29)
#define AMCC_MCSR_FIFO_LOOP		(1<<28)

#define AMCC_MCSR_MBX_RESET		(1<<27)
#define AMCC_MCSR_ATOP_RESET    (1<<26)
#define AMCC_MCSR_PTOA_RESET    (1<<25)
#define AMCC_MCSR_ADDON_RESET	(1<<24)

#define AMCC_MCSR_NVRAM_ADDR	0x00FF0000

#define AMCC_MCSR_READ_MULT_ENA	(1<<15)
#define AMCC_MCSR_READ_ENABLE	(1<<14)
#define AMCC_MCSR_READ_FIFO_MGMT (1<<13)
#define AMCC_MCSR_READ_PRIORITY	(1<<12)

#define	AMCC_MCSR_RESERVED11	(1<<11)
#define AMCC_MCSR_WRITE_ENABLE	(1<<10)
#define AMCC_MCSR_WRITE_FIFO_MGMT (1<<9)
#define AMCC_MCSR_WRITE_PRIORITY (1<<8)

#define AMCC_MCSR_ATOP_COUNT_ZERO (1<<7)
#define AMCC_MCSR_PTOA_COUNT_ZERO (1<<6)
#define AMCC_MCSR_ATOP_FIFO_EMPTY (1<<5)
#define AMCC_MCSR_ATOP_FIFO_4WORDS (1<<4)

#define AMCC_MCSR_ATOP_FIFO_FULL (1<<3)
#define AMCC_MCSR_PTOA_FIFO_EMPTY (1<<2)
#define AMCC_MCSR_PTOA_FIFO_4SPACES (1<<1)
#define AMCC_MCSR_PTOA_FIFO_FULL (1<<0)

//
// INTCSR Register Bits
//
#define AMCC_INT_OUT_FIFO_CTRL		(1<<31)
#define AMCC_INT_IN_FIFO_CTRL		(1<<30)
#define AMCC_INT_FIFO_ADVA_BYTE0		0
#define	AMCC_INT_FIFO_ADVA_BYTE1		(1<<28)
#define AMCC_INT_FIFO_ADVA_BYTE2		(1<<29)
#define AMCC_INT_FIFO_ADVA_BYTE3		(3<<28)

#define AMCC_INT_FIFO_ADVP_BYTE0		0
#define	AMCC_INT_FIFO_ADVP_BYTE1		(1<<26)
#define AMCC_INT_FIFO_ADVP_BYTE2		(1<<27)
#define AMCC_INT_FIFO_ADVP_BYTE3		(3<<26)
#define AMCC_INT_ENDIAN_NOCONV			0
#define	AMCC_INT_ENDIAN_16BIT			(1<<24)
#define AMCC_INT_ENDIAN_32BIT			(1<<25)
#define AMCC_INT_ENDIAN_64BIT			(3<<24)

#define AMCC_INT_INTERRUPTED 	(1<<23)
#define AMCC_INT_RESERVED22		(1<<22)
#define AMCC_INT_TARG_ABORT		(1<<21)
#define AMCC_INT_MAST_ABORT		(1<<20)


#define AMCC_INT_READ_COMP		(1<<19)
#define AMCC_INT_WRITE_COMP		(1<<18)
#define AMCC_INT_INMBX_ACK		(1<<17)
#define AMCC_INT_OUTMBX_ACK		(1<<16)

#define AMCC_INT_INT_ON_READ	(1<<15)
#define AMCC_INT_INT_ON_WRITE	(1<<14)
#define AMCC_INT_RESERVED13		(1<<13)
#define AMCC_INT_ENABLE_OUTMBX_INT	(1<<12)

#define AMCC_INT_ENABLE_INMBX_INT	(1<<4)

#define AMCC_INT_ACK_BITS		(AMCC_INT_INTERRUPTED|AMCC_INT_TARG_ABORT|\
								AMCC_INT_MAST_ABORT|AMCC_INT_READ_COMP|\
								AMCC_INT_WRITE_COMP|AMCC_INT_OUTMBX_ACK|\
								AMCC_INT_INMBX_ACK )
//
// Shared routines
//

BOOLEAN OsrHandleInterrupt(PKINTERRUPT Interupt, PVOID ServiceContext);
VOID OsrDpcForIsr(PKDPC Dpc,PDEVICE_OBJECT DeviceObject,PIRP Irp,PVOID Context);
NTSTATUS OsrCreateClose(PDEVICE_OBJECT DeviceObject, PIRP Irp);
NTSTATUS OsrRead(PDEVICE_OBJECT DeviceObject, PIRP Irp);
NTSTATUS OsrWrite(PDEVICE_OBJECT DeviceObject, PIRP Irp);
NTSTATUS OsrDeviceControl(PDEVICE_OBJECT DeviceObject, PIRP Irp);
NTSTATUS OsrCleanup(PDEVICE_OBJECT DeviceObject, PIRP Irp);
VOID OsrWriteToDevice(PDEVICE_OBJECT DeviceObject);
VOID OsrResetAdapter(PDEVICE_OBJECT,BOOLEAN);
VOID OsrStartWriteIrp(PDEVICE_OBJECT DeviceObject, PIRP Irp);
VOID OsrStartReadIrp(PDEVICE_OBJECT DeviceObject, PIRP Irp);
IO_ALLOCATION_ACTION 
OsrAdapterControlRead(IN PDEVICE_OBJECT DeviceObject, IN PIRP NotUsed, 
	                              IN PVOID MapRegisterBase, IN PVOID Context);
IO_ALLOCATION_ACTION 
OsrAdapterControlWrite(IN PDEVICE_OBJECT DeviceObject, IN PIRP NotUsed, 
	                              IN PVOID MapRegisterBase, IN PVOID Context);

VOID OsrCancelFromReadQueue(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
VOID OsrCancelFromWriteQueue(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
VOID OsrWatchdogTimer(IN PDEVICE_OBJECT, IN PVOID Context);

#if DBG
VOID OsrPrintIntcsr(ULONG Intcsr);
#endif
#endif /* __OSR_PCI_H__ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久er精品视频| 亚洲午夜影视影院在线观看| 欧美高清精品3d| 色综合久久88色综合天天免费| 波多野结衣亚洲| 色综合久久久网| 欧美日韩在线亚洲一区蜜芽| 91麻豆精品国产| 久久先锋影音av| 欧美激情一区二区三区四区| 国产视频亚洲色图| 中文字幕高清不卡| 亚洲欧美日韩在线播放| 亚洲综合成人在线| 久久99国产精品尤物| 国产黄色精品视频| 色欧美片视频在线观看| 欧美日韩精品一二三区| 精品国产a毛片| 1000精品久久久久久久久| 亚洲一区视频在线| 精品一二三四区| 不卡免费追剧大全电视剧网站| 日本道在线观看一区二区| 欧美日韩美少妇| 亚洲午夜影视影院在线观看| 轻轻草成人在线| 成人性生交大片免费看视频在线 | 国产精品色一区二区三区| 国产精品拍天天在线| 亚洲国产色一区| 国产精品一区免费在线观看| 一本色道**综合亚洲精品蜜桃冫| 日韩区在线观看| 亚洲视频 欧洲视频| 免费在线一区观看| 91丨九色丨尤物| 精品日韩一区二区三区| 亚洲一区二区在线免费观看视频| 国产一区二区网址| 欧美精品久久99久久在免费线| 国产精品你懂的| 日韩av电影免费观看高清完整版在线观看 | 成人美女在线视频| 欧美高清视频不卡网| 国产精品家庭影院| 麻豆成人av在线| 欧美色综合天天久久综合精品| 久久久一区二区三区捆绑**| 亚洲风情在线资源站| 99在线热播精品免费| 26uuu欧美| 日本成人中文字幕在线视频| 色婷婷狠狠综合| 国产日韩一级二级三级| 天堂影院一区二区| 91热门视频在线观看| 国产欧美日韩亚州综合 | 色综合久久六月婷婷中文字幕| 欧美白人最猛性xxxxx69交| 亚洲永久精品大片| 日本福利一区二区| 亚洲视频一二三| 99re视频这里只有精品| 中文字幕一区二区三区在线播放| 免费看欧美美女黄的网站| 欧美色偷偷大香| 午夜伊人狠狠久久| 欧美在线999| 亚洲精选一二三| 欧洲亚洲精品在线| 亚洲精品中文在线| 欧美性猛片xxxx免费看久爱| 一区二区三区高清不卡| 91国在线观看| 日韩精品电影在线观看| 91 com成人网| 美脚の诱脚舐め脚责91| 亚洲精品在线观| 国产精品91xxx| 国产精品人妖ts系列视频| 成人精品国产一区二区4080| 国产精品久久久久久亚洲毛片 | 亚洲欧美日韩精品久久久久| 91热门视频在线观看| 亚洲成人av电影| 91精品婷婷国产综合久久性色| 免费人成黄页网站在线一区二区| 日韩精品专区在线影院观看| 国产精品综合一区二区三区| 国产精品久久久久9999吃药| 欧美伊人久久大香线蕉综合69| 石原莉奈在线亚洲三区| 久久精品水蜜桃av综合天堂| 99r国产精品| 麻豆中文一区二区| 国产亚洲一本大道中文在线| 91色.com| 国产自产高清不卡| 亚洲精品乱码久久久久久| 51久久夜色精品国产麻豆| 国内精品自线一区二区三区视频| 亚洲欧美一区二区视频| 制服丝袜一区二区三区| 不卡视频在线观看| 免费在线视频一区| 亚洲欧美国产毛片在线| 欧美一区二区视频在线观看2020 | 国产精品久久久久久久久快鸭| 91影视在线播放| 美国十次了思思久久精品导航| 国产日韩欧美高清| 欧美妇女性影城| 北条麻妃一区二区三区| 久久精品久久综合| 亚洲综合视频网| 国产区在线观看成人精品| 91精品国产综合久久福利软件 | 亚洲免费高清视频在线| 亚洲精品在线网站| 欧美精品一二三四| 色综合久久中文综合久久牛| 国产剧情一区二区| 奇米777欧美一区二区| 亚洲欧洲av另类| 亚洲精品一区二区三区精华液| 欧美唯美清纯偷拍| 色综合天天狠狠| 99久久国产综合色|国产精品| 精品亚洲国产成人av制服丝袜| 亚洲国产婷婷综合在线精品| 一区精品在线播放| 欧美激情一二三区| 亚洲成人综合视频| 亚洲美女区一区| 成人欧美一区二区三区1314| 欧美国产日韩在线观看| 久久久久综合网| 日韩午夜中文字幕| 欧美电影在线免费观看| 欧美视频中文字幕| 97成人超碰视| 91美女精品福利| 暴力调教一区二区三区| av网站一区二区三区| 丁香婷婷深情五月亚洲| 激情欧美一区二区| 韩国女主播成人在线| 精品在线亚洲视频| 韩国成人福利片在线播放| 九色porny丨国产精品| 久久97超碰色| 精品一区二区三区免费| 久久精品国产99国产精品| 久久国内精品视频| 国产精品一色哟哟哟| 国产福利视频一区二区三区| 国产成a人亚洲精| 波多野结衣欧美| 欧洲精品一区二区| 欧美裸体一区二区三区| 日韩美女视频在线| 国产欧美一区二区精品性色 | 日韩av中文字幕一区二区三区| 亚洲成年人网站在线观看| 免费高清视频精品| 国产成人免费9x9x人网站视频| 国产99久久久久久免费看农村| 不卡影院免费观看| 欧美日韩一卡二卡| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美国产综合色视频| 亚洲乱码日产精品bd| 天天色天天操综合| 国产一区二区三区蝌蚪| av在线不卡观看免费观看| 精品视频一区三区九区| 精品国产一区二区三区久久影院| 亚洲国产精品二十页| 一区二区三区四区亚洲| 日韩专区一卡二卡| 国产成人午夜精品影院观看视频| 成人h动漫精品| 这里只有精品免费| 日本一区二区视频在线| 亚洲午夜久久久| 懂色av噜噜一区二区三区av| 欧美色图一区二区三区| 国产校园另类小说区| 亚洲自拍偷拍综合| 懂色av一区二区三区免费观看| 欧美亚男人的天堂| 国产精品蜜臀av| 精品综合免费视频观看| 91视视频在线观看入口直接观看www| 日韩一区二区三区免费看| 17c精品麻豆一区二区免费| 久久99最新地址| 欧美三级中文字幕| 中文字幕不卡在线观看|