105 lines
3.3 KiB
C
105 lines
3.3 KiB
C
/*
|
|
* dspbridge/mpu_api/inc/dbdcddef.h
|
|
*
|
|
* DSP-BIOS Bridge driver support functions for TI OMAP processors.
|
|
*
|
|
* Copyright (C) 2007 Texas Instruments, Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU Lesser General Public License as published
|
|
* by the Free Software Foundation version 2.1 of the License.
|
|
*
|
|
* This program is distributed .as is. WITHOUT ANY WARRANTY of any kind,
|
|
* whether express or implied; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*/
|
|
|
|
/*
|
|
* ======== dbdcddef.h ========
|
|
* 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_ */
|
|
|