/***************************************************************************\ |* *| |* Copyright (c) 1993-2000 NVIDIA, Corp. All rights reserved. *| |* *| |* NOTICE TO USER: The source code is copyrighted under U.S. and *| |* international laws. NVIDIA, Corp. of Sunnyvale, California owns *| |* the copyright and as design patents pending on the design and *| |* interface of the NV chips. Users and possessors of this source *| |* code are hereby granted a nonexclusive, royalty-free copyright *| |* and design patent license to use this code in individual and *| |* commercial software. *| |* *| |* Any use of this source code must include, in the user documenta- *| |* tion and internal comments to the code, notices to the end user *| |* as follows: *| |* *| |* Copyright (c) 1993-2000 NVIDIA, Corp. NVIDIA design patents *| |* pending in the U.S. and foreign countries. *| |* *| |* NVIDIA, CORP. MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF *| |* THIS SOURCE CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT *| |* EXPRESS OR IMPLIED WARRANTY OF ANY KIND. NVIDIA, CORP. DISCLAIMS *| |* ALL WARRANTIES WITH REGARD TO THIS SOURCE CODE, INCLUDING ALL *| |* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *| |* PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA, CORP. BE LIABLE *| |* FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, *| |* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR *| |* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER *| |* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR *| |* PERFORMANCE OF THIS SOURCE CODE. *| |* *| \***************************************************************************/ /************************VP class for the HAL******************************\ * * * Module: CHalExtendedProc.h * * All functions common to diff HALs are implemented here * * * ***************************************************************************** * * * History: * * * \***************************************************************************/ #if !defined _CHALEXTENDEDPROCH_ #define _CHALEXTENDEDPROCH_ class CHalBase; class CObjBase; class CHalExtendedProc : public CObjBase { public: CHalExtendedProc(CHalBase *pHal); ~CHalExtendedProc() { }; public: // each derived object has to implement these functions RM_STATUS Allocate(VOID *pParam); RM_STATUS Free(VOID *pParam = NULL); void *GetSgeOutLinAddr() { return m_SgeOut.pLinAddr; } private: RM_STATUS AllocateMemory(APU_EP_CREATE *); void FreeMemory(); RM_STATUS GetCaps(APU_EP_CREATE *); void InitializeHardware(); MEM_DESC m_SgeOut; MEM_DESC m_CommandQ; MEM_DESC m_Scratch; }; #endif