summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i960/rxgen960/startup/memchnl.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/i960/rxgen960/startup/memchnl.h')
-rw-r--r--c/src/lib/libbsp/i960/rxgen960/startup/memchnl.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/i960/rxgen960/startup/memchnl.h b/c/src/lib/libbsp/i960/rxgen960/startup/memchnl.h
new file mode 100644
index 0000000000..35bba178e8
--- /dev/null
+++ b/c/src/lib/libbsp/i960/rxgen960/startup/memchnl.h
@@ -0,0 +1,67 @@
+/*-------------------------------------*/
+/* memchnl.h */
+/* Last change : 16. 5.95 */
+/*-------------------------------------*/
+#ifndef _MEMCHNL_H_
+#define _MEMCHNL_H_
+
+/* The following is a dummy for now to be filled in
+ as the message passing stuff gets migrated to
+ I20 (or other standard )
+*/
+
+typedef
+struct memMsg{
+ int * foo;
+} IOTrCBlk, * iotrcb_ptr_t;
+
+typedef void * iotrcb_sgm_t;
+
+ /* Interrupt arrived from X processor.
+ * This is invoked from low-level interrupt dispatcher.
+ */
+extern void memChnlIntrFromHost(void);
+ /* This IOT's processing is completed.
+ * Signal the host, it can take it back.
+ */
+extern void memChnlIotFinished(IOTrCBlk *);
+ /* A fault has just occured. Pass a signal over
+ * memory channel.
+ */
+extern void memChnlI960Fault(void);
+ /* IOT handler procedure.
+ */
+typedef void (* IotHandler)(IOTrCBlk *, int tr_req);
+ /* Register handler to process IOT's.
+ */
+extern void memChnlRegisterHndl(IotHandler);
+ /* Intermediate image buffer.
+ * Defined in *.ld
+ */
+extern unsigned int downloadStart[];
+
+typedef struct {
+ int ptr_len;
+ iotrcb_ptr_t ptr_loc;
+ iotrcb_ptr_t * ptr_crnt;
+ iotrcb_sgm_t * sgm_crnt;
+} BufLookupHndl;
+ /* Procedures to travel throughout the buffer page list.
+ * It should be accomplished as below:
+ * ...
+ * BufLookupHndl hndl;
+ * char * buf;
+ * if (memBufLookupInit(& hndl, iot) != 0) {
+ * while ((buf = memBufLookupNext(& hndl)) != 0) {
+ * ... buf is a buffer page address.
+ * }
+ * }
+ */
+extern BufLookupHndl * memBufLookupInit(BufLookupHndl *, IOTrCBlk *);
+extern void * memBufLookupNext(BufLookupHndl *);
+
+#endif
+/*-------------*/
+/* End of file */
+/*-------------*/
+