105 lines
3.3 KiB
C
105 lines
3.3 KiB
C
/*
|
|
* 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_ */
|
|
|