/* * Copyright 2001-2008 Texas Instruments - http://www.ti.com/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* * ======== dbdcddef.h ======== * DSP-BIOS Bridge driver support functions for TI OMAP processors. * Description: * DCD (DSP/BIOS Bridge Configuration Database) constants and types. * *! Revision History: *! ================ *! 03-Dec-2003 map Moved and renamed DCD_OBJTYPE to DSP_DCDOBJTYPE in dbdefs.h *! 05-Dec-2002 map Added DCD_CREATELIBTYPE, DCD_EXECUTELIBTYPE, DCD_DELETELIBTYPE *! 24-Feb-2003 kc Updated REG entry names to DspBridge. *! 22-Nov-2002 gp Cleaned up comments, formatting. *! 05-Aug-2002 jeh Added DCD_REGISTERFXN. *! 19-Apr-2002 jeh Added DCD_LIBRARYTYPE to DCD_OBJTYPE, dynamic load *! properties to DCD_NODEPROPS. *! 29-Jul-2001 ag Added extended procObj. *! 13-Feb-2001 kc: Named changed from dcdbsdef.h dbdcddef.h. *! 12-Dec-2000 jeh Added DAIS iAlg name to DCD_NODEPROPS. *! 30-Oct-2000 kc: Added #defines for DCD_AutoRegister function. *! 05-Sep-2000 jeh Added DCD_NODEPROPS. *! 12-Aug-2000 kc: Incoroporated the use of types defined in <dspdefs.h>. *! 29-Jul-2000 kc: Created. */ #ifndef DBDCDDEF_ #define DBDCDDEF_ #ifdef __cplusplus extern "C" { #endif #include <dbdefs.h> #include <mgrpriv.h> /* for MGR_PROCESSOREXTINFO */ /* * The following defines are critical elements for the DCD module: * * - DCD_REGKEY enables DCD functions to locate registered DCD objects. * - DCD_REGISTER_SECTION identifies the COFF section where the UUID of * registered DCD objects are stored. */ #define DCD_REGKEY "Software\\TexasInstruments\\DspBridge\\DCD" #define DCD_REGISTER_SECTION ".dcd_register" /* DCD Manager Object */ struct DCD_MANAGER; /*typedef struct DCD_MANAGER *DCD_HMANAGER;*/ /* DCD Node Properties */ struct DCD_NODEPROPS { struct DSP_NDBPROPS ndbProps; UINT uMsgSegid; UINT uMsgNotifyType; PSTR pstrCreatePhaseFxn; PSTR pstrDeletePhaseFxn; PSTR pstrExecutePhaseFxn; PSTR pstrIAlgName; /* Dynamic load properties */ USHORT usLoadType; /* Static, dynamic, overlay */ ULONG ulDataMemSegMask; /* Data memory requirements */ ULONG ulCodeMemSegMask; /* Code memory requirements */ } ; /* DCD Generic Object Type */ struct DCD_GENERICOBJ { union dcdObjUnion { struct DCD_NODEPROPS nodeObj; /* node object. */ struct DSP_PROCESSORINFO procObj; /* processor object. */ /* extended proc object (private) */ struct MGR_PROCESSOREXTINFO extProcObj; } objData; } ; /* DCD Internal Callback Type */ typedef DSP_STATUS(CDECL * DCD_REGISTERFXN) (IN struct DSP_UUID * pUuid, IN DSP_DCDOBJTYPE objType, IN PVOID handle); typedef DSP_STATUS(CDECL * DCD_UNREGISTERFXN) (IN struct DSP_UUID * pUuid, IN DSP_DCDOBJTYPE objType); #ifdef __cplusplus } #endif #endif /* DBDCDDEF_ */