Home | History | Annotate | Download | only in inc
      1 /*
      2  *  Copyright 2001-2008 Texas Instruments - http://www.ti.com/
      3  *
      4  *  Licensed under the Apache License, Version 2.0 (the "License");
      5  *  you may not use this file except in compliance with the License.
      6  *  You may obtain a copy of the License at
      7  *
      8  *     http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  *  Unless required by applicable law or agreed to in writing, software
     11  *  distributed under the License is distributed on an "AS IS" BASIS,
     12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  *  See the License for the specific language governing permissions and
     14  *  limitations under the License.
     15  */
     16 
     17 /*
     18  *  ======== dbdcddef.h ========
     19  *  DSP-BIOS Bridge driver support functions for TI OMAP processors.
     20  *  Description:
     21  *      DCD (DSP/BIOS Bridge Configuration Database) constants and types.
     22  *
     23  *! Revision History:
     24  *! ================
     25  *! 03-Dec-2003 map Moved and renamed DCD_OBJTYPE to DSP_DCDOBJTYPE in dbdefs.h
     26  *! 05-Dec-2002 map Added DCD_CREATELIBTYPE, DCD_EXECUTELIBTYPE,
     27  					DCD_DELETELIBTYPE
     28  *! 24-Feb-2003 kc  Updated REG entry names to DspBridge.
     29  *! 22-Nov-2002 gp  Cleaned up comments, formatting.
     30  *! 05-Aug-2002 jeh Added DCD_REGISTERFXN.
     31  *! 19-Apr-2002 jeh Added DCD_LIBRARYTYPE to DCD_OBJTYPE, dynamic load
     32  *!                 properties to DCD_NODEPROPS.
     33  *! 29-Jul-2001 ag  Added extended procObj.
     34  *! 13-Feb-2001 kc: Named changed from dcdbsdef.h dbdcddef.h.
     35  *! 12-Dec-2000 jeh Added DAIS iAlg name to DCD_NODEPROPS.
     36  *! 30-Oct-2000 kc: Added #defines for DCD_AutoRegister function.
     37  *! 05-Sep-2000 jeh Added DCD_NODEPROPS.
     38  *! 12-Aug-2000 kc: Incoroporated the use of types defined in <dspdefs.h>.
     39  *! 29-Jul-2000 kc: Created.
     40  */
     41 
     42 #ifndef DBDCDDEF_
     43 #define DBDCDDEF_
     44 
     45 #ifdef __cplusplus
     46 extern "C" {
     47 #endif
     48 
     49 #include <dbdefs.h>
     50 #include <mgrpriv.h>		/* for MGR_PROCESSOREXTINFO */
     51 
     52 /*
     53  *  The following defines are critical elements for the DCD module:
     54  *
     55  * - DCD_REGKEY enables DCD functions to locate registered DCD objects.
     56  * - DCD_REGISTER_SECTION identifies the COFF section where the UUID of
     57  *   registered DCD objects are stored.
     58  */
     59 #define DCD_REGKEY              "Software\\TexasInstruments\\DspBridge\\DCD"
     60 #define DCD_REGISTER_SECTION    ".dcd_register"
     61 
     62 /* DCD Manager Object */
     63 	struct DCD_MANAGER;
     64 	/*typedef struct DCD_MANAGER *DCD_HMANAGER;*/
     65 
     66 /* DCD Node Properties */
     67 	struct DCD_NODEPROPS {
     68 		struct DSP_NDBPROPS ndbProps;
     69 		UINT uMsgSegid;
     70 		UINT uMsgNotifyType;
     71 		PSTR pstrCreatePhaseFxn;
     72 		PSTR pstrDeletePhaseFxn;
     73 		PSTR pstrExecutePhaseFxn;
     74 		PSTR pstrIAlgName;
     75 
     76 		/* Dynamic load properties */
     77 		USHORT usLoadType;	/* Static, dynamic, overlay */
     78 		ULONG ulDataMemSegMask;	/* Data memory requirements */
     79 		ULONG ulCodeMemSegMask;	/* Code memory requirements */
     80 	} ;
     81 
     82 /* DCD Generic Object Type */
     83 	struct DCD_GENERICOBJ {
     84 		union dcdObjUnion {
     85 			struct DCD_NODEPROPS nodeObj;	/* node object. */
     86 			struct DSP_PROCESSORINFO procObj;	/* processor object. */
     87 			/* extended proc object (private) */
     88 			struct MGR_PROCESSOREXTINFO extProcObj;
     89 		} objData;
     90 	} ;
     91 
     92 /* DCD Internal Callback Type */
     93 	typedef DSP_STATUS(CDECL * DCD_REGISTERFXN) (IN struct DSP_UUID * pUuid,
     94 						     IN DSP_DCDOBJTYPE objType,
     95 						     IN PVOID handle);
     96 
     97 	typedef DSP_STATUS(CDECL * DCD_UNREGISTERFXN) (IN struct DSP_UUID * pUuid,
     98 						       IN DSP_DCDOBJTYPE
     99 						       objType);
    100 
    101 #ifdef __cplusplus
    102 }
    103 #endif
    104 #endif				/* DBDCDDEF_ */
    105 
    106