28 #ifndef LIBBSP_SPARC_LEON3_BSP_H 29 #define LIBBSP_SPARC_LEON3_BSP_H 59 #define BSP_IDLE_TASK_BODY bsp_idle_thread 62 #define BSP_NUMBER_OF_TERMIOS_PORTS 8 65 #define BSP_MAXIMUM_DEVICES 8 70 struct rtems_bsdnet_ifconfig;
71 extern int rtems_leon_open_eth_driver_attach(
72 struct rtems_bsdnet_ifconfig *
config,
75 extern int rtems_smc91111_driver_attach_leon3(
76 struct rtems_bsdnet_ifconfig *
config,
79 extern int rtems_leon_greth_driver_attach(
80 struct rtems_bsdnet_ifconfig *
config,
84 #define RTEMS_BSP_NETWORK_DRIVER_NAME_OPENETH "open_eth1" 85 #define RTEMS_BSP_NETWORK_DRIVER_ATTACH_OPENETH \ 86 rtems_leon_open_eth_driver_attach 87 #define RTEMS_BSP_NETWORK_DRIVER_NAME_SMC91111 "smc_eth1" 88 #define RTEMS_BSP_NETWORK_DRIVER_ATTACH_SMC91111 \ 89 rtems_smc91111_driver_attach_leon3 90 #define RTEMS_BSP_NETWORK_DRIVER_NAME_GRETH "gr_eth1" 91 #define RTEMS_BSP_NETWORK_DRIVER_ATTACH_GRETH \ 92 rtems_leon_greth_driver_attach 94 #ifndef RTEMS_BSP_NETWORK_DRIVER_NAME 95 #define RTEMS_BSP_NETWORK_DRIVER_NAME RTEMS_BSP_NETWORK_DRIVER_NAME_GRETH 96 #define RTEMS_BSP_NETWORK_DRIVER_ATTACH RTEMS_BSP_NETWORK_DRIVER_ATTACH_GRETH 102 #define GRETH_SUPPORTED 103 #define GRETH_MEM_LOAD(addr) leon_r32_no_cache((uintptr_t)addr) 105 extern int CPU_SPARC_HAS_SNOOPING;
113 extern int RAM_START;
117 extern int PROM_START;
119 extern int PROM_SIZE;
121 extern int CLOCK_SPEED;
128 rtems_isr_entry handler,
133 void BSP_fatal_exit(uint32_t error);
135 void bsp_spurious_initialize(
void );
140 void rtems_bsp_delay(
int usecs);
143 typedef void (*bsp_shared_isr)(
void *arg);
146 extern void BSP_shared_interrupt_init(
void);
161 static __inline__
int BSP_shared_interrupt_register
180 static __inline__
int BSP_shared_interrupt_unregister
198 extern void BSP_shared_interrupt_clear(
int irq);
207 extern void BSP_shared_interrupt_unmask(
int irq);
216 extern void BSP_shared_interrupt_mask(
int irq);
218 #if defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING) 223 extern const unsigned char LEON3_mp_irq;
234 extern const unsigned char LEON3_irq_to_cpu[32];
242 #define AMBAPPBUS_INFO_AVAIL 243 #define APBUART_INFO_AVAIL 244 #define GPTIMER_INFO_AVAIL 245 #define GRETH_INFO_AVAIL Definition: deflate.c:115
rtems_isr_entry set_vector(rtems_isr_entry handler, rtems_vector_number vector, int type)
Install an interrupt handler.
Definition: setvec.c:28
#define RTEMS_INTERRUPT_SHARED
Allows that this interrupt handler may share a common interrupt vector with other handler...
Definition: irq-extension.h:56
rtems_status_code rtems_interrupt_handler_remove(rtems_vector_number vector, rtems_interrupt_handler handler, void *arg)
Removes the interrupt handler routine handler with argument arg for the interrupt vector with number ...
Definition: irq.c:175
rtems_status_code rtems_interrupt_handler_install(rtems_vector_number vector, const char *info, rtems_option options, rtems_interrupt_handler handler, void *arg)
Installs the interrupt handler routine handler for the interrupt vector with number vector...
Definition: irq.c:127
DEFAULT_INITIAL_EXTENSION Support.
ISR_Vector_number rtems_vector_number
Control block type used to manage the vectors.
Definition: intr.h:47
Header file for the Interrupt Manager Extension.
void * bsp_idle_thread(uintptr_t ignored)
Optimized idle task.
Definition: bspidle.c:26
LEON3 BSP data types and macros.