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

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

?? misc.c

?? PCI硬件的驅動程序范例
?? C
字號:
///////////////////////////////////////////////////////////////////////////////
//
//    (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:
//
//        MISC.C
//
//    ABSTRACT:
//
//      This file contains miscellaneous routines used by the
//      PCI Busmaster DMA device driver for the AMCC 5933 chip.
//
//    AUTHOR(S):
//
//        OSR Open Systems Resources, Inc.
// 
//    REVISION:   
//
//
///////////////////////////////////////////////////////////////////////////////

#include "osr-pci.h"

///////////////////////////////////////////////////////////////////////////////
//
//  OsrDeviceControl
//
//    This is the dispatch entry point for processing IRP_MJ_DEVICE_CONTROL
//    Irps.  
//
//
//  INPUTS:
//
//      DeviceObject - Address of the DEVICE_OBJECT for our device.
//  
//      Irp - Address of the IRP representing the IRP_MJ_DEVICE_CONTROL call.
//
//  OUTPUTS:
//
//      None.
//
//  RETURNS:
//
//    STATUS_SUCCESS if success, otherwise an appropriate status is returned.
//
//  IRQL:
//
//    This routine is called at IRQL_PASSIVE_LEVEL.
//
//  NOTES:
//
//    We presently only support the IOCTL_OSR_RESET IOCTL.
//
///////////////////////////////////////////////////////////////////////////////
NTSTATUS OsrDeviceControl(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{
    PIO_STACK_LOCATION ioStack;
    NTSTATUS code;
    
    ioStack = IoGetCurrentIrpStackLocation(Irp);

    //
    // Set some appropriate defaults
    //
    code = STATUS_SUCCESS;
    Irp->IoStatus.Information = 0;

    //
    // Switch based on the I/O Control code
    //
    switch (ioStack->Parameters.DeviceIoControl.IoControlCode) {

        case IOCTL_OSR_RESET:
              
            OsrResetAdapter(DeviceObject, FALSE);

            break;            

        default:
            
            //
            // This is the case for a bogus request code.
            //
            code = STATUS_INVALID_PARAMETER;

#if DBG
            DbgPrint("OsrDeviceControl: Invalid IOCTL code 0x%0x\n",
                          ioStack->Parameters.DeviceIoControl.IoControlCode);
#endif

            break;
    }
    
    //
    // Complete the I/O Request
    //
    Irp->IoStatus.Status = code;
    
    IoCompleteRequest(Irp, IO_NO_INCREMENT);

    return(code);
}

///////////////////////////////////////////////////////////////////////////////
//
//  OsrResetAdapter
//
//    This function performs a MASTER RESET.  Callers should not presume
//    the state of the adapter is maintained after this call.  In-progress
//    transfers are shut-down, pending interrupts are cancelled.
//
//  INPUTS:
//
//      DeviceObject - Address of the DEVICE_OBJECT for our device.
//
//      EnableInts - Unused (obsolete).
//  
//  OUTPUTS:
//
//      None.
//
//  RETURNS:
//
//      None.
//
//  IRQL:
//
//      This routine is called at IRQL PASSIVE_LEVEL.
//
//  NOTES:
//
///////////////////////////////////////////////////////////////////////////////
VOID OsrResetAdapter(PDEVICE_OBJECT devobj,BOOLEAN EnableInts)
{
    ULONG counter;
    POSR_DEVICE_EXT ext = (POSR_DEVICE_EXT)(devobj)->DeviceExtension;
    LARGE_INTEGER timeToWait;
    ULONG temp;

#if DBG
      DbgPrint("OsrResetAdapter called\n");
#endif
    
    //
    // Request a reset
    //
    WRITE_PORT_ULONG(ext->AmccBaseRegisterAddress+MCSR_OFF,
                AMCC_MCSR_MBX_RESET |
                AMCC_MCSR_ATOP_RESET|
                AMCC_MCSR_PTOA_RESET|
                AMCC_MCSR_ADDON_RESET);
 
    //
    // Wait for 10 milliseconds, to make sure the "add on" is properly
    // reset....  This is not really necessary for this driver, but it's
    // pretty standard for REAL devices.
    //
    timeToWait.QuadPart = (LONGLONG) -100000; // waits for 10 milliseconds

    KeDelayExecutionThread(KernelMode, FALSE, &timeToWait);

    //
    // Clear the reset state
    //
    WRITE_PORT_ULONG(ext->AmccBaseRegisterAddress+MCSR_OFF, 0x00);
    
    //
    // Get the Interrupt control/status register
    //
    temp = READ_PORT_ULONG(ext->AmccBaseRegisterAddress+ICSR_OFF);
    temp &= AMCC_INT_ACK_BITS;
    WRITE_PORT_ULONG(ext->AmccBaseRegisterAddress+ICSR_OFF, temp);

    //
    // The following suspends the current thread for ten milliseconds; since it is
    // designed to de-schedule, this is not antisocial (we are not busy-waiting).
    //
    timeToWait.QuadPart = (LONGLONG) -100000; // waits for 10 milliseconds

    KeDelayExecutionThread(KernelMode, FALSE, &timeToWait);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜精品久久久久久超碰 | 婷婷久久综合九色综合绿巨人| 不卡一区中文字幕| 国产精品久久久久久久第一福利 | 国产激情精品久久久第一区二区| 久久先锋影音av鲁色资源网| 国产激情一区二区三区| 中文字幕日韩欧美一区二区三区| 色婷婷综合五月| 日韩高清欧美激情| 久久久蜜桃精品| 日本精品视频一区二区三区| 午夜电影一区二区| 精品国产a毛片| 99re热这里只有精品视频| 五月婷婷激情综合| 国产欧美久久久精品影院| 色综合天天综合网天天狠天天| 午夜影院在线观看欧美| 欧美精品一区男女天堂| 91在线免费看| 日韩av电影免费观看高清完整版 | 国产精品久久久久久久久图文区| 色婷婷国产精品| 老司机午夜精品| 亚洲视频一区二区在线观看| 制服.丝袜.亚洲.中文.综合| 国产成人啪午夜精品网站男同| 亚洲精品国产a久久久久久| 日韩视频一区二区在线观看| 不卡的av电影| 麻豆精品蜜桃视频网站| 中文字幕一区在线观看视频| 欧美一区二区三区人| 成人av影院在线| 日韩精品三区四区| 国产精品国产自产拍在线| 日韩午夜在线播放| 91蜜桃免费观看视频| 久草热8精品视频在线观看| 亚洲欧美日韩国产中文在线| 精品成人a区在线观看| 欧美伊人久久大香线蕉综合69 | 欧美r级在线观看| 日本韩国欧美在线| 国产精品中文字幕一区二区三区| 一区二区三区日韩在线观看| 欧美激情一区二区三区在线| 日韩女优av电影在线观看| 91精品福利在线| 福利一区在线观看| 精品影视av免费| 日本中文字幕一区二区视频| 一区二区三区四区精品在线视频| 国产精品免费久久久久| 精品国产免费人成在线观看| 欧美二区乱c少妇| 色网综合在线观看| 99re热这里只有精品视频| 粉嫩在线一区二区三区视频| 久久99深爱久久99精品| 美日韩一区二区| 丝袜美腿成人在线| 亚洲h精品动漫在线观看| 亚洲精品久久嫩草网站秘色| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲欧美日韩国产综合在线| 中文字幕亚洲一区二区av在线 | 亚洲综合一二三区| 亚洲人成人一区二区在线观看 | 日韩丝袜情趣美女图片| 欧美酷刑日本凌虐凌虐| 欧美日韩视频专区在线播放| 在线免费视频一区二区| 欧美性极品少妇| 欧美三级中文字| 欧美久久一区二区| 911精品国产一区二区在线| 欧美美女黄视频| 欧美一区二区三区公司| 欧美成人在线直播| 日韩免费观看2025年上映的电影 | 欧美亚洲国产bt| 欧美日韩一级黄| 日韩午夜中文字幕| 精品欧美一区二区在线观看| 26uuu精品一区二区| 国产亚洲婷婷免费| 国产精品久久久久久久久久免费看 | 91福利国产精品| 欧美日韩一区在线| 欧美一二三四区在线| 久久美女高清视频| 亚洲国产电影在线观看| 中文字幕在线不卡视频| 亚洲成人精品一区| 精品一区二区三区免费| 成人精品视频一区| 91啪九色porn原创视频在线观看| 91高清视频在线| 欧美一区二区在线视频| 日韩精品影音先锋| 国产精品午夜电影| 亚洲韩国一区二区三区| 麻豆国产欧美日韩综合精品二区| 国产呦精品一区二区三区网站| 成人国产精品免费观看| 欧日韩精品视频| 欧美大片一区二区| 日韩伦理电影网| 蜜桃视频一区二区三区在线观看| 国产aⅴ精品一区二区三区色成熟| 色综合网站在线| 精品国产一区二区精华| 国产精品超碰97尤物18| 日韩va欧美va亚洲va久久| 国产aⅴ精品一区二区三区色成熟| 91成人看片片| 久久精品视频一区| 午夜国产精品一区| 不卡的av电影| 精品国产乱码久久久久久影片| 亚洲乱码国产乱码精品精的特点| 免费人成精品欧美精品| 99re6这里只有精品视频在线观看| 欧美成人一区二区三区片免费| 亚洲精品视频免费看| 毛片不卡一区二区| 91国产免费观看| 久久久久久一级片| 天天影视色香欲综合网老头| 成人精品免费看| 欧美一区二区三区视频在线| 亚洲女同ⅹxx女同tv| 国产精品123区| 欧美日韩国产免费| 一区二区三区视频在线看| 国产精品夜夜爽| 欧美va亚洲va香蕉在线| 亚洲妇女屁股眼交7| 色综合一区二区| 中文字幕+乱码+中文字幕一区| 欧美a级一区二区| 精品视频一区二区三区免费| 亚洲欧洲一区二区在线播放| 国产一区二区不卡老阿姨| 日韩午夜在线影院| 丝袜亚洲另类欧美| 欧美色欧美亚洲另类二区| 国产尤物一区二区在线| 国产女主播一区| 日韩av电影免费观看高清完整版 | 欧美日韩亚洲丝袜制服| 亚洲精品成人a在线观看| 成人18视频在线播放| 国产日韩精品视频一区| 极品尤物av久久免费看| 日韩视频一区二区| 日韩中文欧美在线| 884aa四虎影成人精品一区| 亚洲网友自拍偷拍| 91久久精品一区二区三区| 亚洲激情自拍偷拍| 欧美午夜精品一区二区蜜桃 | 亚洲国产岛国毛片在线| 国产精品一卡二| 久久精品亚洲一区二区三区浴池 | voyeur盗摄精品| 亚洲国产精品ⅴa在线观看| 大陆成人av片| 国产精品视频第一区| 成人福利视频在线看| 欧美v亚洲v综合ⅴ国产v| 三级一区在线视频先锋| 欧美日韩精品一区二区三区四区| 天堂资源在线中文精品| 欧美顶级少妇做爰| 久久国产综合精品| 久久精品欧美一区二区三区不卡| 国产成人免费视频| 午夜精品福利一区二区蜜股av | 日韩三级中文字幕| 麻豆freexxxx性91精品| 国产日产欧美精品一区二区三区| 大桥未久av一区二区三区中文| **欧美大码日韩| 91黄色免费看| 午夜电影一区二区| 久久久久久久久一| 成人午夜免费视频| 一区二区三区在线播| 在线不卡的av| 国产精品性做久久久久久| 国产精品成人免费在线| 欧美日韩在线精品一区二区三区激情| 日本不卡的三区四区五区| 久久免费的精品国产v∧| 91福利国产成人精品照片| 免费久久精品视频| 欧美激情在线看|