home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************
- * Copyright 1991 Advanced Micro Devices, Inc.
- *
- * This software is the property of Advanced Micro Devices, Inc (AMD) which
- * specifically grants the user the right to modify, use and distribute this
- * software provided this notice is not removed or altered. All other rights
- * are reserved by AMD.
- *
- * AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
- * SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
- * DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
- * USE OF THIS SOFTWARE.
- *
- * Comments about this software should be directed to udi@amd.com. If access
- * to electronic mail isn't available, send mail to:
- *
- * Advanced Micro Devices, Inc.
- * 29K Support Products
- * Mail Stop 573
- * 5900 E. Ben White Blvd.
- * Austin, TX 78741
- *
- * For more detailed information about the values, types, and functions
- * defined and declared here, see the corresponding UDI spec available
- * from AMD at the address above.
- *****************************************************************************
- * $Id: udiproc.h,v 1.1 1992/04/22 20:40:47 grossman Exp $
- * $Id: @(#)udiproc.h 2.11, AMD
- */
-
- /* local type decs. and macro defs. not in a .h file ************* MACRO/TYPE
- */
- #include "udiphcfg.h" /* Get host specific configuration */
- #include "udiptcfg.h" /* Get target specific configuration */
-
- /* Here are all of the CPU Families for which UDI is currently defined */
- #define Am29K 1 /* AMD's Am290xx and Am292xx parts */
-
- typedef UDIInt UDIError;
- typedef UDIInt UDISessionId;
- typedef UDIInt UDIPId;
- typedef UDIInt UDIStepType;
- typedef UDIInt UDIBreakType;
- typedef UDIUInt UDIBreakId;
- typedef UDIUInt UDIMode;
-
- typedef UDIStruct
- {
- CPUSpace Space;
- CPUOffset Offset;
- } UDIResource;
-
- typedef UDIStruct
- {
- CPUOffset Low;
- CPUOffset High;
- } UDIRange;
-
- typedef UDIStruct
- {
- CPUSpace Space;
- CPUOffset Offset;
- CPUSizeT Size;
- } UDIMemoryRange;
-
- /* Values for UDIStepType parameters */
- #define UDIStepNatural 0x0000
- #define UDIStepOverTraps 0x0001
- #define UDIStepOverCalls 0x0002
- #define UDIStepInRange 0x0004
- #define UDIStepNatural 0x0000
-
- /* Values for UDIBreakType parameters */
- #define UDIBreakFlagExecute 0x0001
- #define UDIBreakFlagRead 0x0002
- #define UDIBreakFlagWrite 0x0004
- #define UDIBreakFlagFetch 0x0008
-
- /* Special values for UDIWait MaxTime parameter */
- #define UDIWaitForever (UDIInt32) -1 /* Infinite time delay */
-
- /* Special values for PId */
- #define UDIProcessProcessor -1 /* Raw Hardware, if possible */
-
- /* Values for UDIWait StopReason */
- #define UDIGrossState 0xff
- #define UDITrapped 0 /* Fine state - which trap */
- #define UDINotExecuting 1
- #define UDIRunning 2
- #define UDIStopped 3
- #define UDIWarned 4
- #define UDIStepped 5
- #define UDIWaiting 6
- #define UDIHalted 7
- #define UDIStdoutReady 8 /* fine state - size */
- #define UDIStderrReady 9 /* fine state - size */
- #define UDIStdinNeeded 10 /* fine state - size */
- #define UDIStdinModeX 11 /* fine state - mode */
- #define UDIBreak 12 /* Fine state - Breakpoint Id */
- #define UDIExited 13 /* Fine state - exit code */
-
- /* Enumerate the return values from the callback function
- for UDIEnumerateTIPs.
- */
- #define UDITerminateEnumeration 0
- #define UDIContinueEnumeration 1
-
- /* Enumerate values for Terminate parameter to UDIDisconnect */
- #define UDITerminateSession 1
- #define UDIContinueSession 0
-
- /* Error codes */
- #define UDINoError 0 /* No error occured */
- #define UDIErrorNoSuchConfiguration 1
- #define UDIErrorCantHappen 2
- #define UDIErrorCantConnect 3
- #define UDIErrorNoSuchConnection 4
- #define UDIErrorNoConnection 5
- #define UDIErrorCantOpenConfigFile 6
- #define UDIErrorCantStartTIP 7
- #define UDIErrorConnectionUnavailable 8
- #define UDIErrorTryAnotherTIP 9
- #define UDIErrorExecutableNotTIP 10
- #define UDIErrorInvalidTIPOption 11
- #define UDIErrorCantDisconnect 12
- #define UDIErrorUnknownError 13
- #define UDIErrorCantCreateProcess 14
- #define UDIErrorNoSuchProcess 15
- #define UDIErrorUnknownResourceSpace 16
- #define UDIErrorInvalidResource 17
- #define UDIErrorUnsupportedStepType 18
- #define UDIErrorCantSetBreakpoint 19
- #define UDIErrorTooManyBreakpoints 20
- #define UDIErrorInvalidBreakId 21
- #define UDIErrorNoMoreBreakIds 22
- #define UDIErrorUnsupportedService 23
- #define UDIErrorTryAgain 24
- #define UDIErrorIPCLimitation 25
- #define UDIErrorIncomplete 26
- #define UDIErrorAborted 27
- #define UDIErrorTransDone 28
- #define UDIErrorCantAccept 29
- #define UDIErrorTransInputNeeded 30
- #define UDIErrorTransModeX 31
- #define UDIErrorInvalidSize 32
- #define UDIErrorBadConfigFileEntry 33
- #define UDIErrorIPCInternal 34
- /* TBD */
-
- /****************************************************************** PROCEDURES
- */
-
- UDIError UDIConnect UDIParams((
- char *Configuration, /* In */
- UDISessionId *Session /* Out */
- ));
-
- UDIError UDIDisconnect UDIParams((
- UDISessionId Session, /* In */
- UDIBool Terminate /* In */
- ));
-
- UDIError UDISetCurrentConnection UDIParams((
- UDISessionId Session /* In */
- ));
-
- UDIError UDICapabilities UDIParams((
- UDIUInt32 *TIPId, /* Out */
- UDIUInt32 *TargetId, /* Out */
- UDIUInt32 DFEId, /* In */
- UDIUInt32 DFE, /* In */
- UDIUInt32 *TIP, /* Out */
- UDIUInt32 *DFEIPCId, /* Out */
- UDIUInt32 *TIPIPCId, /* Out */
- char *TIPString /* Out */
- ));
-
- UDIError UDIEnumerateTIPs UDIParams((
- UDIInt (*UDIETCallback) /* In */
- UDIParams(( char *Configuration )) /* In to callback() */
- ));
-
- UDIError UDIGetErrorMsg UDIParams((
- UDIError ErrorCode, /* In */
- UDISizeT MsgSize, /* In */
- char *Msg, /* Out */
- UDISizeT *CountDone /* Out */
- ));
-
- UDIError UDIGetTargetConfig UDIParams((
- UDIMemoryRange KnownMemory[], /* Out */
- UDIInt *NumberOfRanges, /* In/Out */
- UDIUInt32 ChipVersions[], /* Out */
- UDIInt *NumberOfChips /* In/Out */
- ));
-
- UDIError UDICreateProcess UDIParams((
- UDIPId *PId /* Out */
- ));
-
- UDIError UDISetCurrentProcess UDIParams((
- UDIPId PId /* In */
- ));
-
- UDIError UDIDestroyProcess UDIParams((
- UDIPId PId /* In */
- ));
-
- UDIError UDIInitializeProcess UDIParams((
- UDIMemoryRange ProcessMemory[], /* In */
- UDIInt NumberOfRanges, /* In */
- UDIResource EntryPoint, /* In */
- CPUSizeT StackSizes[], /* In */
- UDIInt NumberOfStacks, /* In */
- char *ArgString /* In */
- ));
-
- UDIError UDIRead UDIParams((
- UDIResource From, /* In */
- UDIHostMemPtr To, /* Out */
- UDICount Count, /* In */
- UDISizeT Size, /* In */
- UDICount *CountDone, /* Out */
- UDIBool HostEndian /* In */
- ));
-
- UDIError UDIWrite UDIParams((
- UDIHostMemPtr From, /* In */
- UDIResource To, /* In */
- UDICount Count, /* In */
- UDISizeT Size, /* In */
- UDICount *CountDone, /* Out */
- UDIBool HostEndian /* In */
- ));
-
- UDIError UDICopy UDIParams((
- UDIResource From, /* In */
- UDIResource To, /* In */
- UDICount Count, /* In */
- UDISizeT Size, /* In */
- UDICount *CountDone, /* Out */
- UDIBool Direction /* In */
- ));
-
- UDIError UDIExecute UDIParams((
- void
- ));
-
- UDIError UDIStep UDIParams((
- UDIUInt32 Steps, /* In */
- UDIStepType StepType, /* In */
- UDIRange Range /* In */
- ));
-
- UDIVoid UDIStop UDIParams((
- void
- ));
-
- UDIError UDIWait UDIParams((
- UDIInt32 MaxTime, /* In */
- UDIPId *PId, /* Out */
- UDIUInt32 *StopReason /* Out */
- ));
-
- UDIError UDISetBreakpoint UDIParams((
- UDIResource Addr, /* In */
- UDIInt32 PassCount, /* In */
- UDIBreakType Type, /* In */
- UDIBreakId *BreakId /* Out */
- ));
-
- UDIError UDIQueryBreakpoint UDIParams((
- UDIBreakId BreakId, /* In */
- UDIResource *Addr, /* Out */
- UDIInt32 *PassCount, /* Out */
- UDIBreakType *Type, /* Out */
- UDIInt32 *CurrentCount /* Out */
- ));
-
- UDIError UDIClearBreakpoint UDIParams((
- UDIBreakId BreakId /* In */
- ));
-
- UDIError UDIGetStdout UDIParams((
- UDIHostMemPtr Buf, /* Out */
- UDISizeT BufSize, /* In */
- UDISizeT *CountDone /* Out */
- ));
-
- UDIError UDIGetStderr UDIParams((
- UDIHostMemPtr Buf, /* Out */
- UDISizeT BufSize, /* In */
- UDISizeT *CountDone /* Out */
- ));
-
- UDIError UDIPutStdin UDIParams((
- UDIHostMemPtr Buf, /* In */
- UDISizeT Count, /* In */
- UDISizeT *CountDone /* Out */
- ));
-
- UDIError UDIStdinMode UDIParams((
- UDIMode *Mode /* Out */
- ));
-
- UDIError UDIPutTrans UDIParams((
- UDIHostMemPtr Buf, /* In */
- UDISizeT Count, /* In */
- UDISizeT *CountDone /* Out */
- ));
-
- UDIError UDIGetTrans UDIParams((
- UDIHostMemPtr Buf, /* Out */
- UDISizeT BufSize, /* In */
- UDISizeT *CountDone /* Out */
- ));
-
- UDIError UDITransMode UDIParams((
- UDIMode *Mode /* Out */
- ));
-