diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-17 06:57:46 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-20 09:49:36 +0200 |
commit | c4ccf26cb7808786e15312b41c3055b2da75203b (patch) | |
tree | f25c7d75c2543e447847e84d978db3d23a433418 /c/src/lib/libbsp/powerpc | |
parent | bsp/motorola_powerpc: Move bspstart.c to bsps (diff) | |
download | rtems-c4ccf26cb7808786e15312b41c3055b2da75203b.tar.bz2 |
bsps: Convert all bsp_predriver_hook()
Use RTEMS_SYSINIT_ITEM() instead.
Update #2408.
Diffstat (limited to '')
25 files changed, 62 insertions, 120 deletions
diff --git a/c/src/lib/libbsp/powerpc/beatnik/Makefile.am b/c/src/lib/libbsp/powerpc/beatnik/Makefile.am index c9eec22263..2a741f78a6 100644 --- a/c/src/lib/libbsp/powerpc/beatnik/Makefile.am +++ b/c/src/lib/libbsp/powerpc/beatnik/Makefile.am @@ -47,7 +47,6 @@ librtemsbsp_a_SOURCES += startup/bspreset.c librtemsbsp_a_SOURCES += startup/i2c_init.c librtemsbsp_a_SOURCES += ../shared/startup/bspgetworkarea.c librtemsbsp_a_SOURCES += ../shared/startup/probeMemEnd.c -librtemsbsp_a_SOURCES += ../shared/startup/bsppredriverhook.c librtemsbsp_a_SOURCES += ../shared/startup/zerobss.c librtemsbsp_a_SOURCES += ../shared/startup/pgtbl_setup.c librtemsbsp_a_SOURCES += ../shared/startup/pgtbl_activate.c diff --git a/c/src/lib/libbsp/powerpc/beatnik/startup/bspstart.c b/c/src/lib/libbsp/powerpc/beatnik/startup/bspstart.c index b6ac2323ac..c3f2c0ceda 100644 --- a/c/src/lib/libbsp/powerpc/beatnik/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/beatnik/startup/bspstart.c @@ -32,6 +32,7 @@ #include <rtems/bspIo.h> #include <rtems/counter.h> #include <rtems/powerpc/powerpc.h> +#include <rtems/sysinit.h> /*#include <bsp/consoleIo.h>*/ #include <libcpu/spr.h> /* registers.h is included here */ #include <bsp.h> @@ -44,6 +45,7 @@ #include <libcpu/pte121.h> #include <libcpu/cpuIdent.h> #include <bsp/vectors.h> +#include <bsp/VME.h> #include <bsp/vpd.h> #define SHOW_MORE_INIT_SETTINGS @@ -377,3 +379,9 @@ void bsp_start( void ) printk("Exit from bspstart\n"); #endif } + +RTEMS_SYSINIT_ITEM( + BSP_vme_config, + RTEMS_SYSINIT_BSP_PRE_DRIVERS, + RTEMS_SYSINIT_ORDER_MIDDLE +); diff --git a/c/src/lib/libbsp/powerpc/gen5200/Makefile.am b/c/src/lib/libbsp/powerpc/gen5200/Makefile.am index 0c9b010738..b844fb3f73 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/Makefile.am +++ b/c/src/lib/libbsp/powerpc/gen5200/Makefile.am @@ -90,7 +90,6 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/rtc/rtc-support.c librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspgetworkarea-default.c -librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bsp-uboot-board-info.c librtemsbsp_a_SOURCES += ../shared/showbats.c diff --git a/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am b/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am index cfc50a8cf5..9ddd979394 100644 --- a/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am +++ b/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am @@ -31,7 +31,6 @@ librtemsbsp_a_SOURCES = # startup librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c -librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c librtemsbsp_a_SOURCES += ../shared/src/tictac.c librtemsbsp_a_SOURCES += startup/cpuinit.c diff --git a/c/src/lib/libbsp/powerpc/haleakala/Makefile.am b/c/src/lib/libbsp/powerpc/haleakala/Makefile.am index 3dcb486e67..a95999f5ff 100644 --- a/c/src/lib/libbsp/powerpc/haleakala/Makefile.am +++ b/c/src/lib/libbsp/powerpc/haleakala/Makefile.am @@ -21,7 +21,6 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspreset-loop.c librtemsbsp_a_SOURCES += startup/bspstart.c librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c -librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspgetworkarea-default.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c librtemsbsp_a_SOURCES += mmu/mmu_405.c diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am b/c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am index 71567fc38a..7b29824f2a 100644 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/Makefile.am @@ -37,7 +37,6 @@ librtemsbsp_a_SOURCES = librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/motorola_powerpc/start/bspstart.c librtemsbsp_a_SOURCES += ../shared/startup/bspgetworkarea.c librtemsbsp_a_SOURCES += ../shared/showbats.c -librtemsbsp_a_SOURCES += ../shared/startup/bsppredriverhook.c librtemsbsp_a_SOURCES += ../shared/startup/zerobss.c librtemsbsp_a_SOURCES += ../shared/startup/pgtbl_setup.c librtemsbsp_a_SOURCES += ../shared/startup/pgtbl_activate.c diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am index fbbc2f90bf..a41bc570bf 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am @@ -42,7 +42,6 @@ librtemsbsp_a_SOURCES = # startup librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c -librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../shared/src/bsp-start-zero.S librtemsbsp_a_SOURCES += ../shared/src/memcpy.c diff --git a/c/src/lib/libbsp/powerpc/mpc8260ads/Makefile.am b/c/src/lib/libbsp/powerpc/mpc8260ads/Makefile.am index 8d13b32ea9..6524244052 100644 --- a/c/src/lib/libbsp/powerpc/mpc8260ads/Makefile.am +++ b/c/src/lib/libbsp/powerpc/mpc8260ads/Makefile.am @@ -33,7 +33,6 @@ librtemsbsp_a_SOURCES += irq/irq.c # startup librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c -librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../shared/startup/bspidle.c librtemsbsp_a_SOURCES += startup/bspstart.c librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c diff --git a/c/src/lib/libbsp/powerpc/mvme3100/Makefile.am b/c/src/lib/libbsp/powerpc/mvme3100/Makefile.am index 1da4eff93d..3b6d0fdeb4 100644 --- a/c/src/lib/libbsp/powerpc/mvme3100/Makefile.am +++ b/c/src/lib/libbsp/powerpc/mvme3100/Makefile.am @@ -40,7 +40,6 @@ librtemsbsp_a_SOURCES = librtemsbsp_a_SOURCES += startup/bspstart.c librtemsbsp_a_SOURCES += startup/misc.c librtemsbsp_a_SOURCES += ../shared/startup/bspgetworkarea.c -librtemsbsp_a_SOURCES += ../shared/startup/bsppredriverhook.c librtemsbsp_a_SOURCES += ../shared/startup/zerobss.c librtemsbsp_a_SOURCES += ../shared/startup/sbrk.c librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c diff --git a/c/src/lib/libbsp/powerpc/mvme3100/startup/bspstart.c b/c/src/lib/libbsp/powerpc/mvme3100/startup/bspstart.c index e0c30b673a..27b483332c 100644 --- a/c/src/lib/libbsp/powerpc/mvme3100/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/mvme3100/startup/bspstart.c @@ -25,6 +25,7 @@ #include <bsp/bootcard.h> #include <rtems/bspIo.h> #include <rtems/counter.h> +#include <rtems/sysinit.h> #include <libcpu/spr.h> #include <libcpu/io.h> #include <libcpu/e500_mmu.h> @@ -34,6 +35,7 @@ #include <bsp/vpd.h> #include <libcpu/cpuIdent.h> #include <bsp/vectors.h> +#include <bsp/VME.h> #include <rtems/powerpc/powerpc.h> #define SHOW_MORE_INIT_SETTINGS @@ -419,3 +421,20 @@ VpdBufRec vpdData [] = { printk("Exit from bspstart\n"); #endif } + +static void mvme3100_i2c_initialize(void) +{ + BSP_i2c_initialize(); +} + +RTEMS_SYSINIT_ITEM( + mvme3100_i2c_initialize, + RTEMS_SYSINIT_BSP_PRE_DRIVERS, + RTEMS_SYSINIT_ORDER_MIDDLE +); + +RTEMS_SYSINIT_ITEM( + BSP_vme_config, + RTEMS_SYSINIT_BSP_PRE_DRIVERS, + RTEMS_SYSINIT_ORDER_MIDDLE +); diff --git a/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am b/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am index 122122defa..d4c5201263 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am +++ b/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am @@ -17,7 +17,6 @@ librtemsbsp_a_SOURCES = librtemsbsp_a_SOURCES += startup/bspstart.c librtemsbsp_a_SOURCES += ../shared/startup/pgtbl_setup.c librtemsbsp_a_SOURCES += startup/pgtbl_activate.c -librtemsbsp_a_SOURCES += ../shared/startup/bsppredriverhook.c librtemsbsp_a_SOURCES += ../shared/startup/zerobss.c librtemsbsp_a_SOURCES += ../shared/startup/bspgetworkarea.c librtemsbsp_a_SOURCES += ../shared/startup/sbrk.c diff --git a/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c b/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c index 2310be7965..279524eb8f 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c @@ -25,6 +25,7 @@ #include <stdlib.h> #include <ctype.h> +#include <rtems/sysinit.h> #include <rtems/system.h> #include <rtems/powerpc/powerpc.h> @@ -37,6 +38,7 @@ #include <libcpu/pte121.h> #include <libcpu/cpuIdent.h> #include <bsp/vectors.h> +#include <bsp/VME.h> #include <bsp/bspException.h> #include <rtems/bspIo.h> @@ -341,3 +343,9 @@ unsigned char ReadConfVPD_buff(int offset) { return(ConfVPD_buff[offset]); } + +RTEMS_SYSINIT_ITEM( + BSP_vme_config, + RTEMS_SYSINIT_BSP_PRE_DRIVERS, + RTEMS_SYSINIT_ORDER_MIDDLE +); diff --git a/c/src/lib/libbsp/powerpc/psim/Makefile.am b/c/src/lib/libbsp/powerpc/psim/Makefile.am index 0c416ae26a..d38d759a16 100644 --- a/c/src/lib/libbsp/powerpc/psim/Makefile.am +++ b/c/src/lib/libbsp/powerpc/psim/Makefile.am @@ -23,7 +23,6 @@ librtemsbsp_a_SOURCES = # startup librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c -librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += startup/bspstart.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspgetworkarea-default.c librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c diff --git a/c/src/lib/libbsp/powerpc/qemuppc/Makefile.am b/c/src/lib/libbsp/powerpc/qemuppc/Makefile.am index f7320d707b..f6d16d8830 100644 --- a/c/src/lib/libbsp/powerpc/qemuppc/Makefile.am +++ b/c/src/lib/libbsp/powerpc/qemuppc/Makefile.am @@ -22,7 +22,6 @@ project_lib_LIBRARIES = librtemsbsp.a librtemsbsp_a_SOURCES = # startup librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c -librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspgetworkarea-default.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspreset-empty.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c diff --git a/c/src/lib/libbsp/powerpc/qoriq/Makefile.am b/c/src/lib/libbsp/powerpc/qoriq/Makefile.am index baa3016206..b9735779ff 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/Makefile.am +++ b/c/src/lib/libbsp/powerpc/qoriq/Makefile.am @@ -50,7 +50,6 @@ librtemsbsp_a_SOURCES += startup/mmu-tlb1.S librtemsbsp_a_SOURCES += startup/mmu-config.c librtemsbsp_a_SOURCES += startup/portal.c librtemsbsp_a_SOURCES += startup/restart.S -librtemsbsp_a_SOURCES += startup/bsppredriverhook.c librtemsbsp_a_SOURCES += startup/bspstart.c librtemsbsp_a_SOURCES += startup/bspreset.c librtemsbsp_a_SOURCES += startup/bsprestart.c diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/bsppredriverhook.c b/c/src/lib/libbsp/powerpc/qoriq/startup/bsppredriverhook.c deleted file mode 100644 index 26e91250b9..0000000000 --- a/c/src/lib/libbsp/powerpc/qoriq/startup/bsppredriverhook.c +++ /dev/null @@ -1,31 +0,0 @@ -/** - * @file - * - * @ingroup QorIQ - * - * @brief bsp_predriver_hook() implementation. - */ - -/* - * Copyright (c) 2011 embedded brains GmbH. All rights reserved. - * - * embedded brains GmbH - * Obere Lagerstr. 30 - * 82178 Puchheim - * Germany - * <rtems@embedded-brains.de> - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include <bsp/bootcard.h> -#include <bsp/intercom.h> - -void bsp_predriver_hook(void) -{ - #ifdef RTEMS_MULTIPROCESSING - qoriq_intercom_init(); - #endif -} diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c b/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c index 9475c6fad5..7d9fa0d3c7 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c @@ -25,6 +25,7 @@ #include <rtems.h> #include <rtems/config.h> #include <rtems/counter.h> +#include <rtems/sysinit.h> #include <libcpu/powerpc-utility.h> @@ -33,6 +34,7 @@ #include <bsp/console-termios.h> #include <bsp/fatal.h> #include <bsp/fdt.h> +#include <bsp/intercom.h> #include <bsp/irq-generic.h> #include <bsp/linker-symbols.h> #include <bsp/mmu.h> @@ -185,3 +187,11 @@ uint32_t bsp_fdt_map_intr(const uint32_t *intr, size_t icells) return intr[0]; #endif } + +#ifdef RTEMS_MULTIPROCESSING +RTEMS_SYSINIT_ITEM( + qoriq_intercom_init, + RTEMS_SYSINIT_BSP_PRE_DRIVERS, + RTEMS_SYSINIT_ORDER_MIDDLE +); +#endif diff --git a/c/src/lib/libbsp/powerpc/shared/startup/bsppredriverhook.c b/c/src/lib/libbsp/powerpc/shared/startup/bsppredriverhook.c deleted file mode 100644 index fc3916eadf..0000000000 --- a/c/src/lib/libbsp/powerpc/shared/startup/bsppredriverhook.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * bsp_predriver_hook(). - * Optionally initializes I2C and VME. - */ - -/* - * COPYRIGHT (c) 1989-2014. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - * - * Modified to support the MCP750. - * Modifications Copyright (C) 1999 Eric Valette. valette@crf.canon.fr - */ - -#include <string.h> - -#include <bsp.h> -#include <bsp/bootcard.h> -#ifndef BSP_HAS_NO_VME -#include <bsp/VME.h> -#endif - -#ifdef SHOW_MORE_INIT_SETTINGS -#include <rtems/bspIo.h> -#endif - -/* - * bsp_predriver_hook - * - * Description: - * BSP predriver hook. Called just before drivers are initialized. - * - * NOTES: - * Must not use libc (to do io) from here, since drivers are - * not yet initialized. - * - */ - -void bsp_predriver_hook(void) -{ -#ifdef BSP_PREDRIVER_I2C_INIT - /* Some drivers (RTC) may need i2c */ - BSP_i2c_initialize(); -#endif - - /* Note that VME support may be omitted also by - * providing a no-op BSP_vme_config routine - */ -#ifndef BSP_HAS_NO_VME - /* - * Initialize VME bridge - needs working PCI - * and IRQ subsystems... - * - * NOTE: vmeUniverse driver now uses shared interrupts. - * this requires malloc/free which are not available - * from bspstart()... - */ -#ifdef SHOW_MORE_INIT_SETTINGS - printk("Going to initialize VME bridge\n"); -#endif - BSP_vme_config(); -#endif - -#ifdef SHOW_MORE_INIT_SETTINGS - printk("Leaving bsp_predriver_hook\n"); -#endif -} diff --git a/c/src/lib/libbsp/powerpc/ss555/Makefile.am b/c/src/lib/libbsp/powerpc/ss555/Makefile.am index adbfa36ec9..57e157e39e 100644 --- a/c/src/lib/libbsp/powerpc/ss555/Makefile.am +++ b/c/src/lib/libbsp/powerpc/ss555/Makefile.am @@ -22,7 +22,6 @@ librtemsbsp_a_SOURCES += clock/p_clock.c librtemsbsp_a_SOURCES += console/console.c # startup librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c -librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += startup/bspstart.c librtemsbsp_a_SOURCES += startup/iss555.c librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c diff --git a/c/src/lib/libbsp/powerpc/t32mppc/Makefile.am b/c/src/lib/libbsp/powerpc/t32mppc/Makefile.am index 32bc5d6816..73c627a831 100644 --- a/c/src/lib/libbsp/powerpc/t32mppc/Makefile.am +++ b/c/src/lib/libbsp/powerpc/t32mppc/Makefile.am @@ -27,7 +27,6 @@ librtemsbsp_a_SOURCES = # Startup librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c -librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspgetworkarea-default.c diff --git a/c/src/lib/libbsp/powerpc/tqm8xx/Makefile.am b/c/src/lib/libbsp/powerpc/tqm8xx/Makefile.am index d1855819a8..903782727a 100644 --- a/c/src/lib/libbsp/powerpc/tqm8xx/Makefile.am +++ b/c/src/lib/libbsp/powerpc/tqm8xx/Makefile.am @@ -39,7 +39,6 @@ librtemsbsp_a_SOURCES += spi/spi.c librtemsbsp_a_SOURCES += timer/timer.c # startup librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c -librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../shared/startup/bspidle.c librtemsbsp_a_SOURCES += startup/bspstart.c librtemsbsp_a_SOURCES += startup/bspgetworkarea.c diff --git a/c/src/lib/libbsp/powerpc/virtex/Makefile.am b/c/src/lib/libbsp/powerpc/virtex/Makefile.am index 13dcfa0534..de384a7309 100644 --- a/c/src/lib/libbsp/powerpc/virtex/Makefile.am +++ b/c/src/lib/libbsp/powerpc/virtex/Makefile.am @@ -34,7 +34,6 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspgetworkarea-defa librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspreset-loop.c librtemsbsp_a_SOURCES += startup/bspstart.c librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c -librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c librtemsbsp_a_SOURCES += ../shared/src/bsp-start-zero.S diff --git a/c/src/lib/libbsp/powerpc/virtex4/start/start.S b/c/src/lib/libbsp/powerpc/virtex4/start/start.S index e2c4534771..21948409bf 100644 --- a/c/src/lib/libbsp/powerpc/virtex4/start/start.S +++ b/c/src/lib/libbsp/powerpc/virtex4/start/start.S @@ -284,7 +284,7 @@ startupBL: * PowerPC EABI. * * boot_card() supervises the initialization of RTEMS and the C - * library. It calls bsp_start(), bsp_predriver_hook(), etc. + * library. It calls bsp_start(), etc. *------------------------------------------------------------------*/ lwz r2,toc_pointer-base_addr(r1) /* set r2 to toc */ lwz r1,stack_top-base_addr(r1) /* set r1 to stack_top */ diff --git a/c/src/lib/libbsp/powerpc/virtex4/startup/bspstart.c b/c/src/lib/libbsp/powerpc/virtex4/startup/bspstart.c index f67c1c3603..d5c255be6d 100644 --- a/c/src/lib/libbsp/powerpc/virtex4/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/virtex4/startup/bspstart.c @@ -57,6 +57,7 @@ #include <rtems/counter.h> #include <rtems/libio.h> #include <rtems/libcsupport.h> +#include <rtems/sysinit.h> #include <libcpu/cpuIdent.h> #include <libcpu/spr.h> @@ -206,7 +207,13 @@ void bsp_start(void) * BSP predriver hook. Called by boot_card() just before drivers are * initialized. Clear out any stale interrupts here. */ -void bsp_predriver_hook(void) +static void virtex4_pre_driver_hook(void) { app_bsp_predriver_hook(); } + +RTEMS_SYSINIT_ITEM( + virtex4_pre_driver_hook, + RTEMS_SYSINIT_BSP_PRE_DRIVERS, + RTEMS_SYSINIT_ORDER_MIDDLE +); diff --git a/c/src/lib/libbsp/powerpc/virtex5/startup/bspstart.c b/c/src/lib/libbsp/powerpc/virtex5/startup/bspstart.c index 44e7512e55..ff821574a9 100644 --- a/c/src/lib/libbsp/powerpc/virtex5/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/virtex5/startup/bspstart.c @@ -58,6 +58,7 @@ #include <rtems/counter.h> #include <rtems/libio.h> #include <rtems/libcsupport.h> +#include <rtems/sysinit.h> #include <libcpu/cpuIdent.h> #include <libcpu/spr.h> @@ -227,7 +228,13 @@ void bsp_start(void) * BSP predriver hook. Called by boot_card() just before drivers are * initialized. Clear out any stale interrupts here. */ -void bsp_predriver_hook(void) +static void virtex5_pre_driver_hook(void) { app_bsp_predriver_hook(); } + +RTEMS_SYSINIT_ITEM( + virtex5_pre_driver_hook, + RTEMS_SYSINIT_BSP_PRE_DRIVERS, + RTEMS_SYSINIT_ORDER_MIDDLE +); |