28#ifndef LIBBSP_SPARC_LEON3_BSP_H
29#define LIBBSP_SPARC_LEON3_BSP_H
54#define BSP_FEATURE_IRQ_EXTENSION
60#define BSP_IDLE_TASK_BODY bsp_idle_thread
63#define BSP_NUMBER_OF_TERMIOS_PORTS 8
68struct rtems_bsdnet_ifconfig;
69extern int rtems_leon_open_eth_driver_attach(
70 struct rtems_bsdnet_ifconfig *
config,
73extern int rtems_smc91111_driver_attach_leon3(
74 struct rtems_bsdnet_ifconfig *
config,
77extern int rtems_leon_greth_driver_attach(
78 struct rtems_bsdnet_ifconfig *
config,
82#define RTEMS_BSP_NETWORK_DRIVER_NAME_OPENETH "open_eth1"
83#define RTEMS_BSP_NETWORK_DRIVER_ATTACH_OPENETH \
84 rtems_leon_open_eth_driver_attach
85#define RTEMS_BSP_NETWORK_DRIVER_NAME_SMC91111 "smc_eth1"
86#define RTEMS_BSP_NETWORK_DRIVER_ATTACH_SMC91111 \
87 rtems_smc91111_driver_attach_leon3
88#define RTEMS_BSP_NETWORK_DRIVER_NAME_GRETH "gr_eth1"
89#define RTEMS_BSP_NETWORK_DRIVER_ATTACH_GRETH \
90 rtems_leon_greth_driver_attach
92#ifndef RTEMS_BSP_NETWORK_DRIVER_NAME
93#define RTEMS_BSP_NETWORK_DRIVER_NAME RTEMS_BSP_NETWORK_DRIVER_NAME_GRETH
94#define RTEMS_BSP_NETWORK_DRIVER_ATTACH RTEMS_BSP_NETWORK_DRIVER_ATTACH_GRETH
100#define GRETH_SUPPORTED
101#define GRETH_MEM_LOAD(addr) leon_r32_no_cache((uintptr_t)addr)
103extern int CPU_SPARC_HAS_SNOOPING;
115extern int PROM_START;
119extern int CLOCK_SPEED;
131void BSP_fatal_exit(uint32_t error);
136void rtems_bsp_delay(
int usecs);
139typedef void (*bsp_shared_isr)(
void *arg);
217#if defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING)
222extern const unsigned char LEON3_mp_irq;
230#define AMBAPPBUS_INFO_AVAIL
231#define APBUART_INFO_AVAIL
232#define GPTIMER_INFO_AVAIL
233#define GRETH_INFO_AVAIL
This header file provides the default definition of BSP_INITIAL_EXTENSION.
#define RTEMS_DEPRECATED
Instructs the compiler in a declaration to issue a warning whenever a variable, function,...
Definition: basedefs.h:334
ISR_Handler_entry rtems_isr_entry
Interrupt service routines installed by rtems_interrupt_catch() shall have this type.
Definition: intr.h:134
rtems_status_code rtems_interrupt_vector_disable(rtems_vector_number vector)
Disables the interrupt vector.
Definition: irq-enable-disable.c:94
rtems_status_code rtems_interrupt_handler_install(rtems_vector_number vector, const char *info, rtems_option options, rtems_interrupt_handler routine, void *arg)
Installs the interrupt handler routine and argument at the interrupt vector.
Definition: irq-handler-install.c:85
ISR_Vector_number rtems_vector_number
This integer type represents interrupt vector numbers.
Definition: intr.h:102
#define RTEMS_INTERRUPT_SHARED
This interrupt handler install option allows that the interrupt handler may share the interrupt vecto...
Definition: intr.h:960
rtems_status_code rtems_interrupt_handler_remove(rtems_vector_number vector, rtems_interrupt_handler routine, void *arg)
Removes the interrupt handler routine and argument from the interrupt vector.
Definition: irq-handler-remove.c:62
rtems_status_code rtems_interrupt_vector_enable(rtems_vector_number vector)
Enables the interrupt vector.
Definition: irq-enable-disable.c:85
rtems_status_code rtems_interrupt_clear(rtems_vector_number vector)
Clears the interrupt vector.
Definition: irq-raise-clear.c:92
void * bsp_idle_thread(uintptr_t ignored)
Optimized idle task.
Definition: bspidle.c:39
This header file is provided for backward compatiblility.
This header file defines the RTEMS Classic API.
Definition: deflate.c:114