RTEMS  5.0.0
VME.h
Go to the documentation of this file.
1 
9 #ifndef RTEMS_BSP_VME_API_H
10 #define RTEMS_BSP_VME_API_H
11 
12 /*
13  * Authorship
14  * ----------
15  * This software was created by
16  * Till Straumann <strauman@slac.stanford.edu>, 2002,
17  * Stanford Linear Accelerator Center, Stanford University.
18  *
19  * Acknowledgement of sponsorship
20  * ------------------------------
21  * This software was produced by
22  * the Stanford Linear Accelerator Center, Stanford University,
23  * under Contract DE-AC03-76SFO0515 with the Department of Energy.
24  *
25  * Government disclaimer of liability
26  * ----------------------------------
27  * Neither the United States nor the United States Department of Energy,
28  * nor any of their employees, makes any warranty, express or implied, or
29  * assumes any legal liability or responsibility for the accuracy,
30  * completeness, or usefulness of any data, apparatus, product, or process
31  * disclosed, or represents that its use would not infringe privately owned
32  * rights.
33  *
34  * Stanford disclaimer of liability
35  * --------------------------------
36  * Stanford University makes no representations or warranties, express or
37  * implied, nor assumes any liability for the use of this software.
38  *
39  * Stanford disclaimer of copyright
40  * --------------------------------
41  * Stanford University, owner of the copyright, hereby disclaims its
42  * copyright and all other rights in this software. Hence, anyone may
43  * freely use it for any purpose without restriction.
44  *
45  * Maintenance of notices
46  * ----------------------
47  * In the interest of clarity regarding the origin and status of this
48  * SLAC software, this and all the preceding Stanford University notices
49  * are to remain affixed to any copy or derivative of this software made
50  * or distributed by the recipient and are to be affixed to any copy of
51  * software made or distributed by the recipient that contains a copy or
52  * derivative of this software.
53  *
54  * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03
55  */
56 
57 #include <stdio.h>
58 
59 /* address modifiers & friends */
60 #include <bsp/vme_am_defs.h>
61 
62 #ifdef __cplusplus
63 extern "C" {
64 #endif
65 
75 void BSP_vme_config(void);
76 
77 /* translate through host bridge and vme master window of vme bridge */
78 int
79 BSP_vme2local_adrs(unsigned long am, unsigned long vmeaddr, unsigned long *plocaladdr);
80 
81 /* how a CPU address is mapped to the VME bus (if at all) */
82 int
83 BSP_local2vme_adrs(unsigned long am, unsigned long localaddr, unsigned long *pvmeaddr);
84 
85 /* interrupt handlers and levels */
86 typedef void (*BSP_VME_ISR_t)(void *usrArg, unsigned long vector);
87 
88 int
89 BSP_installVME_isr(unsigned long vector, BSP_VME_ISR_t handler, void *arg);
90 int
91 BSP_removeVME_isr(unsigned long vector, BSP_VME_ISR_t handler, void *arg);
92 
93 /* retrieve the currently installed ISR for a given vector */
94 BSP_VME_ISR_t
95 BSP_getVME_isr(unsigned long vector, void **parg);
96 
97 int
98 BSP_enableVME_int_lvl(unsigned int level);
99 
100 int
101 BSP_disableVME_int_lvl(unsigned int level);
102 
103 int
104 BSP_VMEOutboundPortCfg(
105  unsigned long port,
106  unsigned long address_space,
107  unsigned long vme_address,
108  unsigned long pci_address,
109  unsigned long size);
110 
111 int
112 BSP_VMEInboundPortCfg(
113  unsigned long port,
114  unsigned long address_space,
115  unsigned long vme_address,
116  unsigned long pci_address,
117  unsigned long size);
118 
119 void
120 BSP_VMEOutboundPortsShow(FILE *f);
121 
122 void
123 BSP_VMEInboundPortsShow(FILE *f);
124 
125 /* Assert VME SYSRESET */
126 void
127 BSP_VMEResetBus(void);
128 
129 #ifdef __cplusplus
130 }
131 #endif
132 
133 #endif
vxworks compatible addressing modes
unsigned size
Definition: tte.h:74