diff options
Diffstat (limited to '')
19 files changed, 510 insertions, 0 deletions
diff --git a/spec/build/bsps/powerpc/motorola_powerpc/abi.yml b/spec/build/bsps/powerpc/motorola_powerpc/abi.yml new file mode 100644 index 0000000000..f3e4613658 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/abi.yml @@ -0,0 +1,43 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-string: null +- split: null +- env-append: null +build-type: option +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default: +- -mcpu=603e +default-by-variant: +- value: + - -mcpu=7400 + - -mmultiple + - -mstring + - -mstrict-align + variants: + - powerpc/qemuprep-altivec +- value: + - -mcpu=powerpc + - -mmultiple + - -mstring + - -mstrict-align + variants: + - powerpc/qemuprep +- value: + - -mcpu=604 + - -mmultiple + - -mstring + - -mstrict-align + - -meabi + variants: + - powerpc/mvme2307 +- value: + - -mcpu=750 + variants: + - powerpc/mcp750 +description: | + ABI flags +enabled-by: true +links: [] +name: ABI_FLAGS +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/boot.yml b/spec/build/bsps/powerpc/motorola_powerpc/boot.yml new file mode 100644 index 0000000000..3f7a9e3dc8 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/boot.yml @@ -0,0 +1,49 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: script +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +do-build: | + def cc(self, bld, bic, flags, source): + root, ext = os.path.splitext(source) + target = root + ".o" + bld( + features="asm c", + includes=bic.includes, + rule="${CC} " + flags + " ${CPPFLAGS} ${DEFINES_ST:DEFINES} ${CPPPATH_ST:INCPATHS} -c ${SRC} -o ${TGT}", + source=source, + target=target, + ) + return target + flags = "-D__BOOT__ -mrelocatable" + for f in bld.env.ABI_FLAGS: + if f != "-meabi": + flags += " " + f + asmflags = "-DASM " + flags + cflags = "-msoft-float -mstrict-align -fno-builtin -Wall -mmultiple -mstring -O2 -fomit-frame-pointer -ffixed-r13 -mno-sdata " + flags + source = [] + source.append(cc(self, bld, bic, asmflags, "bsps/powerpc/motorola_powerpc/bootloader/head.S")) + source.append(cc(self, bld, bic, asmflags, "bsps/powerpc/motorola_powerpc/bootloader/exception.S")) + source.append(cc(self, bld, bic, asmflags, "bsps/powerpc/motorola_powerpc/bootloader/em86real.S")) + source.append(cc(self, bld, bic, cflags, "bsps/powerpc/motorola_powerpc/bootloader/misc.c")) + source.append(cc(self, bld, bic, cflags, "bsps/powerpc/motorola_powerpc/bootloader/pci.c")) + source.append(cc(self, bld, bic, cflags, "bsps/powerpc/motorola_powerpc/bootloader/zlib.c")) + source.append(cc(self, bld, bic, cflags, "bsps/powerpc/motorola_powerpc/bootloader/mm.c")) + source.append(cc(self, bld, bic, cflags, "bsps/powerpc/motorola_powerpc/bootloader/em86.c")) + source.append(cc(self, bld, bic, cflags, "bsps/powerpc/motorola_powerpc/console/polled_io.c")) + source.append(cc(self, bld, bic, cflags, "bsps/powerpc/motorola_powerpc/bootloader/lib.c")) + target = "bootloader.o" + bld( + rule="${LD} -o ${TGT} -r ${SRC}", + source=source, + target=target, + ) + bld.install_files( + "${BSP_LIBDIR}", + [target, "bsps/powerpc/motorola_powerpc/bootloader/ppcboot.lds"], + ) +do-configure: null +enabled-by: true +links: [] +prepare-build: null +prepare-configure: null +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/bspmcp750.yml b/spec/build/bsps/powerpc/motorola_powerpc/bspmcp750.yml new file mode 100644 index 0000000000..274c418212 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/bspmcp750.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +arch: powerpc +bsp: mcp750 +build-type: bsp +cflags: [] +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +enabled-by: true +family: motorola_powerpc +includes: [] +install: [] +links: +- role: build-dependency + uid: ../../opto2 +- role: build-dependency + uid: grp +source: [] +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/bspmtx603e.yml b/spec/build/bsps/powerpc/motorola_powerpc/bspmtx603e.yml new file mode 100644 index 0000000000..5564ae1d9f --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/bspmtx603e.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +arch: powerpc +bsp: mtx603e +build-type: bsp +cflags: [] +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +enabled-by: true +family: motorola_powerpc +includes: [] +install: [] +links: +- role: build-dependency + uid: ../../opto2 +- role: build-dependency + uid: grp +source: [] +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/bspmvme2100.yml b/spec/build/bsps/powerpc/motorola_powerpc/bspmvme2100.yml new file mode 100644 index 0000000000..46bdc8933f --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/bspmvme2100.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +arch: powerpc +bsp: mvme2100 +build-type: bsp +cflags: [] +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +enabled-by: true +family: motorola_powerpc +includes: [] +install: [] +links: +- role: build-dependency + uid: ../../opto2 +- role: build-dependency + uid: grp +source: [] +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/bspmvme2307.yml b/spec/build/bsps/powerpc/motorola_powerpc/bspmvme2307.yml new file mode 100644 index 0000000000..8abf0d8afa --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/bspmvme2307.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +arch: powerpc +bsp: mvme2307 +build-type: bsp +cflags: [] +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +enabled-by: true +family: motorola_powerpc +includes: [] +install: [] +links: +- role: build-dependency + uid: ../../opto2 +- role: build-dependency + uid: grp +source: [] +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/bspqemu.yml b/spec/build/bsps/powerpc/motorola_powerpc/bspqemu.yml new file mode 100644 index 0000000000..eacdc84750 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/bspqemu.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +arch: powerpc +bsp: qemuprep-altivec +build-type: bsp +cflags: [] +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +enabled-by: true +family: motorola_powerpc +includes: [] +install: [] +links: +- role: build-dependency + uid: ../../opto2 +- role: build-dependency + uid: grp +source: [] +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/bspqemualtivec.yml b/spec/build/bsps/powerpc/motorola_powerpc/bspqemualtivec.yml new file mode 100644 index 0000000000..eacdc84750 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/bspqemualtivec.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +arch: powerpc +bsp: qemuprep-altivec +build-type: bsp +cflags: [] +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +enabled-by: true +family: motorola_powerpc +includes: [] +install: [] +links: +- role: build-dependency + uid: ../../opto2 +- role: build-dependency + uid: grp +source: [] +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/grp.yml b/spec/build/bsps/powerpc/motorola_powerpc/grp.yml new file mode 100644 index 0000000000..5b84b81fe5 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/grp.yml @@ -0,0 +1,58 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: group +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +includes: [] +install: [] +ldflags: [] +links: +- role: build-dependency + uid: ../../obj +- role: build-dependency + uid: ../../objirqdflt +- role: build-dependency + uid: ../crti +- role: build-dependency + uid: ../crtn +- role: build-dependency + uid: ../grp +- role: build-dependency + uid: abi +- role: build-dependency + uid: obj +- role: build-dependency + uid: objqemunet +- role: build-dependency + uid: optmpc603e +- role: build-dependency + uid: optmpc750 +- role: build-dependency + uid: optmpc8240 +- role: build-dependency + uid: optmvme2100 +- role: build-dependency + uid: optppcgeneric +- role: build-dependency + uid: optqemu +- role: build-dependency + uid: optsbrk +- role: build-dependency + uid: boot +- role: build-dependency + uid: qemufakerom +- role: build-dependency + uid: ../obj +- role: build-dependency + uid: ../objexc +- role: build-dependency + uid: ../objvme +- role: build-dependency + uid: ../start +- role: build-dependency + uid: ../vecentry +- role: build-dependency + uid: ../../bspopts +type: build +use-after: [] +use-before: [] diff --git a/spec/build/bsps/powerpc/motorola_powerpc/obj.yml b/spec/build/bsps/powerpc/motorola_powerpc/obj.yml new file mode 100644 index 0000000000..07ee6fa721 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/obj.yml @@ -0,0 +1,61 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: objects +cflags: [] +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: true +includes: [] +install: +- destination: ${BSP_INCLUDEDIR} + source: + - bsps/powerpc/motorola_powerpc/include/bsp.h + - bsps/powerpc/motorola_powerpc/include/tm27.h +- destination: ${BSP_INCLUDEDIR}/bsp + source: + - bsps/powerpc/motorola_powerpc/include/bsp/VMEConfig.h + - bsps/powerpc/motorola_powerpc/include/bsp/irq.h +- destination: ${BSP_LIBDIR} + source: + - bsps/powerpc/motorola_powerpc/start/linkcmds + - bsps/powerpc/shared/start/linkcmds.share +links: [] +source: +- bsps/powerpc/motorola_powerpc/console/polled_io.c +- bsps/powerpc/motorola_powerpc/start/bspreset.c +- bsps/powerpc/motorola_powerpc/start/bspstart.c +- bsps/powerpc/motorola_powerpc/start/motorola.c +- bsps/powerpc/motorola_powerpc/start/residual.c +- bsps/powerpc/shared/altivec/vec_sup.c +- bsps/powerpc/shared/altivec/vec_sup_asm.S +- bsps/powerpc/shared/btimer/btimer-ppc-dec.c +- bsps/powerpc/shared/cache/cache.c +- bsps/powerpc/shared/clock/clock-ppc-dec.c +- bsps/powerpc/shared/clock/p_clock.c +- bsps/powerpc/shared/console/console.c +- bsps/powerpc/shared/console/uart.c +- bsps/powerpc/shared/irq/i8259.c +- bsps/powerpc/shared/irq/irq_init.c +- bsps/powerpc/shared/irq/openpic.c +- bsps/powerpc/shared/irq/openpic_i8259_irq.c +- bsps/powerpc/shared/irq/ppc-irq-legacy.c +- bsps/powerpc/shared/mmu/bat.c +- bsps/powerpc/shared/mmu/mmuAsm.S +- bsps/powerpc/shared/mmu/pte121.c +- bsps/powerpc/shared/pci/detect_raven_bridge.c +- bsps/powerpc/shared/pci/generic_clear_hberrs.c +- bsps/powerpc/shared/pci/pci.c +- bsps/powerpc/shared/pci/pcifinddevice.c +- bsps/powerpc/shared/rtc/todcfg.c +- bsps/powerpc/shared/start/bspgetworkarea.c +- bsps/powerpc/shared/start/pgtbl_activate.c +- bsps/powerpc/shared/start/pgtbl_setup.c +- bsps/powerpc/shared/start/ppc_idle.c +- bsps/powerpc/shared/start/sbrk.c +- bsps/powerpc/shared/start/showbats.c +- bsps/powerpc/shared/start/zerobss.c +- bsps/shared/dev/getentropy/getentropy-cpucounter.c +- bsps/shared/dev/rtc/rtc-support.c +- bsps/shared/start/bspfatal-default.c +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/objqemunet.yml b/spec/build/bsps/powerpc/motorola_powerpc/objqemunet.yml new file mode 100644 index 0000000000..f3cd85b6b9 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/objqemunet.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: objects +cflags: [] +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +cppflags: [] +cxxflags: [] +enabled-by: +- and: + - qemuprep + - RTEMS_NETWORKING +includes: +- cpukit/libnetworking +install: [] +links: [] +source: +- bsps/i386/pc386/net/ne2000.c +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/optmpc603e.yml b/spec/build/bsps/powerpc/motorola_powerpc/optmpc603e.yml new file mode 100644 index 0000000000..509f6c9c8a --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/optmpc603e.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-boolean: null +- define-condition: null +build-type: option +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default: false +default-by-variant: +- value: true + variants: + - powerpc/mtx603e +- value: true + variants: + - powerpc/mvme2100 +description: | + Define when ppc603e -- undefined for others +enabled-by: true +links: [] +name: mpc603e +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/optmpc750.yml b/spec/build/bsps/powerpc/motorola_powerpc/optmpc750.yml new file mode 100644 index 0000000000..d132c17552 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/optmpc750.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-boolean: null +- define-condition: null +build-type: option +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default: false +default-by-variant: +- value: true + variants: + - powerpc/mcp750 +description: | + Define when mpc750 -- undefined for others +enabled-by: true +links: [] +name: mpc750 +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/optmpc8240.yml b/spec/build/bsps/powerpc/motorola_powerpc/optmpc8240.yml new file mode 100644 index 0000000000..5cc6475589 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/optmpc8240.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-boolean: null +- define-condition: null +build-type: option +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default: false +default-by-variant: +- value: true + variants: + - powerpc/mvme2100 +description: | + Defined for boards with MPC8240 -- undefined for others +enabled-by: true +links: [] +name: mpc8240 +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/optmvme2100.yml b/spec/build/bsps/powerpc/motorola_powerpc/optmvme2100.yml new file mode 100644 index 0000000000..2443f4bfe8 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/optmvme2100.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-boolean: null +- define-condition: null +build-type: option +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default: false +default-by-variant: +- value: true + variants: + - powerpc/mvme2100 +description: | + Defined for MVME2100 -- undefined for others +enabled-by: true +links: [] +name: mvme2100 +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/optppcgeneric.yml b/spec/build/bsps/powerpc/motorola_powerpc/optppcgeneric.yml new file mode 100644 index 0000000000..275adbb877 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/optppcgeneric.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-boolean: null +- define-condition: null +build-type: option +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default: false +default-by-variant: +- value: true + variants: + - powerpc/qemuprep +- value: true + variants: + - powerpc/qemuprep-altivec +description: | + Define when generic PPC -- undefined for others +enabled-by: true +links: [] +name: __ppc_generic +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/optqemu.yml b/spec/build/bsps/powerpc/motorola_powerpc/optqemu.yml new file mode 100644 index 0000000000..962584da83 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/optqemu.yml @@ -0,0 +1,18 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-boolean: null +- define-condition: null +build-type: option +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default: false +default-by-variant: +- value: true + variants: + - powerpc/qemuprep.* +description: | + Defined for QEMU BSP -- undefined for others +enabled-by: true +links: [] +name: qemu +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/optsbrk.yml b/spec/build/bsps/powerpc/motorola_powerpc/optsbrk.yml new file mode 100644 index 0000000000..1018b3a4a1 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/optsbrk.yml @@ -0,0 +1,15 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-boolean: null +- define-condition: null +build-type: option +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default: true +default-by-variant: [] +description: | + None +enabled-by: true +links: [] +name: CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK +type: build diff --git a/spec/build/bsps/powerpc/motorola_powerpc/qemufakerom.yml b/spec/build/bsps/powerpc/motorola_powerpc/qemufakerom.yml new file mode 100644 index 0000000000..09e7f318c5 --- /dev/null +++ b/spec/build/bsps/powerpc/motorola_powerpc/qemufakerom.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +build-type: script +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +do-build: | + def cc(self, bld, bic, flags, source): + root, ext = os.path.splitext(source) + target = root + ".o" + bld( + features="asm c", + includes=bic.includes, + rule="${CC} ${CPPFLAGS} " + flags + " ${DEFINES_ST:DEFINES} ${CPPPATH_ST:INCPATHS} -c ${SRC} -o ${TGT}", + source=source, + target=target, + ) + return target + fakerom_o = cc(self, bld, bic, "-DASM", "bsps/powerpc/motorola_powerpc/bootloader/qemu_fakerom.S") + fakeres_o = cc(self, bld, bic, "", "bsps/powerpc/motorola_powerpc/bootloader/qemu_fakeres.c") + rule = "${LD} -o ${TGT} ${SRC} -nostdlib -Ttext 0xfff00000 --section-start=.romentry=0xfffffffc" + elf = "qemu_fakerom.elf" + bld( + rule=rule, + source=[fakerom_o, fakeres_o], + target=elf, + ) + bin = "qemu_fakerom.bin" + bld( + rule=rule + " --oformat binary", + source=[fakerom_o, fakeres_o], + target=bin, + ) + bld.install_files("${BSP_LIBDIR}", [fakerom_o, elf, bin]) +do-configure: null +enabled-by: true +links: [] +prepare-build: null +prepare-configure: null +type: build |