source: rtems/c/src/lib/libbsp/i960/rxgen960/startup/memchnl.h @ c8f3e82

Last change on this file since c8f3e82 was 2ea8df3, checked in by Joel Sherrill <joel.sherrill@…>, on 10/27/99 at 16:27:34

Added CVS Ids and a basic header. More header cleanup needed.

  • Property mode set to 100644
File size: 1.7 KB
Line 
1/*-------------------------------------*/
2/* memchnl.h                           */
3/* Last change : 16. 5.95              */
4/*-------------------------------------*/
5/*
6 *  $Id$
7 */
8
9#ifndef _MEMCHNL_H_
10#define _MEMCHNL_H_
11
12/* The following is a dummy for now to be filled in
13        as the message passing stuff gets migrated to
14        I20 (or other standard )
15*/
16
17typedef
18struct memMsg{
19        int * foo;
20} IOTrCBlk, * iotrcb_ptr_t;
21
22typedef void * iotrcb_sgm_t;
23
24  /* Interrupt arrived from X processor.
25   * This is invoked from low-level interrupt dispatcher.
26   */
27extern void memChnlIntrFromHost(void);
28  /* This IOT's processing is completed.
29   * Signal the host, it can take it back.
30   */
31extern void memChnlIotFinished(IOTrCBlk *);
32  /* A fault has just occured. Pass a signal over
33   * memory channel.
34   */
35extern void memChnlI960Fault(void);
36  /* IOT handler procedure.
37   */   
38typedef void (* IotHandler)(IOTrCBlk *, int tr_req);
39  /* Register handler to process IOT's.
40   */   
41extern void memChnlRegisterHndl(IotHandler);
42  /* Intermediate image buffer.
43   * Defined in *.ld
44   */
45extern unsigned int downloadStart[];   
46
47typedef struct {
48  int ptr_len;
49  iotrcb_ptr_t ptr_loc;
50  iotrcb_ptr_t * ptr_crnt;
51  iotrcb_sgm_t * sgm_crnt;
52} BufLookupHndl;
53  /* Procedures to travel throughout the buffer page list.
54   * It should be accomplished as below:
55   *    ...
56   *    BufLookupHndl hndl;
57   *    char * buf;
58   *    if (memBufLookupInit(& hndl, iot) != 0)  {
59   *       while ((buf = memBufLookupNext(& hndl)) != 0)  {
60   *         ... buf is a buffer page address.
61   *       }
62   *    }
63   */
64extern BufLookupHndl * memBufLookupInit(BufLookupHndl *, IOTrCBlk *);
65extern void * memBufLookupNext(BufLookupHndl *);
66
67#endif
68/*-------------*/
69/* End of file */
70/*-------------*/
71
Note: See TracBrowser for help on using the repository browser.