![]() |
|
|||
File indexing completed on 2025-05-11 08:23:53
0001 /** 0002 * @file 0003 * 0004 * @ingroup shared_vme 0005 * 0006 * @brief SVGM et al. BSP's VME support 0007 */ 0008 0009 #ifndef RTEMS_BSP_VME_API_H 0010 #define RTEMS_BSP_VME_API_H 0011 0012 /* 0013 * Authorship 0014 * ---------- 0015 * This software was created by 0016 * Till Straumann <strauman@slac.stanford.edu>, 2002, 0017 * Stanford Linear Accelerator Center, Stanford University. 0018 * 0019 * Acknowledgement of sponsorship 0020 * ------------------------------ 0021 * This software was produced by 0022 * the Stanford Linear Accelerator Center, Stanford University, 0023 * under Contract DE-AC03-76SFO0515 with the Department of Energy. 0024 * 0025 * Government disclaimer of liability 0026 * ---------------------------------- 0027 * Neither the United States nor the United States Department of Energy, 0028 * nor any of their employees, makes any warranty, express or implied, or 0029 * assumes any legal liability or responsibility for the accuracy, 0030 * completeness, or usefulness of any data, apparatus, product, or process 0031 * disclosed, or represents that its use would not infringe privately owned 0032 * rights. 0033 * 0034 * Stanford disclaimer of liability 0035 * -------------------------------- 0036 * Stanford University makes no representations or warranties, express or 0037 * implied, nor assumes any liability for the use of this software. 0038 * 0039 * Stanford disclaimer of copyright 0040 * -------------------------------- 0041 * Stanford University, owner of the copyright, hereby disclaims its 0042 * copyright and all other rights in this software. Hence, anyone may 0043 * freely use it for any purpose without restriction. 0044 * 0045 * Maintenance of notices 0046 * ---------------------- 0047 * In the interest of clarity regarding the origin and status of this 0048 * SLAC software, this and all the preceding Stanford University notices 0049 * are to remain affixed to any copy or derivative of this software made 0050 * or distributed by the recipient and are to be affixed to any copy of 0051 * software made or distributed by the recipient that contains a copy or 0052 * derivative of this software. 0053 * 0054 * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03 0055 */ 0056 0057 #include <stdio.h> 0058 0059 /* address modifiers & friends */ 0060 #include <bsp/vme_am_defs.h> 0061 0062 #ifdef __cplusplus 0063 extern "C" { 0064 #endif 0065 0066 /** 0067 * @defgroup shared_vme VME related declarations 0068 * 0069 * @ingroup shared_vmeuniverse 0070 * 0071 * @brief BSP-specific configuration routine; sets up 0072 * VME windows and installs the VME interrupt manager. 0073 */ 0074 0075 void BSP_vme_config(void); 0076 0077 /* translate through host bridge and vme master window of vme bridge */ 0078 int 0079 BSP_vme2local_adrs(unsigned long am, unsigned long vmeaddr, unsigned long *plocaladdr); 0080 0081 /* how a CPU address is mapped to the VME bus (if at all) */ 0082 int 0083 BSP_local2vme_adrs(unsigned long am, unsigned long localaddr, unsigned long *pvmeaddr); 0084 0085 /* interrupt handlers and levels */ 0086 typedef void (*BSP_VME_ISR_t)(void *usrArg, unsigned long vector); 0087 0088 int 0089 BSP_installVME_isr(unsigned long vector, BSP_VME_ISR_t handler, void *arg); 0090 int 0091 BSP_removeVME_isr(unsigned long vector, BSP_VME_ISR_t handler, void *arg); 0092 0093 /* retrieve the currently installed ISR for a given vector */ 0094 BSP_VME_ISR_t 0095 BSP_getVME_isr(unsigned long vector, void **parg); 0096 0097 int 0098 BSP_enableVME_int_lvl(unsigned int level); 0099 0100 int 0101 BSP_disableVME_int_lvl(unsigned int level); 0102 0103 int 0104 BSP_VMEOutboundPortCfg( 0105 unsigned long port, 0106 unsigned long address_space, 0107 unsigned long vme_address, 0108 unsigned long pci_address, 0109 unsigned long size); 0110 0111 int 0112 BSP_VMEInboundPortCfg( 0113 unsigned long port, 0114 unsigned long address_space, 0115 unsigned long vme_address, 0116 unsigned long pci_address, 0117 unsigned long size); 0118 0119 void 0120 BSP_VMEOutboundPortsShow(FILE *f); 0121 0122 void 0123 BSP_VMEInboundPortsShow(FILE *f); 0124 0125 /* Assert VME SYSRESET */ 0126 void 0127 BSP_VMEResetBus(void); 0128 0129 #ifdef __cplusplus 0130 } 0131 #endif 0132 0133 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |