25 #include <rtems/sysinit.h> 27 #if defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING) 31 const unsigned char LEON3_mp_irq __attribute__((weak)) = 14;
37 int CPU_SPARC_HAS_SNOOPING;
40 uint32_t LEON3_Cpu_Index = 0;
42 #if defined(RTEMS_SMP) 44 int LEON3_Boot_Cpu = -1;
56 static inline int set_snooping(
void)
58 return (leon3_get_cache_control_register() >> 23) & 1;
66 void bsp_start(
void )
68 CPU_SPARC_HAS_SNOOPING = set_snooping();
71 static void leon3_cpu_index_init(
void)
78 LEON3_Cpu_Index = _LEON3_Get_current_processor();
83 RTEMS_SYSINIT_BSP_START,
84 RTEMS_SYSINIT_ORDER_FIRST
87 static void leon3_interrupt_common_init(
void )
92 BSP_shared_interrupt_init();
99 static void leon3_pre_driver_hook(
void )
101 bsp_spurious_initialize();
103 #ifndef RTEMS_DRVMGR_STARTUP 104 leon3_interrupt_common_init();
109 leon3_pre_driver_hook,
110 RTEMS_SYSINIT_BSP_PRE_DRIVERS,
111 RTEMS_SYSINIT_ORDER_MIDDLE
114 #ifdef RTEMS_DRVMGR_STARTUP 120 leon3_interrupt_common_init,
121 RTEMS_SYSINIT_DRVMGR_LEVEL_1,
122 RTEMS_SYSINIT_ORDER_LAST_BUT_5
LEON3 BSP data types and macros.