summaryrefslogtreecommitdiff
path: root/py/waf/defaults/bsp
diff options
context:
space:
mode:
Diffstat (limited to 'py/waf/defaults/bsp')
-rw-r--r--py/waf/defaults/bsp/__init__.py17
-rw-r--r--py/waf/defaults/bsp/arm.py720
-rw-r--r--py/waf/defaults/bsp/avr.py15
-rw-r--r--py/waf/defaults/bsp/bfin.py48
-rw-r--r--py/waf/defaults/bsp/h8300.py27
-rw-r--r--py/waf/defaults/bsp/i386.py74
-rw-r--r--py/waf/defaults/bsp/lm32.py36
-rw-r--r--py/waf/defaults/bsp/m32c.py17
-rw-r--r--py/waf/defaults/bsp/m32r.py15
-rw-r--r--py/waf/defaults/bsp/m68k.py271
-rw-r--r--py/waf/defaults/bsp/mips.py80
-rw-r--r--py/waf/defaults/bsp/moxie.py17
-rw-r--r--py/waf/defaults/bsp/nios2.py16
-rw-r--r--py/waf/defaults/bsp/powerpc.py914
-rw-r--r--py/waf/defaults/bsp/sh.py87
-rw-r--r--py/waf/defaults/bsp/sparc.py62
-rw-r--r--py/waf/defaults/bsp/sparc64.py27
-rw-r--r--py/waf/defaults/bsp/v850.py70
18 files changed, 2513 insertions, 0 deletions
diff --git a/py/waf/defaults/bsp/__init__.py b/py/waf/defaults/bsp/__init__.py
new file mode 100644
index 0000000000..e71761df16
--- /dev/null
+++ b/py/waf/defaults/bsp/__init__.py
@@ -0,0 +1,17 @@
+from . import arm
+from . import avr
+from . import bfin
+from . import h8300
+from . import i386
+from . import lm32
+from . import m32c
+from . import m32r
+from . import m68k
+from . import mips
+from . import moxie
+from . import nios2
+from . import powerpc
+from . import sh
+from . import sparc
+from . import sparc64
+from . import v850
diff --git a/py/waf/defaults/bsp/arm.py b/py/waf/defaults/bsp/arm.py
new file mode 100644
index 0000000000..2f86cde4db
--- /dev/null
+++ b/py/waf/defaults/bsp/arm.py
@@ -0,0 +1,720 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "arm"
+ conflicts=("clang",)
+
+ def build(self, c):
+ c.LINK_START = ['${RTEMS}/start.o', 'crti.o', 'crtbegin.o', '-e', '_start']
+ c.LINK_END = ['crtend.o', 'crtn.o']
+
+
+class csb336(Base):
+ name = "arm/csb336"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm920', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8']
+ c.LINKCMDS = ['src/lib/libbsp/arm/csb336/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+
+class csb337_shared(Base):
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm920', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8']
+ c.LINKCMDS = ['src/lib/libbsp/arm/csb337/startup/linkcmds.csb337', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+ c.ENABLE_LCD = Default
+ c.ENABLE_UMON = True
+ c.ENABLE_UMON_CONSOLE = True
+
+ def header(self, c):
+ c.ENABLE_USART0 = True
+ c.ENABLE_USART1 = True
+ c.ENABLE_USART2 = True
+ c.ENABLE_USART3 = True
+ c.csb637 = Default
+
+
+
+class csb637(csb337_shared):
+ name = "arm/csb637"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm920', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8']
+ c.LINKCMDS = ['src/lib/libbsp/arm/csb337/startup/linkcmds.csb637', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.csb637 = True
+
+
+
+class csb337(csb337_shared):
+ name = "arm/csb337"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm920', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8']
+ c.LINKCMDS = ['src/lib/libbsp/arm/csb337/startup/linkcmds.csb337', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+
+
+class kit637_v6(csb337_shared):
+ name = "arm/kit637_v6"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm920', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8']
+ c.LINKCMDS = ['src/lib/libbsp/arm/csb337/startup/linkcmds.csb337', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.csb637 = True
+
+
+
+
+class lm3s_shared(Base):
+ def build(self, c):
+ c.CFLAGS = ['-march=armv7-m', '-mthumb']
+
+ def header(self, c):
+ c.BSP_SMALL_MEMORY = True
+ c.LM3S69XX_ENABLE_UART_0 = Default
+ c.LM3S69XX_ENABLE_UART_1 = Default
+ c.LM3S69XX_ENABLE_UART_2 = Default
+ c.LM3S69XX_HAS_UDMA = Default
+ c.LM3S69XX_MCU_LM3S3749 = Default
+ c.LM3S69XX_MCU_LM3S6965 = Default
+ c.LM3S69XX_SSI_CLOCK = Default
+ c.LM3S69XX_SYSTEM_CLOCK = Default
+ c.LM3S69XX_UART_BAUD = Default
+ c.LM3S69XX_USE_AHB_FOR_GPIO = Default
+
+
+class lm3s3749(lm3s_shared):
+ name = "arm/lm3s3749"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/arm/lm3s69xx/startup/linkcmds.lm3s3749', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m', 'src/lib/libbsp/arm/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.LM3S69XX_HAS_UDMA = True
+ c.LM3S69XX_XTAL_CONFIG = Default
+ c.LM3S69XX_MCU_LM3S3749 = True
+ c.LM3S69XX_NUM_GPIO_BLOCKS = 8
+ c.LM3S69XX_NUM_SSI_BLOCKS = 2
+ c.LM3S69XX_USE_AHB_FOR_GPIO = True
+
+class lm3s6965(lm3s_shared):
+ name = "arm/lm3s6965"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/arm/lm3s69xx/startup/linkcmds.lm3s6965', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m', 'src/lib/libbsp/arm/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.LM3S69XX_XTAL_CONFIG = "0xE"
+ c.LM3S69XX_MCU_LM3S6965 = True
+ c.LM3S69XX_NUM_GPIO_BLOCKS = 7
+
+
+class lm3s6965_qemu(lm3s_shared):
+ name = "arm/lm3s6965_qemu"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/arm/lm3s69xx/startup/linkcmds.lm3s6965_qemu', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m', 'src/lib/libbsp/arm/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.LM3S69XX_XTAL_CONFIG = "0xE"
+ c.LM3S69XX_MCU_LM3S6965 = True
+ c.LM3S69XX_NUM_GPIO_BLOCKS = 7
+
+
+class lpc17xx_shared(Base):
+ def build(self, c):
+ c.CFLAGS = ['-march=armv7-m', '-mthumb']
+
+ def header(self, c):
+ c.BSP_SMALL_MEMORY = Default
+ c.LPC24XX_CCLK = Default
+ c.LPC24XX_CONFIG_CONSOLE = Default
+ c.LPC24XX_CONFIG_I2C_2 = Default
+ c.LPC24XX_CONFIG_UART_1 = Default
+ c.LPC24XX_EMC_TEST = Default
+ c.LPC24XX_ETHERNET_RMII = Default
+ c.LPC24XX_OSCILLATOR_MAIN = Default
+ c.LPC24XX_OSCILLATOR_RTC = Default
+ c.LPC24XX_STOP_ETHERNET = Default
+ c.LPC24XX_STOP_GPDMA = Default
+ c.LPC24XX_STOP_USB = Default
+ c.LPC24XX_UART_BAUD = Default
+ c.LPC24XX_PCLKDIV = Default
+ c.LPC24XX_EMCCLKDIV = Default
+ c.LPC24XX_EMC_MT48LC4M16A2 = Default
+ c.LPC24XX_EMC_W9825G2JB75I = Default
+ c.LPC24XX_EMC_IS42S32800D7 = Default
+ c.LPC24XX_EMC_IS42S32800B = Default
+ c.LPC24XX_EMC_M29W160E = Default
+ c.LPC24XX_EMC_M29W320E70 = Default
+ c.LPC24XX_EMC_SST39VF3201 = Default
+ c.LPC24XX_CONFIG_UART_2 = Default
+ c.LPC24XX_CONFIG_UART_3 = Default
+ c.LPC24XX_CONFIG_I2C_0 = Default
+ c.LPC24XX_CONFIG_I2C_1 = Default
+ c.LPC_DMA_CHANNEL_COUNT = 8
+ c.BSP_START_RESET_VECTOR = Default
+ c.BSP_USB_OTG_TRANSCEIVER_I2C_ADDR = "(0x2f << 1)"
+
+
+
+class lpc17xx_ea_ram(lpc17xx_shared):
+ name = "arm/lpc17xx_ea_ram"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc17xx_ea_ram', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.LPC24XX_CCLK = "96000000U"
+ c.LPC24XX_PCLKDIV = "2U"
+ c.LPC24XX_EMCCLKDIV = "2U"
+
+
+class lpc17xx_ea_rom_int(lpc17xx_shared):
+ name = "arm/lpc17xx_ea_rom_int"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc17xx_ea_rom_int', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.LPC24XX_CCLK = "96000000U"
+ c.LPC24XX_PCLKDIV = "2U"
+ c.LPC24XX_EMC_IS42S32800B = True
+
+class lpc17xx_plx800_ram(lpc17xx_shared):
+ name = "arm/lpc17xx_plx800_ram"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc17xx_plx800_ram', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ pass
+
+class lpc17xx_plx800_rom_int(lpc17xx_shared):
+ name = "arm/lpc17xx_plx800_rom_int"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc17xx_plx800_rom_int', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.LPC24XX_EMC_M29W320E70 = True
+
+
+class edb7312(Base):
+ name = "arm/edb7312"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm7tdmi', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8']
+ c.LINKCMDS = ['src/lib/libbsp/arm/edb7312/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.ON_SKYEYE = Default
+
+
+
+class gba(Base):
+ name = "arm/gba"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm7tdmi', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8']
+ c.LINKCMDS = ['src/lib/libbsp/arm/gba/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+
+class gdbarmsim_shared(Base):
+ def build(self, c):
+ pass
+
+
+class arm1136jfs(gdbarmsim_shared):
+ name = "arm/arm1136jfs"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm1136jf-s']
+ c.LINKCMDS = ['src/lib/libbsp/arm/gdbarmsim/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+
+class arm1136js(gdbarmsim_shared):
+ name = "arm/arm1136js"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm1136j-s']
+ c.LINKCMDS = ['src/lib/libbsp/arm/gdbarmsim/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+
+class armcortexa9(gdbarmsim_shared):
+ name = "arm/armcortexa9"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=cortex-a9']
+ c.LINKCMDS = ['src/lib/libbsp/arm/gdbarmsim/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+
+class arm7tdmi(gdbarmsim_shared):
+ name = "arm/arm7tdmi"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm7tdmi']
+ c.LINKCMDS = ['src/lib/libbsp/arm/gdbarmsim/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+
+class arm920(gdbarmsim_shared):
+ name = "arm/arm920"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm920', '-mfloat-abi=soft', '-mfpu=vfp']
+ c.LINKCMDS = ['src/lib/libbsp/arm/gdbarmsim/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+
+class gp32(Base):
+ name = "arm/gp32"
+
+ def build(self, c):
+ c.CFLAGS = ['-DCPU_S3C2400', '-mcpu=arm920t', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=32']
+ c.LINKCMDS = ['src/lib/libbsp/arm/gp32/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+
+class gumstix(Base):
+ name = "arm/gumstix"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=xscale', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8']
+ c.LINKCMDS = ['src/lib/libbsp/arm/gumstix/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+ c.ON_SKYEYE = Default
+
+ def header(self, c):
+ c.ON_SKYEYE = Default
+
+
+
+class lpc24xx_shared(Base):
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm7tdmi-s', '-mthumb', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-Os']
+
+
+ def header(self, c):
+ c.BSP_SMALL_MEMORY = Default
+ c.LPC24XX_CCLK = Default
+ c.LPC24XX_CONFIG_CONSOLE = Default
+ c.LPC24XX_CONFIG_I2C_2 = Default
+ c.LPC24XX_CONFIG_UART_1 = Default
+ c.LPC24XX_EMC_TEST = Default
+ c.LPC24XX_ETHERNET_RMII = Default
+ c.LPC24XX_OSCILLATOR_MAIN = Default
+ c.LPC24XX_OSCILLATOR_RTC = Default
+ c.LPC24XX_STOP_ETHERNET = Default
+ c.LPC24XX_STOP_GPDMA = Default
+ c.LPC24XX_STOP_USB = Default
+ c.LPC24XX_UART_BAUD = Default
+ c.LPC24XX_PCLKDIV = Default
+ c.LPC24XX_EMCCLKDIV = Default
+ c.LPC24XX_EMC_MT48LC4M16A2 = Default
+ c.LPC24XX_EMC_W9825G2JB75I = Default
+ c.LPC24XX_EMC_IS42S32800D7 = Default
+ c.LPC24XX_EMC_IS42S32800B = Default
+ c.LPC24XX_EMC_M29W160E = Default
+ c.LPC24XX_EMC_M29W320E70 = Default
+ c.LPC24XX_EMC_SST39VF3201 = Default
+ c.LPC24XX_CONFIG_UART_2 = Default
+ c.LPC24XX_CONFIG_UART_3 = Default
+ c.LPC24XX_CONFIG_I2C_0 = Default
+ c.LPC24XX_CONFIG_I2C_1 = Default
+ c.LPC_DMA_CHANNEL_COUNT = Default
+ c.BSP_START_RESET_VECTOR = Default
+ c.BSP_USB_OTG_TRANSCEIVER_I2C_ADDR = Default
+
+
+class lpc24xx_ncs_rom_ext(lpc24xx_shared):
+ name = "arm/lpc24xx_ncs_rom_ext"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.BSP_START_RESET_VECTOR = "0x80000040"
+ c.LPC24XX_EMC_MT48LC4M16A2 = True
+ c.BSP_START_RESET_VECTOR = "0x80000040"
+
+class lpc24xx_ncs_rom_int(lpc24xx_shared):
+ name = "arm/lpc24xx_ncs_rom_int"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.LPC24XX_EMC_M29W320E70 = True
+ c.BSP_START_RESET_VECTOR = "0x80000040"
+
+
+class lpc24xx_plx800_ram(lpc24xx_shared):
+ name = "arm/lpc24xx_plx800_ram"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_plx800_ram', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.LPC24XX_CCLK = "51612800U"
+ c.LPC24XX_CONFIG_UART_1 = False
+ c.LPC24XX_CONFIG_UART_2 = Default
+
+
+class lpc24xx_plx800_rom_int(lpc24xx_shared):
+ name = "arm/lpc24xx_plx800_rom_int"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_plx800_rom_int', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.LPC24XX_CCLK = "51612800U"
+ c.LPC24XX_CONFIG_UART_1 = False
+ c.LPC24XX_CONFIG_UART_2 = Default
+
+
+class lpc24xx_ea(lpc24xx_shared):
+ name = "arm/lpc24xx_ea"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.LPC24XX_ETHERNET_RMII = True
+ c.BSP_START_RESET_VECTOR = "0x80000040"
+
+
+class lpc23xx_tli800(lpc24xx_shared):
+ name = "arm/lpc23xx_tli800"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm7tdmi-s', '-mthumb', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-Os']
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc23xx_tli800', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.LPC24XX_OSCILLATOR_MAIN = "3686400U"
+ c.LPC24XX_CCLK = "58982400U"
+ c.LPC24XX_HEAP_EXTEND = True
+
+class lpc2362(lpc24xx_shared):
+ name = "arm/lpc2362"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm7tdmi-s', '-mthumb', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-Os']
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.LPC24XX_OSCILLATOR_MAIN = "3686400U"
+ c.LPC24XX_CCLK = "58982400U"
+ c.LPC24XX_HEAP_EXTEND = True
+
+
+#XXX: Some of the armv4 linkcmds are unnessicary (when armv7 is used)
+class lpc24xx_ncs_ram(lpc24xx_shared):
+ name = "arm/lpc24xx_ncs_ram"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm7tdmi-s', '-mthumb', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-Os']
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.LPC24XX_CONFIG_I2C_1 = 1
+
+
+class lpc32xx_shared(Base):
+
+ def header(self, c):
+ c.BSP_SMALL_MEMORY = Default
+ c.BSP_START_RESET_VECTOR = ""
+ c.LPC32XX_ARM_CLK = Default
+ c.LPC32XX_CONFIG_U3CLK = Default
+ c.LPC32XX_CONFIG_U4CLK = Default
+ c.LPC32XX_CONFIG_U5CLK = Default
+ c.LPC32XX_CONFIG_U6CLK = Default
+ c.LPC32XX_CONFIG_UART_CLKMODE = Default
+ c.LPC32XX_DISABLE_MMU = Default
+ c.LPC32XX_DISABLE_READ_ONLY_PROTECTION = Default
+ c.LPC32XX_DISABLE_READ_WRITE_DATA_CACHE = Default
+ c.LPC32XX_ENABLE_WATCHDOG_RESET = Default
+ c.LPC32XX_ETHERNET_RMII = Default
+ c.LPC32XX_HCLK = Default
+ c.LPC32XX_OSCILLATOR_MAIN = Default
+ c.LPC32XX_OSCILLATOR_RTC = Default
+ c.LPC32XX_PERIPH_CLK = Default
+ c.LPC32XX_STOP_ETHERNET = Default
+ c.LPC32XX_STOP_GPDMA = Default
+ c.LPC32XX_STOP_USB = Default
+ c.LPC32XX_UART_1_BAUD = Default
+ c.LPC32XX_UART_2_BAUD = Default
+ c.LPC32XX_UART_7_BAUD = Default
+ c.TESTS_USE_PRINTK = True
+
+
+
+class lpc32xx_mzx_stage_1(lpc32xx_shared):
+ name = "arm/lpc32xx_mzx_stage_1"
+
+ def build(self, c):
+ # XXX: -Os was added as a hack to fix test builds (results were too huge resulting in an error)
+ c.CFLAGS = ['-fno-schedule-insns2', '-mcpu=arm926ej-s', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-mthumb', '-Os']
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_1', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.BSP_SMALL_MEMORY = True
+ c.LPC_DMA_CHANNEL_COUNT = Default
+
+
+class lpc32xx_mzx_stage_2(lpc32xx_shared):
+ name = "arm/lpc32xx_mzx_stage_2"
+
+ def build(self, c):
+ c.CFLAGS = ['-fno-schedule-insns2', '-mcpu=arm926ej-s', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-mthumb']
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx_stage_2', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.LPC_DMA_CHANNEL_COUNT = 8
+
+
+class lpc32xx_phycore(lpc32xx_shared):
+ name = "arm/lpc32xx_phycore"
+
+ def build(self, c):
+ c.CFLAGS = ['-fno-schedule-insns2', '-mcpu=arm926ej-s', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-mthumb']
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_phycore', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.LPC_DMA_CHANNEL_COUNT = 8
+
+
+class lpc32xx_mzx(lpc32xx_shared):
+ name = "arm/lpc32xx_mzx"
+
+ def build(self, c):
+ c.CFLAGS = ['-fno-schedule-insns2', '-mcpu=arm926ej-s', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-mthumb']
+ c.LINKCMDS = ['src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx_mzx', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/lpc32xx/startup/linkcmds.lpc32xx', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.LPC_DMA_CHANNEL_COUNT = 8
+
+
+class nds(Base):
+ name = "arm/nds"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm9tdmi', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-mthumb-interwork']
+ c.LINKCMDS = ['src/lib/libbsp/arm/nds/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+
+class rtl22xx_shared(Base):
+ def build(self, c):
+ c.CFLAGS = ['-mapcs-frame', '-mcpu=arm7tdmi', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8']
+ c.LINKCMDS = ['src/lib/libbsp/arm/rtl22xx/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+ c.ON_SKYEYE = Default
+
+ def header(self, c):
+ c.ON_SKYEYE = Default
+
+
+class raspberrypi(Base):
+ name = "arm/raspberrypi"
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm1176jzf-s']
+ c.LINKCMDS = ['src/lib/libbsp/arm/raspberrypi/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4']
+
+ def header(self, c):
+ c.BSP_START_RESET_VECTOR = ""
+
+
+class realview_pbx_a9_qemu(Base):
+ name = "arm/realview_pbx_a9_qemu"
+
+ def build(self, c):
+ c.CFLAGS = ['-march=armv7-a', '-mthumb', '-mfpu=neon', '-mfloat-abi=hard', '-mtune=cortex-a9']
+ c.LINKCMDS = ['src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4']
+
+ def header(self, c):
+ c.BSP_START_RESET_VECTOR = ""
+ c.BSP_ARM_A9MPCORE_PERIPHCLK = "100000000U"
+
+
+class rtl22xx(rtl22xx_shared):
+ name = "arm/rtl22xx"
+
+ def build(self, c):
+ c.CFLAGS = ['-mapcs-frame', '-mcpu=arm7tdmi', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8']
+ c.LINKCMDS = ['src/lib/libbsp/arm/rtl22xx/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+
+class rtl22xx_t(rtl22xx_shared):
+ name = "arm/rtl22xx_t"
+
+ def build(self, c):
+ c.CFLAGS = ['-mapcs-frame', '-mcpu=arm7tdmi', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=8', '-mthumb', '-fno-schedule-insns2']
+ c.LINKCMDS = ['src/lib/libbsp/arm/rtl22xx/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+
+class smdk2410(Base):
+ name = "arm/smdk2410"
+
+ def build(self, c):
+ c.CFLAGS = ['-DCPU_S3C2410', '-mcpu=arm920t', '-mfloat-abi=soft', '-mfpu=vfp', '-mstructure-size-boundary=32']
+ c.LINKCMDS = ['src/lib/libbsp/arm/smdk2410/startup/linkcmds', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.ON_SKYEYE = Default
+
+
+class stm32f4(Base):
+ name = "arm/stm32f4"
+
+ def build(self, c):
+ c.CFLAGS = ['-march=armv7-m', '-mthumb']
+ c.LINKCMDS = ['src/lib/libbsp/arm/stm32f4/startup/linkcmds.stm32f4', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.STM32F4_HSE_OSCILLATOR = Default
+ c.STM32F4_SYSCLK = Default
+ c.STM32F4_HCLK = Default
+ c.STM32F4_PCLK1 = Default
+ c.STM32F4_PCLK2 = Default
+ c.STM32F4_USART_BAUD = Default
+ c.STM32F4_ENABLE_USART_1 = Default
+ c.STM32F4_ENABLE_USART_2 = Default
+ c.STM32F4_ENABLE_USART_3 = Default
+ c.STM32F4_ENABLE_UART_4 = Default
+ c.STM32F4_ENABLE_UART_5 = Default
+ c.STM32F4_ENABLE_USART_6 = Default
+
+
+class xilinx_zynq_a9_qemu(Base):
+ name = "arm/xilinx_zynq_a9_qemu"
+
+ def build(self, c):
+ c.CFLAGS = ['-march=armv7-a', '-mthumb', '-mfpu=neon', '-mfloat-abi=hard', '-mtune=cortex-a9']
+ c.LINKCMDS = ['src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.in', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+
+ def header(self, c):
+ c.BSP_START_RESET_VECTOR = ""
+ c.BSP_ARM_A9MPCORE_PERIPHCLK = "100000000U"
+
+
+class xilinx_zynq_shared(Base):
+
+ def build(self, c):
+ c.CFLAGS = ['-march=armv7-a', '-mthumb', '-mfpu=neon', '-mfloat-abi=hard', '-mtune=cortex-a9']
+ c.LINKCMDS = ['src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.in', 'src/lib/libbsp/arm/shared/startup/linkcmds.base', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv7m']
+ c.ZYNQ_RAM_ORIGIN = Default
+ c.ZYNQ_RAM_MMU = Default
+ c.ZYNQ_RAM_MMU_LENGTH = Default
+ c.ZYNQ_RAM_ORIGIN_AVAILABLE = Default
+ c.ZYNQ_RAM_LENGTH_AVAILABLE = Default
+ c.ZYNQ_RAM_INT_0_ORIGIN = Default
+ c.ZYNQ_RAM_INT_0_LENGTH = Default
+ c.ZYNQ_RAM_INT_1_ORIGIN = Default
+ c.ZYNQ_RAM_INT_1_LENGTH = Default
+ c.ZYNQ_CPUS = Default
+ c.ZYNQ_RAM_NOCACHE_LENGTH = Default
+ c.CLOCK_DRIVER_USE_FAST_IDLE = Default
+
+
+ def header(self, c):
+ c.BSP_START_RESET_VECTOR = Default
+ c.BSP_DATA_CACHE_ENABLED = Default
+ c.BSP_INSTRUCTION_CACHE_ENABLED = Default
+ c.BSP_ARM_A9MPCORE_PERIPHCLK = Default
+ c.ZYNQ_CLOCK_UART = Default
+ c.ZYNQ_CLOCK_CPU_1X = Default
+
+
+class xilinx_zynq_a9_qemu(xilinx_zynq_shared):
+ name = "arm/xilinx_zynq_a9_qemu"
+
+ def build(self, c):
+ c.CLOCK_DRIVER_USE_FAST_IDLE = True
+ c.BSP_ZYNQ_RAM_LENGTH = Default
+ c.ZYNQ_RAM_ORIGIN = "0x00000000"
+ c.ZYNQ_RAM_MMU = "0x0fffc000"
+ c.ZYNQ_RAM_ORIGIN_AVAILABLE = "%(ZYNQ_RAM_ORIGIN)s"
+ c.ZYNQ_RAM_LENGTH_AVAILABLE = "%(BSP_ZYNQ_RAM_LENGTH)s - 16k"
+
+ def header(self, c):
+ c.BSP_DATA_CACHE_ENABLED = False
+
+
+class xilinx_zynq_zc702(xilinx_zynq_shared):
+ name = "arm/xilinx_zynq_zc702"
+
+ def build(self, c):
+ c.BSP_ARM_A9MPCORE_PERIPHCLK = "333333333U"
+ c.ZYNQ_RAM_ORIGIN = "0x00100000"
+
+ def header(self, c):
+ c.ZYNQ_CLOCK_UART = "50000000UL"
+ c.BSP_ZYNQ_RAM_LENGTH = "1024M"
+
+
+class xilinx_zynq_zc706(xilinx_zynq_shared):
+ name = "arm/xilinx_zynq_zc706"
+
+ def build(self, c):
+ c.BSP_ZYNQ_RAM_LENGTH = "1024M"
+ c.ZYNQ_RAM_LENGTH_AVAILABLE = "%(BSP_ZYNQ_RAM_LENGTH)s - 4M - 16k"
+
+
+class xilinx_zynq_zedboard(xilinx_zynq_shared):
+ name = "arm/xilinx_zynq_zedboard"
+
+ def build(self, c):
+ c.BSP_ZYNQ_RAM_LENGTH = "512M"
+ c.ZYNQ_RAM_ORIGIN = "0x00100000"
+
+ def header(self, c):
+ c.BSP_ARM_A9MPCORE_PERIPHCLK = "666666667U"
+ c.ZYNQ_CLOCK_UART = "50000000UL"
+
+
+class beagle_shared(Base):
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=cortex-a8']
+ c.LINKCMDS = ['src/lib/libbsp/arm/beagle/startup/linkcmds.beagle', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.CONSOLE_POLLED = Default
+ c.CONSOLE_BAUD = Default
+
+class beagleboardorig(beagle_shared):
+ name = "arm/beagleboardorig"
+
+ def header(self, c):
+ c.IS_DM3730 = True
+
+
+class beagleboardxm(beagle_shared):
+ name = "arm/beagleboardxm"
+
+ def header(self, c):
+ c.IS_DM3730 = True
+
+
+class beaglebonewhite(beagle_shared):
+ name = "arm/beaglebonewhite"
+
+ def header(self, c):
+ c.IS_AM335X = True
+
+
+class beagleboneblack(beagle_shared):
+ name = "arm/beagleboneblack"
+
+ def header(self, c):
+ c.IS_AM335X = True
+
+
+class raspberrypi(Base):
+ name = "arm/raspberrypi"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm1176jzf-s']
+ c.LINKCMDS = ['src/lib/libbsp/arm/beagle/startup/linkcmds.beagle', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.base']
+
+
diff --git a/py/waf/defaults/bsp/avr.py b/py/waf/defaults/bsp/avr.py
new file mode 100644
index 0000000000..c06ed02f4f
--- /dev/null
+++ b/py/waf/defaults/bsp/avr.py
@@ -0,0 +1,15 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "avr"
+ conflicts=("clang",)
+
+
+
+class avrtest(Base):
+ name = "avr/avrtest"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/avr/avrtest/startup/linkcmds']
+ c.LINK_START = ['${RTEMS}/start.o', '-e', '__init']
+
diff --git a/py/waf/defaults/bsp/bfin.py b/py/waf/defaults/bsp/bfin.py
new file mode 100644
index 0000000000..18a4b9519c
--- /dev/null
+++ b/py/waf/defaults/bsp/bfin.py
@@ -0,0 +1,48 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "bfin"
+ conflicts=("clang",)
+
+
+
+class bf537stamp(Base):
+ name = "bfin/bf537stamp"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/bfin/bf537Stamp/startup/linkcmds']
+ c.LINK_START = ['${RTEMS}/start.o', '-e', '__start']
+
+ def header(self, c):
+ c.BFIN_ON_SKYEYE = Default
+ c.CONSOLE_USE_INTERRUPTS = Default
+
+
+
+class ezkit533(Base):
+ name = "bfin/ezkit533"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/bfin/eZKit533/startup/linkcmds']
+ c.LINK_START = ['${RTEMS}/start.o', '-e', '__start']
+
+ def header(self, c):
+ c.BFIN_ON_SKYEYE = Default
+ c.CONSOLE_USE_INTERRUPTS = Default
+
+
+
+class tll6527m(Base):
+ name = "bfin/tll6527m"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=bf527']
+ c.LINKCMDS = ['src/lib/libbsp/bfin/TLL6527M/startup/linkcmds']
+ c.LINK_START = ['${RTEMS}/start.o', '-e', '__start']
+
+ def header(self, c):
+ c.BFIN_ON_SKYEYE = Default
+ c.CONSOLE_BAUDRATE = 9600
+ c.CONSOLE_USE_INTERRUPTS = False
+ c.INTERRUPT_USE_TABLE = Default
+ c.UART_USE_DMA = Default
diff --git a/py/waf/defaults/bsp/h8300.py b/py/waf/defaults/bsp/h8300.py
new file mode 100644
index 0000000000..faa147536a
--- /dev/null
+++ b/py/waf/defaults/bsp/h8300.py
@@ -0,0 +1,27 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "h8300"
+ conflicts=("clang",)
+
+
+
+class h8sim_shared(Base):
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/h8300/h8sim/startup/linkcmds']
+ c.LINK_START = ['${RTEMS}/start.o', '-e', '_start']
+
+class h8sxsim(h8sim_shared):
+ name = "h8300/h8sxsim"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/h8300/h8sim/startup/linkcmds']
+
+
+class h8sim(h8sim_shared):
+ name = "h8300/h8sim"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/h8300/h8sim/startup/linkcmds']
+
+
diff --git a/py/waf/defaults/bsp/i386.py b/py/waf/defaults/bsp/i386.py
new file mode 100644
index 0000000000..59ce98cee4
--- /dev/null
+++ b/py/waf/defaults/bsp/i386.py
@@ -0,0 +1,74 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "i386"
+ conflicts=("clang",)
+
+
+
+class pc386_shared(Base):
+ def build(self, c):
+ c.CFLAGS = ['-mtune=i386']
+ c.LDFLAGS = ['-Wl,-Ttext,0x00100000']
+ c.LINKCMDS = ['src/lib/libbsp/i386/pc386/startup/linkcmds']
+ c.LINK_START = ['${RTEMS}/start.o', 'crti.o', 'crtbegin.o', '-e', 'start']
+ c.LINK_END = ['crtend.o', 'crtn.o']
+ c.ENABLE_NETWORKING = True
+
+ def header(self, c):
+ c.BSP_HAS_SMP = Default
+ c.BSP_VIDEO_80x50 = Default
+ c.CLOCK_DRIVER_USE_8254 = Default
+ c.CLOCK_DRIVER_USE_TSC = Default
+ c.IDE_USE_PRIMARY_INTERFACE = Default
+ c.IDE_USE_SECONDARY_INTERFACE = Default
+ c.USE_COM1_AS_CONSOLE = Default
+ c.BSP_PRESS_KEY_FOR_RESET = True
+
+
+class pc486(pc386_shared):
+ name = "i386/pc486"
+
+ def build(self, c):
+ c.CFLAGS = ['-mtune=i486']
+ c.LINKCMDS = ['src/lib/libbsp/i386/pc386/startup/linkcmds']
+
+
+class pc386(pc386_shared):
+ name = "i386/pc386"
+
+ def build(self, c):
+ c.CFLAGS = ['-mtune=i386']
+ c.LINKCMDS = ['src/lib/libbsp/i386/pc386/startup/linkcmds']
+
+
+
+class pc686(pc386_shared):
+ name = "i386/pc686"
+
+ def build(self, c):
+ c.CFLAGS = ['-mtune=pentiumpro']
+ c.LINKCMDS = ['src/lib/libbsp/i386/pc386/startup/linkcmds']
+
+
+class pc586_sse(pc386_shared):
+ name = "i386/pc586-sse"
+
+ def build(self, c):
+ c.CFLAGS = ['-mtune=i386']
+ c.LINKCMDS = ['src/lib/libbsp/i386/pc386/startup/linkcmds']
+
+
+class pc586(pc386_shared):
+ name = "i386/pc586"
+
+ def build(self, c):
+ c.CFLAGS = ['-mtune=pentium']
+ c.LINKCMDS = ['src/lib/libbsp/i386/pc386/startup/linkcmds']
+
+
+class pcp4(pc386_shared):
+ name = "i386/pcp4"
+
+ def build(self, c):
+ c.CFLAGS = ['-mtune=pentium4', '-march=pentium4', '-msse3']
diff --git a/py/waf/defaults/bsp/lm32.py b/py/waf/defaults/bsp/lm32.py
new file mode 100644
index 0000000000..7caf519587
--- /dev/null
+++ b/py/waf/defaults/bsp/lm32.py
@@ -0,0 +1,36 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "lm32"
+ conflicts=("clang",)
+
+ def build(self, c):
+ c.LINK_START = ['${RTEMS}/start.o', 'crti.o', 'crtbegin.o', '-e', 'start']
+ c.LINK_END = ['crtend.o', 'crtn.o']
+ c.LINK_LINK = ['-dc', '-dp', '-N']
+
+
+
+class lm32_evr(Base):
+ name = "lm32/lm32_evr"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/lm32/lm32_evr/startup/linkcmds']
+
+ def header(self, c):
+ c.ON_SIMULATOR = Default
+
+
+
+class milkymist(Base):
+ name = "lm32/milkymist"
+
+ def build(self, c):
+ c.CFLAGS = ['-mbarrel-shift-enabled', '-mmultiply-enabled', '-mdivide-enabled', '-msign-extend-enabled']
+ c.LINKCMDS = ['src/lib/libbsp/lm32/milkymist/startup/linkcmds']
+
+ def header(self, c):
+ c.ON_SIMULATOR = Default
+
+
+
diff --git a/py/waf/defaults/bsp/m32c.py b/py/waf/defaults/bsp/m32c.py
new file mode 100644
index 0000000000..aa51d7344b
--- /dev/null
+++ b/py/waf/defaults/bsp/m32c.py
@@ -0,0 +1,17 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "m32c"
+ conflicts=("clang",)
+
+
+
+class m32csim(Base):
+ name = "m32c/m32csim"
+
+ def build(self, c):
+ c.CFLAGS = ["-mcpu=m32cm"]
+ c.LINKCMDS = ['src/lib/libbsp/m32c/m32cbsp/startup/linkcmds']
+ c.LINK_START = ['${RTEMS}/start.o', 'crtbegin.o', '-e', '_start']
+ c.LINK_END = ['crtend.o']
+ c.LINK_LINK = ['-dc', '-dp', '-N']
diff --git a/py/waf/defaults/bsp/m32r.py b/py/waf/defaults/bsp/m32r.py
new file mode 100644
index 0000000000..9ad5fad991
--- /dev/null
+++ b/py/waf/defaults/bsp/m32r.py
@@ -0,0 +1,15 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "m32r"
+ conflicts=("clang",)
+
+
+
+class m32rsim(Base):
+ name = "m32r/m32rsim"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/m32r/m32rsim/startup/linkcmds']
+ c.LINK_START = ['${RTEMS}/start.o', 'crtinit.o', '-e', '_start']
+
diff --git a/py/waf/defaults/bsp/m68k.py b/py/waf/defaults/bsp/m68k.py
new file mode 100644
index 0000000000..a6551b1647
--- /dev/null
+++ b/py/waf/defaults/bsp/m68k.py
@@ -0,0 +1,271 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "m68k"
+ conflicts=("clang",)
+
+ def build(self, c):
+ c.LINK_START = ['${RTEMS}/start.o', 'crti.o', 'crtbegin.o', '-e', 'start']
+ c.LINK_END = ['crtend.o', 'crtn.o']
+
+
+class av5282(Base):
+ name = "m68k/av5282"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=528x']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/av5282/startup/linkcmds']
+
+class csb360(Base):
+ name = "m68k/csb360"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=5272']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/csb360/startup/linkcmds']
+
+
+class gen68302(Base):
+ name = "m68k/gen68302"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=68302']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/gen68302/startup/linkcmds']
+
+
+class gen68340(Base):
+ name = "m68k/gen68340"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=cpu32']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/gen68340/startup/linkcmds']
+
+
+class gen68360_shared(Base):
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=cpu32']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/gen68360/startup/linkcmds', 'src/lib/libbsp/m68k/gen68360/startup/linkcmds.bootp', 'src/lib/libbsp/m68k/gen68360/startup/linkcmds.prom']
+
+ def header(self, c):
+ c.GEN68360 = True
+
+
+
+class gen68360_040(gen68360_shared):
+ name = "m68k/gen68360_040"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=68040']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/gen68360/startup/linkcmds', 'src/lib/libbsp/m68k/gen68360/startup/linkcmds.bootp', 'src/lib/libbsp/m68k/gen68360/startup/linkcmds.prom']
+
+ def header(self, c):
+ c.GEN68360_040 = True
+
+
+
+class pgh360(gen68360_shared):
+ name = "m68k/pgh360"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=cpu32']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/gen68360/startup/linkcmds', 'src/lib/libbsp/m68k/gen68360/startup/linkcmds.bootp', 'src/lib/libbsp/m68k/gen68360/startup/linkcmds.prom']
+
+ def header(self, c):
+ c.PGH360 = True
+
+
+
+class gen68360(gen68360_shared):
+ name = "m68k/gen68360"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=cpu32']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/gen68360/startup/linkcmds', 'src/lib/libbsp/m68k/gen68360/startup/linkcmds.bootp', 'src/lib/libbsp/m68k/gen68360/startup/linkcmds.prom']
+
+
+
+class genmcf548x_shared(Base):
+
+ def header(self, c):
+ c.BSP_CONSOLE_BAUD = 9600
+ c.BSP_CPU_CLOCK_SPEED = 100000000
+ c.HAS_DBUG = Default
+ c.HAS_LOW_LEVEL_INIT = Default
+
+
+
+class cobra5475(genmcf548x_shared):
+ name = "m68k/cobra5475"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcfv4e', '-Wa,-memac']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/genmcf548x/startup/linkcmds.COBRA5475']
+
+
+class m5484fireengine(genmcf548x_shared):
+ name = "m68k/m5484fireengine"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcfv4e', '-Wa,-memac']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/genmcf548x/startup/linkcmds.m5484FireEngine', 'src/lib/libbsp/m68k/genmcf548x/startup/linkcmds.m5484FireEngine.flash']
+
+
+class idp(Base):
+ name = "m68k/idp"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=68040', '-msoft-float']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/idp/startup/linkcmds']
+
+
+class mcf5206elite(Base):
+ name = "m68k/mcf5206elite"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=5206e']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/mcf5206elite/startup/linkcmds', 'src/lib/libbsp/m68k/mcf5206elite/startup/linkcmds.flash']
+
+
+class mcf52235(Base):
+ name = "m68k/mcf52235"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=52235']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/mcf52235/startup/linkcmds']
+
+
+class mcf5225x(Base):
+ name = "m68k/mcf5225x"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=52235']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/mcf5225x/startup/linkcmds']
+
+
+class mcf5235(Base):
+ name = "m68k/mcf5235"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=5235']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/mcf5235/startup/linkcmds', 'src/lib/libbsp/m68k/mcf5235/startup/linkcmdsflash', 'src/lib/libbsp/m68k/mcf5235/startup/linkcmdsram']
+
+
+class mcf5329(Base):
+ name = "m68k/mcf5329"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=5307']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/mcf5329/startup/linkcmds', 'src/lib/libbsp/m68k/mcf5329/startup/linkcmdsflash']
+
+
+class mrm332(Base):
+ name = "m68k/mrm332"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=cpu32']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/mrm332/startup/linkcmds', 'src/lib/libbsp/m68k/mrm332/startup/linkcmds_ROM']
+
+
+class mvme136(Base):
+ name = "m68k/mvme136"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=68020']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/mvme136/startup/linkcmds']
+
+
+class mvme147(Base):
+ name = "m68k/mvme147"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=68030']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/mvme147/startup/linkcmds']
+
+
+class mvme147s(Base):
+ name = "m68k/mvme147s"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=68030']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/mvme147s/startup/linkcmds']
+
+
+class mvme162_shared(Base):
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=68040']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/mvme162/startup/linkcmds']
+
+
+class mvme162lx(mvme162_shared):
+ name = "m68k/mvme162lx"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=68040']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/mvme162/startup/linkcmds']
+
+
+class mvme162(mvme162_shared):
+ name = "m68k/mvme162"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=68040']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/mvme162/startup/linkcmds']
+
+
+class mvme167(Base):
+ name = "m68k/mvme167"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=68040']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/mvme167/startup/linkcmds']
+
+ def header(self, c):
+ c.mvme167 = True
+ c.CD2401_INT_LEVEL = Default
+ c.CD2401_IO_MODE = Default
+ c.CD2401_USE_TERMIOS = Default
+ c.CONSOLE_MINOR = Default
+ c.PRINTK_MINOR = Default
+
+
+class ods68302(Base):
+ name = "m68k/ods68302"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=68302']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/ods68302/startup/linkcmds']
+ c.LINK_START = ['${RTEMS}/reset.o', 'crti.o', 'crtbegin.o', '-e', 'start']
+
+
+class sim68000_shared(Base):
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=68000']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/sim68000/startup/linkcmds']
+
+ def header(self, c):
+ c.CONSOLE_USE_INTERRUPTS = Default
+
+
+
+class sim68000(sim68000_shared):
+ name = "m68k/sim68000"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=68000']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/sim68000/startup/linkcmds']
+
+
+
+class simcpu32(sim68000_shared):
+ name = "m68k/simcpu32"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=cpu32']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/sim68000/startup/linkcmds']
+
+
+class uc5282(Base):
+ name = "m68k/uc5282"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=5282']
+ c.LINKCMDS = ['src/lib/libbsp/m68k/uC5282/startup/linkcmds']
diff --git a/py/waf/defaults/bsp/mips.py b/py/waf/defaults/bsp/mips.py
new file mode 100644
index 0000000000..d3f7e7f051
--- /dev/null
+++ b/py/waf/defaults/bsp/mips.py
@@ -0,0 +1,80 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "mips"
+ conflicts=("clang",)
+
+ def build(self, c):
+ c.LINK_START = ['${RTEMS}/start.o', 'crti.o', 'crtbegin.o', '-e', 'start']
+ c.LINK_END = ['crtend.o', 'crtn.o']
+
+
+class csb350(Base):
+ name = "mips/csb350"
+
+ def build(self, c):
+ c.CFLAGS = ['-mips32', '-G0', '-msoft-float']
+ c.LDFLAGS = ['-msoft-float']
+ c.LINKCMDS = ['src/lib/libbsp/mips/csb350/startup/linkcmds']
+ c.LINK_START = ['${RTEMS}/start.o', 'crti.o', 'crtbegin.o', '-e', '_start']
+
+
+class genmongoosev(Base):
+ name = "mips/genmongoosev"
+
+ def build(self, c):
+ c.CFLAGS = ['-mips1', '-G0']
+ c.LINKCMDS = ['src/lib/libbsp/mips/genmongoosev/startup/linkcmds']
+
+
+class hurricane(Base):
+ name = "mips/hurricane"
+
+ def build(self, c):
+ c.CFLAGS = ['-mips3', '-G0', '-EL']
+ c.LINKCMDS = ['src/lib/libbsp/mips/hurricane/startup/linkcmds']
+ c.LINK_LINK = ['-EL'] # work around gcc driver bug
+
+ def header(self, c):
+ c.BSP_HAS_RM52xx = Default
+ c.BSP_HAS_USC320 = Default
+
+
+
+class jmr3904(Base):
+ name = "mips/jmr3904"
+
+ def build(self, c):
+ c.CFLAGS = ['-march=r3900', '-Wa,-xgot', '-G0']
+ c.LINKCMDS = ['src/lib/libbsp/mips/jmr3904/startup/linkcmds']
+
+
+
+class malta(Base):
+ name = "mips/malta"
+
+ def build(self, c):
+ c.CFLAGS = ['-march=24kf1_1', '-Wa,-xgot', '-G0']
+ c.LINKCMDS = ['src/lib/libbsp/mips/malta/startup/linkcmds']
+
+
+class rbtx4925(Base):
+ name = "mips/rbtx4925"
+
+ def build(self, c):
+ c.CFLAGS = ['-mips3', '-G0', '-EL']
+ c.LINKCMDS = ['src/lib/libbsp/mips/rbtx4925/startup/linkcmds']
+ c.LINK_LINK = ['-EL'] # work around gcc driver bug
+
+ def header(self, c):
+ c.BSP_HAS_TX49xx = Default
+
+
+
+class rbtx4938(Base):
+ name = "mips/rbtx4938"
+
+ def build(self, c):
+ c.CFLAGS = ['-mips3', '-G0', '-EL']
+ c.LINKCMDS = ['src/lib/libbsp/mips/rbtx4938/startup/linkcmds']
+ c.LINK_LINK = ['-EL'] # work around gcc driver bug
diff --git a/py/waf/defaults/bsp/moxie.py b/py/waf/defaults/bsp/moxie.py
new file mode 100644
index 0000000000..9516b344fe
--- /dev/null
+++ b/py/waf/defaults/bsp/moxie.py
@@ -0,0 +1,17 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "moxie"
+ conflicts=("clang",)
+
+ def build(self, c):
+ c.LINK_START = ['${RTEMS}/start.o', '-e', '_start']
+
+
+class moxiesim(Base):
+ name = "moxie/moxiesim"
+
+ def build(self, c):
+ c.LDFLAGS = ['-Wl,--gc-sections']
+ c.LINKCMDS = ['src/lib/libbsp/moxie/moxiesim/startup/linkcmds']
+
diff --git a/py/waf/defaults/bsp/nios2.py b/py/waf/defaults/bsp/nios2.py
new file mode 100644
index 0000000000..1bc451e878
--- /dev/null
+++ b/py/waf/defaults/bsp/nios2.py
@@ -0,0 +1,16 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "nios2"
+ conflicts=("clang",)
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/nios2/nios2_iss/startup/linkcmds']
+ c.LINK_START = ['${RTEMS}/start.o', 'crti.o', 'crtbegin.o', '-e', 'start']
+ c.LINK_END = ['crtend.o', '${RTEMS}/crtnn.o']
+
+class nios2_iss(Base):
+ name = "nios2/nios2_iss"
+
+ def build(self, c):
+ c.CFLAGS = ["-mno-hw-mul", "-mno-hw-div"]
diff --git a/py/waf/defaults/bsp/powerpc.py b/py/waf/defaults/bsp/powerpc.py
new file mode 100644
index 0000000000..00c4b287a9
--- /dev/null
+++ b/py/waf/defaults/bsp/powerpc.py
@@ -0,0 +1,914 @@
+from rtems_waf.config import Default, Config, Disable
+
+class Base(Config):
+ arch = name = "powerpc"
+ conflicts=("clang",)
+
+
+
+class beatnik(Base):
+ name = "powerpc/beatnik"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=7400', '-D__ppc_generic']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/shared/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o', '-e', '__rtems_entry_point', '-u', '__vectors', '${RTEMS}/vectors_entry.o', '${RTEMS}/preload.o', '${RTEMS}/start.o']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+ c.LINK_LINK = ['-Bstatic']
+
+ def header(self, c):
+ c.CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK = Default
+
+
+
+class ep1a(Base):
+ name = "powerpc/ep1a"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=603e', '-Dppc603e', '-mmultiple', '-mstring', '-mstrict-align']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/ep1a/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o', '${RTEMS}/start.o', '-e', '__rtems_entry_point', '-u', '__vectors']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+ c.LINK_LINK = ['-Bstatic']
+
+ def header(self, c):
+ c.CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK = Default
+ c.CONSOLE_USE_INTERRUPTS = Default
+
+
+class gen5200_shared(Base):
+ def header(self, c):
+ c.ALLOW_IRQ_NESTING = True
+ c.BENCHMARK_IRQ_PROCESSING = False
+ c.BSP_GPIOPCR_INITMASK = Default
+ c.BSP_GPIOPCR_INITVAL = Default
+ c.BSP_PRESS_KEY_FOR_RESET = Default
+ c.BSP_RESET_BOARD_AT_EXIT = Default
+ c.BSP_UART_AVAIL_MASK = Default
+ c.PRINTK_MINOR = "0"
+ c.SINGLE_CHAR_MODE = Default
+ c.UARTS_USE_TERMIOS_INT = Default
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=603e', '-mstrict-align', '-meabi', '-msdata', '-fno-common']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o', '${RTEMS}/start.o']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+
+
+class icecube(gen5200_shared):
+ name = "powerpc/icecube"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/gen5200/startup/linkcmds.icecube',
+ 'src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base']
+
+ def header(self, c):
+ c.ALLOW_IRQ_NESTING = False
+ c.BSP_PRESS_KEY_FOR_RESET = True
+ c.BSP_RESET_BOARD_AT_EXIT = True
+ c.HAS_UBOOT = True
+ c.MPC5200_BOARD_ICECUBE = True
+
+
+class dp2(gen5200_shared):
+ name = "powerpc/dp2"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/gen5200/startup/linkcmds.dp2', 'src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base']
+
+ def header(self, c):
+ c.BSP_GPIOPCR_INITMASK = "0x337F3F77"
+ c.BSP_GPIOPCR_INITVAL = "0x03550040"
+ c.BSP_TYPE_DP2 = True
+ c.BSP_UART_AVAIL_MASK = "0x22"
+ c.HAS_UBOOT = True
+ c.MPC5200_BOARD_DP2 = True
+ c.MPC5200_PSC_INDEX_FOR_GPS_MODULE = 5
+ c.PRINTK_MINOR = "1"
+
+
+class pm520_ze30(gen5200_shared):
+ name = "powerpc/pm520_ze30"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/gen5200/startup/linkcmds.pm520_ze30', 'src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base']
+
+ def header(self, c):
+ c.BSP_GPIOPCR_INITMASK = "0x037F3F07"
+ c.BSP_GPIOPCR_INITVAL = "0x01552104"
+ c.BSP_UART_AVAIL_MASK = "0x39"
+ c.HAS_UBOOT = True
+ c.MPC5200_BOARD_PM520_ZE30 = True
+
+
+class pm520_cr825(gen5200_shared):
+ name = "powerpc/pm520_cr825"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/gen5200/startup/linkcmds.pm520_cr825', 'src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base']
+
+ def header(self, c):
+ c.BSP_RESET_BOARD_AT_EXIT = True
+ c.BSP_UART_AVAIL_MASK = "0x07"
+ c.HAS_UBOOT = True
+ c.MPC5200_BOARD_PM520_CR825 = True
+
+
+
+class brs5l(gen5200_shared):
+ name = "powerpc/brs5l"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/gen5200/startup/linkcmds.brs5l', 'src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base']
+
+ def header(self, c):
+ c.MPC5200_BOARD_BRS5L = True
+ c.BSP_GPIOPCR_INITMASK = "0xb30F0F77"
+ c.BSP_GPIOPCR_INITVAL = "0x91050444"
+ c.BSP_RESET_BOARD_AT_EXIT = True
+ c.BSP_UART_AVAIL_MASK = "0x07"
+
+
+class brs6l(gen5200_shared):
+ name = "powerpc/brs6l"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/gen5200/startup/linkcmds.brs6l', 'src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base']
+
+ def header(self, c):
+ c.MPC5200_BOARD_BRS6L = True
+
+
+class gen83xx_shared(Base):
+ def header(self, c):
+ c.BSP_CONSOLE_BAUD = 9600
+ c.GEN83XX_ENABLE_INTERRUPT_NESTING = Default
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=603e', '-meabi', '-msdata', '-fno-common', '-mstrict-align']
+ # XXX: These extra linkcmds need to move below.
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.hsc_cm01',
+ 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base',
+ 'src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx',
+ 'src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc8349eamds',
+ 'src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc8313erdb']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o', '${RTEMS}/start.o']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+ c.LINK_LINK = ['-u', '__vectors']
+
+
+
+class br_uid(gen83xx_shared):
+ name = "powerpc/br_uid"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.br_uid', 'src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.MPC83XX_BOARD_BR_UID = True
+ c.MPC83XX_NETWORK_INTERFACE_0_PHY_ADDR = "-1"
+ c.MPC83XX_CHIP_TYPE = 8309
+ c.MPC83XX_HAS_NAND_LP_FLASH_ON_CS0 = True
+
+
+class mpc8349eamds(gen83xx_shared):
+ name = "powerpc/mpc8349eamds"
+
+ def header(self, c):
+ c.BSP_USE_UART2 = True
+ c.HAS_UBOOT = True
+ c.MPC8349 = True
+ c.MPC8349EAMDS = True
+
+
+
+class mpc8313erdb(gen83xx_shared):
+ name = "powerpc/mpc8313erdb"
+
+ def header(self, c):
+ c.BSP_CONSOLE_BAUD = 115200
+ c.BSP_USE_UART2 = True
+ c.BSP_USE_UART_INTERRUPTS = Default
+ c.HAS_UBOOT = True
+ c.MPC8313ERDB = True
+ c.MPC8349 = True
+
+
+
+class hsc_cm01(gen83xx_shared):
+ name = "powerpc/hsc_cm01"
+
+ def header(self, c):
+ c.BSP_USE_UART2 = True
+ c.HSC_CM01 = True
+ c.MPC8349 = True
+ c.MPC83XX_BOARD_HSC_CM01 = Default
+
+
+class mpc8309som(gen83xx_shared):
+ name = "powerpc/mpc8309som"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc8309som', 'src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.MPC83XX_BOARD_MPC8309SOM = True
+ c.MPC83XX_NETWORK_INTERFACE_0_PHY_ADDR = "0x11"
+ c.MPC83XX_CHIP_TYPE = 8309
+ c.HAS_UBOOT = True
+
+
+
+class haleakala(Base):
+ name = "powerpc/haleakala"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=405', '-Dppc405']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/haleakala/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+ c.LINK_LINK = ['-u', '__vectors', '-u', 'download_entry']
+
+ def header(self, c):
+ c.PPC_USE_SPRG = Default
+ c.PPC_VECTOR_FILE_BASE = Default
+
+
+class mbx8xx_shared(Base):
+ def header(self, c):
+ c.CONSOLE_MINOR = "SMC2_MINOR"
+ c.DISPATCH_HANDLER_STAT = True
+ c.EPPCBUG_SMC1 = Default
+ c.EPPCBUG_VECTORS = Default
+ c.NVRAM_CONFIGURE = Default
+ c.PRINTK_IO_MODE = Default
+ c.PRINTK_MINOR = "SMC2_MINOR"
+ c.UARTS_IO_MODE = Default
+ c.UARTS_USE_TERMIOS = Default
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/mbx8xx/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '-e', 'start']
+ c.LINK_END = ['ecrtn.o']
+ c.LINK_LINK = ['-u', '__vectors']
+
+
+class mbx860_005b(mbx8xx_shared):
+ name = "powerpc/mbx860_005b"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=860', '-Dmpc860', '-Dmbx860_005b', '-meabi', '-msdata', '-fno-common']
+
+ def header(self, c):
+ c.CONSOLE_MINOR = "SMC1_MINOR"
+ c.EPPCBUG_SMC1 = Default
+ c.EPPCBUG_VECTORS = Default
+ c.NVRAM_CONFIGURE = False
+ c.PRINTK_MINOR = "SMC1_MINOR"
+ c.UARTS_USE_TERMIOS = True
+
+
+
+class mbx821_002(mbx8xx_shared):
+ name = "powerpc/mbx821_002"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=821', '-Dmpc821', '-Dmbx821_002', '-meabi', '-msdata', '-fno-common']
+
+
+class mbx821_001(mbx8xx_shared):
+ name = "powerpc/mbx821_001"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=821', '-Dmpc821', '-Dmbx821_001', '-meabi', '-msdata', '-fno-common']
+
+
+class mbx860_1b(mbx8xx_shared):
+ name = "powerpc/mbx860_1b"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=860', '-Dmpc860', '-Dmbx860_001b', '-meabi', '-msdata', '-fno-common']
+
+
+class mbx860_002(mbx8xx_shared):
+ name = "powerpc/mbx860_002"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=860', '-Dmpc860', '-Dmbx860_002', '-meabi', '-msdata', '-fno-common']
+
+
+class mbx821_002b(mbx8xx_shared):
+ name = "powerpc/mbx821_002b"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=821', '-Dmpc821', '-Dmbx821_002b', '-meabi', '-msdata', '-fno-common']
+
+
+class mbx860_001b(mbx8xx_shared):
+ name = "powerpc/mbx860_001b"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=860', '-Dmpc860', '-Dmbx860_001b', '-meabi', '-msdata', '-fno-common']
+
+
+class motorola_powerpc_shared(Base):
+ def header(self, c):
+ c.CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK = Default
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/shared/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o', '${RTEMS}/vectors_entry.o', '${RTEMS}/start.o', '-e', '__rtems_entry_point', '-u', '__vectors']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+ c.LINK_LINK = ['-Bstatic']
+
+
+class mvme2307(motorola_powerpc_shared):
+ name = "powerpc/mvme2307"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=604', '-mmultiple', '-mstring', '-mstrict-align', '-meabi']
+
+ def header(self, c):
+ c.mpc8240 = True
+
+class mvme2100(motorola_powerpc_shared):
+ name = "powerpc/mvme2100"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=603e', '-Dppc603e']
+
+ def header(self, c):
+ c.mvme2100 = True
+
+
+
+class mtx603e(motorola_powerpc_shared):
+ name = "powerpc/mtx603e"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=603e', '-Dppc603e']
+
+
+class mcp750(motorola_powerpc_shared):
+ name = "powerpc/mcp750"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=750', '-Dmpc750']
+
+
+class qemuprep(motorola_powerpc_shared):
+ name = "powerpc/qemuprep"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=powerpc', '-mmultiple', '-mstring', '-mstrict-align', '-D__ppc_generic']
+
+ def header(self, c):
+ c.qemu = True
+
+
+class qemuprep_altivec(motorola_powerpc_shared):
+ name = "powerpc/qemuprep-altivec"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=7400', '-mmultiple', '-mstring', '-mstrict-align', '-D__ppc_generic']
+
+ def header(self, c):
+ c.qemu = True
+
+
+class mpc55xxevb_shared(Base):
+ def header(self, c):
+ c.MPC55XX_BOOTFLAGS = Default
+ c.MPC55XX_CHIP_TYPE = 5554
+ c.MPC55XX_CHIP_FAMILY = Default
+ c.MPC55XX_CLOCK_EMIOS_CHANNEL = "(MPC55XX_EMIOS_CHANNEL_NUMBER-1)"
+ c.MPC55XX_EMIOS_PRESCALER = Default
+ c.MPC55XX_ESCI_CONSOLE_MINOR = Default
+ c.MPC55XX_ESCI_USE_INTERRUPTS = Default
+ c.MPC55XX_FMPLL_CLK_OUT = 128000000
+ c.MPC55XX_FMPLL_MFD = 12
+ c.MPC55XX_FMPLL_PREDIV = Default
+ c.MPC55XX_FMPLL_REF_CLOCK = 8000000
+ c.SMSC9218I_EDMA_RX_CHANNEL = Default
+ c.SMSC9218I_EDMA_TX_CHANNEL = Default
+ c.SMSC9218I_BIG_ENDIAN_SUPPORT = Default
+ c.SMSC9218I_ENABLE_LED_OUTPUTS = Default
+ c.SMSC9218I_RESET_PIN = Default
+ c.SMSC9218I_IRQ_PIN = Default
+ c.MPC55XX_SYSTEM_CLOCK_DIVIDER = Default
+ c.MPC55XX_FMPLL_ESYNCR1_CLKCFG = Default
+ c.MPC55XX_CONSOLE_MINOR = Default
+ c.BSP_DEFAULT_BAUD_RATE = Default
+ c.MPC55XX_EARLY_STACK_SIZE = Default
+ c.MPC55XX_REFERENCE_CLOCK = Default
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=8540', '-meabi', '-msdata', '-fno-common', '-msoft-float', '-D__ppc_generic', '-mstrict-align']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o', '${RTEMS}/start.o']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+
+
+class gwlcfm(mpc55xxevb_shared):
+ name = "powerpc/gwlcfm"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.MPC55XX_BOARD_GWLCFM = True
+ c.MPC55XX_CHIP_TYPE = 5516
+ c.MPC55XX_EMIOS_PRESCALER = 66
+ c.MPC55XX_FMPLL_CLK_OUT = 66000000
+ c.MPC55XX_FMPLL_MFD = 99
+ c.MPC55XX_FMPLL_PREDIV = 10
+ c.MPC55XX_FMPLL_REF_CLOCK = 40000000
+ c.RTEMS_BSP_I2C_EEPROM_DEVICE_NAME = "'\"eeprom\"'"
+ c.RTEMS_BSP_I2C_EEPROM_DEVICE_PATH = "'\"/dev/i2c1.eeprom\"'"
+ c.MPC55XX_REFERENCE_CLOCK = 40000000
+ c.MPC55XX_SYSTEM_CLOCK = 66000000
+
+
+class mpc5566evb(mpc55xxevb_shared):
+ name = "powerpc/mpc5566evb"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx']
+
+ def header(self, c):
+ c.MPC55XX_BOARD_MPC5566EVB = True
+ c.MPC55XX_CHIP_TYPE = 5566
+ c.MPC55XX_REFERENCE_CLOCK = 40000000
+ c.MPC55XX_SYSTEM_CLOCK = Default
+ c.MPC55XX_REFERENCE_CLOCK = 40000000
+
+class mpc5566evb_spe(mpc55xxevb_shared):
+ name = "powerpc/mpc5566evb_spe"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb_spe', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx']
+
+ def header(self, c):
+ c.BSP_INTERRUPT_HANDLER_TABLE_SIZE = 127
+ c.MPC55XX_NULL_POINTER_PROTECTION = True
+ c.MPC55XX_CHIP_TYPE = 5566
+ c.MPC55XX_BOARD_MPC5566EVB = True
+ c.MPC55XX_REFERENCE_CLOCK = 40000000
+
+
+class mpc5643l_dpu(mpc55xxevb_shared):
+ name = "powerpc/mpc5643l_dpu"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5643l_dpu', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5643l_evb', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx']
+
+ def header(self, c):
+ c.BSP_INTERRUPT_HANDLER_TABLE_SIZE = 127
+ c.MPC55XX_REFERENCE_CLOCK = 40000000
+ c.MPC55XX_EMIOS_PRESCALER = Disable
+ c.MPC55XX_CLOCK_EMIOS_CHANNEL = Disable
+ c.MPC55XX_CLOCK_PIT_CHANNEL = 3
+ c.MPC55XX_CHIP_TYPE = 5643
+ c.BSP_DATA_CACHE_ENABLED = False
+
+class mpc5643l_evb(mpc55xxevb_shared):
+ name = "powerpc/mpc5643l_evb"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5643l_evb', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx']
+
+ def header(self, c):
+ c.BSP_INTERRUPT_HANDLER_TABLE_SIZE = 127
+ c.MPC55XX_REFERENCE_CLOCK = 40000000
+ c.MPC55XX_EMIOS_PRESCALER = Disable
+ c.MPC55XX_CLOCK_EMIOS_CHANNEL = Disable
+ c.MPC55XX_CLOCK_PIT_CHANNEL = 3
+ c.MPC55XX_CHIP_TYPE = 5643
+ c.BSP_DATA_CACHE_ENABLED = False
+
+
+class mpc5674f_ecu508_app(mpc55xxevb_shared):
+ name = "powerpc/mpc5674f_ecu508_app"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_app', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx']
+
+ def header(self, c):
+ c.BSP_INTERRUPT_HANDLER_TABLE_SIZE = 255
+ c.MPC55XX_CHIP_TYPE = 5674
+ c.MPC55XX_CLOCK_EMIOS_CHANNEL = "31"
+ c.MPC55XX_FMPLL_MFD = 66
+ c.MPC55XX_FMPLL_PREDIV = 5
+ c.MPC55XX_NULL_POINTER_PROTECTION = True
+ c.MPC55XX_REFERENCE_CLOCK = 40000000
+ c.MPC55XX_SYSTEM_CLOCK = 264000000
+ c.MPC55XX_SYSTEM_CLOCK_DIVIDER = 2
+ c.MPC55XX_NEEDS_LOW_LEVEL_INIT = Default
+ c.BSP_DATA_CACHE_USE_WRITE_THROUGH = True
+ c.MPC55XX_BOARD_MPC5674F_ECU508 = True
+ c.MPC55XX_CONSOLE_MINOR = 2
+ c.SMSC9218I_BIG_ENDIAN_SUPPORT = True
+ c.SMSC9218I_ENABLE_LED_OUTPUTS = True
+ c.SMSC9218I_IRQ_PIN = 450
+ c.SMSC9218I_RESET_PIN = 433
+
+
+class mpc5674f_ecu508_boot(mpc55xxevb_shared):
+ name = "powerpc/mpc5674f_ecu508_boot"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_boot', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx']
+
+ def header(self, c):
+ c.BSP_INTERRUPT_HANDLER_TABLE_SIZE = 255
+ c.MPC55XX_CHIP_TYPE = 5674
+ c.MPC55XX_CLOCK_EMIOS_CHANNEL = "31"
+ c.MPC55XX_FMPLL_MFD = 66
+ c.MPC55XX_FMPLL_PREDIV = 5
+ c.MPC55XX_NULL_POINTER_PROTECTION = True
+ c.MPC55XX_REFERENCE_CLOCK = 40000000
+ c.MPC55XX_SYSTEM_CLOCK = 264000000
+ c.MPC55XX_SYSTEM_CLOCK_DIVIDER = 2
+ c.BSP_DATA_CACHE_USE_WRITE_THROUGH = True
+ c.MPC55XX_BOARD_MPC5674F_ECU508 = True
+ c.MPC55XX_CONSOLE_MINOR = 2
+ c.SMSC9218I_BIG_ENDIAN_SUPPORT = True
+ c.SMSC9218I_ENABLE_LED_OUTPUTS = True
+ c.SMSC9218I_IRQ_PIN = 450
+ c.SMSC9218I_RESET_PIN = 433
+
+
+
+class mpc5674f_rsm6(mpc55xxevb_shared):
+ name = "powerpc/mpc5674f_rsm6"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_base', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx']
+
+ def header(self, c):
+ c.BSP_INTERRUPT_HANDLER_TABLE_SIZE = 255
+ c.MPC55XX_CHIP_TYPE = 5674
+ c.MPC55XX_CLOCK_EMIOS_CHANNEL = "31"
+ c.MPC55XX_FMPLL_MFD = 66
+ c.MPC55XX_FMPLL_PREDIV = 5
+ c.MPC55XX_NULL_POINTER_PROTECTION = True
+ c.MPC55XX_REFERENCE_CLOCK = 40000000
+ c.MPC55XX_SYSTEM_CLOCK = 264000000
+ c.MPC55XX_SYSTEM_CLOCK_DIVIDER = 2
+ c.MPC55XX_BOARD_MPC5674F_RSM6 = True
+ c.MPC55XX_ENABLE_START_PROLOGUE = True
+ c.MPC55XX_FMPLL_ESYNCR1_CLKCFG = 6
+
+
+
+class mpc5674fevb(mpc55xxevb_shared):
+ name = "powerpc/mpc5674fevb"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx']
+
+ def header(self, c):
+ c.BSP_INTERRUPT_HANDLER_TABLE_SIZE = 255
+ c.MPC55XX_CHIP_TYPE = 5674
+ c.MPC55XX_CLOCK_EMIOS_CHANNEL = "31"
+ c.MPC55XX_FMPLL_MFD = 66
+ c.MPC55XX_FMPLL_PREDIV = 5
+ c.MPC55XX_NULL_POINTER_PROTECTION = True
+ c.MPC55XX_REFERENCE_CLOCK = 40000000
+ c.MPC55XX_SYSTEM_CLOCK = 264000000
+ c.MPC55XX_SYSTEM_CLOCK_DIVIDER = 2
+ c.MPC55XX_BOARD_MPC5674FEVB = True
+
+
+class mpc5674fevb_spe(mpc55xxevb_shared):
+ name = "powerpc/mpc5674fevb_spe"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb_spe', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx']
+
+ def header(self, c):
+ c.BSP_INTERRUPT_HANDLER_TABLE_SIZE = 255
+ c.MPC55XX_CHIP_TYPE = 5674
+ c.MPC55XX_CLOCK_EMIOS_CHANNEL = "31"
+ c.MPC55XX_FMPLL_MFD = 66
+ c.MPC55XX_FMPLL_PREDIV = 5
+ c.MPC55XX_NULL_POINTER_PROTECTION = True
+ c.MPC55XX_REFERENCE_CLOCK = 40000000
+ c.MPC55XX_SYSTEM_CLOCK = 264000000
+ c.MPC55XX_SYSTEM_CLOCK_DIVIDER = 2
+ c.MPC55XX_BOARD_MPC5674FEVB = True
+
+
+
+class phycore_mpc5554(mpc55xxevb_shared):
+ name = "powerpc/phycore_mpc5554"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc5554', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base', 'src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx']
+
+ def header(self, c):
+ c.HAS_SMC91111 = True
+ c.SMC91111_ENADDR_IS_SETUP = True
+ c.MPC55XX_BOARD_PHYCORE_MPC5554 = True
+
+
+
+class mpc8260ads(Base):
+ name = "powerpc/mpc8260ads"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=603e', '-mstrict-align', '-Dmpc8260', '-meabi', '-msdata', '-fno-common']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/mpc8260ads/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/start.o', '-e', 'start', '-u', '__vectors']
+ c.LINK_END = ['ecrtn.o']
+
+ def header(self, c):
+ c.CONSOLE_MINOR = "SCC2_MINOR"
+ c.DISPATCH_HANDLER_STAT = True
+ c.PRINTK_MINOR = "SMC2_MINOR"
+ c.UARTS_IO_MODE = Default
+ c.UARTS_USE_TERMIOS = Default
+
+
+
+class mvme3100(Base):
+ name = "powerpc/mvme3100"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=powerpc', '-msoft-float', '-D__ppc_generic']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/shared/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o',
+ '-e', '__rtems_entry_point', '-u', '__vectors',
+ '${RTEMS}/preload.o', '${RTEMS}/vectors_entry.o', '${RTEMS}/start.o']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+ c.LINK_LINK = ['-Bstatic']
+
+ def header(self, c):
+ c.CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK = Default
+
+
+
+class mvme5500(Base):
+ name = "powerpc/mvme5500"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=7450', '-mtune=7450', '-Dmpc7455']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/shared/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o',
+ '-e', '__rtems_entry_point', '-u', '__vectors',
+ '${RTEMS}/preload.o', '${RTEMS}/start.o']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+ c.LINK_LINK = ['-Bstatic']
+ c.ENABLE_NETWORKING = False # broken VPD.h header
+
+ def header(self, c):
+ c.CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK = Default
+
+
+
+class psim(Base):
+ name = "powerpc/psim"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=603e', '-Dppc603e']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/psim/startup/linkcmds', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o',
+ '${RTEMS}/start.o', '-e', '_start', '-u', '__vectors']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+ c.LINK_LINK = ['-Bstatic']
+
+ def header(self, c):
+ c.CLOCK_DRIVER_USE_FAST_IDLE = True
+ c.CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK = Default
+ c.PPC_USE_SPRG = False
+ c.PPC_VECTOR_FILE_BASE = "0xFFF00100"
+
+
+
+class qemuppc(Base):
+ name = "powerpc/qemuppc"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=603e', '-Dppc603e']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/qemuppc/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o',
+ '${RTEMS}/start.o', '-e', '_start', '-u', '__vectors']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+ c.LINK_LINK = ['-Bstatic']
+
+
+
+class qoriq_shared(Base):
+ name = "powerpc/qoriq"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=8540', '-meabi', '-msdata', '-fno-common', '-mstrict-align', '-mspe', '-mabi=spe', '-mfloat-gprs=double', '-D__ppc_generic']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o', '${RTEMS}/start.o']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+ c.LINK_LINK = ['-u', '__vectors']
+
+ def header(self, c):
+ c.BSP_CONSOLE_BAUD = 115200
+ c.BSP_DISABLE_UBOOT_WORK_AREA_CONFIG = Default
+ c.BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN = Default
+ c.BSP_USE_UART_INTERRUPTS = Default
+ c.HAS_UBOOT = True
+ c.QORIQ_CLOCK_TIMER = Default
+ c.QORIQ_ETSEC_1_PHY_ADDR = -1
+ c.QORIQ_ETSEC_2_PHY_ADDR = Default
+ c.QORIQ_ETSEC_3_PHY_ADDR = Default
+ c.QORIQ_INITIAL_MSR = Default
+ c.QORIQ_INITIAL_SPEFSCR = Default
+ c.QORIQ_INTERCOM_AREA_BEGIN = Default
+ c.QORIQ_INTERCOM_AREA_SIZE = Default
+ c.QORIQ_UART_0_ENABLE = Default
+ c.QORIQ_UART_1_ENABLE = Default
+ c.QORIQ_UART_BRIDGE_0_ENABLE = Default
+ c.QORIQ_UART_BRIDGE_1_ENABLE = Default
+ c.QORIQ_UART_BRIDGE_MASTER_CORE = Default
+ c.QORIQ_UART_BRIDGE_SLAVE_CORE = Default
+ c.QORIQ_UART_BRIDGE_TASK_PRIORITY = 250
+
+
+class qoriq_core_0(qoriq_shared):
+ name = "powerpc/qoriq_core_0"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_0', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.QORIQ_UART_0_ENABLE = True
+ c.QORIQ_UART_1_ENABLE = True
+ c.QORIQ_UART_BRIDGE_1_ENABLE = Default
+
+
+class qoriq_core_1(qoriq_shared):
+ name = "powerpc/qoriq_core_1"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_1', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.QORIQ_UART_BRIDGE_1_ENABLE = True
+ c.QORIQ_CLOCK_TIMER = 4
+
+
+class qoriq_p1020rdb(qoriq_shared):
+ name = "powerpc/qoriq_p1020rdb"
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_p1020rdb', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.QORIQ_UART_0_ENABLE = True
+ c.QORIQ_UART_1_ENABLE = True
+
+
+class score603e(Base):
+ name = "powerpc/score603e"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=603e', '-Dppc603e']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/score603e/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/start.o', '-e', '_start', '-u', '__vectors']
+ c.LINK_END = ['ecrtn.o']
+ c.LINK_LINK = ['-Bstatic']
+
+ def header(self, c):
+ c.CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK = Default
+ c.CONSOLE_USE_INTERRUPTS = Default
+ c.HAS_PMC_PSC8 = True
+ c.INITIALIZE_COM_PORTS = False
+ c.PPC_USE_SPRG = False
+ c.PPC_VECTOR_FILE_BASE = Default
+ c.SCORE603E_OPEN_FIRMWARE = Default
+ c.SCORE603E_USE_DINK = True
+ c.SCORE603E_USE_NONE = Default
+ c.SCORE603E_USE_SDS = Default
+
+
+
+class ss555(Base):
+ name = "powerpc/ss555"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=505', '-Dmpc555']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/ss555/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '-u', '__vectors', '-N', '-u', 'start', '-e', 'start']
+ c.LINK_END = ['ecrtn.o']
+
+ def header(self, c):
+ c.CONSOLE_MINOR = "SCI2_MINOR"
+ c.PRINTK_MINOR = "SCI2_MINOR"
+ c.UARTS_IO_MODE = Default
+ c.UARTS_USE_TERMIOS = Default
+ c.WATCHDOG_TIMEOUT = Default
+
+
+class t32mppc(Base):
+ name = "powerpc/t32mppc"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=8540', '-meabi', '-msdata', '-fno-common', '-msoft-float', '-D__ppc_generic']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/t32mppc/startup/linkcmds.t32mppc', 'src/lib/libbsp/powerpc/shared/startup/linkcmds.base']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o', '${RTEMS}/start.o']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+ c.LINK_LINK = ['-dc', '-dp', '-u', '__vectors', '-N']
+
+ def header(self, c):
+ c.BSP_INSTRUCTION_CACHE_ENABLED = True
+ c.BSP_DATA_CACHE_ENABLED = True
+
+
+
+class tqm8xx_shared(Base):
+ def header(self, c):
+ c.BSP_USE_NETWORK_FEC = Default
+ c.BSP_USE_NETWORK_SCC = True
+ c.CONSOLE_CHN = "CONS_CHN_SMC1"
+ c.CONS_SCC1_MODE = Default
+ c.CONS_SCC2_MODE = Default
+ c.CONS_SCC3_MODE = Default
+ c.CONS_SCC4_MODE = Default
+ c.CONS_SMC1_MODE = Default
+ c.CONS_SMC2_MODE = Default
+ c.PRINTK_CHN = "CONS_CHN_SMC1"
+ c.SPI_BOARD_INIT_FNC = Default
+ c.SPI_SEND_ADDR_FNC = Default
+ c.SPI_SEND_STOP_FNC = Default
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=860', '-Dmpc860', '-mstrict-align', '-fno-strict-aliasing',
+ '-meabi', '-msdata', '-fno-common']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.tqm8xx',
+ 'src/lib/libbsp/powerpc/tqm8xx/startup/linkcmds.base']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o',
+ '${RTEMS}/start.o', '-u', '__vectors']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+
+
+class pghplus(tqm8xx_shared):
+ name = "powerpc/pghplus"
+
+ def header(self, c):
+ c.BSP_USE_NETWORK_FEC = True
+ c.BSP_USE_NETWORK_SCC = Default
+ c.CONS_SMC1_MODE = "CONS_MODE_IRQ"
+ c.SPI_BOARD_INIT_FNC = "bsp_pghplus_spi_init"
+ c.SPI_SEND_ADDR_FNC = "bsp_pghplus_spi_sel_addr"
+ c.SPI_SEND_STOP_FNC = "bsp_pghplus_spi_send_stop"
+
+class tqm8xx_stk8xx(tqm8xx_shared):
+ name = "powerpc/tqm8xx_stk8xx"
+
+ def header(self, c):
+ c.CONS_SMC1_MODE = "CONS_MODE_POLLED"
+ c.CONS_SMC2_MODE = "CONS_MODE_POLLED"
+
+
+
+class virtex(Base):
+ name = "powerpc/virtex"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=403', '-Dppc405']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/virtex/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o', '-u', '__vectors', '-u', 'download_entry']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+
+ def header(self, c):
+ c.PPC_USE_SPRG = Default
+ c.PPC_VECTOR_FILE_BASE = Default
+ c.RTEMS_XPARAMETERS_H = Default
+ c.RTEMS_XPPC_BASE = Default
+
+
+class virtex4(Base):
+ name = "powerpc/virtex4"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=405', '-Dppc405']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/virtex4/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+ c.LINK_LINK = ['-dc', '-dp', '-Bstatic', '-u', '__vectors', '-u', 'download_entry', '-N']
+
+ def header(self, c):
+ c.PPC_USE_DATA_CACHE = True
+ c.PPC_USE_SPRG = True
+ c.PPC_VECTOR_FILE_BASE = "0x0100"
+
+
+class virtex5(Base):
+ name = "powerpc/virtex5"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=440', '-Dppc440', '-msoft-float']
+ c.LINKCMDS = ['src/lib/libbsp/powerpc/virtex5/startup/linkcmds']
+ c.LINK_START = ['ecrti.o', '${RTEMS}/rtems_crti.o', 'crtbegin.o']
+ c.LINK_END = ['crtend.o', 'ecrtn.o']
+ c.LINK_LINK = ['-dc', '-dp', '-Bstatic', '-u', '__vectors', '-u', 'download_entry', '-N']
+
+ def header(self, c):
+ c.PPC_USE_DATA_CACHE = True
+ c.PPC_USE_SPRG = True
+ c.PPC_VECTOR_FILE_BASE = "0x0100"
diff --git a/py/waf/defaults/bsp/sh.py b/py/waf/defaults/bsp/sh.py
new file mode 100644
index 0000000000..ad919404cb
--- /dev/null
+++ b/py/waf/defaults/bsp/sh.py
@@ -0,0 +1,87 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "sh"
+ conflicts=("clang",)
+
+ def build(self, c):
+ c.LINK_START = ['${RTEMS}/start.o', '-e', '_start']
+
+
+class gensh1(Base):
+ name = "sh/gensh1"
+
+ def build(self, c):
+ c.CFLAGS = ['-m1']
+ c.LINKCMDS = ['src/lib/libbsp/sh/gensh1/startup/linkcmds']
+
+ def header(self, c):
+ c.CPU_CLOCK_RATE_HZ = Default
+ c.START_HW_INIT = Default
+
+
+
+class gensh2(Base):
+ name = "sh/gensh2"
+
+ def build(self, c):
+ c.CFLAGS = ['-m2']
+ c.LINKCMDS = ['src/lib/libbsp/sh/gensh2/startup/linkcmds',
+ 'src/lib/libbsp/sh/gensh2/startup/linkcmds.ram',
+ 'src/lib/libbsp/sh/gensh2/startup/linkcmds.rom']
+
+ def header(self, c):
+ c.CPU_CLOCK_RATE_HZ = 29491200
+ c.STANDALONE_EVB = Default
+ c.START_HW_INIT = Default
+
+
+
+class gensh4(Base):
+ name = "sh/gensh4"
+
+ def build(self, c):
+ c.CFLAGS = ['-m4', '-ml']
+ c.LDFLAGS = ['-m4', '-ml']
+ c.LINKCMDS = ['src/lib/libbsp/sh/gensh4/startup/linkcmds',
+ 'src/lib/libbsp/sh/gensh4/startup/linkcmds.rom',
+ 'src/lib/libbsp/sh/gensh4/startup/linkcmds.rom2ram']
+ c.LINK_LINK = ['-EL']
+
+ def header(self, c):
+ c.CPU_CLOCK_RATE_HZ = 29491200
+ c.START_HW_INIT = Default
+
+
+class shsim_shared(Base):
+ def header(self, c):
+ c.CPU_CLOCK_RATE_HZ = Default
+ c.START_HW_INIT = Default
+
+ def build(self, c):
+ c.CFLAGS = ['-m1']
+ c.LINKCMDS = ['src/lib/libbsp/sh/shsim/startup/linkcmds',
+ 'src/lib/libbsp/sh/shsim/startup/linkcmds.sim']
+
+
+class simsh1(shsim_shared):
+ name = "sh/simsh1"
+
+ def build(self, c):
+ c.CFLAGS = ['-m1']
+
+
+class simsh2(shsim_shared):
+ name = "sh/simsh2"
+
+ def build(self, c):
+ c.CFLAGS = ['-m2']
+
+
+class simsh4(shsim_shared):
+ name = "sh/simsh4"
+
+
+
+class simsh2e(shsim_shared):
+ name = "sh/simsh2e"
diff --git a/py/waf/defaults/bsp/sparc.py b/py/waf/defaults/bsp/sparc.py
new file mode 100644
index 0000000000..3d24fd70c9
--- /dev/null
+++ b/py/waf/defaults/bsp/sparc.py
@@ -0,0 +1,62 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "sparc"
+ conflicts=("clang",)
+
+ def build(self, c):
+ c.LINK_START = ['${RTEMS}/start.o', 'crti.o', 'crtbegin.o']
+ c.LINK_END = ['crtend.o', 'crtn.o']
+
+
+
+class erc32_shared(Base):
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=cypress']
+ c.LINKCMDS = ['src/lib/libbsp/sparc/erc32/startup/linkcmds',
+ 'src/lib/libbsp/sparc/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.CONSOLE_USE_INTERRUPTS = False
+ c.ENABLE_SIS_QUIRKS = Default
+ c.SIMSPARC_FAST_IDLE = Default
+
+
+
+class erc32(erc32_shared):
+ name = "sparc/erc32"
+
+
+class sis(erc32_shared):
+ name = "sparc/sis"
+
+ def header(self, c):
+ c.ENABLE_SIS_QUIRKS = True
+
+
+
+class leon2(Base):
+ name = "sparc/leon2"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=cypress']
+ c.LINKCMDS = ['src/lib/libbsp/sparc/leon2/startup/linkcmds',
+ 'src/lib/libbsp/sparc/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.CONSOLE_USE_INTERRUPTS = False
+ c.SIMSPARC_FAST_IDLE = Default
+
+
+class leon3(Base):
+ name = "sparc/leon3"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=cypress']
+ c.LINKCMDS = ['src/lib/libbsp/sparc/leon3/startup/linkcmds.leon3',
+ 'src/lib/libbsp/sparc/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.BSP_LEON3_SMP = Default
+ c.CONSOLE_USE_INTERRUPTS = False
+ c.SIMSPARC_FAST_IDLE = Default
diff --git a/py/waf/defaults/bsp/sparc64.py b/py/waf/defaults/bsp/sparc64.py
new file mode 100644
index 0000000000..73003200fb
--- /dev/null
+++ b/py/waf/defaults/bsp/sparc64.py
@@ -0,0 +1,27 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "sparc64"
+ conflicts=("clang",)
+
+ def build(self, c):
+ c.LINKCMDS = ['src/lib/libbsp/sparc64/shared/startup/linkcmds']
+ c.LINK_START = ['${RTEMS}/start.o', 'crtbegin.o', '-e', '_start']
+ c.LINK_END = ['crtend.o']
+
+
+class niagara(Base):
+ name = "sparc64/niagara"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=niagara', '-DSUN4V']
+
+
+class usiii(Base):
+ name = "sparc64/usiii"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=ultrasparc3', '-DUS3', '-DSUN4U']
+
+ def header(self, c):
+ c.SIMSPARC_FAST_IDLE = Default
diff --git a/py/waf/defaults/bsp/v850.py b/py/waf/defaults/bsp/v850.py
new file mode 100644
index 0000000000..8d1a22da31
--- /dev/null
+++ b/py/waf/defaults/bsp/v850.py
@@ -0,0 +1,70 @@
+from rtems_waf.config import Default, Config
+
+class Base(Config):
+ arch = name = "v850"
+ conflicts=("clang",)
+
+
+
+class v850_shared(Base):
+ def build(self, c):
+ c.CFLAGS = ['-mtune=i386']
+# c.LDFLAGS = ['-Wl,-Ttext,0x00100000']
+ c.LINKCMDS = ['src/lib/libbsp/v850/gdbv850sim/startup/linkcmds']
+ c.LINK_START = ['${RTEMS}/start.o', '-e', 'start']
+# c.LINK_END = ['crtend.o', 'crtn.o']
+# c.ENABLE_NETWORKING = True
+
+# def header(self, c):
+# c.BSP_HAS_SMP = Default
+# c.BSP_VIDEO_80x50 = Default
+# c.CLOCK_DRIVER_USE_8254 = Default
+# c.CLOCK_DRIVER_USE_TSC = Default
+# c.IDE_USE_PRIMARY_INTERFACE = Default
+# c.IDE_USE_SECONDARY_INTERFACE = Default
+# c.USE_COM1_AS_CONSOLE = Default
+# c.BSP_PRESS_KEY_FOR_RESET = True
+
+
+class v850e1sim(v850_shared):
+ name = "v850/v850e1sim"
+
+ def build(self, c):
+ c.CFLAGS = ["-mv850e1",]
+
+
+class v850e2sim(v850_shared):
+ name = "v850/v850e2sim"
+
+ def build(self, c):
+ c.CFLAGS = ["-mv850e2",]
+
+
+class v850e2v3sim(v850_shared):
+ name = "v850/v850e2v3sim"
+
+ def build(self, c):
+ c.CFLAGS = ["-mv850e2v3",]
+
+
+class v850esim(v850_shared):
+ name = "v850/v850esim"
+
+ def build(self, c):
+ c.CFLAGS = ["-mv850e",]
+
+
+class v850essim(v850_shared):
+ name = "v850/v850essim"
+
+ def build(self, c):
+ c.CFLAGS = ["-mv850es",]
+
+
+class v850sim(v850_shared):
+ name = "v850/v850sim"
+
+ def build(self, c):
+ c.CFLAGS = ["-mv850",]
+
+