diff options
author | Amar Takhar <amar@rtems.org> | 2014-12-28 17:24:12 -0500 |
---|---|---|
committer | Amar Takhar <amar@rtems.org> | 2015-12-11 15:13:45 -0500 |
commit | 162684666af4c15522052447afb7775a413f4d6a (patch) | |
tree | 7d256a52beb6458ac3b17c0ba73966a41e9dbdb6 /c | |
parent | b618d8cfc54f84d4ed03dc7b7fa510c872e6128a (diff) |
Add waf build system.
Diffstat (limited to 'c')
-rw-r--r-- | c/wscript | 195 | ||||
-rw-r--r-- | c/wscript_arm | 1340 | ||||
-rw-r--r-- | c/wscript_avr | 53 | ||||
-rw-r--r-- | c/wscript_bfin | 246 | ||||
-rw-r--r-- | c/wscript_h8300 | 53 | ||||
-rw-r--r-- | c/wscript_i386 | 168 | ||||
-rw-r--r-- | c/wscript_lm32 | 103 | ||||
-rw-r--r-- | c/wscript_m32c | 50 | ||||
-rw-r--r-- | c/wscript_m32r | 50 | ||||
-rw-r--r-- | c/wscript_m68k | 1126 | ||||
-rw-r--r-- | c/wscript_mips | 347 | ||||
-rw-r--r-- | c/wscript_moxie | 52 | ||||
-rw-r--r-- | c/wscript_nios2 | 51 | ||||
-rw-r--r-- | c/wscript_powerpc | 1830 | ||||
-rw-r--r-- | c/wscript_sh | 284 | ||||
-rw-r--r-- | c/wscript_sparc | 234 | ||||
-rw-r--r-- | c/wscript_sparc64 | 93 | ||||
-rw-r--r-- | c/wscript_v850 | 57 |
18 files changed, 6332 insertions, 0 deletions
diff --git a/c/wscript b/c/wscript new file mode 100644 index 0000000000..03b456b230 --- /dev/null +++ b/c/wscript @@ -0,0 +1,195 @@ +from imp import new_module +from os.path import basename + +def host_arm_nds(ctx): + source = [ + "src/lib/libbsp/arm/nds/tools/ndstool/source/arm7_sha1_homebrew.c", + "src/lib/libbsp/arm/nds/tools/ndstool/source/arm7_sha1_nintendo.c", + "src/lib/libbsp/arm/nds/tools/ndstool/source/banner.cpp", + "src/lib/libbsp/arm/nds/tools/ndstool/source/bigint.cpp", + "src/lib/libbsp/arm/nds/tools/ndstool/source/compile_date.c", + "src/lib/libbsp/arm/nds/tools/ndstool/source/crc.cpp", + "src/lib/libbsp/arm/nds/tools/ndstool/source/default_icon.c", + "src/lib/libbsp/arm/nds/tools/ndstool/source/encryption.cpp", + "src/lib/libbsp/arm/nds/tools/ndstool/source/header.cpp", + "src/lib/libbsp/arm/nds/tools/ndstool/source/hook.cpp", + "src/lib/libbsp/arm/nds/tools/ndstool/source/loadme.c", + "src/lib/libbsp/arm/nds/tools/ndstool/source/logo.cpp", + "src/lib/libbsp/arm/nds/tools/ndstool/source/ndscodes.cpp", + "src/lib/libbsp/arm/nds/tools/ndstool/source/ndscreate.cpp", + "src/lib/libbsp/arm/nds/tools/ndstool/source/ndsextract.cpp", + "src/lib/libbsp/arm/nds/tools/ndstool/source/ndstree.cpp", + "src/lib/libbsp/arm/nds/tools/ndstool/source/passme.cpp", + "src/lib/libbsp/arm/nds/tools/ndstool/source/passme_sram.c", + "src/lib/libbsp/arm/nds/tools/ndstool/source/raster.cpp", + "src/lib/libbsp/arm/nds/tools/ndstool/source/sha1.cpp", + ] + includes = ["%s/c/src/lib/libbsp/arm/nds/tools/ndstool/include/" % ctx.srcnode.abspath()] + ctx.objects( + source=["src/lib/libbsp/arm/nds/tools/ndstool/source/ndstool.cpp"], + cxxflags=["-DVERSION=\"compiled for rtems\""], + includes=includes, + name="arm_nds_ndstool_obj", + ) + ctx.program( + target="ndstool", + source=source, + includes=includes, + use="arm_nds_ndstool_obj" + ) + + +def build(ctx): + source = [] + + # These host based programs live here for now as the sub wscripts + # are conditionally loaded for an arch/bsp to keep things fast. + if ctx.variant == "host" and "arm/nds" in ctx.env.CFG_BSP: + host_arm_nds(ctx) + + # Nothing below this will work on the host. + if ctx.variant == "host": + return + + # version.c + source_version = ["src/support/version.c"] + ctx.bsp.source( + source_version, + alias="version", + features="src_include", + cflags=[ + "-DRTEMS_VERSION=\"%s\"" % ctx.env.RTEMS_VERSION + ] + ) + + + source_networking = [ + "src/libchip/network/cs8900.c", + "src/libchip/network/dec21140.c", + "src/libchip/network/elnk.c", + "src/libchip/network/greth.c", + "src/libchip/network/i82586.c", + "src/libchip/network/if_dc.c", + "src/libchip/network/if_fxp.c", + "src/libchip/network/open_eth.c", + "src/libchip/network/smc91111.c", + "src/libchip/network/sonic.c" + ] + ctx.bsp.networking( + source_networking, + features="src_include src_include_networking src_include_libchip", + defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__", "_KERNEL", "__BSD_VISIBLE", "__RTEMS_HAVE_DECL_SIGALTSTACK__"] + ) + + + source_mp = [ + "src/libchip/shmdr/addlq.c", + "src/libchip/shmdr/cnvpkt.c", + "src/libchip/shmdr/getlq.c", + "src/libchip/shmdr/dump.c", + "src/libchip/shmdr/fatal.c", + "src/libchip/shmdr/getpkt.c", + "src/libchip/shmdr/init.c", + "src/libchip/shmdr/initlq.c", + "src/libchip/shmdr/intr.c", + "src/libchip/shmdr/mpisr.c", + "src/libchip/shmdr/poll.c", + "src/libchip/shmdr/receive.c", + "src/libchip/shmdr/retpkt.c", + "src/libchip/shmdr/send.c" + ] + ctx.bsp.mp( + source_mp, + features="src_include", + includes = ["%s/c/src/libchip/shmdr" % ctx.srcnode.abspath()] + ) + + + source_ata = [ + "src/libchip/ide/ata.c", + "src/libchip/ide/ata_util.c", + ] + ctx.bsp.source( + source_ata, + features="src_include src_include_libchip" + ) + + + source += [ + "src/libchip/display/disp_hcms29xx.c", + "src/libchip/display/font_hcms29xx.c", + "src/libchip/flash/am29lv160.c", + "src/libchip/i2c/i2c-2b-eeprom.c", + "src/libchip/i2c/i2c-ds1621.c", + "src/libchip/i2c/spi-flash-m25p40.c", + "src/libchip/i2c/spi-fram-fm25l256.c", + "src/libchip/i2c/spi-memdrv.c", + "src/libchip/i2c/spi-sd-card.c", + "src/libchip/ide/ide_controller.c", + "src/libchip/rtc/ds1375.c", + "src/libchip/rtc/icm7170.c", + "src/libchip/rtc/icm7170_reg.c", + "src/libchip/rtc/icm7170_reg2.c", + "src/libchip/rtc/icm7170_reg4.c", + "src/libchip/rtc/icm7170_reg8.c", + "src/libchip/rtc/m48t08.c", + "src/libchip/rtc/m48t08_reg.c", + "src/libchip/rtc/m48t08_reg2.c", + "src/libchip/rtc/m48t08_reg4.c", + "src/libchip/rtc/m48t08_reg8.c", + "src/libchip/rtc/mc146818a.c", + "src/libchip/rtc/mc146818a_ioreg.c", + "src/libchip/rtc/rtcprobe.c", + "src/libchip/serial/mc68681.c", + "src/libchip/serial/mc68681_baud.c", + "src/libchip/serial/mc68681_reg.c", + "src/libchip/serial/mc68681_reg2.c", + "src/libchip/serial/mc68681_reg4.c", + "src/libchip/serial/mc68681_reg8.c", + "src/libchip/serial/ns16550.c", + "src/libchip/serial/serprobe.c", + "src/libchip/serial/z85c30.c", + "src/libchip/serial/z85c30_reg.c" + ] + ctx.bsp.source( + source, + features="src_include", + includes = ["%s/include/libchip" % ctx.srcnode.abspath()] + ) + + + # Open the correct sub-wscript and execute build() as waf does not support + # loading arbitrary wscripts. + path = "%s/c/" % ctx.srcnode.abspath() + with open("%s/wscript_%s" % (path, ctx.env.RTEMS_ARCH), "r") as fp: + module = new_module("RTEMS_MODULE") + exec(compile(fp.read(), "%swscript_%s" % (path, ctx.env.RTEMS_ARCH), "exec"), module.__dict__) + module.build(ctx) + + ctx( + target = "rtemsbsp", + use = [ + "auto_libbsp_objects" + ], + includes = ["%s/include/libchip" % ctx.srcnode.abspath()], + features = "c cstlib", + install_path = ctx.env.LIBDIR + ) + + + # First file is always installed as "linkcmds" + # XXX: This needs to be removed eventually by fixing the filenames. + if ctx.env.LINKCMDS: + ctx.copy( + ctx.env.LINKCMDS[0], + "linkcmds", + "linkcmds_linkcmds" + ) + + for file in ctx.env.LINKCMDS[1:]: + base = basename(file) + ctx.copy( + file, + base, + "linkcmds_base" + ) diff --git a/c/wscript_arm b/c/wscript_arm new file mode 100644 index 0000000000..42ee374d64 --- /dev/null +++ b/c/wscript_arm @@ -0,0 +1,1340 @@ +# +# ARM Board Support Packages. +# + +# +# ARM libcpu support. See the PowerPC BSP file for details. +# + +def libcpu_shared_arm920(ctx): + source = [ + "src/lib/libcpu/arm/shared/arm920/mmu.c", + "src/lib/libbsp/shared/src/irq-default-handler.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_pxa255_clock(ctx): + source = [ + "src/lib/libcpu/arm/pxa255/clock/clock.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_pxa255_timer(ctx): + source = [ + "src/lib/libcpu/arm/pxa255/timer/timer.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_pxa255_ffuart(ctx): + source = [ + "src/lib/libcpu/arm/pxa255/ffuart/ffuart.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_pxa255_pmc(ctx): + source = [ + "src/lib/libcpu/arm/pxa255/pmc/pmc.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_pxa255_irq(ctx): + source = [ + "src/lib/libcpu/arm/pxa255/irq/irq.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_at91rm9200_clock(ctx): + source = [ + "src/lib/libcpu/arm/at91rm9200/clock/clock.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_at91rm9200_dbgu(ctx): + source = [ + "src/lib/libcpu/arm/at91rm9200/dbgu/dbgu.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_at91rm9200_usart(ctx): + source = [ + "src/lib/libcpu/arm/at91rm9200/usart/usart.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_at91rm9200_timer(ctx): + source = [ + "src/lib/libcpu/arm/at91rm9200/timer/timer.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_at91rm9200_pmc(ctx): + source = [ + "src/lib/libcpu/arm/at91rm9200/pmc/pmc.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_at91rm9200_irq(ctx): + source = [ + "src/lib/libcpu/arm/at91rm9200/irq/irq.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mc9328mxl_clock(ctx): + source = [ + "src/lib/libcpu/arm/mc9328mxl/clock/clockdrv.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mc9328mxl_timer(ctx): + source = [ + "src/lib/libcpu/arm/mc9328mxl/timer/timer.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mc9328mxl_irq(ctx): + source = [ + "src/lib/libcpu/arm/mc9328mxl/irq/irq.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_s3c24xx_clock(ctx): + source = [ + "src/lib/libcpu/arm/s3c24xx/clock/clockdrv.c", + "src/lib/libcpu/arm/s3c24xx/clock/support.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_s3c24xx_timer(ctx): + source = [ + "src/lib/libcpu/arm/s3c24xx/timer/timer.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_s3c24xx_irq(ctx): + source = [ + "src/lib/libcpu/arm/s3c24xx/irq/irq.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_lpc22xx_clock(ctx): + source = [ + "src/lib/libcpu/arm/lpc22xx/clock/clockdrv.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_lpc22xx_timer(ctx): + source = [ + "src/lib/libcpu/arm/lpc22xx/timer/timer.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_lpc22xx_irq(ctx): + source = [ + "src/lib/libcpu/arm/lpc22xx/irq/irq.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def csb336(ctx): + + libcpu_shared_arm920(ctx) + libcpu_mc9328mxl_clock(ctx) + libcpu_mc9328mxl_timer(ctx) + libcpu_mc9328mxl_irq(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/csb336/start/start.S"]) + + networking_source = [ + "src/lib/libbsp/arm/csb336/network/lan91c11x.c", + "src/lib/libbsp/arm/csb336/network/network.c", + ] + + networking_defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + + ctx.bsp.networking( + networking_source, + defines=networking_defines, + features="src_include" + ) + + source += [ + "src/lib/libbsp/arm/csb336/console/uart.c", + "src/lib/libbsp/arm/csb336/startup/bspstart.c", + "src/lib/libbsp/arm/csb336/startup/memmap.c", + "src/lib/libbsp/arm/shared/abort/abort.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspreset.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def csb337_shared(ctx): + + libcpu_shared_arm920(ctx) + libcpu_at91rm9200_clock(ctx) + libcpu_at91rm9200_dbgu(ctx) + libcpu_at91rm9200_usart(ctx) + libcpu_at91rm9200_timer(ctx) + libcpu_at91rm9200_irq(ctx) + libcpu_at91rm9200_pmc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/csb337/start/start.S"]) + + source += [ + "src/lib/libbsp/arm/csb337/startup/bspreset.c", + "src/lib/libbsp/arm/csb337/startup/bspstart.c", + "src/lib/libbsp/arm/csb337/startup/memmap.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/arm/csb337/console/uarts.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/arm/shared/abort/abort.c", + ] + + if ctx.env.ENABLE_LCD: + source += [ + "src/lib/libbsp/arm/csb337/console/fbcons.c", + "src/lib/libbsp/arm/csb337/console/sed1356.c", + ] + + if ctx.env.ENABLE_UMON: + source += [ + "src/lib/libbsp/arm/csb337/startup/umonsupp.c", + "src/lib/libbsp/shared/umon/monlib.c", + "src/lib/libbsp/shared/umon/tfsDriver.c", + "src/lib/libbsp/shared/umon/umonrtemsglue.c", + ] + + if ctx.env.ENABLE_UMON_CONSOLE: + source += [ + "src/lib/libbsp/shared/umon/umoncons.c", + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + +def edb7312(ctx): + + # no libcpu parts + + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/edb7312/start/start.S"]) + + networking_source = [ + "src/lib/libbsp/arm/edb7312/network/network.c", + ] + + networking_defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + + ctx.bsp.networking( + networking_source, + defines=networking_defines, + features="src_include" + ) + + source += [ + "src/lib/libbsp/arm/edb7312/startup/bspreset.c", + "src/lib/libbsp/arm/edb7312/startup/bspstart.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/arm/edb7312/clock/clockdrv.c", + "src/lib/libbsp/arm/edb7312/console/uart.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/arm/shared/abort/abort.c", + "src/lib/libbsp/arm/edb7312/irq/bsp_irq_asm.S", + "src/lib/libbsp/arm/edb7312/irq/irq.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/arm/edb7312/timer/timer.c", + "src/lib/libbsp/shared/src/irq-default-handler.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + +def gba(ctx): + + # no libcpu parts + + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/gba/start/start.S"]) + + source += [ + "src/lib/libbsp/arm/gba/clock/clockdrv.c", + "src/lib/libbsp/arm/gba/console/conio.c", + "src/lib/libbsp/arm/gba/console/console.c", + "src/lib/libbsp/arm/gba/irq/irq.c", + "src/lib/libbsp/arm/gba/startup/bspgetworkarea.c", + "src/lib/libbsp/arm/gba/startup/bspreset.c", + "src/lib/libbsp/arm/gba/startup/bspstart.c", + "src/lib/libbsp/arm/gba/timer/timer.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/irq-default-handler.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def gdbarmsim_shared(ctx): + + # no libcpu parts + + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/gdbarmsim/start/start.S"]) + + source += [ + "src/lib/libbsp/arm/gdbarmsim/console/console-io.c", + "src/lib/libbsp/arm/gdbarmsim/startup/bspreset.c", + "src/lib/libbsp/arm/gdbarmsim/startup/syscalls.c", + "src/lib/libbsp/arm/shared/abort/abort.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/clock_driver_simidle.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/timerstub.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def gp32(ctx): + + libcpu_shared_arm920(ctx) + libcpu_s3c24xx_clock(ctx) + libcpu_s3c24xx_timer(ctx) + libcpu_s3c24xx_irq(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/gp32/start/start.S"]) + + source += [ + "src/lib/libbsp/arm/gp32/console/uart.c", + "src/lib/libbsp/arm/gp32/smc/smc.c", + "src/lib/libbsp/arm/gp32/startup/bspreset.c", + "src/lib/libbsp/arm/gp32/startup/bspstart.c", + "src/lib/libbsp/arm/gp32/startup/memmap.c", + "src/lib/libbsp/arm/shared/abort/abort.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/arm/gp32/startup/bspidle.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + +def gumstix(ctx): + + libcpu_shared_arm920(ctx) + libcpu_pxa255_clock(ctx) + libcpu_pxa255_timer(ctx) + libcpu_pxa255_ffuart(ctx) + libcpu_pxa255_irq(ctx) + libcpu_pxa255_pmc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/gumstix/start/start.S"]) + + networking_source = [ + "src/lib/libbsp/arm/gumstix/rtl8019/rtl8019.c", + ] + + networking_defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + + ctx.bsp.networking( + networking_source, + defines=networking_defines, + features="src_include" + ) + + source += [ + "src/lib/libbsp/arm/gumstix/startup/bspstart.c", + "src/lib/libbsp/arm/gumstix/startup/memmap.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/arm/gumstix/console/uarts.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/arm/shared/abort/abort.c", + ] + + if ctx.env.ON_SKYEYE: + source += [ + "src/lib/libbsp/arm/gumstix/fb/fb.c", + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + +def lm3s_shared(ctx): + ctx.bsp.start(["src/lib/libbsp/arm/shared/start/start.S"]) + + source = [ + "src/lib/libbsp/../libcpu/shared/src/cache_manager.c", + "src/lib/libbsp/arm/lm3s69xx/console/console-config.c", + "src/lib/libbsp/arm/lm3s69xx/console/uart.c", + "src/lib/libbsp/arm/lm3s69xx/ssi/ssi.c", + "src/lib/libbsp/arm/lm3s69xx/startup/bspreset.c", + "src/lib/libbsp/arm/lm3s69xx/startup/bspstart.c", + "src/lib/libbsp/arm/lm3s69xx/startup/bspstarthook.c", + "src/lib/libbsp/arm/lm3s69xx/startup/io.c", + "src/lib/libbsp/arm/lm3s69xx/startup/syscon.c", + "src/lib/libbsp/arm/shared/armv7m/clock/armv7m-clock-config.c", + "src/lib/libbsp/arm/shared/armv7m/irq/armv7m-irq-dispatch.c", + "src/lib/libbsp/arm/shared/armv7m/irq/armv7m-irq.c", + "src/lib/libbsp/arm/shared/startup/bsp-start-memcpy.S", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-default-handler.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/stackalloc.c", + "src/lib/libbsp/shared/timerstub.c", + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp src_include_libcpu" + ) + + +def lpc24xx_shared(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/shared/start/start.S"]) + + networking_source = [ + "src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c", + ] + + ctx.bsp.networking( + networking_source, + features="src_include" + ) + + libcpu_source = [ + "src/lib/libcpu/shared/src/cache_manager.c" + ] + + ctx.bsp.source( + libcpu_source, + features="src_include src_include_libcpu", + includes = ["%s/c/src/lib/libcpu/arm/shared/include" % ctx.srcnode.abspath()] + ) + + #XXX: This needs to be fixed as well as the cruft in the arm block of c/score/wscript. + if ctx.env.RTEMS_BSP in ["lpc17xx_ea_rom_int", "lpc17xx_plx800_ram", "lpc17xx_plx800_rom_int", "lpc17xx_ea_ram"]: + source += [ + "src/lib/libbsp/arm/shared/armv7m/irq/armv7m-irq.c", + "src/lib/libbsp/arm/shared/armv7m/irq/armv7m-irq-dispatch.c", + "src/lib/libbsp/arm/shared/armv7m/clock/armv7m-clock-config.c", + ] + else: + source += [ + "src/lib/libbsp/arm/shared/abort/simple_abort.c", + ] + + + source += [ + "src/lib/libbsp/arm/lpc24xx/console/console-config.c", + "src/lib/libbsp/arm/lpc24xx/i2c/i2c-config.c", + "src/lib/libbsp/arm/lpc24xx/i2c/i2c.c", + "src/lib/libbsp/arm/lpc24xx/irq/irq-dispatch.c", + "src/lib/libbsp/arm/lpc24xx/irq/irq.c", + "src/lib/libbsp/arm/lpc24xx/misc/bspidle.c", + "src/lib/libbsp/arm/lpc24xx/misc/dma-copy.c", + "src/lib/libbsp/arm/lpc24xx/misc/dma.c", + "src/lib/libbsp/arm/lpc24xx/misc/io.c", + "src/lib/libbsp/arm/lpc24xx/misc/lcd.c", + "src/lib/libbsp/arm/lpc24xx/misc/restart.c", + "src/lib/libbsp/arm/lpc24xx/misc/system-clocks.c", + "src/lib/libbsp/arm/lpc24xx/misc/timer.c", + "src/lib/libbsp/arm/lpc24xx/rtc/rtc-config.c", + "src/lib/libbsp/arm/lpc24xx/ssp/ssp.c", + "src/lib/libbsp/arm/lpc24xx/startup/bspreset.c", + "src/lib/libbsp/arm/lpc24xx/startup/bspstart.c", + "src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c", + "src/lib/libbsp/arm/shared/lpc/clock/lpc-clock-config.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/stackalloc.c", + "src/lib/libbsp/shared/src/uart-output-char.c", + "src/lib/libbsp/shared/tod.c", + "src/lib/libbsp/arm/lpc24xx/console/uart-probe-1.c", + "src/lib/libbsp/arm/lpc24xx/console/uart-probe-2.c", + "src/lib/libbsp/arm/lpc24xx/console/uart-probe-3.c", + "src/lib/libbsp/arm/shared/startup/bsp-start-memcpy.S", + "src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-dynamic.c", + "src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-static.c", + "src/lib/libbsp/arm/lpc24xx/startup/start-config-mpu.c", + "src/lib/libbsp/arm/lpc24xx/startup/start-config-pinsel.c", + "src/lib/libbsp/shared/src/irq-default-handler.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp", + includes = ["%s/c/src/lib/libcpu/arm/shared/include" % ctx.srcnode.abspath()] + ) + + + +def lpc32xx_shared(ctx): + + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/shared/start/start.S"]) + + networking_source = [ + "src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c", + ] + + ctx.bsp.networking( + networking_source, + features="src_include" + ) + + libcpu_source = [ + "src/lib/libcpu/shared/src/cache_manager.c" + ] + + ctx.bsp.source( + libcpu_source, + features="src_include src_include_libcpu", + includes = ["%s/c/src/lib/libcpu/arm/shared/include" % ctx.srcnode.abspath()] + ) + + source += [ + "src/lib/libbsp/arm/lpc32xx/console/console-config.c", + "src/lib/libbsp/arm/lpc32xx/console/hsu.c", + "src/lib/libbsp/arm/lpc32xx/irq/irq.c", + "src/lib/libbsp/arm/lpc32xx/rtc/rtc-config.c", + "src/lib/libbsp/arm/lpc32xx/startup/bspreset.c", + "src/lib/libbsp/arm/lpc32xx/startup/bspstart.c", + "src/lib/libbsp/arm/lpc32xx/startup/bspstarthooks.c", + "src/lib/libbsp/arm/lpc32xx/misc/timer.c", + "src/lib/libbsp/arm/lpc32xx/misc/nand-mlc.c", + "src/lib/libbsp/arm/lpc32xx/misc/nand-mlc-read-blocks.c", + "src/lib/libbsp/arm/lpc32xx/misc/nand-mlc-write-blocks.c", + "src/lib/libbsp/arm/lpc32xx/misc/nand-mlc-erase-block-safe.c", + "src/lib/libbsp/arm/lpc32xx/misc/restart.c", + "src/lib/libbsp/arm/lpc32xx/misc/boot.c", + "src/lib/libbsp/arm/lpc32xx/misc/emc.c", + "src/lib/libbsp/arm/lpc32xx/misc/i2c.c", + "src/lib/libbsp/arm/shared/lpc/clock/lpc-clock-config.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/stackalloc.c", + "src/lib/libbsp/shared/src/uart-output-char.c", + "src/lib/libbsp/arm/shared/abort/simple_abort.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/tod.c", + "src/lib/libbsp/arm/shared/startup/bsp-start-memcpy.S", + "src/lib/libbsp/shared/src/irq-default-handler.c", + "src/lib/libbsp/arm/lpc32xx/misc/idle-thread.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + +def nds(ctx): + source = [] + networking_source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/nds/start/start.S"]) + + networking_source += [ + "src/lib/libbsp/arm/nds/wifi/compat.c", + "src/lib/libbsp/arm/nds/wifi/wifi.c", + "src/lib/libbsp/arm/nds/dswifi/arm9/source/wifi_arm9.c", + "src/lib/libbsp/arm/nds/dswifi/common/source/spinlock.S", + ] + + source += [ + "src/lib/libbsp/arm/nds/block/block.c", + "src/lib/libbsp/arm/nds/clock/clock.c", + "src/lib/libbsp/arm/nds/console/console.c", + "src/lib/libbsp/arm/nds/fb/fb.c", + "src/lib/libbsp/arm/nds/irq/irq.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/disc.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_cf_common.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_dldi.S", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_efa2.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_fcsr.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_m3_common.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_m3cf.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_m3sd.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_mpcf.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_njsd.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_nmmc.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_sc_common.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_sccf.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_scsd.c", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_scsd_s.S", + "src/lib/libbsp/arm/nds/libfat/source/disc_io/io_sd_common.c", + "src/lib/libbsp/arm/nds/rtc/rtc.c", + "src/lib/libbsp/arm/nds/sound/sound.c", + "src/lib/libbsp/arm/nds/startup/bspreset.c", + "src/lib/libbsp/arm/nds/startup/bspstart.c", + "src/lib/libbsp/arm/nds/timer/timer.c", + "src/lib/libbsp/arm/nds/touchscreen/parser.c", + "src/lib/libbsp/arm/nds/touchscreen/reco.c", + "src/lib/libbsp/arm/nds/touchscreen/touchscreen.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/tod.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/COS.S", + "src/lib/libbsp/arm/nds/libnds/source/arm9/SIN.S", + "src/lib/libbsp/arm/nds/libnds/source/arm9/TAN.S", + "src/lib/libbsp/arm/nds/libnds/source/arm9/boxtest.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/console.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/dcache.S", + "src/lib/libbsp/arm/nds/libnds/source/arm9/default_font.S", + "src/lib/libbsp/arm/nds/libnds/source/arm9/exceptionHandler.S", + "src/lib/libbsp/arm/nds/libnds/source/arm9/exceptions.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/gurumeditation.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/icache.S", + "src/lib/libbsp/arm/nds/libnds/source/arm9/image.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/initSystem.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/keys.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/ndsmotion.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/pcx.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/rumble.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/sound.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/system.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/touch.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/video.c", + "src/lib/libbsp/arm/nds/libnds/source/arm9/videoGL.c", + "src/lib/libbsp/arm/nds/libnds/source/common/biosCalls.S", + "src/lib/libbsp/arm/nds/libnds/source/common/card.c", + "src/lib/libbsp/arm/nds/libnds/source/common/gbfs.c", + "src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.S", + "src/lib/libbsp/arm/nds/libnds/source/common/interrupts.c", + ] + + # + # ARM7 coprocessor, disabled for now. + # + arm7_defines = ['ARM7'] + + arm7_source = [ + "src/lib/libbsp/arm/nds/libnds/source/arm7/audio.c", + "src/lib/libbsp/arm/nds/libnds/source/arm7/clock.c", + "src/lib/libbsp/arm/nds/libnds/source/arm7/microphone.c", + "src/lib/libbsp/arm/nds/libnds/source/arm7/spi.c", + "src/lib/libbsp/arm/nds/libnds/source/arm7/touch.c", + "src/lib/libbsp/arm/nds/libnds/source/arm7/userSettings.c", + "src/lib/libbsp/arm/nds/libnds/source/common/biosCalls.S", + "src/lib/libbsp/arm/nds/libnds/source/common/card.c", + "src/lib/libbsp/arm/nds/libnds/source/common/gbfs.c", + "src/lib/libbsp/arm/nds/libnds/source/common/interruptDispatcher.S", + "src/lib/libbsp/arm/nds/libnds/source/common/interrupts.c", + ] + + arm7_networking_source = [ + "src/lib/libbsp/arm/nds/dswifi/arm7/source/wifi_arm7.c", + "src/lib/libbsp/arm/nds/dswifi/common/source/spinlock.S", + ] + + includes = ["%s/include/libnds" % ctx.srcnode.abspath(), + "%s/include/nds" % ctx.srcnode.abspath(), + "%s/c/src/lib/libbsp/arm/nds/include" % ctx.srcnode.abspath(), + "%s/c/src/lib/libbsp/arm/nds/libnds/include" % ctx.srcnode.abspath(), + "%s/c/src/lib/libbsp/arm/nds/libfat/source/disc_io" % ctx.srcnode.abspath()] + + ctx.bsp.networking( + networking_source, + features="src_include_rtems src_include", + includes=includes + [ + "%s/c/src/lib/libbsp/arm/nds/dswifi/include" % ctx.srcnode.abspath(), + "%s/c/src/lib/libbsp/arm/nds/dswifi/common/source" % ctx.srcnode.abspath() + ], + defines=["ARM9", "__INSIDE_RTEMS_BSD_TCPIP_STACK__", "_KERNEL", "__BSD_VISIBLE"] + ) + + ctx.bsp.source( + source, + features="src_include", + includes=includes, + defines=['ARM9'] + ) + + +def raspberrypi(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/shared/start/start.S"]) + + source += [ + "src/lib/libcpu/shared/src/cache_manager.c", + "src/lib/libbsp/arm/raspberrypi/clock/clockdrv.c", + "src/lib/libbsp/arm/raspberrypi/console/console-config.c", + "src/lib/libbsp/arm/raspberrypi/console/usart.c", + "src/lib/libbsp/arm/raspberrypi/irq/irq.c", + "src/lib/libbsp/arm/raspberrypi/misc/timer.c", + "src/lib/libbsp/arm/raspberrypi/startup/bspreset.c", + "src/lib/libbsp/arm/raspberrypi/startup/bspstart.c", + "src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c", + "src/lib/libbsp/arm/shared/abort/simple_abort.c", + "src/lib/libbsp/arm/shared/startup/bsp-start-memcpy.S", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-default-handler.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/stackalloc.c", + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp src_include_libcpu" + ) + + +def realview_pbx_a9_qemu(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/shared/start/start.S"]) + + source += [ + "src/lib/libbsp/arm/realview-pbx-a9/console/console-config.c", + "src/lib/libbsp/arm/realview-pbx-a9/startup/bspreset.c", + "src/lib/libbsp/arm/realview-pbx-a9/startup/bspstart.c", + "src/lib/libbsp/arm/realview-pbx-a9/startup/bspstarthooks.c", + "src/lib/libbsp/arm/shared/abort/simple_abort.c", + "src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c", + "src/lib/libbsp/arm/shared/arm-cp15-set-exception-handler.c", + "src/lib/libbsp/arm/shared/arm-cp15-set-ttb-entries.c", + "src/lib/libbsp/arm/shared/arm-gic-irq.c", + "src/lib/libbsp/arm/shared/arm-pl011.c", + "src/lib/libbsp/arm/shared/start/start.S", + "src/lib/libbsp/arm/shared/startup/bsp-start-memcpy.S", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-default-handler.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/stackalloc.c", + "src/lib/libbsp/shared/timerstub.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + source = [ + "src/lib/libcpu/shared/src/cache_manager.c" + ] + ctx.bsp.source( + source, + features="src_include src_include_libcpu" + ) + + source = [ + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + ] + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + + + +def rtl22xx_shared(ctx): + + libcpu_lpc22xx_clock(ctx) + libcpu_lpc22xx_timer(ctx) + libcpu_lpc22xx_irq(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/rtl22xx/start/start.S"]) + + networking_source = [ + "src/lib/libbsp/arm/rtl22xx/network/network.c", + ] + + networking_defines = ["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + + ctx.bsp.networking( + networking_source, + features="src_include", + defines=networking_defines + ) + + source += [ + "src/lib/libbsp/arm/rtl22xx/console/uart.c", + "src/lib/libbsp/arm/rtl22xx/startup/bspreset.c", + "src/lib/libbsp/arm/rtl22xx/startup/bspstart.c", + "src/lib/libbsp/arm/shared/abort/simple_abort.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/irq-default-handler.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + +def smdk2410(ctx): + + libcpu_shared_arm920(ctx) + libcpu_s3c24xx_clock(ctx) + libcpu_s3c24xx_timer(ctx) + libcpu_s3c24xx_irq(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/gp32/start/start.S"]) + + source += [ + "src/lib/libbsp/arm/gp32/console/uart.c", + "src/lib/libbsp/arm/gp32/smc/smc.c", + "src/lib/libbsp/arm/gp32/startup/bspstart.c", + "src/lib/libbsp/arm/shared/abort/abort.c", + "src/lib/libbsp/arm/smdk2410/startup/bspreset.c", + "src/lib/libbsp/arm/smdk2410/startup/memmap.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/arm/gp32/startup/bspidle.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + +def stm32f4(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/shared/start/start.S"]) + + source += [ + "src/lib/libbsp/arm/shared/armv7m/clock/armv7m-clock-config.c", + "src/lib/libbsp/arm/shared/armv7m/irq/armv7m-irq-dispatch.c", + "src/lib/libbsp/arm/shared/armv7m/irq/armv7m-irq.c", + "src/lib/libbsp/arm/shared/startup/bsp-start-memcpy.S", + "src/lib/libbsp/arm/stm32f4/console/console-config.c", + "src/lib/libbsp/arm/stm32f4/console/usart.c", + "src/lib/libbsp/arm/stm32f4/startup/bspreset.c", + "src/lib/libbsp/arm/stm32f4/startup/bspstart.c", + "src/lib/libbsp/arm/stm32f4/startup/bspstarthook.c", + "src/lib/libbsp/arm/stm32f4/startup/io.c", + "src/lib/libbsp/arm/stm32f4/startup/rcc.c", + "src/lib/libbsp/arm/stm32f4/startup/start-config-io.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-default-handler.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/stackalloc.c", + "src/lib/libbsp/shared/timerstub.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + source = [ + "src/lib/libcpu/shared/src/cache_manager.c" + ] + ctx.bsp.source( + source, + features="src_include src_include_libcpu" + ) + + source = [ + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + ] + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + +def xilinx_zynq_a9_qemu(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/arm/shared/start/start.S"]) + + source = [ + "src/lib/libbsp/arm/shared/abort/simple_abort.c", + "src/lib/libbsp/arm/shared/arm-a9mpcore-clock-config.c", + "src/lib/libbsp/arm/shared/arm-cp15-set-exception-handler.c", + "src/lib/libbsp/arm/shared/arm-cp15-set-ttb-entries.c", + "src/lib/libbsp/arm/shared/arm-gic-irq.c", + "src/lib/libbsp/arm/shared/startup/bsp-start-memcpy.S", + "src/lib/libbsp/arm/xilinx-zynq/console/console-config.c", + "src/lib/libbsp/arm/xilinx-zynq/console/zynq-uart.c", + "src/lib/libbsp/arm/xilinx-zynq/startup/bspreset.c", + "src/lib/libbsp/arm/xilinx-zynq/startup/bspstart.c", + "src/lib/libbsp/arm/xilinx-zynq/startup/bspstarthooks.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-default-handler.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/stackalloc.c", + "src/lib/libbsp/shared/timerstub.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + source = [ + "src/lib/libcpu/shared/src/cache_manager.c" + ] + ctx.bsp.source( + source, + features="src_include src_include_libcpu" + ) + + source = [ + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + ] + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + + +def build(ctx): + source = [] + + + source += [ +#XXX: insert shared files here. + ] + + + ctx.bsp.source( + source, + features="src_include" + ) + + + map = { + "csb336": csb336, + "csb337": csb337_shared, + "csb637": csb337_shared, + "kit637_v6": csb337_shared, + "edb7312": edb7312, + "gba": gba, + "arm1136jfs": gdbarmsim_shared, + "arm1136js": gdbarmsim_shared, + "arm7tdmi": gdbarmsim_shared, + "arm920": gdbarmsim_shared, + "armcortexa9": gdbarmsim_shared, + "gp32": gp32, + "gumstix": gumstix, + "lm3s3749": lm3s_shared, + "lm3s6965": lm3s_shared, + "lm3s6965_qemu": lm3s_shared, + "lpc17xx_ea_ram": lpc24xx_shared, + "lpc17xx_ea_rom_int": lpc24xx_shared, + "lpc17xx_plx800_ram": lpc24xx_shared, + "lpc17xx_plx800_rom_int": lpc24xx_shared, + "lpc2362": lpc24xx_shared, + "lpc23xx_tli800": lpc24xx_shared, + "lpc24xx_ea": lpc24xx_shared, + "lpc24xx_ncs_ram": lpc24xx_shared, + "lpc24xx_ncs_rom_ext": lpc24xx_shared, + "lpc24xx_ncs_rom_int": lpc24xx_shared, + "lpc24xx_plx800_ram": lpc24xx_shared, + "lpc24xx_plx800_rom_int": lpc24xx_shared, + "lpc32xx_mzx": lpc32xx_shared, + "lpc32xx_mzx_stage_1": lpc32xx_shared, + "lpc32xx_mzx_stage_2": lpc32xx_shared, + "lpc32xx_phycore": lpc32xx_shared, + "nds": nds, + "raspberrypi": raspberrypi, + "realview_pbx_a9_qemu": realview_pbx_a9_qemu, + "rtl22xx": rtl22xx_shared, + "rtl22xx_t": rtl22xx_shared, + "smdk2410": smdk2410, + "stm32f4": stm32f4, + "xilinx_zynq_a9_qemu": xilinx_zynq_a9_qemu, + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_arm(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_avr b/c/wscript_avr new file mode 100644 index 0000000000..83420bb148 --- /dev/null +++ b/c/wscript_avr @@ -0,0 +1,53 @@ +def avrtest(ctx): + source = [] + + ctx.bsp.start( + ["src/lib/libbsp/avr/avrtest/start/start.S"], + defines=["__AVR_AT94K__"] # XXX: hack, this needs to be defined in config.cfg + ) + + source += [ + "src/lib/libbsp/avr/avrtest/console/console-io.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def build(ctx): + source = [] + + source += [ + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/clock_driver_simidle.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/timerstub.c" + ] + + + ctx.bsp.source( + source, + features="src_include" + ) + + + map = { + "avrtest": avrtest + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_avr(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_bfin b/c/wscript_bfin new file mode 100644 index 0000000000..9b9575319c --- /dev/null +++ b/c/wscript_bfin @@ -0,0 +1,246 @@ +# +# Blackfin Board Support Packages. +# + +# +# Blackfin libcpu support. See the PowerPC BSP file for details. +# + +def libcpu_cache(ctx): + source = [ + "src/lib/libcpu/bfin/cache/cache.c", + "src/lib/libcpu/shared/src/cache_aligned_malloc.c", + "src/lib/libcpu/shared/src/cache_manager.c" + ] + + ctx.bsp.source( + source, + includes=["%s/c/src/lib/libcpu/bfin/cache/" % ctx.srcnode.abspath()], + features="src_include" + ) + +def libcpu_mmu(ctx): + source = [ + "src/lib/libcpu/bfin/mmu/mmu.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_libcpu" + ) + +def libcpu_interrupt(ctx): + source = [ + "src/lib/libcpu/bfin/interrupt/interrupt.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_libcpu" + ) + +def libcpu_bf52x_interrupt(ctx): + source = [ + "src/lib/libcpu/bfin/bf52x/interrupt/interrupt.c" + ] + + ctx.bsp.source( + source, + features="src_include_bsp src_include" + ) + +def libcpu_clock(ctx): + source = [ + "src/lib/libcpu/bfin/clock/clock.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_rtc(ctx): + source = [ + "src/lib/libcpu/bfin/clock/rtc.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_uart(ctx): + source = [ + "src/lib/libcpu/bfin/serial/uart.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_libcpu" + ) + +def libcpu_sport(ctx): + source = [ + "src/lib/libcpu/bfin/serial/sport.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_spi(ctx): + source = [ + "src/lib/libcpu/bfin/serial/spi.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_twi(ctx): + source = [ + "src/lib/libcpu/bfin/serial/twi" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_timer(ctx): + source = [ + "src/lib/libcpu/bfin/timer/timer.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_ethernet(ctx): + source = [ + "src/lib/libcpu/bfin/network/ethernet.c" + ] + + ctx.bsp.networking( + source, + features="src_include", + defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + ) + + + +def bf537stamp(ctx): + + libcpu_mmu(ctx) + libcpu_interrupt(ctx) + libcpu_cache(ctx) + libcpu_uart(ctx) + libcpu_clock(ctx) + libcpu_rtc(ctx) + libcpu_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/bfin/bf537Stamp/start/start.S"]) + + source += [ + "src/lib/libbsp/bfin/bf537Stamp/console/console.c", + "src/lib/libbsp/bfin/bf537Stamp/network/networkconfig.c", + "src/lib/libbsp/bfin/bf537Stamp/startup/bspstart.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + + +def ezkit533(ctx): + + libcpu_mmu(ctx) + libcpu_interrupt(ctx) + libcpu_cache(ctx) + libcpu_uart(ctx) + libcpu_clock(ctx) + libcpu_rtc(ctx) + libcpu_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/bfin/shared/start/start.S"]) + + source += [ + "src/lib/libbsp/bfin/eZKit533/console/console-io.c", + "src/lib/libbsp/bfin/eZKit533/startup/bspstart.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def tll6527m(ctx): + + libcpu_mmu(ctx) + libcpu_bf52x_interrupt(ctx) + libcpu_cache(ctx) + libcpu_uart(ctx) + libcpu_clock(ctx) + libcpu_rtc(ctx) + libcpu_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/bfin/shared/start/start.S"]) + + source += [ + "src/lib/libbsp/bfin/TLL6527M/console/console.c", + "src/lib/libbsp/bfin/TLL6527M/startup/bspstart.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def build(ctx): + source = [] + + + source += [ + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/setvec.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + map = { + "bf537stamp": bf537stamp, + "ezkit533": ezkit533, + "tll6527m": tll6527m + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_bfin(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_h8300 b/c/wscript_h8300 new file mode 100644 index 0000000000..8a28134b93 --- /dev/null +++ b/c/wscript_h8300 @@ -0,0 +1,53 @@ +def h8sim_shared(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/h8300/h8sim/start/start.S"]) + + source += [ + "src/lib/libbsp/h8300/h8sim/console/console-io.c", + "src/lib/libbsp/h8300/h8sim/console/syscalls.S", + "src/lib/libbsp/h8300/h8sim/startup/__main.c", + "src/lib/libbsp/h8300/h8sim/startup/h8bdinstallirq.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def build(ctx): + source = [] + + source += [ + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/clock_driver_simidle.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/timerstub.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + map = { + "h8sim": h8sim_shared, + "h8sxsim": h8sim_shared + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_h8300(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_i386 b/c/wscript_i386 new file mode 100644 index 0000000000..3f26a8149c --- /dev/null +++ b/c/wscript_i386 @@ -0,0 +1,168 @@ +# +# i386 Board Support Packages. +# + +# +# i386 libcpu support. See the PowerPC BSP file for details. +# + +def libcpu_cache(ctx): + source = [ + "src/lib/libcpu/i386/cache.c", + "src/lib/libcpu/shared/src/cache_aligned_malloc.c", + "src/lib/libcpu/shared/src/cache_manager.c" + ] + + ctx.bsp.source( + source, + includes=["%s/c/src/lib/libcpu/i386/" % ctx.srcnode.abspath()], + features="src_include" + ) + +def libcpu_score(ctx): + source = [ + "src/lib/libcpu/i386/displayCpu.c", + "src/lib/libcpu/i386/cpuModel.S", + "src/lib/libcpu/i386/idtr.S" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_page(ctx): + source = [ + "src/lib/libcpu/i386/page.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def pc386_shared(ctx): + libcpu_cache(ctx) + libcpu_page(ctx) + libcpu_score(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/i386/pc386/start/start.S"]) + + source += [ + "src/lib/libbsp/i386/pc386/clock/ckinit.c", + "src/lib/libbsp/i386/pc386/clock/todcfg.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/console_control.c", + "/src/lib/libbsp/i386/pc386/console/conscfg.c", + "src/lib/libbsp/i386/pc386/console/defkeymap.c", + "src/lib/libbsp/i386/pc386/console/fb_vga.c", + "src/lib/libbsp/i386/pc386/console/inch.c", + "src/lib/libbsp/i386/pc386/console/kbd_parser.c", + "src/lib/libbsp/i386/pc386/console/keyboard.c", + "src/lib/libbsp/i386/pc386/console/outch.c", + "src/lib/libbsp/i386/pc386/console/pc_keyb.c", + "src/lib/libbsp/i386/pc386/console/ps2_mouse.c", + "src/lib/libbsp/i386/pc386/console/serial_mouse_config.c", + "src/lib/libbsp/i386/pc386/console/vgainit.c", + "src/lib/libbsp/i386/pc386/console/videoAsm.S", + "src/lib/libbsp/i386/pc386/console/vt.c", + "src/lib/libbsp/i386/pc386/ide/ide.c", + "src/lib/libbsp/i386/pc386/ide/idecfg.c", + "src/lib/libbsp/i386/pc386/startup/bspcmdline.c", + "src/lib/libbsp/i386/pc386/startup/bspgetworkarea.c", + "src/lib/libbsp/i386/pc386/startup/bspreset.c", + "src/lib/libbsp/i386/pc386/startup/bspstart.c", + "src/lib/libbsp/i386/pc386/startup/ldsegs.S", + "src/lib/libbsp/i386/pc386/timer/timer.c", + "src/lib/libbsp/i386/pc386/timer/timerisr.S", + ] + ctx.bsp.source( + source, + features="src_include src_include_bsp src_include_rtems" + ) + + source_networking = [ + "src/lib/libbsp/i386/pc386/ne2000/ne2000.c", + "src/lib/libbsp/i386/pc386/wd8003/wd8003.c", + "src/lib/libbsp/i386/pc386/3c509/3c509.c", + "src/lib/libbsp/i386/pc386/3c509/elink.c" + ] + ctx.bsp.networking( + source_networking, + features="src_include", + defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + ) + + + + # XXX: appstart needs to be ported see c/src/lib/libbsp/i386/pc386/Makefile.am + + +def build(ctx): + source = [] + + source += [ + "src/lib/libbsp/i386/shared/comm/gdb_glue.c", + "src/lib/libbsp/i386/shared/comm/i386-stub-glue.c", + "src/lib/libbsp/i386/shared/comm/i386-stub.c", + "src/lib/libbsp/i386/shared/comm/tty_drv.c", + "src/lib/libbsp/i386/shared/comm/uart.c", + "src/lib/libbsp/i386/shared/irq/idt.c", + "src/lib/libbsp/i386/shared/irq/irq.c", + "src/lib/libbsp/i386/shared/irq/irq_asm.S", + "src/lib/libbsp/i386/shared/irq/irq_init.c", + "src/lib/libbsp/i386/shared/pci/pcibios.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspinit.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/tod.c", + "src/lib/libbsp/shared/src/irq-default-handler.c", + "src/lib/libbsp/i386/pc386/console/printk_support.c", + "src/lib/libbsp/i386/pc386/console/vgacons.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + source_smp = [ + "src/lib/libbsp/i386/shared/smp/getcpuid.c", + "src/lib/libbsp/i386/shared/smp/smp-imps.c" + ] + ctx.bsp.smp( + source, + features="src_include" + ) + + + map = { + "pc386": pc386_shared, + "pc486": pc386_shared, + "pc586": pc386_shared, + "pc586-sse": pc386_shared, + "pc686": pc386_shared, + "pcp4": pc386_shared + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_i386(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_lm32 b/c/wscript_lm32 new file mode 100644 index 0000000000..55f6dbf60d --- /dev/null +++ b/c/wscript_lm32 @@ -0,0 +1,103 @@ +def lm32_evr(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/lm32/shared/start/start.S"]) + + source_networking = [ + "src/lib/libbsp/lm32/shared/tsmac/tsmac.c", + ] + ctx.bsp.networking( + source_networking, + features="src_include", + defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + ) + + source += [ + "src/lib/libbsp/lm32/shared/clock/ckinit.c", + "src/lib/libbsp/lm32/shared/console/console.c", + "src/lib/libbsp/lm32/shared/console/uart.c", + "src/lib/libbsp/lm32/shared/startup/bspstart.c", + "src/lib/libbsp/lm32/shared/timer/timer.c", + "src/lib/libbsp/shared/setvec.c", + "src/lib/libbsp/shared/bspreset.c", + "src/lib/libbsp/shared/bspclean.c", + ] + ctx.bsp.source( + source, + features="src_include" + ) + + + +def milkymist(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/lm32/shared/start/start.S"]) + + source_networking = [ + "src/lib/libbsp/lm32/shared/milkymist_networking/network.c", + ] + ctx.bsp.networking( + source_networking, + features="src_include", + defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + ) + + source += [ + "src/lib/libbsp/lm32/milkymist/startup/bspclean.c", + "src/lib/libbsp/lm32/shared/irq/irq.c", + "src/lib/libbsp/lm32/shared/milkymist_ac97/ac97.c", + "src/lib/libbsp/lm32/shared/milkymist_buttons/buttons.c", + "src/lib/libbsp/lm32/shared/milkymist_dmx/dmx.c", + "src/lib/libbsp/lm32/shared/milkymist_flash/flash.c", + "src/lib/libbsp/lm32/shared/milkymist_gpio/gpio.c", + "src/lib/libbsp/lm32/shared/milkymist_ir/ir.c", + "src/lib/libbsp/lm32/shared/milkymist_clock/ckinit.c", + "src/lib/libbsp/lm32/shared/milkymist_console/console.c", + "src/lib/libbsp/lm32/shared/milkymist_console/uart.c", + "src/lib/libbsp/lm32/shared/milkymist_framebuffer/framebuffer.c", + "src/lib/libbsp/lm32/shared/milkymist_memcard/memcard.c", + "src/lib/libbsp/lm32/shared/milkymist_midi/midi.c", + "src/lib/libbsp/lm32/shared/milkymist_pfpu/pfpu.c", + "src/lib/libbsp/lm32/shared/milkymist_timer/timer.c", + "src/lib/libbsp/lm32/shared/milkymist_tmu/tmu.c", + "src/lib/libbsp/lm32/shared/milkymist_usbinput/usbinput.c", + "src/lib/libbsp/lm32/shared/milkymist_versions/versions.c", + "src/lib/libbsp/lm32/shared/milkymist_video/video.c", + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + +def build(ctx): + source = [] + + source += [ + "src/lib/libbsp/lm32/shared/startup/bspstart.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + map = { + "lm32_evr": lm32_evr, + "milkymist": milkymist + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_lm32(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_m32c b/c/wscript_m32c new file mode 100644 index 0000000000..a5fd48e232 --- /dev/null +++ b/c/wscript_m32c @@ -0,0 +1,50 @@ +def m32cbsp(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/m32c/m32cbsp/start/start.S"]) + + source += [ + "src/lib/libbsp/m32c/m32cbsp/console/console-io.c", + "src/lib/libbsp/m32c/m32cbsp/console/syscalls.S", + "src/lib/libbsp/m32c/m32cbsp/startup/bspstart.c", + "src/lib/libbsp/m32c/m32cbsp/startup/crtn.S", + "src/lib/libbsp/m32c/m32cbsp/timer/timer.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def build(ctx): + source = [] + + source += [ + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/clock_driver_simidle.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + map = { + "m32csim": m32cbsp + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_m32c(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_m32r b/c/wscript_m32r new file mode 100644 index 0000000000..6155972137 --- /dev/null +++ b/c/wscript_m32r @@ -0,0 +1,50 @@ +def m32rsim(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/m32r/m32rsim/start/start.S"]) + + source += [ + "src/lib/libbsp/m32r/m32rsim/console/console-io.c", + "src/lib/libbsp/m32r/m32rsim/console/trap0.S", + "src/lib/libbsp/m32r/m32rsim/startup/bspreset.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def build(ctx): + source = [] + + source += [ + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/clock_driver_simidle.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/timerstub.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + map = { + "m32rsim": m32rsim + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_m32r(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_m68k b/c/wscript_m68k new file mode 100644 index 0000000000..75c5d86f0a --- /dev/null +++ b/c/wscript_m68k @@ -0,0 +1,1126 @@ +# +# M68K libcpu support. See the PowerPC BSP file for details. +# +def libcpu_cache(ctx): + source = [ + "src/lib/libcpu/m68k/shared/cache/cache.c", + "src/lib/libcpu/shared/src/cache_aligned_malloc.c", + "src/lib/libcpu/shared/src/cache_manager.c" + ] + + ctx.bsp.source( + source, + includes=["%s/c/src/lib/libcpu/m68k/shared/cache" % ctx.srcnode.abspath()], + features="src_include src_include_libcpu" + ) + +def libcpu_misc(ctx): + source = [ + "src/lib/libcpu/m68k/shared/misc/m68kidle.c", + "src/lib/libcpu/m68k/shared/misc/memProbe.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_m68040_fpsp(ctx): + # need logic to control this based on the bsp option. + source = [ + "src/lib/libcpu/m68k/m68040/fpsp/rtems_fpsp.c", + "src/lib/libcpu/m68k/m68040/fpsp/bindec.S", + "src/lib/libcpu/m68k/m68040/fpsp/binstr.S", + "src/lib/libcpu/m68k/m68040/fpsp/bugfix.S", + "src/lib/libcpu/m68k/m68040/fpsp/decbin.S", + "src/lib/libcpu/m68k/m68040/fpsp/do_func.S", + "src/lib/libcpu/m68k/m68040/fpsp/gen_except.S", + "src/lib/libcpu/m68k/m68040/fpsp/get_op.S", + "src/lib/libcpu/m68k/m68040/fpsp/kernel_ex.S", + "src/lib/libcpu/m68k/m68040/fpsp/res_func.S", + "src/lib/libcpu/m68k/m68040/fpsp/round.S", + "src/lib/libcpu/m68k/m68040/fpsp/rtems_skel.S", + "src/lib/libcpu/m68k/m68040/fpsp/sacos.S", + "src/lib/libcpu/m68k/m68040/fpsp/sasin.S", + "src/lib/libcpu/m68k/m68040/fpsp/satan.S", + "src/lib/libcpu/m68k/m68040/fpsp/satanh.S", + "src/lib/libcpu/m68k/m68040/fpsp/scale.S", + "src/lib/libcpu/m68k/m68040/fpsp/scosh.S", + "src/lib/libcpu/m68k/m68040/fpsp/setox.S", + "src/lib/libcpu/m68k/m68040/fpsp/sgetem.S", + "src/lib/libcpu/m68k/m68040/fpsp/sint.S", + "src/lib/libcpu/m68k/m68040/fpsp/slog2.S", + "src/lib/libcpu/m68k/m68040/fpsp/slogn.S", + "src/lib/libcpu/m68k/m68040/fpsp/smovecr.S", + "src/lib/libcpu/m68k/m68040/fpsp/srem_mod.S", + "src/lib/libcpu/m68k/m68040/fpsp/ssin.S", + "src/lib/libcpu/m68k/m68040/fpsp/ssinh.S", + "src/lib/libcpu/m68k/m68040/fpsp/stan.S", + "src/lib/libcpu/m68k/m68040/fpsp/stanh.S", + "src/lib/libcpu/m68k/m68040/fpsp/sto_res.S", + "src/lib/libcpu/m68k/m68040/fpsp/stwotox.S", + "src/lib/libcpu/m68k/m68040/fpsp/tbldo.S", + "src/lib/libcpu/m68k/m68040/fpsp/util.S", + "src/lib/libcpu/m68k/m68040/fpsp/x_bsun.S", + "src/lib/libcpu/m68k/m68040/fpsp/x_fline.S", + "src/lib/libcpu/m68k/m68040/fpsp/x_operr.S", + "src/lib/libcpu/m68k/m68040/fpsp/x_ovfl.S", + "src/lib/libcpu/m68k/m68040/fpsp/x_snan.S", + "src/lib/libcpu/m68k/m68040/fpsp/x_store.S", + "src/lib/libcpu/m68k/m68040/fpsp/x_unfl.S", + "src/lib/libcpu/m68k/m68040/fpsp/x_unimp.S", + "src/lib/libcpu/m68k/m68040/fpsp/x_unsupp.S" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mcf5206_clock(ctx): + source = [ + "src/lib/libcpu/m68k/mcf5206/clock/ckinit.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mcf5206_mcfuart(ctx): + source = [ + "src/lib/libcpu/m68k/mcf5206/console/mcfuart.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mcf5206_mbus(ctx): + source = [ + "src/lib/libcpu/m68k/mcf5206/mbus/mcfmbus.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mcf5206_timer(ctx): + source = [ + "src/lib/libcpu/m68k/mcf5206/timer/timer.c", + "src/lib/libcpu/m68k/mcf5206/timer/timerisr.S" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mcf5223x_cachepd(ctx): + source = [ + "src/lib/libcpu/m68k/mcf5223x/cache/cachepd.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mcf5235_cachepd(ctx): + source = [ + "src/lib/libcpu/m68k/mcf5235/cache/cachepd.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mcf532x_cachepd(ctx): + source = [ + "src/lib/libcpu/m68k/mcf532x/cache/cachepd.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mcf5272_clock(ctx): + source = [ + "src/lib/libcpu/m68k/mcf5272/clock/ckinit.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mcf5272_timer(ctx): + source = [ + "src/lib/libcpu/m68k/mcf5272/timer/timer.c", + "src/lib/libcpu/m68k/mcf5272/timer/timerisr.S" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mcf548x_mcdma(ctx): + source = [ + "src/lib/libcpu/m68k/mcf548x/mcdma/MCD_dmaApi.c", + "src/lib/libcpu/m68k/mcf548x/mcdma/MCD_tasksInit.c", + "src/lib/libcpu/m68k/mcf548x/mcdma/MCD_tasks.c", + "src/lib/libcpu/m68k/mcf548x/mcdma/mcdma_glue.c" + ] + + ctx.bsp.source( + source, + includes=["%s/include/mcf548x" % ctx.srcnode.abspath()], + features="src_include" + ) + +def av5282(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/av5282/start/start.S"]) + + networking_source = [ + "src/lib/libbsp/m68k/av5282/network/network.c", + ] + + networking_defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + + ctx.bsp.networking( + networking_source, + defines=networking_defines, + features="src_include" + ) + + source += [ + "src/lib/libbsp/m68k/av5282/clock/clock.c", + "src/lib/libbsp/m68k/av5282/console/console.c", + "src/lib/libbsp/m68k/av5282/startup/bspstart.c", + "src/lib/libbsp/m68k/av5282/startup/init5282.c", + "src/lib/libbsp/m68k/av5282/timer/timer.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspreset_loop.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def csb360(ctx): + + libcpu_misc(ctx) + libcpu_mcf5272_clock(ctx) + libcpu_mcf5272_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/csb360/start/start.S"]) + + source += [ + "src/lib/libbsp/m68k/csb360/console/console-io.c", + "src/lib/libbsp/m68k/csb360/startup/init5272.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def gen68302(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/gen68302/start/start.S"]) + + networking_source = [ + "src/lib/libbsp/m68k/gen68302/network/network.c", + ] + + networking_defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + + ctx.bsp.networking( + networking_source, + defines=networking_defines, + features="src_include" + ) + + source += [ + "src/lib/libbsp/m68k/gen68302/clock/ckinit.c", + "src/lib/libbsp/m68k/gen68302/console/console.c", + "src/lib/libbsp/m68k/gen68302/timer/timer.c", + "src/lib/libbsp/m68k/gen68302/timer/timerisr.S", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/dummy_printk_support.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def gen68340(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/gen68340/start/start.S"]) + + source += [ + "src/lib/libbsp/m68k/gen68340/clock/ckinit.c", + "src/lib/libbsp/m68k/gen68340/console/console.c", + "src/lib/libbsp/m68k/gen68340/console/m340uart.c", + "src/lib/libbsp/m68k/gen68340/startup/dumpanic.c", + "src/lib/libbsp/m68k/gen68340/startup/init68340.c", + "src/lib/libbsp/m68k/gen68340/timer/timer.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/dummy_printk_support.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def gen68360_shared(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/gen68360/start/start.S"]) + + networking_source = [ + "src/lib/libbsp/m68k/gen68360/network/network.c", + ] + + networking_defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + + ctx.bsp.networking( + networking_source, + defines=networking_defines, + features="src_include" + ) + + source += [ + "src/lib/libbsp/m68k/gen68360/clock/clock.c", + "src/lib/libbsp/m68k/gen68360/console/console.c", + "src/lib/libbsp/m68k/gen68360/startup/alloc360.c", + "src/lib/libbsp/m68k/gen68360/startup/init68360.c", + "src/lib/libbsp/m68k/gen68360/timer/timer.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/dummy_printk_support.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def genmcf548x_shared(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + libcpu_mcf548x_mcdma(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/genmcf548x/start/start.S"]) + + networking_source = [ + "src/lib/libbsp/m68k/genmcf548x/network/network.c", + ] + + networking_defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + + ctx.bsp.networking( + networking_source, + defines=networking_defines, + features="src_include" + ) + + source += [ + "src/lib/libbsp/m68k/genmcf548x/clock/clock.c", + "src/lib/libbsp/m68k/genmcf548x/console/console.c", + "src/lib/libbsp/m68k/genmcf548x/startup/bspstart.c", + "src/lib/libbsp/m68k/genmcf548x/startup/init548x.c", + "src/lib/libbsp/m68k/genmcf548x/timer/timer.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspreset_loop.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def idp(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/shared/start.S"]) + + source += [ + "src/lib/libbsp/m68k/idp/clock/ckinit.c", + "src/lib/libbsp/m68k/idp/console/console.c", + "src/lib/libbsp/m68k/idp/console/duart.c", + "src/lib/libbsp/m68k/idp/console/leds.c", + "src/lib/libbsp/m68k/idp/console/mc68ec.c", + "src/lib/libbsp/m68k/idp/startup/bspstart.c", + "src/lib/libbsp/m68k/idp/timer/timer.c", + "src/lib/libbsp/m68k/idp/timer/timerisr.S", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/dummy_printk_support.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def mcf5206elite(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + libcpu_mcf5206_clock(ctx) + libcpu_mcf5206_mcfuart(ctx) + libcpu_mcf5206_timer(ctx) + libcpu_mcf5206_mbus(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/mcf5206elite/start/start.S"]) + + source += [ + "src/lib/libbsp/m68k/mcf5206elite/console/console.c", + "src/lib/libbsp/m68k/mcf5206elite/i2c/i2c.c", + "src/lib/libbsp/m68k/mcf5206elite/i2c/i2cdrv.c", + "src/lib/libbsp/m68k/mcf5206elite/nvram/nvram.c", + "src/lib/libbsp/m68k/mcf5206elite/startup/init5206e.c", + "src/lib/libbsp/m68k/mcf5206elite/tod/ds1307.c", + "src/lib/libbsp/m68k/mcf5206elite/tod/todcfg.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/dummy_printk_support.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/tod.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def mcf52235(ctx): + + libcpu_cache(ctx) + libcpu_mcf5223x_cachepd(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/mcf52235/start/start.S"]) + + source += [ + "src/lib/libbsp/m68k/mcf52235/clock/clock.c", + "src/lib/libbsp/m68k/mcf52235/console/console.c", + "src/lib/libbsp/m68k/mcf52235/console/debugio.c", + "src/lib/libbsp/m68k/mcf52235/startup/bspgetcpuclockspeed.c", + "src/lib/libbsp/m68k/mcf52235/startup/cfinit.c", + "src/lib/libbsp/m68k/mcf52235/startup/init52235.c", + "src/lib/libbsp/m68k/mcf52235/timer/timer.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspreset_loop.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def mcf5225x(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/mcf5225x/start/start.S"]) + + source += [ + "src/lib/libbsp/m68k/mcf5225x/clock/clock.c", + "src/lib/libbsp/m68k/mcf5225x/console/console.c", + "src/lib/libbsp/m68k/mcf5225x/console/debugio.c", + "src/lib/libbsp/m68k/mcf5225x/startup/bspstart.c", + "src/lib/libbsp/m68k/mcf5225x/startup/init5225x.c", + "src/lib/libbsp/m68k/mcf5225x/timer/timer.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspreset_loop.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def mcf5235(ctx): + + libcpu_cache(ctx) + libcpu_mcf5235_cachepd(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/mcf5235/start/start.S"]) + + networking_source = [ + "src/lib/libbsp/m68k/mcf5235/network/network.c", + ] + + networking_defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + + ctx.bsp.networking( + networking_source, + defines=networking_defines, + features="src_include" + ) + + source += [ + "src/lib/libbsp/m68k/mcf5235/clock/clock.c", + "src/lib/libbsp/m68k/mcf5235/console/console.c", + "src/lib/libbsp/m68k/mcf5235/startup/bspgetcpuclockspeed.c", + "src/lib/libbsp/m68k/mcf5235/startup/bspstart.c", + "src/lib/libbsp/m68k/mcf5235/startup/init5235.c", + "src/lib/libbsp/m68k/mcf5235/timer/timer.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bspinit.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspreset_loop.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libcpu/m68k/shared/misc/m68kidle.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def mcf5329(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + libcpu_mcf532x_cachepd(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/mcf5329/start/start.S"]) + + networking_source = [ + "src/lib/libbsp/m68k/mcf5329/network/network.c", + ] + + networking_defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + + ctx.bsp.networking( + networking_source, + defines=networking_defines, + features="src_include" + ) + + source += [ + "src/lib/libbsp/m68k/mcf5329/clock/clock.c", + "src/lib/libbsp/m68k/mcf5329/console/console.c", + "src/lib/libbsp/m68k/mcf5329/startup/bspstart.c", + "src/lib/libbsp/m68k/mcf5329/startup/cfinit.c", + "src/lib/libbsp/m68k/mcf5329/startup/init5329.c", + "src/lib/libbsp/m68k/mcf5329/timer/timer.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspreset_loop.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def mrm332(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/mrm332/start/start.S"]) + + source += [ + "src/lib/libbsp/m68k/mrm332/clock/ckinit.c", + "src/lib/libbsp/m68k/mrm332/console/console.c", + "src/lib/libbsp/m68k/mrm332/console/sci.c", + "src/lib/libbsp/m68k/mrm332/spurious/spinit.c", + "src/lib/libbsp/m68k/mrm332/startup/bsppredriverhook.c", + "src/lib/libbsp/m68k/mrm332/startup/except_vect_332_ROM.S", + "src/lib/libbsp/m68k/mrm332/startup/start_c.c", + "src/lib/libbsp/m68k/mrm332/timer/timer.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def mvme136(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/shared/start.S"]) + + mp_source = [ + "src/lib/libbsp/m68k/mvme136/shmsupp/addrconv.c", + "src/lib/libbsp/m68k/mvme136/shmsupp/getcfg.c", + "src/lib/libbsp/m68k/mvme136/shmsupp/lock.c", + "src/lib/libbsp/m68k/mvme136/shmsupp/mpisr.c" + ] + + ctx.bsp.mp( + mp_source, + features="src_include", + includes = ["%s/c/src/libchip/shmdr" % ctx.srcnode.abspath()] + ) + + source += [ + "src/lib/libbsp/m68k/mvme136/clock/ckinit.c", + "src/lib/libbsp/m68k/mvme136/console/console.c", + "src/lib/libbsp/m68k/mvme136/startup/bspclean.c", + "src/lib/libbsp/m68k/mvme136/startup/bspstart.c", + "src/lib/libbsp/m68k/mvme136/timer/timer.c", + "src/lib/libbsp/m68k/mvme136/timer/timerisr.S", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/dummy_printk_support.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def mvme147(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/shared/start.S"]) + + source += [ + "src/lib/libbsp/m68k/mvme147/clock/ckinit.c", + "src/lib/libbsp/m68k/mvme147/console/console.c", + "src/lib/libbsp/m68k/mvme147/startup/bspclean.c", + "src/lib/libbsp/m68k/mvme147/startup/bspstart.c", + "src/lib/libbsp/m68k/mvme147/timer/timer.c", + "src/lib/libbsp/m68k/mvme147/timer/timerisr.S", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/dummy_printk_support.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def mvme147s(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/shared/start.S"]) + + mp_source = [ + "src/lib/libbsp/m68k/mvme147s/shmsupp/addrconv.c", + "src/lib/libbsp/m68k/mvme147s/shmsupp/getcfg.c", + "src/lib/libbsp/m68k/mvme147s/shmsupp/lock.c", + "src/lib/libbsp/m68k/mvme147s/shmsupp/mpisr.c" + ] + + ctx.bsp.mp( + mp_source, + features="src_include", + includes = ["%s/c/src/libchip/shmdr" % ctx.srcnode.abspath()] + ) + + source += [ + "src/lib/libbsp/m68k/mvme147/clock/ckinit.c", + "src/lib/libbsp/m68k/mvme147/console/console.c", + "src/lib/libbsp/m68k/mvme147/timer/timer.c", + "src/lib/libbsp/m68k/mvme147/timer/timerisr.S", + "src/lib/libbsp/m68k/mvme147s/startup/bspstart.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/dummy_printk_support.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def mvme162_shared(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + libcpu_m68040_fpsp(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/shared/start.S"]) + + networking_source = [ + "src/lib/libbsp/m68k/mvme167/network/network.c", + ] + + networking_defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + + ctx.bsp.networking( + networking_source, + defines=networking_defines, + features="src_include" + ) + + source += [ + "src/lib/libbsp/m68k/mvme162/clock/ckinit.c", + "src/lib/libbsp/m68k/mvme162/console/console.c", + "src/lib/libbsp/m68k/mvme162/startup/bspclean.c", + "src/lib/libbsp/m68k/mvme162/startup/bspstart.c", + "src/lib/libbsp/m68k/mvme162/startup/page_table.c", + "src/lib/libbsp/m68k/mvme162/timer/timer.c", + "src/lib/libbsp/m68k/mvme162/timer/timerisr.S", + "src/lib/libbsp/m68k/mvme162/tod/tod.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/dummy_printk_support.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + +def mvme167(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + libcpu_m68040_fpsp(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/shared/start.S"]) + + networking_source = [ + "src/lib/libbsp/m68k/mvme167/network/network.c", + ] + + networking_defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + + ctx.bsp.networking( + networking_source, + defines=networking_defines, + features="src_include" + ) + + source += [ + "src/lib/libbsp/m68k/mvme167/clock/ckinit.c", + "src/lib/libbsp/m68k/mvme167/console/console.c", + "src/lib/libbsp/m68k/mvme167/startup/bspclean.c", + "src/lib/libbsp/m68k/mvme167/startup/bspstart.c", + "src/lib/libbsp/m68k/mvme167/startup/page_table.c", + "src/lib/libbsp/m68k/mvme167/timer/timer.c", + "src/lib/libbsp/m68k/mvme167/timer/timerisr.S", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def ods68302(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/ods68302/start/reset.S"]) + + source += [ + "src/lib/libbsp/m68k/ods68302/clock/ckinit.c", + "src/lib/libbsp/m68k/ods68302/console/console.c", + "src/lib/libbsp/m68k/ods68302/startup/cpuboot.c", + "src/lib/libbsp/m68k/ods68302/startup/crc.c", + "src/lib/libbsp/m68k/ods68302/startup/debugport.c", + "src/lib/libbsp/m68k/ods68302/startup/gdb-hooks.c", + "src/lib/libbsp/m68k/ods68302/startup/m68302scc.c", + "src/lib/libbsp/m68k/ods68302/startup/m68k-stub.c", + "src/lib/libbsp/m68k/ods68302/startup/memcheck.c", + "src/lib/libbsp/m68k/ods68302/startup/trace.c", + "src/lib/libbsp/m68k/ods68302/timer/timer.c", + "src/lib/libbsp/m68k/ods68302/timer/timerisr.S", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/dummy_printk_support.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def sim68000_shared(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/sim68000/start/start.S"]) + + source += [ + "src/lib/libbsp/m68k/shared/bspspuriousinit.c", + "src/lib/libbsp/m68k/shared/m68000spurious.c", + "src/lib/libbsp/m68k/sim68000/clock/clockdrv.c", + "src/lib/libbsp/m68k/sim68000/console/conscfg.c", + "src/lib/libbsp/m68k/sim68000/console/debugio.c", + "src/lib/libbsp/m68k/sim68000/startup/bsppredriverhook.c", + "src/lib/libbsp/m68k/sim68000/startup/spurious_assistant.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/timerstub.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + +def uc5282(ctx): + + libcpu_cache(ctx) + libcpu_misc(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/m68k/uC5282/start/start.S"]) + + networking_source = [ + "src/lib/libbsp/m68k/uC5282/network/network.c", + ] + + networking_defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + + ctx.bsp.networking( + networking_source, + defines=networking_defines, + features="src_include" + ) + source += [ + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/m68k/uC5282/startup/bspreset.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/m68k/uC5282/startup/init5282.c", + "src/lib/libbsp/m68k/uC5282/startup/bspstart.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/m68k/uC5282/clock/clock.c", + "src/lib/libbsp/m68k/uC5282/console/console.c", + "src/lib/libbsp/m68k/uC5282/timer/timer.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def build(ctx): + source = [] + + + source += [ + "src/lib/libbsp/shared/setvec.c" + ] + + + ctx.bsp.source( + source, + features="src_include" + ) + + + map = { + "av5282": av5282, + "csb360": csb360, + "gen68302": gen68302, + "gen68340": gen68340, + "gen68360": gen68360_shared, + "gen68360_040": gen68360_shared, + "pgh360": gen68360_shared, + "cobra5475": genmcf548x_shared, + "m5484fireengine": genmcf548x_shared, + "idp": idp, + "mcf5206elite": mcf5206elite, + "mcf52235": mcf52235, + "mcf5225x": mcf5225x, + "mcf5235": mcf5235, + "mcf5329": mcf5329, + "mrm332": mrm332, + "mvme136": mvme136, + "mvme147": mvme147, + "mvme147s": mvme147s, + "mvme162": mvme162_shared, + "mvme162lx": mvme162_shared, + "mvme167": mvme167, + "ods68302": ods68302, + "sim68000": sim68000_shared, + "simcpu32": sim68000_shared, + "uc5282": uc5282 + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_m68k(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_mips b/c/wscript_mips new file mode 100644 index 0000000000..1570254960 --- /dev/null +++ b/c/wscript_mips @@ -0,0 +1,347 @@ +# +# MIP Board Support Packages. +# + +# +# MIPS libcpu support. See the PowerPC BSP file for details. +# + +def libcpu_cache(ctx): + source = [ + "src/lib/libcpu/mips/shared/cache/cache.c", + "src/lib/libcpu/shared/src/cache_aligned_malloc.c", + "src/lib/libcpu/shared/src/cache_manager.c" + ] + + ctx.bsp.source( + source, + includes=["%s/c/src/lib/libcpu/mips/shared/cache/" % ctx.srcnode.abspath()], + features="src_include" + ) + +def libcpu_timer(ctx): + source = [ + "src/lib/libcpu/mips/timer/timer.c", + "src/lib/libcpu/mips/timer/gettime.S" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_clock(ctx): + source = [ + "src/lib/libcpu/mips/clock/ckinit.c", + "src/lib/libcpu/mips/clock/clock.S" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_interrupts(ctx, name = None): + source = [ + "src/lib/libcpu/mips/shared/interrupts/installisrentries.c", + "src/lib/libbsp/mips/shared/irq/vectorexceptions.c", + "src/lib/libcpu/mips/shared/interrupts/interruptmask.c", + "src/lib/libcpu/mips/shared/interrupts/isr_entries.S" + ] + + ctx.bsp.source( + source, + defines=[name], + features="src_include" + ) + +def libcpu_rm52xx_interrupts(ctx): + libcpu_interrupts(ctx, 'RM52XX') + +def libcpu_tx39_interrupts(ctx): + libcpu_interrupts(ctx, 'TX39') + +def libcpu_tx49_interrupts(ctx): + libcpu_interrupts(ctx, 'TX49') + +def libcpu_mongoosev_interrupts(ctx): + libcpu_interrupts(ctx, 'MONGOOSEV') + +def libcpu_mongoosev_duart(ctx): + source = [ + "src/lib/libcpu/mips/mongoosev/duart/mg5uart.c", + "src/lib/libcpu/mips/mongoosev/duart/mg5uart_reg.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + +def csb350(ctx): + + libcpu_cache(ctx) + libcpu_interrupts(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/mips/csb350/start/start.S"]) + + source_networking = [ + "src/lib/libbsp/mips/csb350/network/network.c" + ] + ctx.bsp.networking( + source_networking, + features="src_include", + cflags=["-D__INSIDE_RTEMS_BSD_TCPIP_STACK__"], + ) + + source += [ + "src/lib/libbsp/mips/csb350/clock/clockdrv.c", + "src/lib/libbsp/mips/csb350/console/console-io.c", + "src/lib/libbsp/mips/csb350/startup/bspreset.c", + "src/lib/libbsp/mips/csb350/startup/bspstart.c", + "src/lib/libbsp/mips/csb350/timer/timer.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/mips/csb350/irq/vectorisrs.c" + ] + ctx.bsp.source( + source, + features="src_include", + ) + + +def genmongoosev(ctx): + + libcpu_cache(ctx) + libcpu_mongoosev_interrupts(ctx) + libcpu_mongoosev_duart(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/mips/genmongoosev/start/start.S"]) + + source_gdb = [ + "src/lib/libbsp/mips/genmongoosev/startup/gdb-support.c", + "src/lib/libbsp/shared/gdbstub/rtems-stub-glue.c" + ] + ctx.cpu.source( + source_gdb, + features="src_include", + includes=["%s/c/src/lib/libbsp/mips/shared/gdbstub/" % ctx.srcnode.abspath()] + ) + + + source += [ + "src/lib/libbsp/mips/genmongoosev/clock/clockdrv.c", + "src/lib/libbsp/mips/genmongoosev/console/conscfg.c", + "src/lib/libbsp/mips/genmongoosev/startup/bspstart.c", + "src/lib/libbsp/mips/genmongoosev/timer/timer.c", + "src/lib/libbsp/mips/shared/gdbstub/mips-stub.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/mips/genmongoosev/irq/vectorisrs.c" + ] + + ctx.cpu.source( + source, + features="src_include src_include_bsp" + ) + + +def hurricane(ctx): + + libcpu_cache(ctx) + libcpu_rm52xx_interrupts(ctx) + libcpu_timer(ctx) + + + source = [] + + ctx.bsp.start(["src/lib/libbsp/mips/hurricane/start/start.S"]) + + source += [ + "src/lib/libbsp/mips/hurricane/clock/ckinit.c", + "src/lib/libbsp/mips/hurricane/console/console.c", + "src/lib/libbsp/mips/hurricane/startup/bspstart.c", + "src/lib/libbsp/mips/hurricane/startup/inittlb.c", + "src/lib/libbsp/mips/shared/irq/exception.S", + "src/lib/libbsp/mips/shared/liblnk/lnklib.S", + "src/lib/libbsp/mips/shared/liblnk/pmon.S", + "src/lib/libbsp/mips/shared/startup/idtmem.S", + "src/lib/libbsp/mips/shared/startup/idttlb.S", + "src/lib/libbsp/mips/hurricane/irq/vectorisrs.c", + "src/lib/libbsp/mips/hurricane/startup/usc.S" + ] + ctx.bsp.source( + source, + features="src_include", + ) + + +def jmr3904(ctx): + + libcpu_cache(ctx) + libcpu_tx39_interrupts(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/mips/jmr3904/start/start.S"]) + + source += [ + "src/lib/libbsp/mips/jmr3904/clock/clockdrv.c", + "src/lib/libbsp/mips/jmr3904/console/console-io.c", + "src/lib/libbsp/mips/jmr3904/startup/bspstart.c", + "src/lib/libbsp/mips/jmr3904/timer/timer.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/mips/jmr3904/irq/vectorisrs.c" + ] + ctx.bsp.source( + source, + features="src_include", + ) + + +def malta(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/mips/malta/start/start.S"]) + + source += [ + "src/lib/libbsp/mips/malta/console/conscfg.c", + "src/lib/libbsp/mips/malta/console/printk_support.c", + "src/lib/libbsp/mips/malta/irq/interruptmask.c", + "src/lib/libbsp/mips/malta/irq/maxvectors.c", + "src/lib/libbsp/mips/malta/irq/vectorisrs.c", + "src/lib/libbsp/mips/malta/pci/pci.c", + "src/lib/libbsp/mips/malta/pci/pcifinddevice.c", + "src/lib/libbsp/mips/malta/pci/pcilistdevices.c", + "src/lib/libbsp/mips/malta/startup/bspreset.c", + "src/lib/libbsp/mips/malta/startup/bspstart.c", + "src/lib/libbsp/mips/malta/startup/inittlb.c", + "src/lib/libbsp/mips/malta/startup/simple_access.c", + "src/lib/libbsp/mips/shared/irq/vectorexceptions.c", + "src/lib/libbsp/mips/shared/startup/idttlb.S", + "src/lib/libbsp/shared/timerstub.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/mips/shared/irq/i8259.c", + "src/lib/libcpu/mips/shared/interrupts/installisrentries.c", + "src/lib/libcpu/mips/shared/interrupts/isr_entries.S", + "src/lib/libcpu/shared/src/cache_manager.c", + "src/lib/libbsp/mips/shared/clock/clockdrv.c", + "src/lib/libbsp/mips/shared/clock/mips_timer.S", + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp src_include_libcpu", + ) + + +def rbtx4925(ctx): + + libcpu_cache(ctx) + libcpu_tx49_interrupts(ctx) + libcpu_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/mips/rbtx4925/start/start.S"]) + + source += [ + "src/lib/libbsp/mips/rbtx4925/clock/clockdrv.c", + "src/lib/libbsp/mips/rbtx4925/console/console-io.c", + "src/lib/libbsp/mips/rbtx4925/startup/bspstart.c", + "src/lib/libbsp/mips/rbtx4925/startup/inittlb.c", + "src/lib/libbsp/mips/shared/irq/exception.S", + "src/lib/libbsp/mips/shared/liblnk/lnklib.S", + "src/lib/libbsp/mips/shared/liblnk/pmon.S", + "src/lib/libbsp/mips/shared/startup/idtmem.S", + "src/lib/libbsp/mips/shared/startup/idttlb.S", + "src/lib/libbsp/mips/rbtx4925/irq/vectorisrs.c" + ] + ctx.bsp.source( + source, + features="src_include", + ) + + +def rbtx4938(ctx): + + libcpu_cache(ctx) + libcpu_tx49_interrupts(ctx) + libcpu_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/mips/rbtx4938/start/start.S"]) + + source += [ + "src/lib/libbsp/mips/rbtx4938/clock/clockdrv.c", + "src/lib/libbsp/mips/rbtx4938/console/console-io.c", + "src/lib/libbsp/mips/rbtx4938/startup/bspstart.c", + "src/lib/libbsp/mips/rbtx4938/startup/inittlb.c", + "src/lib/libbsp/mips/shared/irq/exception.S", + "src/lib/libbsp/mips/shared/liblnk/lnklib.S", + "src/lib/libbsp/mips/shared/liblnk/pmon.S", + "src/lib/libbsp/mips/shared/startup/idtmem.S", + "src/lib/libbsp/mips/shared/startup/idttlb.S", + "src/lib/libbsp/mips/rbtx4938/irq/vectorisrs.c" + ] + ctx.bsp.source( + source, + features="src_include", + ) + + +def build(ctx): + source = [] + + source += [ + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/setvec.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/mips/shared/irq/interruptmask.c", + "src/lib/libbsp/mips/shared/irq/irq.c", + "src/lib/libbsp/mips/shared/irq/maxvectors.c" + ] + ctx.cpu.source( + source, + features="src_include" + ) + + + map = { + "csb350": csb350, + "genmongoosev": genmongoosev, + "hurricane": hurricane, + "jmr3904": jmr3904, + "malta": malta, + "rbtx4925": rbtx4925, + "rbtx4938": rbtx4938 + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_mips(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_moxie b/c/wscript_moxie new file mode 100644 index 0000000000..e1a5e6b334 --- /dev/null +++ b/c/wscript_moxie @@ -0,0 +1,52 @@ +# +# Moxie +# + +def moxiesim(ctx): + source = [ + "src/lib/libbsp/moxie/moxiesim/console/console-io.c", + "src/lib/libbsp/moxie/moxiesim/console/syscalls.S", + "src/lib/libbsp/moxie/moxiesim/start/start.S", + "src/lib/libbsp/moxie/moxiesim/startup/__main.c", + "src/lib/libbsp/moxie/moxiesim/startup/moxiebdinstallirq.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def build(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/moxie/moxiesim/start/start.S"]) + + source += [ + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/clock_driver_simidle.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/timerstub.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + map = { + "moxiesim": moxiesim, + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_moxie(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_nios2 b/c/wscript_nios2 new file mode 100644 index 0000000000..ad14d96e63 --- /dev/null +++ b/c/wscript_nios2 @@ -0,0 +1,51 @@ +# +# nios2 +# + +def nios2_iss(ctx): + ctx.bsp.start(["src/lib/libbsp/nios2/nios2_iss/start/start.S", "src/lib/libbsp/nios2/nios2_iss/start/crtnn.s"]) + + source = [ + "src/lib/libbsp/nios2/nios2_iss/clock/clock.c", + "src/lib/libbsp/nios2/nios2_iss/console/console.c", + "src/lib/libbsp/nios2/nios2_iss/startup/bspstart.c", + "src/lib/libbsp/nios2/nios2_iss/startup/setvec.c", + "src/lib/libbsp/nios2/nios2_iss/timer/timer.c", + "src/lib/libcpu/nios2/shared/misc/memcpy.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def build(ctx): + source = [] + + source += [ + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspreset_loop.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + map = { + "nios2_iss": nios2_iss, + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_nios2(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_powerpc b/c/wscript_powerpc new file mode 100644 index 0000000000..51a2305b04 --- /dev/null +++ b/c/wscript_powerpc @@ -0,0 +1,1830 @@ + +# PowerPC libcpu support. This is done this way to make it easy to see which +# parts of libcpu are used in a BSP. This whole part of the PowerPC is a mess +# and this is not an attempt to clean that up rather an attempt to make sure +# we match the autoconf build system. Once we have confirmed the BSPs are +# working this can be moved to a better structure. +# +# The groups match the noinst_PROGRAMS files created. The BSPs match the +# list referenced at the end of each BSP Makefile.am. +# + +def libcpu_rtems_cpu(ctx): + source = [ + "src/lib/libcpu/powerpc/new-exceptions/cpu.c", + "src/lib/libcpu/powerpc/new-exceptions/cpu_asm.S" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_exc_bspsupport(ctx): + source = [ + "src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc-code-copy.c", + "src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc.S", + "src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_async_normal.S", + "src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_naked.S", + "src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_hdl.c", + "src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_initialize.c", + "src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_global_handler.c", + "src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c", + "src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_address.c", + "src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_alignment.c", + "src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_prologue.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + +def libcpu_irq_bspsupport(ctx): + source = [ + "src/lib/libcpu/powerpc/new-exceptions/bspsupport/irq.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + +def libcpu_cpu_ident(ctx): + source = [ + "src/lib/libcpu/powerpc/shared/include/cpuIdent.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_libcpu" + ) + +def libcpu_cache(ctx): + source = [ + "src/lib/libcpu/shared/src/cache_aligned_malloc.c", + "src/lib/libcpu/shared/src/cache_manager.c" + ] + + ctx.bsp.source( + source, + includes=["%s/c/src/lib/libcpu/powerpc/shared/src/" % ctx.srcnode.abspath()], + features="src_include src_include_libcpu" + ) + +def libcpu_stack(ctx): + source = [ + "src/lib/libcpu/powerpc/shared/src/stack.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_libcpu" + ) + +def libcpu_ppc403_clock(ctx): + source = [ + "src/lib/libcpu/powerpc/ppc403/clock/clock.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_ppc403_console(ctx): + source = [ + "src/lib/libcpu/powerpc/ppc403/console/console.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_ppc403_timer(ctx): + source = [ + "src/lib/libcpu/powerpc/ppc403/timer/timer.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_pcc405_console(ctx): + source = [ + "src/lib/libcpu/powerpc/ppc403/console/console405.c", + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_ppc403_tty_drv(ctx): + source = [ + "src/lib/libcpu/powerpc/ppc403/tty_drv/tty_drv.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc5xx_clock(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc5xx/clock/clock.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc5xx_clock(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc5xx/clock/clock.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc5xx_console(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc5xx/console-generic/console-generic.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc5xx_exceptions(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc5xx/exceptions/raw_exception.c", + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc5xx_irq(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc5xx/irq/irq.c", + "src/lib/libcpu/powerpc/mpc5xx/irq/irq_init.c", + "src/lib/libcpu/powerpc/mpc5xx/irq/irq_asm.S" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc5xx_timer(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc5xx/timer/timer.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc5xx_vectors(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc5xx/vectors/vectors_init.c", + "src/lib/libcpu/powerpc/mpc5xx/vectors/vectors.S" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc505_ictrl(ctx): + source += [ + "src/lib/libcpu/powerpc/mpc505/ictrl/ictrl.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc505_timer(ctx): + source += [ + "src/lib/libcpu/powerpc/mpc505/timer/timer.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc505_vector(ctx): + source += [ + "src/lib/libcpu/powerpc/mpc505/vectors/vectors.S" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc6xx_mmu(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc6xx/mmu/bat.c", + "src/lib/libcpu/powerpc/mpc6xx/mmu/pte121.c", + "src/lib/libcpu/powerpc/mpc6xx/mmu/mmuAsm.S" + ] + ctx.bsp.source( + source, + features="src_include src_include_libcpu" + ) + +def libcpu_mpc6xx_clock(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc6xx/clock/c_clock.c", + ] + ctx.bsp.source( + source, + features="src_include src_include_libcpu" + ) + +def libcpu_mpc6xx_timer(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc6xx/timer/timer.c" + ] + ctx.bsp.source( + source, + features="src_include src_include_libcpu" + ) + +def libcpu_mpc6xx_altivec(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc6xx/altivec/vec_sup.c", + "src/lib/libcpu/powerpc/mpc6xx/altivec/vec_sup_asm.S" + ] + ctx.bsp.source( + source, + features="src_include src_include_libcpu" + ) + +def libcpu_e500_clock(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc6xx/clock/c_clock.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_e500_timer(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc6xx/timer/timer.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_e500_mmu(ctx): + source = [ + "src/lib/libcpu/powerpc/e500/mmu/mmu.c" + ] + ctx.bsp.source( + source, + features="src_include src_include_libcpu" + ) + +def libcpu_mpc8xx_clock(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc8xx/clock/clock.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc8xx_console(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc8xx/console-generic/console-generic.c", + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc8xx_cpm(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc8xx/cpm/cp.c", + "src/lib/libcpu/powerpc/mpc8xx/cpm/dpram.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc8xx_mmu(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc8xx/mmu/mmu.c", + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc8xx_timer(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc8xx/timer/timer.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc8260_console(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc8260/console-generic/console-generic.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc8260_cpm(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc8260/cpm/cp.c", + "src/lib/libcpu/powerpc/mpc8260/cpm/dpram.c", + "src/lib/libcpu/powerpc/mpc8260/cpm/brg.c", + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc8260_mmu(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc8260/mmu/mmu.c", + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc8260_timer(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc8260/timer/timer.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc83xx_tsec(ctx): + source_network = [ + "src/lib/libcpu/powerpc/mpc83xx/network/tsec.c" + ] + + ctx.bsp.networking( + source_network, + features="src_include", + defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__", "__BSD_VISIBLE"] + ) + +def libcpu_mpc83xx_i2c(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc83xx_spi(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc83xx/spi/mpc83xx_spidrv.c", + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_mpc83xx_gtm(ctx): + source = [ + "src/lib/libcpu/powerpc/mpc83xx/gtm/gtm.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_qoriq(ctx): + source_network = [ + "src/lib/libcpu/powerpc/mpc83xx/network/tsec.c" + ] + ctx.bsp.networking( + source_network, + cflags=["-D__INSIDE_RTEMS_BSD_TCPIP_STACK__", + "-D__BSD_VISIBLE"] + ) + +def beatnik(ctx): + + libcpu_cpu_ident(ctx) + libcpu_cache(ctx) + libcpu_stack(ctx) + libcpu_rtems_cpu(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_irq_bspsupport(ctx) + libcpu_mpc6xx_clock(ctx) + libcpu_mpc6xx_mmu(ctx) + libcpu_mpc6xx_timer(ctx) + libcpu_mpc6xx_altivec(ctx) + + source = [] + + ctx.bsp.start([ + "src/lib/libbsp/powerpc/shared/start/rtems_crti.S", + "src/lib/libbsp/powerpc/shared/start/preload.S", + "src/lib/libbsp/powerpc/shared/start/vectors_entry.S", + "src/lib/libbsp/powerpc/shared/start/start.S" + ]) + + # + # Split up the drivers because each driver has the same header files in + # different directories. + # + + source_network = [ + "src/lib/libbsp/powerpc/beatnik/network/if_em/if_em.c", + "src/lib/libbsp/powerpc/beatnik/network/if_em/if_em_hw.c", + "src/lib/libbsp/powerpc/beatnik/network/if_em/if_em_rtems.c", + ] + ctx.bsp.networking( + source_network, + features="src_include src_include_networking", + includes=["%s/c/src/lib/libbsp/powerpc/beatnik/network/porting" % ctx.srcnode.abspath(), + "%s/c/src/lib/libbsp/powerpc/beatnik/network/if_em" % ctx.srcnode.abspath()] + ) + + source_network = [ + "src/lib/libbsp/powerpc/beatnik/network/if_gfe/if_gfe.c", + "src/lib/libbsp/powerpc/beatnik/network/if_gfe/if_gfe_rtems.c", + ] + ctx.bsp.networking( + source_network, + features="src_include src_include_networking", + includes=["%s/c/src/lib/libbsp/powerpc/beatnik/network/porting" % ctx.srcnode.abspath(), + "%s/c/src/lib/libbsp/powerpc/beatnik/network/if_gfe" % ctx.srcnode.abspath()] + ) + + source_network = [ + "src/lib/libbsp/powerpc/beatnik/network/if_mve/mv643xx_eth.c", + "src/lib/libbsp/powerpc/beatnik/network/support/bsp_attach.c", + "src/lib/libbsp/powerpc/beatnik/network/support/early_link_status.c", + ] + ctx.bsp.networking( + source_network, + features="src_include", + includes=["%s/c/src/lib/libbsp/powerpc/beatnik/network/porting" % ctx.srcnode.abspath()] + ) + + source += [ + "src/lib/libbsp/powerpc/beatnik/flash/flashcfg.c", + "src/lib/libbsp/powerpc/beatnik/irq/discovery_pic.c", + "src/lib/libbsp/powerpc/beatnik/irq/irq_init.c", + "src/lib/libbsp/powerpc/beatnik/marvell/discovery.c", + "src/lib/libbsp/powerpc/beatnik/marvell/gti2c.c", + "src/lib/libbsp/powerpc/beatnik/pci/gt_pci_init.c", + "src/lib/libbsp/powerpc/beatnik/pci/motload_fixup.c", + "src/lib/libbsp/powerpc/beatnik/pci/pci_io_remap.c", + "src/lib/libbsp/powerpc/beatnik/startup/bspclean.c", + "src/lib/libbsp/powerpc/beatnik/startup/bspstart.c", + "src/lib/libbsp/powerpc/beatnik/startup/i2c_init.c", + "src/lib/libbsp/powerpc/beatnik/startup/reboot.c", + "src/lib/libbsp/powerpc/beatnik/tod/todcfg.c", + "src/lib/libbsp/powerpc/shared/clock/p_clock.c", + "src/lib/libbsp/powerpc/shared/console/console.c", + "src/lib/libbsp/powerpc/shared/console/uart.c", + "src/lib/libbsp/powerpc/shared/flash/flash.c", + "src/lib/libbsp/powerpc/shared/flash/intelFlash.c", + "src/lib/libbsp/powerpc/shared/pci/pci.c", + "src/lib/libbsp/powerpc/shared/pci/pcifinddevice.c", + "src/lib/libbsp/powerpc/shared/startup/bspgetworkarea.c", + "src/lib/libbsp/powerpc/shared/startup/panic.c", + "src/lib/libbsp/powerpc/shared/startup/pgtbl_activate.c", + "src/lib/libbsp/powerpc/shared/startup/pgtbl_setup.c", + "src/lib/libbsp/powerpc/shared/startup/pretaskinghook.c", + "src/lib/libbsp/powerpc/shared/startup/probeMemEnd.c", + "src/lib/libbsp/powerpc/shared/startup/sbrk.c", + "src/lib/libbsp/powerpc/shared/startup/zerobss.c", + "src/lib/libbsp/powerpc/shared/vme/vme_universe.c", + "src/lib/libbsp/powerpc/shared/vme/vmeconfig.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/tod.c", + "src/lib/libbsp/shared/vmeUniverse/bspVmeDmaList.c", + ] + ctx.bsp.source( + source, + features="src_include" + ) + + source = [ + "src/lib/libbsp/powerpc/beatnik/marvell/gt_timer.c", + "src/lib/libbsp/powerpc/shared/motorola/vpd.c", + "src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c", + "src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c", + ] + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + + +def ep1a(ctx): + + libcpu_cache(ctx) + libcpu_cpu_ident(ctx) + libcpu_stack(ctx) + libcpu_rtems_cpu(ctx) + libcpu_mpc6xx_clock(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_irq_bspsupport(ctx) + libcpu_mpc6xx_mmu(ctx) + libcpu_mpc6xx_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/shared/start/rtems_crti.S", "src/lib/libbsp/powerpc/ep1a/start/start.S"]) + + source += [ + "src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.c", + "src/lib/libbsp/powerpc/ep1a/console/printk_support.c", + "src/lib/libbsp/powerpc/ep1a/irq/irq_init.c", + "src/lib/libbsp/powerpc/ep1a/irq/openpic_xxx_irq.c", + "src/lib/libbsp/powerpc/ep1a/pci/no_host_bridge.c", + "src/lib/libbsp/powerpc/ep1a/startup/bspstart.c", + "src/lib/libbsp/powerpc/shared/irq/i8259.c", + "src/lib/libbsp/powerpc/shared/openpic/openpic.c", + "src/lib/libbsp/powerpc/shared/pci/pci.c", + "src/lib/libbsp/powerpc/shared/pci/pcifinddevice.c", + "src/lib/libbsp/powerpc/shared/showbats.c", + "src/lib/libbsp/powerpc/shared/start/rtems_crti.S", + "src/lib/libbsp/powerpc/shared/startup/bspgetworkarea.c", + "src/lib/libbsp/powerpc/shared/startup/pgtbl_activate.c", + "src/lib/libbsp/powerpc/shared/startup/pgtbl_setup.c", + "src/lib/libbsp/powerpc/shared/startup/sbrk.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + ] + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + source = [ + "src/lib/libbsp/powerpc/ep1a/console/rsPMCQ1.c", + "src/lib/libbsp/powerpc/shared/clock/p_clock.c", + "src/lib/libbsp/shared/vmeUniverse/bspVmeDmaList.c", + "src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c", + "src/lib/libbsp/powerpc/shared/vme/vme_universe.c", + "src/lib/libbsp/powerpc/shared/vme/vmeconfig.c", + "src/lib/libbsp/powerpc/ep1a/console/mc68360_scc.c", + "src/lib/libbsp/powerpc/ep1a/console/init68360.c", + "src/lib/libbsp/powerpc/ep1a/console/config.c", + "src/lib/libbsp/powerpc/ep1a/console/alloc360.c", + ] + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + +def gen5200_shared(ctx): + + libcpu_cpu_ident(ctx) + libcpu_cache(ctx) + libcpu_stack(ctx) + libcpu_rtems_cpu(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_mpc6xx_mmu(ctx) + libcpu_mpc6xx_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/shared/start/rtems_crti.S", "src/lib/libbsp/powerpc/gen5200/start/start.S"]) + + + source_network = [ + "src/lib/libbsp/powerpc/gen5200/network_5200/network.c", + ] + ctx.bsp.networking( + source_network, + features="src_include src_include_bsp" + ) + + source += [ + "src/lib/libbsp/powerpc/gen5200/i2c/i2c.c", #XXX: i2cdrv.h + "src/lib/libbsp/powerpc/gen5200/irq/irq.c", + "src/lib/libbsp/powerpc/gen5200/mscan/mscan-base.c", + "src/lib/libbsp/powerpc/gen5200/startup/bspreset.c", + "src/lib/libbsp/powerpc/gen5200/startup/bspstart.c", + "src/lib/libbsp/powerpc/gen5200/startup/cpuinit.c", + "src/lib/libbsp/powerpc/gen5200/startup/uboot_support.c", + "src/lib/libbsp/powerpc/gen5200/tod/pcf8563.c", + "src/lib/libbsp/powerpc/gen5200/tod/todcfg.c", + "src/lib/libbsp/powerpc/shared/clock/clock.c", + "src/lib/libbsp/powerpc/shared/showbats.c", + "src/lib/libbsp/powerpc/shared/src/memcpy.c", + "src/lib/libbsp/powerpc/shared/start/rtems_crti.S", + "src/lib/libbsp/powerpc/shared/startup/bspidle.c", + "src/lib/libbsp/powerpc/shared/uboot_dump_bdinfo.c", + "src/lib/libbsp/powerpc/shared/uboot_getenv.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/bsp-uboot-board-info.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/tod.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + source = [ + "src/lib/libbsp/powerpc/gen5200/ide/idecfg.c", + "src/lib/libbsp/powerpc/gen5200/ide/pcmcia_ide.c", + "src/lib/libbsp/powerpc/gen5200/mscan/mscan.c", + "src/lib/libbsp/powerpc/gen5200/nvram/nvram.c", + "src/lib/libbsp/powerpc/gen5200/slicetimer/slicetimer.c", + "src/lib/libbsp/powerpc/gen5200/console/console.c", + "src/lib/libbsp/powerpc/gen5200/i2c/mpc5200mbus.c", +# "src/lib/libbsp/powerpc/gen5200/i2c/i2cdrv.c", XXX: is this needed? + "src/lib/libbsp/powerpc/gen5200/bestcomm/bestcomm_glue.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/bestcomm_api.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/dma_image.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/dma_image.reloc.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/load_task.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_ata.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_bdtable.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_crc16_dp_0.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_crc16_dp_1.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_fec_rx_bd.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_fec_tx_bd.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_gen_dp_0.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_gen_dp_1.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_gen_dp_2.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_gen_dp_3.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_gen_dp_bd_0.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_gen_dp_bd_1.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_gen_rx_bd.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_gen_tx_bd.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_lpc.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_pci_rx.c", + "src/lib/libbsp/powerpc/gen5200/bestcomm/tasksetup_pci_tx.c", + ] + ctx.bsp.source( + source, + features="src_include src_include_bsp", + includes=[ + "%s/include/bsp/bestcomm/" % ctx.srcnode.abspath(), + "%s/c/src/lib/libbsp/powerpc/gen5200" % ctx.srcnode.abspath() + ] + ) + + +def gen83xx_shared(ctx): + + libcpu_cpu_ident(ctx) + libcpu_cache(ctx) + libcpu_rtems_cpu(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_mpc6xx_mmu(ctx) + libcpu_mpc6xx_timer(ctx) + libcpu_mpc83xx_i2c(ctx) + libcpu_mpc83xx_spi(ctx) + libcpu_mpc83xx_gtm(ctx) + libcpu_mpc83xx_tsec(ctx) + + source = [] + + ctx.bsp.start([ + "src/lib/libbsp/powerpc/shared/start/rtems_crti.S", + "src/lib/libbsp/powerpc/gen83xx/start/start.S" + ]) + + source_networking = [ + "src/lib/libbsp/powerpc/gen83xx/network/network.c" + ] + ctx.bsp.networking( + source_networking, + features="src_include src_include_bsp" + ) + + source += [ + "src/lib/libbsp/powerpc/gen83xx/console/console-config.c", + "src/lib/libbsp/powerpc/gen83xx/i2c/i2c_init.c", + "src/lib/libbsp/powerpc/gen83xx/irq/irq.c", + "src/lib/libbsp/powerpc/gen83xx/spi/spi_init.c", + "src/lib/libbsp/powerpc/gen83xx/startup/bspreset.c", + "src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c", + "src/lib/libbsp/powerpc/gen83xx/startup/cpuinit.c", + "src/lib/libbsp/powerpc/shared/clock/clock.c", + "src/lib/libbsp/powerpc/shared/src/tictac.c", + "src/lib/libbsp/powerpc/shared/start/rtems_crti.S", + "src/lib/libbsp/powerpc/shared/startup/bspidle.c", + "src/lib/libbsp/powerpc/shared/uboot_getenv.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/bsp-uboot-board-info.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/irq-default-handler.c" + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + + +def haleakala(ctx): + + libcpu_rtems_cpu(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_irq_bspsupport(ctx) + libcpu_cache(ctx) + libcpu_cpu_ident(ctx) + libcpu_ppc403_clock(ctx) + libcpu_ppc403_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/shared/start/rtems_crti.S"]) + + source += [ + "src/lib/libbsp/powerpc/haleakala/dlentry/dlentry.S", + "src/lib/libbsp/powerpc/haleakala/irq/irq.c", + "src/lib/libbsp/powerpc/haleakala/irq/irq_init.c", + "src/lib/libbsp/powerpc/haleakala/startup/bspstart.c", + "src/lib/libbsp/powerpc/shared/console/console.c", + "src/lib/libbsp/powerpc/shared/console/uart.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspreset_fatal.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + ] + ctx.bsp.source( + source, + features="src_include" + ) + + + +def mbx8xx_shared(ctx): + + libcpu_cpu_ident(ctx) + libcpu_cache(ctx) + libcpu_rtems_cpu(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_mpc8xx_clock(ctx) + libcpu_mpc8xx_console(ctx) + libcpu_mpc8xx_cpm(ctx) + libcpu_mpc8xx_mmu(ctx) + libcpu_mpc8xx_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/mbx8xx/startup/start.S"]) + + source_networking = [ + "src/lib/libbsp/powerpc/mbx8xx/network/network.c", + ] + ctx.bsp.networking( + source_networking, + features="src_include", + defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + ) + + source += [ + "src/lib/libbsp/powerpc/mbx8xx/clock/p_clock.c", + "src/lib/libbsp/powerpc/mbx8xx/console/console.c", + "src/lib/libbsp/powerpc/mbx8xx/ide/idecfg.c", + "src/lib/libbsp/powerpc/mbx8xx/ide/pcmcia_ide.c", + "src/lib/libbsp/powerpc/mbx8xx/irq/irq.c", + "src/lib/libbsp/powerpc/mbx8xx/startup/bspstart.c", + "src/lib/libbsp/powerpc/mbx8xx/startup/imbx8xx.c", + "src/lib/libbsp/powerpc/mbx8xx/startup/mmutlbtab.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/irq-default-handler.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def motorola_powerpc_shared(ctx): + libcpu_cache(ctx) + libcpu_cpu_ident(ctx) + libcpu_stack(ctx) + libcpu_rtems_cpu(ctx) + libcpu_mpc6xx_clock(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_irq_bspsupport(ctx) + libcpu_mpc6xx_mmu(ctx) + libcpu_mpc6xx_timer(ctx) + libcpu_mpc6xx_altivec(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/shared/start/rtems_crti.S", "src/lib/libbsp/powerpc/shared/start/start.S", "src/lib/libbsp/powerpc/shared/start/vectors_entry.S"]) + + source_networking = [ + "src/lib/libbsp/i386/pc386/ne2000/ne2000.c", + ] + ctx.bsp.networking( + source_networking, + features="src_include", + defines=["bsp_cmdline_arg=rtems_bsp_cmdline_get_param_raw", "__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + ) + + source += [ + "src/lib/libbsp/powerpc/shared/clock/p_clock.c", + "src/lib/libbsp/powerpc/shared/console/bspreset.c", + "src/lib/libbsp/powerpc/shared/console/console.c", + "src/lib/libbsp/powerpc/shared/console/inch.c", + "src/lib/libbsp/powerpc/shared/console/polled_io.c", + "src/lib/libbsp/powerpc/shared/console/uart.c", + "src/lib/libbsp/powerpc/shared/irq/i8259.c", + "src/lib/libbsp/powerpc/shared/irq/irq_init.c", + "src/lib/libbsp/powerpc/shared/irq/openpic_i8259_irq.c", + "src/lib/libbsp/powerpc/shared/motorola/motorola.c", + "src/lib/libbsp/powerpc/shared/openpic/openpic.c", + "src/lib/libbsp/powerpc/shared/pci/detect_raven_bridge.c", + "src/lib/libbsp/powerpc/shared/pci/generic_clear_hberrs.c", + "src/lib/libbsp/powerpc/shared/pci/pci.c", + "src/lib/libbsp/powerpc/shared/pci/pcifinddevice.c", + "src/lib/libbsp/powerpc/shared/residual/residual.c", + "src/lib/libbsp/powerpc/shared/showbats.c", + "src/lib/libbsp/powerpc/shared/start/rtems_crti.S", + "src/lib/libbsp/powerpc/shared/start/vectors_entry.S", + "src/lib/libbsp/powerpc/shared/startup/bspgetworkarea.c", + "src/lib/libbsp/powerpc/shared/startup/bspstart.c", + "src/lib/libbsp/powerpc/shared/startup/pgtbl_activate.c", + "src/lib/libbsp/powerpc/shared/startup/pgtbl_setup.c", + "src/lib/libbsp/powerpc/shared/startup/ppc_idle.c", + "src/lib/libbsp/powerpc/shared/startup/pretaskinghook.c", + "src/lib/libbsp/powerpc/shared/startup/sbrk.c", + "src/lib/libbsp/powerpc/shared/startup/zerobss.c", + "src/lib/libbsp/powerpc/shared/tod/todcfg.c", + "src/lib/libbsp/powerpc/shared/vme/vme_universe.c", + "src/lib/libbsp/powerpc/shared/vme/vmeconfig.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/tod.c", + "src/lib/libbsp/shared/vmeUniverse/bspVmeDmaList.c", + ] + + ctx.bsp.source( + source, + defines=["STATIC_LOG_ALLOC=1"], + features="src_include" + ) + + source = [ + "src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c", + ] + ctx.bsp.source( + source, + features="src_include", + includes=["%s/include/bsp/" % ctx.srcnode.abspath()] + ) + + +def mpc55xxevb_shared(ctx): + source = [] + libcpu_exc_bspsupport(ctx) + libcpu_cache(ctx) + libcpu_cpu_ident(ctx) + libcpu_stack(ctx) + libcpu_rtems_cpu(ctx) + libcpu_irq_bspsupport(ctx) +# libcpu_mpc5xx_timer(ctx) +# libcpu_mpc5xx_irq(ctx) + + + ctx.bsp.start(["src/lib/libbsp/powerpc/shared/start/rtems_crti.S", "src/lib/libbsp/powerpc/mpc55xxevb/startup/start.S"]) + + source_networking = [ + "src/lib/libbsp/powerpc/mpc55xxevb/network/smsc9218i.c", + "src/lib/libbsp/powerpc/mpc55xxevb/network/if_smc.c" + ] + ctx.bsp.networking( + source_networking, + features="src_include" + ) + + + source += [ + "src/lib/libcpu/powerpc/mpc83xx/i2c/mpc83xx_i2cdrv.c", + "src/lib/libbsp/powerpc/mpc55xxevb/clock/clock-config.c", + "src/lib/libbsp/powerpc/mpc55xxevb/console/console-config.c", + "src/lib/libbsp/powerpc/mpc55xxevb/console/console-esci.c", + "src/lib/libbsp/powerpc/mpc55xxevb/console/console-generic.c", + "src/lib/libbsp/powerpc/mpc55xxevb/console/console-linflex.c", + "src/lib/libbsp/powerpc/mpc55xxevb/i2c/i2c_init.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/bspworkareainit.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/exc-vector-base.S", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/get-system-clock.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/idle-thread.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/reset.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/restart.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/sd-card-init.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start-cache.S", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start-clock.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-clock.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs-cal.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu-early.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-siu-pcr.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start-flash.S", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start-prologue.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start-watchdog.c", + "src/lib/libbsp/powerpc/mpc55xxevb/startup/start.S", + "src/lib/libbsp/powerpc/shared/src/bsp-start-zero.S", + "src/lib/libbsp/powerpc/shared/src/memcpy.c", + "src/lib/libbsp/powerpc/shared/src/ppc-exc-handler-table.c", + "src/lib/libbsp/powerpc/shared/src/tictac.c", + "src/lib/libbsp/powerpc/shared/start/rtems_crti.S", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/src/irq-default-handler.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/stackalloc.c", + "src/lib/libcpu/powerpc/mpc55xx/irq/irq.c", +# beer + "src/lib/libcpu/powerpc/mpc55xx/edma/edma.c", + "src/lib/libcpu/powerpc/mpc55xx/emios/emios.c", + "src/lib/libcpu/powerpc/mpc6xx/timer/timer.c", + "src/lib/libcpu/powerpc/mpc55xx/fec/fec.c", + "src/lib/libcpu/powerpc/mpc55xx/siu/siu.c", + "src/lib/libcpu/powerpc/mpc55xx/dspi/dspi.c", + "src/lib/libcpu/powerpc/mpc55xx/misc/copy.S", + "src/lib/libcpu/powerpc/mpc55xx/misc/flash_support.c", + ] + + + ctx.bsp.source( + source, + features="src_include" + ) + + +def mpc8260ads(ctx): + + libcpu_cpu_ident(ctx) + libcpu_cache(ctx) + libcpu_rtems_cpu(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_mpc8260_console(ctx) + libcpu_mpc8260_cpm(ctx) + libcpu_mpc8260_mmu(ctx) + libcpu_mpc8260_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/mpc8260ads/start/start.S"]) + + source_networking = [ + "src/lib/libbsp/powerpc/mpc8260ads/network/if_hdlcsubr.c", + "src/lib/libbsp/powerpc/mpc8260ads/network/network.c", + ] + ctx.bsp.networking( + source_networking, + features="src_include", + defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__", "__BSD_VISIBLE"] + ) + + + source += [ + "src/lib/libbsp/powerpc/mpc8260ads/console/console.c", + "src/lib/libbsp/powerpc/mpc8260ads/irq/irq.c", + "src/lib/libbsp/powerpc/mpc8260ads/startup/bspstart.c", + "src/lib/libbsp/powerpc/mpc8260ads/startup/cpuinit.c", + "src/lib/libbsp/powerpc/shared/clock/clock.c", + "src/lib/libbsp/powerpc/shared/startup/bspidle.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/src/irq-default-handler.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def mvme3100(ctx): + + libcpu_cpu_ident(ctx) + libcpu_cache(ctx) + libcpu_stack(ctx) + libcpu_e500_clock(ctx) + libcpu_e500_timer(ctx) + libcpu_e500_mmu(ctx) + libcpu_rtems_cpu(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_irq_bspsupport(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/shared/start/preload.S", "src/lib/libbsp/powerpc/shared/start/vectors_entry.S", "src/lib/libbsp/powerpc/mvme3100/start/start.S", "src/lib/libbsp/powerpc/shared/start/rtems_crti.S"]) + + source_networking = [ + "src/lib/libbsp/powerpc/mvme3100/network/tsec.c", + ] + ctx.bsp.networking( + source_networking, + features="src_include src_include_bsp" + ) + + source += [ + "src/lib/libbsp/powerpc/mvme3100/flash/flashcfg.c", + "src/lib/libbsp/powerpc/mvme3100/i2c/i2c_init.c", + "src/lib/libbsp/powerpc/mvme3100/irq/irq_init.c", + "src/lib/libbsp/powerpc/mvme3100/pci/detect_host_bridge.c", + "src/lib/libbsp/powerpc/mvme3100/startup/bspstart.c", + "src/lib/libbsp/powerpc/mvme3100/startup/misc.c", + "src/lib/libbsp/powerpc/mvme3100/tod/todcfg.c", + "src/lib/libbsp/powerpc/shared/clock/p_clock.c", + "src/lib/libbsp/powerpc/shared/console/console.c", + "src/lib/libbsp/powerpc/shared/console/uart.c", + "src/lib/libbsp/powerpc/shared/flash/flash.c", + "src/lib/libbsp/powerpc/shared/flash/spansionFlash.c", + "src/lib/libbsp/powerpc/shared/irq/openpic_i8259_irq.c", + "src/lib/libbsp/powerpc/shared/openpic/openpic.c", + "src/lib/libbsp/powerpc/shared/pci/generic_clear_hberrs.c", + "src/lib/libbsp/powerpc/shared/pci/pci.c", + "src/lib/libbsp/powerpc/shared/pci/pcifinddevice.c", + "src/lib/libbsp/powerpc/shared/startup/bspgetworkarea.c", + "src/lib/libbsp/powerpc/shared/startup/pretaskinghook.c", + "src/lib/libbsp/powerpc/shared/startup/sbrk.c", + "src/lib/libbsp/powerpc/shared/startup/zerobss.c", + "src/lib/libbsp/powerpc/shared/vme/vme_universe.c", + "src/lib/libbsp/powerpc/shared/vme/vmeconfig.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/tod.c", + "src/lib/libbsp/shared/vmeUniverse/bspVmeDmaList.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + source = [ + "src/lib/libbsp/powerpc/mvme3100/i2c/mpc8540_i2c.c", + "src/lib/libbsp/powerpc/shared/motorola/vpd.c", + "src/lib/libbsp/shared/vmeUniverse/vmeTsi148.c", + ] + ctx.bsp.source( + source, + features="src_include", + includes=["%s/include/bsp/" % ctx.srcnode.abspath()] + ) + + +def mvme5500(ctx): + + libcpu_cpu_ident(ctx) + libcpu_stack(ctx) + libcpu_cache(ctx) + libcpu_rtems_cpu(ctx) + libcpu_mpc6xx_clock(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_irq_bspsupport(ctx) + libcpu_mpc6xx_mmu(ctx) + libcpu_mpc6xx_timer(ctx) + libcpu_mpc6xx_altivec(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/shared/start/rtems_crti.S", "src/lib/libbsp/powerpc/shared/start/preload.S", "src/lib/libbsp/powerpc/shared/start/start.S"]) + + source_networking = [ + "src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c", + "src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c", + "src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/pci_map.c", + ] + ctx.bsp.networking( + source_networking, + features="src_include src_include_bsp src_include_networking", + defines=["_KERNEL", "__BSD_VISIBLE"] + ) + + source += [ + "src/lib/libbsp/powerpc/mvme5500/GT64260/GT64260TWSI.c", + "src/lib/libbsp/powerpc/mvme5500/GT64260/MVME5500I2C.c", + "src/lib/libbsp/powerpc/mvme5500/irq/BSP_irq.c", + "src/lib/libbsp/powerpc/mvme5500/irq/irq_init.c", + "src/lib/libbsp/powerpc/mvme5500/pci/detect_host_bridge.c", + "src/lib/libbsp/powerpc/mvme5500/pci/pci.c", + "src/lib/libbsp/powerpc/mvme5500/pci/pci_interface.c", + "src/lib/libbsp/powerpc/mvme5500/pci/pcifinddevice.c", + "src/lib/libbsp/powerpc/mvme5500/startup/bspclean.c", + "src/lib/libbsp/powerpc/mvme5500/startup/bspreset.c", + "src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c", + "src/lib/libbsp/powerpc/mvme5500/startup/pgtbl_activate.c", + "src/lib/libbsp/powerpc/mvme5500/tod/todcfg.c", + "src/lib/libbsp/powerpc/mvme5500/vectors/exceptionhandler.c", + "src/lib/libbsp/powerpc/shared/clock/p_clock.c", + "src/lib/libbsp/powerpc/shared/console/console.c", + "src/lib/libbsp/powerpc/shared/console/uart.c", + "src/lib/libbsp/powerpc/shared/start/preload.S", + "src/lib/libbsp/powerpc/shared/start/vectors_entry.S", + "src/lib/libbsp/powerpc/shared/startup/bspgetworkarea.c", + "src/lib/libbsp/powerpc/shared/startup/pgtbl_setup.c", + "src/lib/libbsp/powerpc/shared/startup/pretaskinghook.c", + "src/lib/libbsp/powerpc/shared/startup/probeMemEnd.c", + "src/lib/libbsp/powerpc/shared/startup/sbrk.c", + "src/lib/libbsp/powerpc/shared/startup/zerobss.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/tod.c", + "src/lib/libbsp/shared/vmeUniverse/bspVmeDmaList.c", + "src/lib/libbsp/powerpc/shared/vme/vme_universe.c", + "src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_print.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + source = [ + "src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c", + "src/lib/libbsp/powerpc/shared/vme/vmeconfig.c", + ] + ctx.bsp.source( + source, + features="src_include", + includes=["%s/include/bsp/" % ctx.srcnode.abspath()] + ) + + + +def psim(ctx): + + libcpu_cpu_ident(ctx) + libcpu_cache(ctx) + libcpu_stack(ctx) + libcpu_rtems_cpu(ctx) + libcpu_mpc6xx_clock(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_irq_bspsupport(ctx) + libcpu_mpc6xx_mmu(ctx) + libcpu_mpc6xx_timer(ctx) + libcpu_mpc6xx_altivec(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/shared/start/rtems_crti.S", "src/lib/libbsp/powerpc/psim/start/start.S"]) + + source_networking = [ + "src/lib/libbsp/powerpc/psim/network/if_sim.c", + ] + ctx.bsp.networking( + source_networking, + features="src_include" + ) + + source_mp = [ + "src/lib/libbsp/powerpc/psim/shmsupp/addrconv.c", + "src/lib/libbsp/powerpc/psim/shmsupp/getcfg.c", + "src/lib/libbsp/powerpc/psim/shmsupp/lock.c", + "src/lib/libbsp/powerpc/psim/shmsupp/mpisr.c", + ] + ctx.bsp.mp( + source_mp, + features="src_include" + ) + + source += [ + "src/lib/libbsp/powerpc/psim/console/console-io.c", + "src/lib/libbsp/powerpc/psim/console/consupp.S", + "src/lib/libbsp/powerpc/psim/irq/irq_init.c", + "src/lib/libbsp/powerpc/psim/network/if_sim.c", + "src/lib/libbsp/powerpc/psim/startup/bspstart.c", + "src/lib/libbsp/powerpc/psim/startup/psim_registers.c", + "src/lib/libbsp/powerpc/psim/vectors/align_h.S", + "src/lib/libbsp/powerpc/shared/clock/p_clock.c", + "src/lib/libbsp/powerpc/shared/irq/openpic_i8259_irq.c", + "src/lib/libbsp/powerpc/shared/openpic/openpic.c", + "src/lib/libbsp/powerpc/shared/start/rtems_crti.S", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/powerpc/shared/startup/sbrk.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def qemuppc(ctx): + + libcpu_cpu_ident(ctx) + libcpu_cache(ctx) + libcpu_stack(ctx) + libcpu_rtems_cpu(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_mpc6xx_mmu(ctx) + libcpu_mpc6xx_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/shared/start/rtems_crti.S", "src/lib/libbsp/powerpc/qemuppc/start/start.S"]) + + source += [ + "src/lib/libbsp/powerpc/qemuppc/console/console-io.c", + "src/lib/libbsp/powerpc/qemuppc/irq/irq_init.c", + "src/lib/libbsp/powerpc/qemuppc/startup/bsppanic.c", + "src/lib/libbsp/powerpc/qemuppc/startup/bspstart.c", + "src/lib/libbsp/powerpc/qemuppc/startup/cmain.c", + "src/lib/libbsp/powerpc/shared/clock/clock.c", + "src/lib/libbsp/powerpc/shared/start/rtems_crti.S", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/clock_driver_simidle.c", + "src/lib/libbsp/shared/clock_driver_simidle.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-default-handler.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def score603e(ctx): + + libcpu_cache(ctx) + libcpu_cpu_ident(ctx) + libcpu_stack(ctx) + libcpu_rtems_cpu(ctx) + libcpu_mpc6xx_clock(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_irq_bspsupport(ctx) + libcpu_mpc6xx_mmu(ctx) + libcpu_mpc6xx_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/score603e/start/start.S"]) + + source += [ + "src/lib/libbsp/powerpc/score603e/PCI_bus/PCI.c", + "src/lib/libbsp/powerpc/score603e/console/85c30.c", + "src/lib/libbsp/powerpc/score603e/console/console.c", + "src/lib/libbsp/powerpc/score603e/console/tbl85c30.c", + "src/lib/libbsp/powerpc/score603e/irq/FPGA.c", + "src/lib/libbsp/powerpc/score603e/irq/irq_init.c", + "src/lib/libbsp/powerpc/score603e/irq/no_pic.c", + "src/lib/libbsp/powerpc/score603e/startup/Hwr_init.c", + "src/lib/libbsp/powerpc/score603e/startup/bspstart.c", + "src/lib/libbsp/powerpc/shared/clock/p_clock.c", + "src/lib/libbsp/powerpc/shared/pci/pci.c", + "src/lib/libbsp/powerpc/shared/pci/pcifinddevice.c", + "src/lib/libbsp/powerpc/shared/showbats.c", + "src/lib/libbsp/powerpc/shared/startup/bspgetworkarea.c", + "src/lib/libbsp/powerpc/shared/startup/sbrk.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + source = [ + "src/lib/libbsp/powerpc/score603e/PCI_bus/flash.c", + "src/lib/libbsp/powerpc/score603e/PCI_bus/universe.c", + ] + ctx.bsp.source( + source, + features="src_include", + includes=["%s/include/bsp/" % ctx.srcnode.abspath()] + ) + + + +def ss555(ctx): + + libcpu_cpu_ident(ctx) + libcpu_rtems_cpu(ctx) + libcpu_mpc5xx_clock(ctx) + libcpu_mpc5xx_console(ctx) + libcpu_mpc5xx_exceptions(ctx) + libcpu_mpc5xx_irq(ctx) + libcpu_mpc5xx_timer(ctx) + libcpu_mpc5xx_vectors(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/ss555/startup/start.S"]) + + source += [ + "src/lib/libbsp/powerpc/ss555/clock/p_clock.c", + "src/lib/libbsp/powerpc/ss555/console/console.c", + "src/lib/libbsp/powerpc/ss555/startup/bspstart.c", + "src/lib/libbsp/powerpc/ss555/startup/iss555.c", + "src/lib/libbsp/powerpc/ss555/startup/tm27supp.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + +def t32mppc(ctx): + source = [] + libcpu_exc_bspsupport(ctx) + libcpu_cache(ctx) + libcpu_cpu_ident(ctx) + libcpu_stack(ctx) + libcpu_rtems_cpu(ctx) + libcpu_irq_bspsupport(ctx) + + ctx.bsp.start(["src/lib/libbsp/powerpc/t32mppc/start/start.S", "src/lib/libbsp/powerpc/shared/start/rtems_crti.S"]) + + source += [ + "src/lib/libbsp/powerpc/shared/clock/clock.c", + "src/lib/libbsp/powerpc/shared/src/bsp-start-zero.S", + "src/lib/libbsp/powerpc/shared/src/tictac.c", + "src/lib/libbsp/powerpc/shared/start/rtems_crti.S", + "src/lib/libbsp/powerpc/t32mppc/irq/irq.c", + "src/lib/libbsp/powerpc/t32mppc/startup/bspreset.c", + "src/lib/libbsp/powerpc/t32mppc/startup/bspstart.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-default-handler.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/timerstub.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + source = [ + "src/lib/libbsp/powerpc/t32mppc/console/console-config.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + ] + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + +def tqm8xx_shared(ctx): + + libcpu_cpu_ident(ctx) + libcpu_cache(ctx) + libcpu_rtems_cpu(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_mpc8xx_console(ctx) + libcpu_mpc8xx_cpm(ctx) + libcpu_mpc8xx_mmu(ctx) + libcpu_mpc8xx_timer(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/shared/start/rtems_crti.S", "src/lib/libbsp/powerpc/tqm8xx/startup/start.S"]) + + source_networking = [ + "src/lib/libbsp/powerpc/tqm8xx/network/network_fec.c", + "src/lib/libbsp/powerpc/tqm8xx/network/network_scc.c", + ] + ctx.bsp.networking( + source_networking, + features="src_include", + defines=["bsp_cmdline_arg=rtems_bsp_cmdline_get_param_raw", "__INSIDE_RTEMS_BSD_TCPIP_STACK__"] + ) + + source += [ + "src/lib/libbsp/powerpc/shared/clock/clock.c", + "src/lib/libbsp/powerpc/shared/start/rtems_crti.S", + "src/lib/libbsp/powerpc/shared/startup/bspidle.c", + "src/lib/libbsp/powerpc/tqm8xx/console/console.c", + "src/lib/libbsp/powerpc/tqm8xx/irq/irq.c", + "src/lib/libbsp/powerpc/tqm8xx/spi/spi.c", + "src/lib/libbsp/powerpc/tqm8xx/startup/bspgetworkarea.c", + "src/lib/libbsp/powerpc/tqm8xx/startup/bspstart.c", + "src/lib/libbsp/powerpc/tqm8xx/startup/cpuinit.c", + "src/lib/libbsp/powerpc/tqm8xx/startup/mmutlbtab.c", + "src/lib/libbsp/powerpc/tqm8xx/timer/timer.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-default-handler.c", + "src/lib/libbsp/powerpc/tqm8xx/clock/p_clock.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + +def qoriq_shared(ctx): + source = [] + + libcpu_exc_bspsupport(ctx) + libcpu_cache(ctx) + libcpu_cpu_ident(ctx) + libcpu_stack(ctx) + libcpu_rtems_cpu(ctx) + libcpu_irq_bspsupport(ctx) + + ctx.bsp.start(["src/lib/libbsp/powerpc/qoriq/start/start.S", "src/lib/libbsp/powerpc/shared/start/rtems_crti.S"]) + + source += [ + "src/lib/libbsp/powerpc/qoriq/clock/clock-config.c", + "src/lib/libbsp/powerpc/qoriq/console/uart-bridge-master.c", + "src/lib/libbsp/powerpc/qoriq/console/uart-bridge-slave.c", + "src/lib/libbsp/powerpc/qoriq/irq/irq.c", + "src/lib/libbsp/powerpc/qoriq/network/if_intercom.c", + "src/lib/libbsp/powerpc/qoriq/network/network.c", + "src/lib/libbsp/powerpc/qoriq/rtc/rtc-config.c", + "src/lib/libbsp/powerpc/qoriq/shmsupp/intercom-mpci.c", + "src/lib/libbsp/powerpc/qoriq/shmsupp/intercom.c", + "src/lib/libbsp/powerpc/qoriq/shmsupp/lock.S", + "src/lib/libbsp/powerpc/qoriq/startup/bsppredriverhook.c", + "src/lib/libbsp/powerpc/qoriq/startup/bspreset.c", + "src/lib/libbsp/powerpc/qoriq/startup/bspstart.c", + "src/lib/libbsp/powerpc/qoriq/startup/mmu-config.c", + "src/lib/libbsp/powerpc/qoriq/startup/mmu-tlb1.S", + "src/lib/libbsp/powerpc/qoriq/startup/mmu.c", + "src/lib/libbsp/powerpc/qoriq/timer/timer.c", + "src/lib/libbsp/powerpc/shared/src/bsp-start-zero.S", + "src/lib/libbsp/powerpc/shared/src/ppc-exc-handler-table.c", + "src/lib/libbsp/powerpc/shared/src/tictac.c", + "src/lib/libbsp/powerpc/shared/start/rtems_crti.S", + "src/lib/libbsp/powerpc/shared/startup/bspidle.c", + "src/lib/libbsp/powerpc/shared/uboot_dump_bdinfo.c", + "src/lib/libbsp/powerpc/shared/uboot_getenv.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/src/bsp-uboot-board-info.c", + "src/lib/libbsp/shared/src/irq-default-handler.c", + "src/lib/libbsp/shared/src/irq-generic.c", + "src/lib/libbsp/shared/src/irq-info.c", + "src/lib/libbsp/shared/src/irq-legacy.c", + "src/lib/libbsp/shared/src/irq-server.c", + "src/lib/libbsp/shared/src/irq-shell.c", + "src/lib/libbsp/shared/tod.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + source = [ + "src/lib/libbsp/powerpc/qoriq/console/console-config.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + ] + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + +# source = [ +# "src/lib/libcpu/shared/src/cache_manager.c" +# ] +# ctx.bsp.source( +# source, +# features="src_include src_include_libcpu" +# ) + + + + +def virtex(ctx): + libcpu_rtems_cpu(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_cache(ctx) + libcpu_cpu_ident(ctx) + libcpu_ppc403_clock(ctx) + libcpu_ppc403_timer(ctx) + libcpu_ppc403_tty_drv(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/shared/start/rtems_crti.S"]) + + source_networking = [ + "src/lib/libbsp/powerpc/virtex/network/xiltemac.c", + ] + ctx.bsp.networking( + source_networking, + features="src_include", + defines=["__INSIDE_RTEMS_BSD_TCPIP_STACK__", "__BSD_VISIBLE"] + ) + + source += [ + "src/lib/libbsp/powerpc/shared/start/rtems_crti.S", + "src/lib/libbsp/powerpc/virtex/console/consolelite.c", + "src/lib/libbsp/powerpc/virtex/dlentry/dlentry.S", + "src/lib/libbsp/powerpc/virtex/irq/irq_init.c", + "src/lib/libbsp/powerpc/virtex/opbintctrl/opbintctrl.c", + "src/lib/libbsp/powerpc/virtex/startup/bspstart.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspreset_fatal.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + ] + + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + +def virtex4(ctx): + libcpu_rtems_cpu(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_cache(ctx) + libcpu_cpu_ident(ctx) + libcpu_ppc403_clock(ctx) + libcpu_ppc403_timer(ctx) + libcpu_ppc403_tty_drv(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/powerpc/shared/start/rtems_crti.S"]) + + source = [ +"src/lib/libbsp/powerpc/shared/src/memcpy.c", +"src/lib/libbsp/powerpc/shared/start/rtems_crti.S", +"src/lib/libbsp/powerpc/shared/startup/zerobss.c", +"src/lib/libbsp/powerpc/virtex4/irq/irq_init.c", +"src/lib/libbsp/powerpc/virtex4/mmu/mmu.c", +"src/lib/libbsp/powerpc/virtex4/startup/bspclean.c", +"src/lib/libbsp/powerpc/virtex4/startup/bspstart.c", +"src/lib/libbsp/powerpc/virtex4/startup/dummy_console.c", +"src/lib/libbsp/powerpc/virtex4/startup/start.S", +"src/lib/libbsp/shared/bootcard.c", +"src/lib/libbsp/shared/bspgetworkarea.c", +"src/lib/libbsp/shared/bsplibc.c", +"src/lib/libbsp/shared/bsppost.c", +"src/lib/libbsp/shared/dummy_printk_support.c", +"src/lib/libbsp/shared/gnatinstallhandler.c", +"src/lib/libbsp/shared/sbrk.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + +def virtex5(ctx): + libcpu_rtems_cpu(ctx) + libcpu_exc_bspsupport(ctx) + libcpu_cache(ctx) + libcpu_cpu_ident(ctx) + libcpu_ppc403_clock(ctx) + libcpu_ppc403_timer(ctx) +# libcpu_ppc403_tty_drv(ctx) + + ctx.bsp.start(["src/lib/libbsp/powerpc/shared/start/rtems_crti.S"]) + + source = [ +"src/lib/libbsp/powerpc/shared/clock/p_clock.c", +"src/lib/libbsp/powerpc/shared/src/memcpy.c", +"src/lib/libbsp/powerpc/shared/start/rtems_crti.S", +"src/lib/libbsp/powerpc/shared/startup/zerobss.c", +"src/lib/libbsp/powerpc/virtex5/irq/irq_init.c", +"src/lib/libbsp/powerpc/virtex5/mmu/mmu.c", +"src/lib/libbsp/powerpc/virtex5/startup/bspclean.c", +"src/lib/libbsp/powerpc/virtex5/startup/bspstart.c", +"src/lib/libbsp/powerpc/virtex5/startup/dummy_console.c", +"src/lib/libbsp/powerpc/virtex5/startup/start.S", +"src/lib/libbsp/shared/bootcard.c", +"src/lib/libbsp/shared/bspgetworkarea.c", +"src/lib/libbsp/shared/bsplibc.c", +"src/lib/libbsp/shared/bsppost.c", +"src/lib/libbsp/shared/dummy_printk_support.c", +"src/lib/libbsp/shared/gnatinstallhandler.c", +"src/lib/libbsp/shared/sbrk.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + +def build(ctx): + source = [] + + + source += [ + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + ] + + + ctx.bsp.source( + source, + features="src_include" + ) + + + map = { + "beatnik": beatnik, + "ep1a": ep1a, + "br_uid": gen83xx_shared, + "brs5l": gen5200_shared, + "brs6l": gen5200_shared, + "dp2": gen5200_shared, + "icecube": gen5200_shared, + "pm520_cr825": gen5200_shared, + "pm520_ze30": gen5200_shared, + "hsc_cm01": gen83xx_shared, + "mpc8309som": gen83xx_shared, + "mpc8313erdb": gen83xx_shared, + "mpc8349eamds": gen83xx_shared, + "haleakala": haleakala, + "mbx821_001": mbx8xx_shared, + "mbx821_002": mbx8xx_shared, + "mbx821_002b": mbx8xx_shared, + "mbx860_001b": mbx8xx_shared, + "mbx860_002": mbx8xx_shared, + "mbx860_005b": mbx8xx_shared, + "mbx860_1b": mbx8xx_shared, + "mcp750": motorola_powerpc_shared, + "mtx603e": motorola_powerpc_shared, + "mvme2100": motorola_powerpc_shared, + "mvme2307": motorola_powerpc_shared, + "qemuprep": motorola_powerpc_shared, + "qemuprep-altivec": motorola_powerpc_shared, + "gwlcfm": mpc55xxevb_shared, + "mpc5566evb": mpc55xxevb_shared, + "mpc5566evb_spe": mpc55xxevb_shared, + "mpc5643l_dpu": mpc55xxevb_shared, + "mpc5643l_evb": mpc55xxevb_shared, + "mpc5674f_ecu508_app": mpc55xxevb_shared, + "mpc5674f_ecu508_boot": mpc55xxevb_shared, + "mpc5674f_rsm6": mpc55xxevb_shared, + "mpc5674fevb": mpc55xxevb_shared, + "mpc5674fevb_spe": mpc55xxevb_shared, + "phycore_mpc5554": mpc55xxevb_shared, + "mpc8260ads": mpc8260ads, + "mvme3100": mvme3100, + "mvme5500": mvme5500, + "psim": psim, + "qemuppc": qemuppc, + "score603e": score603e, + "ss555": ss555, + "t32mppc": t32mppc, + "pghplus": tqm8xx_shared, + "qoriq_core_0": qoriq_shared, + "qoriq_core_1": qoriq_shared, + "qoriq_p1020rdb": qoriq_shared, + "tqm8xx_stk8xx": tqm8xx_shared, + "virtex": virtex, + "virtex4": virtex4, + "virtex5": virtex5, + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_powerpc(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_sh b/c/wscript_sh new file mode 100644 index 0000000000..f60dd82998 --- /dev/null +++ b/c/wscript_sh @@ -0,0 +1,284 @@ +# +# SH libcpu support. See the PowerPC BSP file for details. +# + +def libcpu_sh7032_clock(ctx): + source = [ + "src/lib/libcpu/sh/sh7032/clock/ckinit.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_sh7032_delay(ctx): + source = [ + "src/lib/libcpu/sh/sh7032/delay/delay.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_sh7032_sci(ctx): + source = [ + "src/lib/libcpu/sh/sh7032/sci/sci.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_sh7032_score(ctx): + source = [ + "src/lib/libcpu/sh/sh7032/score/cpu_asm.c", + "src/lib/libcpu/sh/sh7032/score/ispsh7032.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_sh7032_timer(ctx): + source = [ + "src/lib/libcpu/sh/sh7032/timer/timer.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_sh7045_clock(ctx): + source = [ + "src/lib/libcpu/sh/sh7045/clock/ckinit.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_sh7045_sci(ctx): + source = [ + "src/lib/libcpu/sh/sh7045/sci/sci.c", + "src/lib/libcpu/sh/sh7045/sci/sci_termios.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_sh7045_score(ctx): + source = [ + "src/lib/libcpu/sh/sh7045/score/cpu_asm.c", + "src/lib/libcpu/sh/sh7045/score/ispsh7045.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_sh7045_timer(ctx): + source = [ + "src/lib/libcpu/sh/sh7045/timer/timer.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_sh7750_clock(ctx): + source = [ + "src/lib/libcpu/sh/sh7750/clock/ckinit.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_sh7750_sci(ctx): + source = [ + "src/lib/libcpu/sh/sh7750/sci/sh4uart.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_sh7750_score(ctx): + source = [ + "src/lib/libcpu/sh/sh7750/score/cpu_asm.c", + "src/lib/libcpu/sh/sh7750/score/ispsh7750.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + +def libcpu_sh7750_timer(ctx): + source = [ + "src/lib/libcpu/sh/sh7750/timer/timer.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + +def libcpu_shgdb_score(ctx): + source = [ + "src/lib/libcpu/sh/shgdb/score/cpu_asm.c", + "src/lib/libcpu/sh/shgdb/score/ispshgdb.c" + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + +def gensh1(ctx): + + libcpu_sh7032_clock(ctx) + libcpu_sh7032_timer(ctx) + libcpu_sh7032_sci(ctx) + libcpu_sh7032_delay(ctx) + libcpu_sh7032_score(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/sh/gensh1/start/start.S"]) + + source += [ +# "src/lib/libbsp/sh/gensh1/scitab.c", + "src/lib/libbsp/sh/shared/console.c", + "src/lib/libbsp/shared/bspreset_fatal.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def gensh2(ctx): + + libcpu_sh7045_clock(ctx) + libcpu_sh7045_timer(ctx) + libcpu_sh7045_sci(ctx) + libcpu_sh7045_score(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/sh/gensh2/start/start.S"]) + + source += [ + "src/lib/libbsp/sh/gensh2/console/config.c", +# "src/lib/libbsp/sh/gensh2/scitab.c", + "src/lib/libbsp/sh/gensh2/startup/hw_init.c", + "src/lib/libbsp/sh/shared/console.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def gensh4(ctx): + + libcpu_sh7750_clock(ctx) + libcpu_sh7750_timer(ctx) + libcpu_sh7750_sci(ctx) + libcpu_sh7750_score(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/sh/gensh4/start/start.S"]) + + source += [ + "src/lib/libbsp/sh/gensh4/console/console.c", + "src/lib/libbsp/sh/gensh4/hw_init/hw_init.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def shsim_shared(ctx): + + libcpu_shgdb_score(ctx) + + source = [] + + ctx.bsp.start(["src/lib/libbsp/sh/shsim/start/start.S"]) + + source += [ + "src/lib/libbsp/sh/shsim/trap34/console-io.c", + "src/lib/libbsp/sh/shsim/trap34/console-support.S", + "src/lib/libbsp/shared/clock_driver_simidle.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/shared/timerstub.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + + +def build(ctx): + source = [] + + source += [ + "src/lib/libbsp/sh/shared/bsphwinit.c", + "src/lib/libbsp/sh/shared/bspstart.c", + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/dummy_printk_support.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + map = { + "gensh1": gensh1, + "gensh2": gensh2, + "gensh4": gensh4, + "simsh1": shsim_shared, + "simsh2": shsim_shared, + "simsh2e": shsim_shared, + "simsh4": shsim_shared + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_sh(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_sparc b/c/wscript_sparc new file mode 100644 index 0000000000..f3999cd668 --- /dev/null +++ b/c/wscript_sparc @@ -0,0 +1,234 @@ +def erc32_shared(ctx): + source = [] + + source_networking = [ + "src/lib/libbsp/sparc/erc32/erc32sonic/erc32sonic.c" + ] + ctx.bsp.networking( + source_networking, + features="src_include" + ) + + source_smp = [ + "src/lib/libbsp/shared/smp/getcpuid.c", + "src/lib/libbsp/shared/smp/smp_stub.c", + "src/lib/libbsp/shared/smp/bspsmp_wait_for.c" + ] + ctx.bsp.smp( + source_smp, + features="src_include" + ) + + source += [ + "src/lib/libbsp/sparc/erc32/clock/ckinit.c", + "src/lib/libbsp/sparc/erc32/console/debugputs.c", + "src/lib/libbsp/sparc/erc32/console/erc32_console.c", + "src/lib/libbsp/sparc/erc32/gnatsupp/gnatsupp.c", + "src/lib/libbsp/sparc/erc32/startup/boardinit.S", + "src/lib/libbsp/sparc/erc32/startup/bspdelay.c", + "src/lib/libbsp/sparc/erc32/startup/bspidle.c", + "src/lib/libbsp/sparc/erc32/startup/erc32mec.c", + "src/lib/libbsp/sparc/erc32/startup/setvec.c", + "src/lib/libbsp/sparc/erc32/startup/spurious.c", + "src/lib/libbsp/sparc/erc32/timer/timer.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/sparc/shared/gnatcommon.c", + "src/lib/libbsp/sparc/shared/startup/bsp_fatal_halt.c", + "src/lib/libbsp/sparc/shared/cpu.c" + ] + ctx.bsp.source( + source, + features="src_include src_include_bsp" + ) + + +def leon2(ctx): + source = [] + + source_networking = [ + "src/lib/libbsp/sparc/leon2/leon_smc91111/leon_smc91111.c", + "src/lib/libbsp/sparc/leon2/leon_open_eth/leon_open_eth.c" + ] + ctx.bsp.networking( + source_networking, + features="src_include" + ) + + source_smp = [ + "src/lib/libbsp/shared/smp/bspsmp_wait_for.c", + "src/lib/libbsp/shared/smp/getcpuid.c", + "src/lib/libbsp/shared/smp/smp_stub.c" + ] + ctx.bsp.smp( + source_smp, + features="src_include" + ) + + + source += [ + "src/lib/libbsp/sparc/leon2/cchip/cchip.c", + "src/lib/libbsp/sparc/leon2/clock/ckinit.c", + "src/lib/libbsp/sparc/leon2/console/console.c", + "src/lib/libbsp/sparc/leon2/console/debugputs.c", + "src/lib/libbsp/sparc/leon2/gnatsupp/gnatsupp.c", + "src/lib/libbsp/sparc/leon2/pci/pci.c", + "src/lib/libbsp/sparc/leon2/rasta/rasta.c", + "src/lib/libbsp/sparc/leon2/startup/bspdelay.c", + "src/lib/libbsp/sparc/leon2/startup/bspidle.c", + "src/lib/libbsp/sparc/leon2/startup/bspstart.c", + "src/lib/libbsp/sparc/leon2/startup/setvec.c", + "src/lib/libbsp/sparc/leon2/startup/spurious.c", + "src/lib/libbsp/sparc/leon2/timer/timer.c", + "src/lib/libbsp/sparc/shared/1553/b1553brm.c", + "src/lib/libbsp/sparc/shared/1553/b1553brm_pci.c", + "src/lib/libbsp/sparc/shared/1553/b1553brm_rasta.c", + "src/lib/libbsp/sparc/shared/amba/ambapp.c", + "src/lib/libbsp/sparc/shared/can/grcan.c", + "src/lib/libbsp/sparc/shared/can/grcan_rasta.c", + "src/lib/libbsp/sparc/shared/can/occan.c", + "src/lib/libbsp/sparc/shared/can/occan_pci.c", + "src/lib/libbsp/sparc/shared/gnatcommon.c", + "src/lib/libbsp/sparc/shared/i2c/i2cmst.c", + "src/lib/libbsp/sparc/shared/pci/pcifinddevice.c", + "src/lib/libbsp/sparc/shared/spw/grspw.c", + "src/lib/libbsp/sparc/shared/spw/grspw_pci.c", + "src/lib/libbsp/sparc/shared/spw/grspw_rasta.c", + "src/lib/libbsp/sparc/shared/uart/apbuart.c", + "src/lib/libbsp/sparc/shared/uart/apbuart_pci.c", + "src/lib/libbsp/sparc/shared/uart/apbuart_rasta.c", + ] + ctx.bsp.source( + source, + # src_include_rtems is required for ringbuf.h + features="src_include src_include_rtems" + ) + + +def leon3(ctx): + source = [] + + source_smp = [ + "src/lib/libbsp/sparc/leon3/smp/getcpuid.c", + "src/lib/libbsp/sparc/leon3/smp/smp_leon3.c", + ] + ctx.bsp.smp( + source_smp, + features="src_include" + ) + + source_networking = [ + "src/lib/libbsp/sparc/leon3/leon_smc91111/leon_smc91111.c", + "src/lib/libbsp/sparc/leon3/leon_open_eth/leon_open_eth.c", + "src/lib/libbsp/sparc/leon3/leon_greth/leon_greth.c", + ] + ctx.bsp.networking( + source_networking, + features="src_include" + ) + + source_mp = [ + "src/lib/libbsp/sparc/leon3/shmsupp/addrconv.c", + "src/lib/libbsp/sparc/leon3/shmsupp/getcfg.c", + "src/lib/libbsp/sparc/leon3/shmsupp/lock.c", + "src/lib/libbsp/sparc/leon3/shmsupp/mpisr.c", + ] + ctx.bsp.mp( + source_mp, + features="src_include", + includes="%s/c/src/libchip/shmdr/" % ctx.srcnode.abspath() + ) + + source += [ + "src/lib/libbsp/sparc/leon3/amba/amba.c", + "src/lib/libbsp/sparc/shared/amba/ambapp_find_by_idx.c", + "src/lib/libbsp/sparc/leon3/console/printk_support.c", + "src/lib/libbsp/sparc/shared/amba/ambapp_freq.c", + "src/lib/libbsp/sparc/leon3/startup/eirq.c", + "src/lib/libbsp/sparc/shared/startup/early_malloc.c", + "src/lib/libbsp/sparc/leon3/clock/ckinit.c", + "src/lib/libbsp/sparc/leon3/console/console.c", + "src/lib/libbsp/sparc/leon3/gnatsupp/gnatsupp.c", + "src/lib/libbsp/sparc/leon3/pci/pci.c", + "src/lib/libbsp/sparc/leon3/startup/bspdelay.c", + "src/lib/libbsp/sparc/leon3/startup/bspidle.S", + "src/lib/libbsp/sparc/leon3/startup/bspstart.c", + "src/lib/libbsp/sparc/leon3/startup/setvec.c", + "src/lib/libbsp/sparc/leon3/startup/spurious.c", + "src/lib/libbsp/sparc/leon3/timer/timer.c", + "src/lib/libbsp/sparc/shared/1553/b1553brm.c", + "src/lib/libbsp/sparc/shared/1553/b1553brm_pci.c", + "src/lib/libbsp/sparc/shared/amba/ambapp.c", + "src/lib/libbsp/sparc/shared/can/grcan.c", + "src/lib/libbsp/sparc/shared/can/occan.c", + "src/lib/libbsp/sparc/shared/can/occan_pci.c", + "src/lib/libbsp/sparc/shared/gnatcommon.c", + "src/lib/libbsp/sparc/shared/i2c/i2cmst.c", + "src/lib/libbsp/sparc/shared/pci/pcifinddevice.c", + "src/lib/libbsp/sparc/shared/spw/grspw.c", + "src/lib/libbsp/sparc/shared/spw/grspw_pci.c", + "src/lib/libbsp/sparc/shared/uart/apbuart.c", + "src/lib/libbsp/sparc/shared/uart/apbuart_pci.c" + ] + ctx.bsp.source( + source, + features="src_include" + ) + + +def build(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/sparc/shared/start/start.S"]) + + #if has_instruction_cache + #cache_rel_CPPFLAGS += -DHAS_INSTRUCTION_CACHE + source_cache = [ +# "src/lib/libcpu/shared/src/cache_aligned_malloc.c", + "src/lib/libcpu/shared/src/cache_manager.c" + ] + + ctx.bsp.source( + source_cache, + features="src_include", + includes=["%s/c/src/lib/libcpu/sparc/cache" % ctx.srcnode.abspath()] + ) + + # Shared between all BSPs + # There are more shared between two bsps above. + source += [ + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", +# "src/lib/libbsp/shared/bspinit.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/sparc/shared/startup/bspgetworkarea.c", + "src/lib/libbsp/sparc/shared/bsppretaskinghook.c", + "src/lib/libbsp/sparc/shared/irq_asm.S", + "src/lib/libcpu/sparc/cache/cache.c", + "src/lib/libcpu/sparc/syscall/syscall.S", + "src/lib/libcpu/sparc/reg_win/window.S" + ] + ctx.bsp.source( + source, + features="src_include", + ) + + + map = { + "erc32": erc32_shared, # XXX: This requires something to be disabled in start.S that is needed for sis. + "sis": erc32_shared, + "leon2": leon2, + "leon3": leon3 + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_sparc(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_sparc64 b/c/wscript_sparc64 new file mode 100644 index 0000000000..acc51a504f --- /dev/null +++ b/c/wscript_sparc64 @@ -0,0 +1,93 @@ +def niagara(ctx): + source = [] + + + source += [ + "src/lib/libbsp/sparc64/niagara/start/bspinit.S" + ] + ctx.bsp.source( + source, + features="src_include", +# cflags=["-DNDS"], +# includes=["%s/c/src/lib/libbsp/arm/nds/libnds/include/" % ctx.srcnode.abspath()] + ) + + +def usiii(ctx): + source = [] + + source += [ + "src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/src/cache.S", + "src/lib/libbsp/sparc64/shared/helenos/kernel/sparc64/src/sun4u/takemmu.S", + "src/lib/libbsp/sparc64/shared/start/trap_table.S", + "src/lib/libbsp/sparc64/usiii/start/bspinit.S" + ] + + ctx.bsp.source( + source, + features="src_include", + ) + + +def build(ctx): + source = [] + + ctx.bsp.start(["src/lib/libbsp/sparc64/shared/start/start.S"]) + + source += [ +# FXIME: The cache_.h header is a local to the source + "src/lib/libcpu/shared/src/cache_aligned_malloc.c", + "src/lib/libcpu/shared/src/cache_manager.c", + "src/lib/libcpu/sparc64/shared/cache/cache.c", + "src/lib/libcpu/sparc64/shared/interrupts/installisrentries.c", + "src/lib/libcpu/sparc64/shared/score/cpu.c", + "src/lib/libcpu/sparc64/shared/score/interrupt.S", + "src/lib/libcpu/sparc64/shared/syscall/sparc64-syscall.S" + ] + + source += [ + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/console.c", + "src/lib/libbsp/shared/console_control.c", + "src/lib/libbsp/shared/console_read.c", + "src/lib/libbsp/shared/console_select.c", + "src/lib/libbsp/shared/console_write.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/timerstub.c", + "src/lib/libbsp/sparc64/shared/asm/asm.S", + "src/lib/libbsp/sparc64/shared/clock/ckinit.c", + "src/lib/libbsp/sparc64/shared/console/conscfg.c", + "src/lib/libbsp/sparc64/shared/helenos/boot/genarch/balloc.c", + "src/lib/libbsp/sparc64/shared/helenos/boot/genarch/ofw.c", + "src/lib/libbsp/sparc64/shared/helenos/boot/genarch/ofw_tree.c", + # "src/lib/libbsp/sparc64/shared/helenos/boot/generic/string.c", # use libc and not this + "src/lib/libbsp/sparc64/shared/helenos/boot/sparc64/loader/main.c", + "src/lib/libbsp/sparc64/shared/helenos/boot/sparc64/loader/ofwarch.c", + "src/lib/libbsp/sparc64/shared/helenos/boot/sparc64/loader/ofwasm.S", + "src/lib/libbsp/sparc64/shared/startup/bspstart.c", + "src/lib/libbsp/sparc64/shared/startup/setvec.c", + "src/lib/libbsp/shared/bspgetworkarea.c" + ] + + ctx.bsp.source( + source, + includes="%s/c/src/lib/libcpu/sparc64/shared/cache" % ctx.srcnode.abspath(), + features="src_include src_include_bsp" + ) + + + map = { + "niagara": niagara, + "usiii": usiii + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_sparc64(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) diff --git a/c/wscript_v850 b/c/wscript_v850 new file mode 100644 index 0000000000..c7922f8e7f --- /dev/null +++ b/c/wscript_v850 @@ -0,0 +1,57 @@ +# +# v850 +# + +def v850_shared(ctx): + ctx.bsp.start(["src/lib/libbsp/v850/gdbv850sim/start/start.S"]) + + source = [ + "src/lib/libbsp/v850/gdbv850sim/console/console-io.c", + "src/lib/libbsp/v850/gdbv850sim/startup/bspreset.c", + "src/lib/libbsp/v850/gdbv850sim/startup/trap.S", + "src/lib/libbsp/v850/shared/crt1.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + +def build(ctx): + source = [] + + source += [ + "src/lib/libbsp/shared/bootcard.c", + "src/lib/libbsp/shared/bspclean.c", + "src/lib/libbsp/shared/bspgetworkarea.c", + "src/lib/libbsp/shared/bsplibc.c", + "src/lib/libbsp/shared/bsppost.c", + "src/lib/libbsp/shared/bsppredriverhook.c", + "src/lib/libbsp/shared/bsppretaskinghook.c", + "src/lib/libbsp/shared/bspstart.c", + "src/lib/libbsp/shared/clock_driver_simidle.c", + "src/lib/libbsp/shared/console-polled.c", + "src/lib/libbsp/shared/gnatinstallhandler.c", + "src/lib/libbsp/shared/sbrk.c", + "src/lib/libbsp/shared/timerstub.c", + ] + + ctx.bsp.source( + source, + features="src_include" + ) + + map = { + "v850e1sim": v850_shared, + "v850e2sim": v850_shared, + "v850e2v3sim": v850_shared, + "v850esim": v850_shared, + "v850essim": v850_shared, + "v850sim": v850_shared, + } + + if not ctx.env.RTEMS_BSP in map: + ctx.fatal("wscript_v850(): Internal Error: Unknown BSP: %s" % ctx.env.RTEMS_BSP) + + map[ctx.env.RTEMS_BSP](ctx) |