2 * Copyright 2001-2008 Texas Instruments - http://www.ti.com/
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 * ======== dbdcddef.h ========
19 * DSP-BIOS Bridge driver support functions for TI OMAP processors.
21 * DCD (DSP/BIOS Bridge Configuration Database) constants and types.
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,
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.
50 #include <mgrpriv.h> /* for MGR_PROCESSOREXTINFO */
53 * The following defines are critical elements for the DCD module:
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.
59 #define DCD_REGKEY "Software\\TexasInstruments\\DspBridge\\DCD"
60 #define DCD_REGISTER_SECTION ".dcd_register"
62 /* DCD Manager Object */
64 /*typedef struct DCD_MANAGER *DCD_HMANAGER;*/
66 /* DCD Node Properties */
67 struct DCD_NODEPROPS {
68 struct DSP_NDBPROPS ndbProps;
71 PSTR pstrCreatePhaseFxn;
72 PSTR pstrDeletePhaseFxn;
73 PSTR pstrExecutePhaseFxn;
76 /* Dynamic load properties */
77 USHORT usLoadType; /* Static, dynamic, overlay */
78 ULONG ulDataMemSegMask; /* Data memory requirements */
79 ULONG ulCodeMemSegMask; /* Code memory requirements */
82 /* DCD Generic Object Type */
83 struct DCD_GENERICOBJ {
85 struct DCD_NODEPROPS nodeObj; /* node object. */
86 struct DSP_PROCESSORINFO procObj; /* processor object. */
87 /* extended proc object (private) */
88 struct MGR_PROCESSOREXTINFO extProcObj;
92 /* DCD Internal Callback Type */
93 typedef DSP_STATUS(CDECL * DCD_REGISTERFXN) (IN struct DSP_UUID * pUuid,
94 IN DSP_DCDOBJTYPE objType,
97 typedef DSP_STATUS(CDECL * DCD_UNREGISTERFXN) (IN struct DSP_UUID * pUuid,
104 #endif /* DBDCDDEF_ */