30#ifndef LIBBSP_SPARC_LEON3_BSP_H
31#define LIBBSP_SPARC_LEON3_BSP_H
58#define BSP_FEATURE_IRQ_EXTENSION
64#define BSP_IDLE_TASK_BODY bsp_idle_thread
67#define BSP_NUMBER_OF_TERMIOS_PORTS 8
72struct rtems_bsdnet_ifconfig;
73extern int rtems_leon_open_eth_driver_attach(
74 struct rtems_bsdnet_ifconfig *config,
77extern int rtems_smc91111_driver_attach_leon3(
78 struct rtems_bsdnet_ifconfig *config,
81extern int rtems_leon_greth_driver_attach(
82 struct rtems_bsdnet_ifconfig *config,
86#define RTEMS_BSP_NETWORK_DRIVER_NAME_OPENETH "open_eth1"
87#define RTEMS_BSP_NETWORK_DRIVER_ATTACH_OPENETH \
88 rtems_leon_open_eth_driver_attach
89#define RTEMS_BSP_NETWORK_DRIVER_NAME_SMC91111 "smc_eth1"
90#define RTEMS_BSP_NETWORK_DRIVER_ATTACH_SMC91111 \
91 rtems_smc91111_driver_attach_leon3
92#define RTEMS_BSP_NETWORK_DRIVER_NAME_GRETH "gr_eth1"
93#define RTEMS_BSP_NETWORK_DRIVER_ATTACH_GRETH \
94 rtems_leon_greth_driver_attach
96#ifndef RTEMS_BSP_NETWORK_DRIVER_NAME
97#define RTEMS_BSP_NETWORK_DRIVER_NAME RTEMS_BSP_NETWORK_DRIVER_NAME_GRETH
98#define RTEMS_BSP_NETWORK_DRIVER_ATTACH RTEMS_BSP_NETWORK_DRIVER_ATTACH_GRETH
104#define GRETH_SUPPORTED
105#define GRETH_MEM_LOAD(addr) leon_r32_no_cache((uintptr_t)addr)
107extern int CPU_SPARC_HAS_SNOOPING;
119extern int PROM_START;
123extern int CLOCK_SPEED;
129void BSP_fatal_exit(uint32_t error);
134void rtems_bsp_delay(
int usecs);
137typedef void (*bsp_shared_isr)(
void *arg);
215#if defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING)
220extern const unsigned char LEON3_mp_irq;
228#define AMBAPPBUS_INFO_AVAIL
229#define APBUART_INFO_AVAIL
230#define GPTIMER_INFO_AVAIL
231#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
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.
LEON3 BSP data types and macros.
This header file defines the RTEMS Classic API.