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
67struct rtems_bsdnet_ifconfig;
68extern int rtems_leon_open_eth_driver_attach(
69 struct rtems_bsdnet_ifconfig *
config,
72extern int rtems_smc91111_driver_attach_leon3(
73 struct rtems_bsdnet_ifconfig *
config,
76extern int rtems_leon_greth_driver_attach(
77 struct rtems_bsdnet_ifconfig *
config,
81#define RTEMS_BSP_NETWORK_DRIVER_NAME_OPENETH "open_eth1"
82#define RTEMS_BSP_NETWORK_DRIVER_ATTACH_OPENETH \
83 rtems_leon_open_eth_driver_attach
84#define RTEMS_BSP_NETWORK_DRIVER_NAME_SMC91111 "smc_eth1"
85#define RTEMS_BSP_NETWORK_DRIVER_ATTACH_SMC91111 \
86 rtems_smc91111_driver_attach_leon3
87#define RTEMS_BSP_NETWORK_DRIVER_NAME_GRETH "gr_eth1"
88#define RTEMS_BSP_NETWORK_DRIVER_ATTACH_GRETH \
89 rtems_leon_greth_driver_attach
91#ifndef RTEMS_BSP_NETWORK_DRIVER_NAME
92#define RTEMS_BSP_NETWORK_DRIVER_NAME RTEMS_BSP_NETWORK_DRIVER_NAME_GRETH
93#define RTEMS_BSP_NETWORK_DRIVER_ATTACH RTEMS_BSP_NETWORK_DRIVER_ATTACH_GRETH
99#define GRETH_SUPPORTED
100#define GRETH_MEM_LOAD(addr) leon_r32_no_cache((uintptr_t)addr)
102extern int CPU_SPARC_HAS_SNOOPING;
114extern int PROM_START;
118extern int CLOCK_SPEED;
125 rtems_isr_entry handler,
130void BSP_fatal_exit(uint32_t error);
132void bsp_spurious_initialize(
void );
137void rtems_bsp_delay(
int usecs);
140typedef void (*bsp_shared_isr)(
void *arg);
143extern void BSP_shared_interrupt_init(
void);
158static __inline__
int BSP_shared_interrupt_register
177static __inline__
int BSP_shared_interrupt_unregister
195extern void BSP_shared_interrupt_clear(
int irq);
204extern void BSP_shared_interrupt_unmask(
int irq);
213extern void BSP_shared_interrupt_mask(
int irq);
215#if defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING)
220extern const unsigned char LEON3_mp_irq;
231extern const unsigned char LEON3_irq_to_cpu[32];
239#define AMBAPPBUS_INFO_AVAIL
240#define APBUART_INFO_AVAIL
241#define GPTIMER_INFO_AVAIL
242#define GRETH_INFO_AVAIL
DEFAULT_INITIAL_EXTENSION Support.
ISR_Vector_number rtems_vector_number
Control block type used to manage the vectors.
Definition: intr.h:47
void * bsp_idle_thread(uintptr_t ignored)
Optimized idle task.
Definition: bspidle.c:26
rtems_isr_entry set_vector(rtems_isr_entry handler, rtems_vector_number vector, int type)
Install an interrupt handler.
Definition: setvec.c:28
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
#define RTEMS_INTERRUPT_SHARED
Allows that this interrupt handler may share a common interrupt vector with other handler.
Definition: irq-extension.h:50
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
Header file for the Interrupt Manager Extension.
LEON3 BSP data types and macros.
Definition: deflate.c:115