aboutsummaryrefslogtreecommitdiffstats
path: root/os/ports/GCC/PPC
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-08-09 08:24:22 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-08-09 08:24:22 +0000
commit8ca210a4af9fd039e290cfcc309adde543999c1f (patch)
tree1aa594d5e65d5ebabdd358acbe8d3a9ac29f2070 /os/ports/GCC/PPC
parentcb453a3a12464dd71856b1354d083b5b02260870 (diff)
downloadChibiOS-8ca210a4af9fd039e290cfcc309adde543999c1f.tar.gz
ChibiOS-8ca210a4af9fd039e290cfcc309adde543999c1f.tar.bz2
ChibiOS-8ca210a4af9fd039e290cfcc309adde543999c1f.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@6108 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/ports/GCC/PPC')
-rw-r--r--os/ports/GCC/PPC/SPC560BCxx/bam.s47
-rw-r--r--os/ports/GCC/PPC/SPC560BCxx/core.s214
-rw-r--r--os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B44.ld182
-rw-r--r--os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B50.ld182
-rw-r--r--os/ports/GCC/PPC/SPC560BCxx/port.mk13
-rw-r--r--os/ports/GCC/PPC/SPC560BCxx/ppcparams.h72
-rw-r--r--os/ports/GCC/PPC/SPC560BCxx/vectors.h79
-rw-r--r--os/ports/GCC/PPC/SPC560BCxx/vectors.s379
-rw-r--r--os/ports/GCC/PPC/SPC560Dxx/bam.s47
-rw-r--r--os/ports/GCC/PPC/SPC560Dxx/core.s214
-rw-r--r--os/ports/GCC/PPC/SPC560Dxx/ld/SPC560D30.ld182
-rw-r--r--os/ports/GCC/PPC/SPC560Dxx/ld/SPC560D40.ld182
-rw-r--r--os/ports/GCC/PPC/SPC560Dxx/port.mk13
-rw-r--r--os/ports/GCC/PPC/SPC560Dxx/ppcparams.h72
-rw-r--r--os/ports/GCC/PPC/SPC560Dxx/vectors.h79
-rw-r--r--os/ports/GCC/PPC/SPC560Dxx/vectors.s285
-rw-r--r--os/ports/GCC/PPC/SPC560Pxx/bam.s47
-rw-r--r--os/ports/GCC/PPC/SPC560Pxx/core.s214
-rw-r--r--os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld182
-rw-r--r--os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P50.ld182
-rw-r--r--os/ports/GCC/PPC/SPC560Pxx/port.mk13
-rw-r--r--os/ports/GCC/PPC/SPC560Pxx/ppcparams.h72
-rw-r--r--os/ports/GCC/PPC/SPC560Pxx/vectors.h79
-rw-r--r--os/ports/GCC/PPC/SPC560Pxx/vectors.s445
-rw-r--r--os/ports/GCC/PPC/SPC563Mxx/bam.s51
-rw-r--r--os/ports/GCC/PPC/SPC563Mxx/core.s191
-rw-r--r--os/ports/GCC/PPC/SPC563Mxx/ld/SPC563M64.ld175
-rw-r--r--os/ports/GCC/PPC/SPC563Mxx/port.mk13
-rw-r--r--os/ports/GCC/PPC/SPC563Mxx/ppcparams.h72
-rw-r--r--os/ports/GCC/PPC/SPC563Mxx/vectors.h79
-rw-r--r--os/ports/GCC/PPC/SPC563Mxx/vectors.s592
-rw-r--r--os/ports/GCC/PPC/SPC564Axx/bam.s51
-rw-r--r--os/ports/GCC/PPC/SPC564Axx/core.s479
-rw-r--r--os/ports/GCC/PPC/SPC564Axx/ld/SPC564A70.ld175
-rw-r--r--os/ports/GCC/PPC/SPC564Axx/ld/SPC564A80.ld175
-rw-r--r--os/ports/GCC/PPC/SPC564Axx/port.mk13
-rw-r--r--os/ports/GCC/PPC/SPC564Axx/ppcparams.h67
-rw-r--r--os/ports/GCC/PPC/SPC564Axx/vectors.h79
-rw-r--r--os/ports/GCC/PPC/SPC564Axx/vectors.s782
-rw-r--r--os/ports/GCC/PPC/SPC56ELxx/bam.s51
-rw-r--r--os/ports/GCC/PPC/SPC56ELxx/core.s535
-rw-r--r--os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL54_LSM.ld175
-rw-r--r--os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld175
-rw-r--r--os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld175
-rw-r--r--os/ports/GCC/PPC/SPC56ELxx/port.mk13
-rw-r--r--os/ports/GCC/PPC/SPC56ELxx/ppcparams.h72
-rw-r--r--os/ports/GCC/PPC/SPC56ELxx/vectors.h79
-rw-r--r--os/ports/GCC/PPC/SPC56ELxx/vectors.s436
-rw-r--r--os/ports/GCC/PPC/chcore.c112
-rw-r--r--os/ports/GCC/PPC/chcore.h404
-rw-r--r--os/ports/GCC/PPC/chtypes.h93
-rw-r--r--os/ports/GCC/PPC/crt0.s126
-rw-r--r--os/ports/GCC/PPC/ivor.s224
-rw-r--r--os/ports/GCC/PPC/port.dox139
-rw-r--r--os/ports/GCC/PPC/rules.mk182
55 files changed, 0 insertions, 9461 deletions
diff --git a/os/ports/GCC/PPC/SPC560BCxx/bam.s b/os/ports/GCC/PPC/SPC560BCxx/bam.s
deleted file mode 100644
index f62c854dd..000000000
--- a/os/ports/GCC/PPC/SPC560BCxx/bam.s
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560BCxx/bam.s
- * @brief SPC560BCxx boot assistant record.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(__DOXYGEN__)
-
- /* BAM record.*/
- .section .bam, "ax"
- .long 0x015A0000
- .long _reset_address
-
- .align 2
- .globl _reset_address
- .type _reset_address, @function
-_reset_address:
- bl _coreinit
- bl _ivinit
-
- b _boot_address
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560BCxx/core.s b/os/ports/GCC/PPC/SPC560BCxx/core.s
deleted file mode 100644
index e4de3d453..000000000
--- a/os/ports/GCC/PPC/SPC560BCxx/core.s
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560BCxx/core.s
- * @brief e200z0 core configuration.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-/**
- * @name BUCSR registers definitions
- * @{
- */
-#define BUCSR_BPEN 0x00000001
-#define BUCSR_BALLOC_BFI 0x00000200
-/** @} */
-
-/**
- * @name BUCSR default settings
- * @{
- */
-#define BUCSR_DEFAULT (BUCSR_BPEN | BUCSR_BALLOC_BFI)
-/** @} */
-
-/**
- * @name MSR register definitions
- * @{
- */
-#define MSR_WE 0x00040000
-#define MSR_CE 0x00020000
-#define MSR_EE 0x00008000
-#define MSR_PR 0x00004000
-#define MSR_ME 0x00001000
-#define MSR_DE 0x00000200
-#define MSR_IS 0x00000020
-#define MSR_DS 0x00000010
-#define MSR_RI 0x00000002
-/** @} */
-
-/**
- * @name MSR default settings
- * @{
- */
-#define MSR_DEFAULT (MSR_WE | MSR_CE | MSR_ME)
-/** @} */
-
-#if !defined(__DOXYGEN__)
-
- .section .coreinit, "ax"
-
- .align 2
- .globl _coreinit
- .type _coreinit, @function
-_coreinit:
- /*
- * RAM clearing, this device requires a write to all RAM location in
- * order to initialize the ECC detection hardware, this is going to
- * slow down the startup but there is no way around.
- */
- xor %r0, %r0, %r0
- xor %r1, %r1, %r1
- xor %r2, %r2, %r2
- xor %r3, %r3, %r3
- xor %r4, %r4, %r4
- xor %r5, %r5, %r5
- xor %r6, %r6, %r6
- xor %r7, %r7, %r7
- xor %r8, %r8, %r8
- xor %r9, %r9, %r9
- xor %r10, %r10, %r10
- xor %r11, %r11, %r11
- xor %r12, %r12, %r12
- xor %r13, %r13, %r13
- xor %r14, %r14, %r14
- xor %r15, %r15, %r15
- xor %r16, %r16, %r16
- xor %r17, %r17, %r17
- xor %r18, %r18, %r18
- xor %r19, %r19, %r19
- xor %r20, %r20, %r20
- xor %r21, %r21, %r21
- xor %r22, %r22, %r22
- xor %r23, %r23, %r23
- xor %r24, %r24, %r24
- xor %r25, %r25, %r25
- xor %r26, %r26, %r26
- xor %r27, %r27, %r27
- xor %r28, %r28, %r28
- xor %r29, %r29, %r29
- xor %r30, %r30, %r30
- xor %r31, %r31, %r31
- lis %r4, __ram_start__@h
- ori %r4, %r4, __ram_start__@l
- lis %r5, __ram_end__@h
- ori %r5, %r5, __ram_end__@l
-.cleareccloop:
- cmpl %cr0, %r4, %r5
- bge %cr0, .cleareccend
- stmw %r16, 0(%r4)
- addi %r4, %r4, 64
- b .cleareccloop
-.cleareccend:
-
- /*
- * Branch prediction enabled.
- */
- li %r3, BUCSR_DEFAULT
- mtspr 1013, %r3 /* BUCSR */
-
- blr
-
- /*
- * Exception vectors initialization.
- */
- .global _ivinit
- .type _ivinit, @function
-_ivinit:
- /* MSR initialization.*/
- lis %r3, MSR_DEFAULT@h
- ori %r3, %r3, MSR_DEFAULT@l
- mtMSR %r3
-
- /* IVPR initialization.*/
- lis %r3, __ivpr_base__@h
- ori %r3, %r3, __ivpr_base__@l
- mtIVPR %r3
-
- blr
-
- .section .ivors, "ax"
-
- .globl IVORS
-IVORS:
-IVOR0: b IVOR0
- .align 4
-IVOR1: b _IVOR1
- .align 4
-IVOR2: b _IVOR2
- .align 4
-IVOR3: b _IVOR3
- .align 4
-IVOR4: b _IVOR4
- .align 4
-IVOR5: b _IVOR5
- .align 4
-IVOR6: b _IVOR6
- .align 4
-IVOR7: b _IVOR7
- .align 4
-IVOR8: b _IVOR8
- .align 4
-IVOR9: b _IVOR9
- .align 4
-IVOR10: b _IVOR10
- .align 4
-IVOR11: b _IVOR11
- .align 4
-IVOR12: b _IVOR12
- .align 4
-IVOR13: b _IVOR13
- .align 4
-IVOR14: b _IVOR14
- .align 4
-IVOR15: b _IVOR15
-
- .section .handlers, "ax"
-
- /*
- * Unhandled exceptions handler.
- */
- .weak _IVOR0, _IVOR1, _IVOR2, _IVOR3, _IVOR4, _IVOR5
- .weak _IVOR6, _IVOR7, _IVOR8, _IVOR9, _IVOR10, _IVOR11
- .weak _IVOR12, _IVOR13, _IVOR14, _IVOR15
- .weak _unhandled_exception
-_IVOR0:
-_IVOR1:
-_IVOR2:
-_IVOR3:
-_IVOR5:
-_IVOR6:
-_IVOR7:
-_IVOR8:
-_IVOR9:
-_IVOR11:
-_IVOR12:
-_IVOR13:
-_IVOR14:
-_IVOR15:
- .type _unhandled_exception, @function
-_unhandled_exception:
- b _unhandled_exception
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B44.ld b/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B44.ld
deleted file mode 100644
index 2b81984d1..000000000
--- a/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B44.ld
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * SPC560B44 memory setup.
- */
-__irq_stack_size__ = 0x0000; /* Not yet used.*/
-__process_stack_size__ = 0x0800;
-
-MEMORY
-{
- flash : org = 0x00000000, len = 384k
- dataflash : org = 0x00800000, len = 64k
- ram : org = 0x40000000, len = 28k
-}
-
-ENTRY(_reset_address)
-
-/*
- * Derived constants.
- */
-__flash_size__ = LENGTH(flash);
-__flash_start__ = ORIGIN(flash);
-__flash_end__ = ORIGIN(flash) + LENGTH(flash);
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot : ALIGN(16) SUBALIGN(16)
- {
- KEEP(*(.bam))
- KEEP(*(.coreinit))
- KEEP(*(.handlers))
- KEEP(*(.crt0))
- . = ALIGN(0x00000800);
- KEEP(*(.vectors))
- /* Note, have to waste the first 4KB because the IVPR register
- requires an alignment of 4KB and the first 4KB cannot be used,
- IVOR0 would conflict with the BAM word. Applications could
- allocate code or data in the first 4KB by using special sections.*/
- . = ALIGN(0x00001000);
- __ivpr_base__ = .;
- KEEP(*(.ivors))
- } > flash
-
- constructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE(__init_array_end = .);
- } > flash
-
- destructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__fini_array_start = .);
- KEEP(*(.fini_array))
- KEEP(*(SORT(.fini_array.*)))
- PROVIDE(__fini_array_end = .);
- } > flash
-
- .text_vle : ALIGN(16) SUBALIGN(16)
- {
- *(.text_vle)
- *(.text_vle.*)
- *(.gnu.linkonce.t_vle.*)
- } > flash
-
- .text : ALIGN(16) SUBALIGN(16)
- {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- } > flash
-
- .rodata : ALIGN(16) SUBALIGN(16)
- {
- *(.glue_7t)
- *(.glue_7)
- *(.gcc*)
- *(.rodata)
- *(.rodata.*)
- *(.rodata1)
- } > flash
-
- .sdata2 : ALIGN(16) SUBALIGN(16)
- {
- __sdata2_start__ = . + 0x8000;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- } > flash
-
- .eh_frame_hdr :
- {
- *(.eh_frame_hdr)
- } > flash
-
- .eh_frame : ONLY_IF_RO
- {
- *(.eh_frame)
- } > flash
-
- .romdata : ALIGN(16) SUBALIGN(16)
- {
- __romdata_start__ = .;
- } > flash
-
- .stacks :
- {
- . = ALIGN(8);
- __irq_stack_base__ = .;
- . += __irq_stack_size__;
- . = ALIGN(8);
- __irq_stack_end__ = .;
- __process_stack_base__ = .;
- __main_thread_stack_base__ = .;
- . += __process_stack_size__;
- . = ALIGN(8);
- __process_stack_end__ = .;
- __main_thread_stack_end__ = .;
- } > ram
-
- .data : AT(__romdata_start__)
- {
- . = ALIGN(4);
- __data_start__ = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __sdata_start__ = . + 0x8000;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __data_end__ = .;
- } > ram
-
- .sbss :
- {
- __bss_start__ = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- } > ram
-
- .bss :
- {
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- __bss_end__ = .;
- } > ram
-
- __heap_base__ = __bss_end__;
- __heap_end__ = __ram_end__;
-}
diff --git a/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B50.ld b/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B50.ld
deleted file mode 100644
index 7ccede017..000000000
--- a/os/ports/GCC/PPC/SPC560BCxx/ld/SPC560B50.ld
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * SPC560B50 memory setup.
- */
-__irq_stack_size__ = 0x0000; /* Not yet used.*/
-__process_stack_size__ = 0x0800;
-
-MEMORY
-{
- flash : org = 0x00000000, len = 512k
- dataflash : org = 0x00800000, len = 64k
- ram : org = 0x40000000, len = 32k
-}
-
-ENTRY(_reset_address)
-
-/*
- * Derived constants.
- */
-__flash_size__ = LENGTH(flash);
-__flash_start__ = ORIGIN(flash);
-__flash_end__ = ORIGIN(flash) + LENGTH(flash);
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot : ALIGN(16) SUBALIGN(16)
- {
- KEEP(*(.bam))
- KEEP(*(.coreinit))
- KEEP(*(.handlers))
- KEEP(*(.crt0))
- . = ALIGN(0x00000800);
- KEEP(*(.vectors))
- /* Note, have to waste the first 4KB because the IVPR register
- requires an alignment of 4KB and the first 4KB cannot be used,
- IVOR0 would conflict with the BAM word. Applications could
- allocate code or data in the first 4KB by using special sections.*/
- . = ALIGN(0x00001000);
- __ivpr_base__ = .;
- KEEP(*(.ivors))
- } > flash
-
- constructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE(__init_array_end = .);
- } > flash
-
- destructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__fini_array_start = .);
- KEEP(*(.fini_array))
- KEEP(*(SORT(.fini_array.*)))
- PROVIDE(__fini_array_end = .);
- } > flash
-
- .text_vle : ALIGN(16) SUBALIGN(16)
- {
- *(.text_vle)
- *(.text_vle.*)
- *(.gnu.linkonce.t_vle.*)
- } > flash
-
- .text : ALIGN(16) SUBALIGN(16)
- {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- } > flash
-
- .rodata : ALIGN(16) SUBALIGN(16)
- {
- *(.glue_7t)
- *(.glue_7)
- *(.gcc*)
- *(.rodata)
- *(.rodata.*)
- *(.rodata1)
- } > flash
-
- .sdata2 : ALIGN(16) SUBALIGN(16)
- {
- __sdata2_start__ = . + 0x8000;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- } > flash
-
- .eh_frame_hdr :
- {
- *(.eh_frame_hdr)
- } > flash
-
- .eh_frame : ONLY_IF_RO
- {
- *(.eh_frame)
- } > flash
-
- .romdata : ALIGN(16) SUBALIGN(16)
- {
- __romdata_start__ = .;
- } > flash
-
- .stacks :
- {
- . = ALIGN(8);
- __irq_stack_base__ = .;
- . += __irq_stack_size__;
- . = ALIGN(8);
- __irq_stack_end__ = .;
- __process_stack_base__ = .;
- __main_thread_stack_base__ = .;
- . += __process_stack_size__;
- . = ALIGN(8);
- __process_stack_end__ = .;
- __main_thread_stack_end__ = .;
- } > ram
-
- .data : AT(__romdata_start__)
- {
- . = ALIGN(4);
- __data_start__ = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __sdata_start__ = . + 0x8000;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __data_end__ = .;
- } > ram
-
- .sbss :
- {
- __bss_start__ = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- } > ram
-
- .bss :
- {
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- __bss_end__ = .;
- } > ram
-
- __heap_base__ = __bss_end__;
- __heap_end__ = __ram_end__;
-}
diff --git a/os/ports/GCC/PPC/SPC560BCxx/port.mk b/os/ports/GCC/PPC/SPC560BCxx/port.mk
deleted file mode 100644
index c798e2886..000000000
--- a/os/ports/GCC/PPC/SPC560BCxx/port.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# List of the ChibiOS/RT SPC560BCxx port files.
-PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
-
-PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC560BCxx/bam.s \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC560BCxx/core.s \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC560BCxx/vectors.s \
- ${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
- ${CHIBIOS}/os/ports/GCC/PPC/crt0.s
-
-PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC560BCxx
-
-PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC560BCxx/ld
diff --git a/os/ports/GCC/PPC/SPC560BCxx/ppcparams.h b/os/ports/GCC/PPC/SPC560BCxx/ppcparams.h
deleted file mode 100644
index 5d4d9a37e..000000000
--- a/os/ports/GCC/PPC/SPC560BCxx/ppcparams.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560BCxx/ppcparams.h
- * @brief PowerPC parameters for the SPC560B/Cxx.
- *
- * @defgroup PPC_SPC560BCxx SPC560BCxx Specific Parameters
- * @ingroup PPC_SPECIFIC
- * @details This file contains the PowerPC specific parameters for the
- * SPC560BCxx platform.
- * @{
- */
-
-#ifndef _PPCPARAMS_H_
-#define _PPCPARAMS_H_
-
-/**
- * @brief PPC core model.
- */
-#define PPC_VARIANT PPC_VARIANT_e200z0
-
-/**
- * @brief Number of writable bits in IVPR register.
- */
-#define PPC_IVPR_BITS 20
-
-/**
- * @brief IVORx registers support.
- */
-#define PPC_SUPPORTS_IVORS FALSE
-
-/**
- * @brief Book E instruction set support.
- */
-#define PPC_SUPPORTS_BOOKE FALSE
-
-/**
- * @brief VLE instruction set support.
- */
-#define PPC_SUPPORTS_VLE TRUE
-
-/**
- * @brief Supports VLS Load/Store Multiple Volatile instructions.
- */
-#define PPC_SUPPORTS_VLE_MULTI TRUE
-
-/**
- * @brief Supports the decrementer timer.
- */
-#define PPC_SUPPORTS_DECREMENTER FALSE
-
-#endif /* _PPCPARAMS_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560BCxx/vectors.h b/os/ports/GCC/PPC/SPC560BCxx/vectors.h
deleted file mode 100644
index 4a54e0f70..000000000
--- a/os/ports/GCC/PPC/SPC560BCxx/vectors.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560BCxx/vectors.h
- * @brief ISR vector module header.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#ifndef _VECTORS_H_
-#define _VECTORS_H_
-
-/*===========================================================================*/
-/* Module constants. */
-/*===========================================================================*/
-
-/**
- * @brief Number of ISR vectors available.
- */
-#define VECTORS_NUMBER 217
-
-/*===========================================================================*/
-/* Module pre-compile time settings. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Derived constants and error checks. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module data structures and types. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module macros. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-#if !defined(_FROM_ASM_)
-
-#if !defined(__DOXYGEN__)
-extern uint32_t _vectors[VECTORS_NUMBER];
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void _unhandled_irq(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined(_FROM_ASM_) */
-
-#endif /* _OSAL_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560BCxx/vectors.s b/os/ports/GCC/PPC/SPC560BCxx/vectors.s
deleted file mode 100644
index 1ed6ddde3..000000000
--- a/os/ports/GCC/PPC/SPC560BCxx/vectors.s
+++ /dev/null
@@ -1,379 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560BCxx/vectors.s
- * @brief SPC560BCxx vectors table.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(__DOXYGEN__)
-
- /* Software vectors table. The vectors are accessed from the IVOR4
- handler only. In order to declare an interrupt handler just create
- a function withe the same name of a vector, the symbol will
- override the weak symbol declared here.*/
- .section .vectors, "ax"
- .align 4
- .globl _vectors
-_vectors:
- .long vector0, vector1, vector2, vector3
- .long vector4, vector5, vector6, vector7
- .long vector8, vector9, vector10, vector11
- .long vector12, vector13, vector14, vector15
- .long vector16, vector17, vector18, vector19
- .long vector20, vector21, vector22, vector23
- .long vector24, vector25, vector26, vector27
- .long vector28, vector29, vector30, vector31
- .long vector32, vector33, vector34, vector35
- .long vector36, vector37, vector38, vector39
- .long vector40, vector41, vector42, vector43
- .long vector44, vector45, vector46, vector47
- .long vector48, vector49, vector50, vector51
- .long vector52, vector53, vector54, vector55
- .long vector56, vector57, vector58, vector59
- .long vector60, vector61, vector62, vector63
- .long vector64, vector65, vector66, vector67
- .long vector68, vector69, vector70, vector71
- .long vector72, vector73, vector74, vector75
- .long vector76, vector77, vector78, vector79
- .long vector80, vector81, vector82, vector83
- .long vector84, vector85, vector86, vector87
- .long vector88, vector89, vector90, vector91
- .long vector92, vector93, vector94, vector95
- .long vector96, vector97, vector98, vector99
- .long vector100, vector101, vector102, vector103
- .long vector104, vector105, vector106, vector107
- .long vector108, vector109, vector110, vector111
- .long vector112, vector113, vector114, vector115
- .long vector116, vector117, vector118, vector119
- .long vector120, vector121, vector122, vector123
- .long vector124, vector125, vector126, vector127
- .long vector128, vector129, vector130, vector131
- .long vector132, vector133, vector134, vector135
- .long vector136, vector137, vector138, vector139
- .long vector140, vector141, vector142, vector143
- .long vector144, vector145, vector146, vector147
- .long vector148, vector149, vector150, vector151
- .long vector152, vector153, vector154, vector155
- .long vector156, vector157, vector158, vector159
- .long vector160, vector161, vector162, vector163
- .long vector164, vector165, vector166, vector167
- .long vector168, vector169, vector170, vector171
- .long vector172, vector173, vector174, vector175
- .long vector176, vector177, vector178, vector179
- .long vector180, vector181, vector182, vector183
- .long vector184, vector185, vector186, vector187
- .long vector188, vector189, vector190, vector191
- .long vector192, vector193, vector194, vector195
- .long vector196, vector197, vector198, vector199
- .long vector200, vector201, vector202, vector203
- .long vector204, vector205, vector206, vector207
- .long vector208, vector209, vector210, vector211
- .long vector212, vector213, vector214, vector215
- .long vector216
-
- .text
- .align 2
-
- .weak vector0, vector1, vector2, vector3
- .weak vector4, vector5, vector6, vector7
- .weak vector8, vector9, vector10, vector11
- .weak vector12, vector13, vector14, vector15
- .weak vector16, vector17, vector18, vector19
- .weak vector20, vector21, vector22, vector23
- .weak vector24, vector25, vector26, vector27
- .weak vector28, vector29, vector30, vector31
- .weak vector32, vector33, vector34, vector35
- .weak vector36, vector37, vector38, vector39
- .weak vector40, vector41, vector42, vector43
- .weak vector44, vector45, vector46, vector47
- .weak vector48, vector49, vector50, vector51
- .weak vector52, vector53, vector54, vector55
- .weak vector56, vector57, vector58, vector59
- .weak vector60, vector61, vector62, vector63
- .weak vector64, vector65, vector66, vector67
- .weak vector68, vector69, vector70, vector71
- .weak vector72, vector73, vector74, vector75
- .weak vector76, vector77, vector78, vector79
- .weak vector80, vector81, vector82, vector83
- .weak vector84, vector85, vector86, vector87
- .weak vector88, vector89, vector90, vector91
- .weak vector92, vector93, vector94, vector95
- .weak vector96, vector97, vector98, vector99
- .weak vector100, vector101, vector102, vector103
- .weak vector104, vector105, vector106, vector107
- .weak vector108, vector109, vector110, vector111
- .weak vector112, vector113, vector114, vector115
- .weak vector116, vector117, vector118, vector119
- .weak vector120, vector121, vector122, vector123
- .weak vector124, vector125, vector126, vector127
- .weak vector128, vector129, vector130, vector131
- .weak vector132, vector133, vector134, vector135
- .weak vector136, vector137, vector138, vector139
- .weak vector140, vector141, vector142, vector143
- .weak vector144, vector145, vector146, vector147
- .weak vector148, vector149, vector150, vector151
- .weak vector152, vector153, vector154, vector155
- .weak vector156, vector157, vector158, vector159
- .weak vector160, vector161, vector162, vector163
- .weak vector164, vector165, vector166, vector167
- .weak vector168, vector169, vector170, vector171
- .weak vector172, vector173, vector174, vector175
- .weak vector176, vector177, vector178, vector179
- .weak vector180, vector181, vector182, vector183
- .weak vector184, vector185, vector186, vector187
- .weak vector188, vector189, vector190, vector191
- .weak vector192, vector193, vector194, vector195
- .weak vector196, vector197, vector198, vector199
- .weak vector200, vector201, vector202, vector203
- .weak vector204, vector205, vector206, vector207
- .weak vector208, vector209, vector210, vector211
- .weak vector212, vector213, vector214, vector215
- .weak vector216
-
-vector0:
-vector1:
-vector2:
-vector3:
-vector4:
-vector5:
-vector6:
-vector7:
-vector8:
-vector9:
-vector10:
-vector11:
-vector12:
-vector13:
-vector14:
-vector15:
-vector16:
-vector17:
-vector18:
-vector19:
-vector20:
-vector21:
-vector22:
-vector23:
-vector24:
-vector25:
-vector26:
-vector27:
-vector28:
-vector29:
-vector30:
-vector31:
-vector32:
-vector33:
-vector34:
-vector35:
-vector36:
-vector37:
-vector38:
-vector39:
-vector40:
-vector41:
-vector42:
-vector43:
-vector44:
-vector45:
-vector46:
-vector47:
-vector48:
-vector49:
-vector50:
-vector51:
-vector52:
-vector53:
-vector54:
-vector55:
-vector56:
-vector57:
-vector58:
-vector59:
-vector60:
-vector61:
-vector62:
-vector63:
-vector64:
-vector65:
-vector66:
-vector67:
-vector68:
-vector69:
-vector70:
-vector71:
-vector72:
-vector73:
-vector74:
-vector75:
-vector76:
-vector77:
-vector78:
-vector79:
-vector80:
-vector81:
-vector82:
-vector83:
-vector84:
-vector85:
-vector86:
-vector87:
-vector88:
-vector89:
-vector90:
-vector91:
-vector92:
-vector93:
-vector94:
-vector95:
-vector96:
-vector97:
-vector98:
-vector99:
-vector100:
-vector101:
-vector102:
-vector103:
-vector104:
-vector105:
-vector106:
-vector107:
-vector108:
-vector109:
-vector110:
-vector111:
-vector112:
-vector113:
-vector114:
-vector115:
-vector116:
-vector117:
-vector118:
-vector119:
-vector120:
-vector121:
-vector122:
-vector123:
-vector124:
-vector125:
-vector126:
-vector127:
-vector128:
-vector129:
-vector130:
-vector131:
-vector132:
-vector133:
-vector134:
-vector135:
-vector136:
-vector137:
-vector138:
-vector139:
-vector140:
-vector141:
-vector142:
-vector143:
-vector144:
-vector145:
-vector146:
-vector147:
-vector148:
-vector149:
-vector150:
-vector151:
-vector152:
-vector153:
-vector154:
-vector155:
-vector156:
-vector157:
-vector158:
-vector159:
-vector160:
-vector161:
-vector162:
-vector163:
-vector164:
-vector165:
-vector166:
-vector167:
-vector168:
-vector169:
-vector170:
-vector171:
-vector172:
-vector173:
-vector174:
-vector175:
-vector176:
-vector177:
-vector178:
-vector179:
-vector180:
-vector181:
-vector182:
-vector183:
-vector184:
-vector185:
-vector186:
-vector187:
-vector188:
-vector189:
-vector190:
-vector191:
-vector192:
-vector193:
-vector194:
-vector195:
-vector196:
-vector197:
-vector198:
-vector199:
-vector200:
-vector201:
-vector202:
-vector203:
-vector204:
-vector205:
-vector206:
-vector207:
-vector208:
-vector209:
-vector210:
-vector211:
-vector212:
-vector213:
-vector214:
-vector215:
-vector216:
-
- .weak _unhandled_irq
- .type _unhandled_irq, @function
-_unhandled_irq:
- b _unhandled_irq
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560Dxx/bam.s b/os/ports/GCC/PPC/SPC560Dxx/bam.s
deleted file mode 100644
index 28792c3c3..000000000
--- a/os/ports/GCC/PPC/SPC560Dxx/bam.s
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560Dxx/bam.s
- * @brief SPC560Dxx boot assistant record.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(__DOXYGEN__)
-
- /* BAM record.*/
- .section .bam, "ax"
- .long 0x015A0000
- .long _reset_address
-
- .align 2
- .globl _reset_address
- .type _reset_address, @function
-_reset_address:
- bl _coreinit
- bl _ivinit
-
- b _boot_address
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560Dxx/core.s b/os/ports/GCC/PPC/SPC560Dxx/core.s
deleted file mode 100644
index 434f96fa3..000000000
--- a/os/ports/GCC/PPC/SPC560Dxx/core.s
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560Dxx/core.s
- * @brief e200z0 core configuration.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-/**
- * @name BUCSR registers definitions
- * @{
- */
-#define BUCSR_BPEN 0x00000001
-#define BUCSR_BALLOC_BFI 0x00000200
-/** @} */
-
-/**
- * @name BUCSR default settings
- * @{
- */
-#define BUCSR_DEFAULT (BUCSR_BPEN | BUCSR_BALLOC_BFI)
-/** @} */
-
-/**
- * @name MSR register definitions
- * @{
- */
-#define MSR_WE 0x00040000
-#define MSR_CE 0x00020000
-#define MSR_EE 0x00008000
-#define MSR_PR 0x00004000
-#define MSR_ME 0x00001000
-#define MSR_DE 0x00000200
-#define MSR_IS 0x00000020
-#define MSR_DS 0x00000010
-#define MSR_RI 0x00000002
-/** @} */
-
-/**
- * @name MSR default settings
- * @{
- */
-#define MSR_DEFAULT (MSR_WE | MSR_CE | MSR_ME)
-/** @} */
-
-#if !defined(__DOXYGEN__)
-
- .section .coreinit, "ax"
-
- .align 2
- .globl _coreinit
- .type _coreinit, @function
-_coreinit:
- /*
- * RAM clearing, this device requires a write to all RAM location in
- * order to initialize the ECC detection hardware, this is going to
- * slow down the startup but there is no way around.
- */
- xor %r0, %r0, %r0
- xor %r1, %r1, %r1
- xor %r2, %r2, %r2
- xor %r3, %r3, %r3
- xor %r4, %r4, %r4
- xor %r5, %r5, %r5
- xor %r6, %r6, %r6
- xor %r7, %r7, %r7
- xor %r8, %r8, %r8
- xor %r9, %r9, %r9
- xor %r10, %r10, %r10
- xor %r11, %r11, %r11
- xor %r12, %r12, %r12
- xor %r13, %r13, %r13
- xor %r14, %r14, %r14
- xor %r15, %r15, %r15
- xor %r16, %r16, %r16
- xor %r17, %r17, %r17
- xor %r18, %r18, %r18
- xor %r19, %r19, %r19
- xor %r20, %r20, %r20
- xor %r21, %r21, %r21
- xor %r22, %r22, %r22
- xor %r23, %r23, %r23
- xor %r24, %r24, %r24
- xor %r25, %r25, %r25
- xor %r26, %r26, %r26
- xor %r27, %r27, %r27
- xor %r28, %r28, %r28
- xor %r29, %r29, %r29
- xor %r30, %r30, %r30
- xor %r31, %r31, %r31
- lis %r4, __ram_start__@h
- ori %r4, %r4, __ram_start__@l
- lis %r5, __ram_end__@h
- ori %r5, %r5, __ram_end__@l
-.cleareccloop:
- cmpl %cr0, %r4, %r5
- bge %cr0, .cleareccend
- stmw %r16, 0(%r4)
- addi %r4, %r4, 64
- b .cleareccloop
-.cleareccend:
-
- /*
- * Branch prediction enabled.
- */
- li %r3, BUCSR_DEFAULT
- mtspr 1013, %r3 /* BUCSR */
-
- blr
-
- /*
- * Exception vectors initialization.
- */
- .global _ivinit
- .type _ivinit, @function
-_ivinit:
- /* MSR initialization.*/
- lis %r3, MSR_DEFAULT@h
- ori %r3, %r3, MSR_DEFAULT@l
- mtMSR %r3
-
- /* IVPR initialization.*/
- lis %r3, __ivpr_base__@h
- ori %r3, %r3, __ivpr_base__@l
- mtIVPR %r3
-
- blr
-
- .section .ivors, "ax"
-
- .globl IVORS
-IVORS:
-IVOR0: b IVOR0
- .align 4
-IVOR1: b _IVOR1
- .align 4
-IVOR2: b _IVOR2
- .align 4
-IVOR3: b _IVOR3
- .align 4
-IVOR4: b _IVOR4
- .align 4
-IVOR5: b _IVOR5
- .align 4
-IVOR6: b _IVOR6
- .align 4
-IVOR7: b _IVOR7
- .align 4
-IVOR8: b _IVOR8
- .align 4
-IVOR9: b _IVOR9
- .align 4
-IVOR10: b _IVOR10
- .align 4
-IVOR11: b _IVOR11
- .align 4
-IVOR12: b _IVOR12
- .align 4
-IVOR13: b _IVOR13
- .align 4
-IVOR14: b _IVOR14
- .align 4
-IVOR15: b _IVOR15
-
- .section .handlers, "ax"
-
- /*
- * Unhandled exceptions handler.
- */
- .weak _IVOR0, _IVOR1, _IVOR2, _IVOR3, _IVOR4, _IVOR5
- .weak _IVOR6, _IVOR7, _IVOR8, _IVOR9, _IVOR10, _IVOR11
- .weak _IVOR12, _IVOR13, _IVOR14, _IVOR15
- .weak _unhandled_exception
-_IVOR0:
-_IVOR1:
-_IVOR2:
-_IVOR3:
-_IVOR5:
-_IVOR6:
-_IVOR7:
-_IVOR8:
-_IVOR9:
-_IVOR11:
-_IVOR12:
-_IVOR13:
-_IVOR14:
-_IVOR15:
- .type _unhandled_exception, @function
-_unhandled_exception:
- b _unhandled_exception
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560Dxx/ld/SPC560D30.ld b/os/ports/GCC/PPC/SPC560Dxx/ld/SPC560D30.ld
deleted file mode 100644
index 78a18c527..000000000
--- a/os/ports/GCC/PPC/SPC560Dxx/ld/SPC560D30.ld
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * SPC560D30 memory setup.
- */
-__irq_stack_size__ = 0x0000; /* Not yet used.*/
-__process_stack_size__ = 0x0800;
-
-MEMORY
-{
- flash : org = 0x00000000, len = 128k
- dataflash : org = 0x00800000, len = 64k
- ram : org = 0x40000000, len = 12k
-}
-
-ENTRY(_reset_address)
-
-/*
- * Derived constants.
- */
-__flash_size__ = LENGTH(flash);
-__flash_start__ = ORIGIN(flash);
-__flash_end__ = ORIGIN(flash) + LENGTH(flash);
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot : ALIGN(16) SUBALIGN(16)
- {
- KEEP(*(.bam))
- KEEP(*(.coreinit))
- KEEP(*(.handlers))
- KEEP(*(.crt0))
- . = ALIGN(0x00000800);
- KEEP(*(.vectors))
- /* Note, have to waste the first 4KB because the IVPR register
- requires an alignment of 4KB and the first 4KB cannot be used,
- IVOR0 would conflict with the BAM word. Applications could
- allocate code or data in the first 4KB by using special sections.*/
- . = ALIGN(0x00001000);
- __ivpr_base__ = .;
- KEEP(*(.ivors))
- } > flash
-
- constructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE(__init_array_end = .);
- } > flash
-
- destructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__fini_array_start = .);
- KEEP(*(.fini_array))
- KEEP(*(SORT(.fini_array.*)))
- PROVIDE(__fini_array_end = .);
- } > flash
-
- .text_vle : ALIGN(16) SUBALIGN(16)
- {
- *(.text_vle)
- *(.text_vle.*)
- *(.gnu.linkonce.t_vle.*)
- } > flash
-
- .text : ALIGN(16) SUBALIGN(16)
- {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- } > flash
-
- .rodata : ALIGN(16) SUBALIGN(16)
- {
- *(.glue_7t)
- *(.glue_7)
- *(.gcc*)
- *(.rodata)
- *(.rodata.*)
- *(.rodata1)
- } > flash
-
- .sdata2 : ALIGN(16) SUBALIGN(16)
- {
- __sdata2_start__ = . + 0x8000;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- } > flash
-
- .eh_frame_hdr :
- {
- *(.eh_frame_hdr)
- } > flash
-
- .eh_frame : ONLY_IF_RO
- {
- *(.eh_frame)
- } > flash
-
- .romdata : ALIGN(16) SUBALIGN(16)
- {
- __romdata_start__ = .;
- } > flash
-
- .stacks :
- {
- . = ALIGN(8);
- __irq_stack_base__ = .;
- . += __irq_stack_size__;
- . = ALIGN(8);
- __irq_stack_end__ = .;
- __process_stack_base__ = .;
- __main_thread_stack_base__ = .;
- . += __process_stack_size__;
- . = ALIGN(8);
- __process_stack_end__ = .;
- __main_thread_stack_end__ = .;
- } > ram
-
- .data : AT(__romdata_start__)
- {
- . = ALIGN(4);
- __data_start__ = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __sdata_start__ = . + 0x8000;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __data_end__ = .;
- } > ram
-
- .sbss :
- {
- __bss_start__ = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- } > ram
-
- .bss :
- {
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- __bss_end__ = .;
- } > ram
-
- __heap_base__ = __bss_end__;
- __heap_end__ = __ram_end__;
-}
diff --git a/os/ports/GCC/PPC/SPC560Dxx/ld/SPC560D40.ld b/os/ports/GCC/PPC/SPC560Dxx/ld/SPC560D40.ld
deleted file mode 100644
index 7283994bf..000000000
--- a/os/ports/GCC/PPC/SPC560Dxx/ld/SPC560D40.ld
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * SPC560D40 memory setup.
- */
-__irq_stack_size__ = 0x0000; /* Not yet used.*/
-__process_stack_size__ = 0x0800;
-
-MEMORY
-{
- flash : org = 0x00000000, len = 256k
- dataflash : org = 0x00800000, len = 64k
- ram : org = 0x40000000, len = 16k
-}
-
-ENTRY(_reset_address)
-
-/*
- * Derived constants.
- */
-__flash_size__ = LENGTH(flash);
-__flash_start__ = ORIGIN(flash);
-__flash_end__ = ORIGIN(flash) + LENGTH(flash);
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot : ALIGN(16) SUBALIGN(16)
- {
- KEEP(*(.bam))
- KEEP(*(.coreinit))
- KEEP(*(.handlers))
- KEEP(*(.crt0))
- . = ALIGN(0x00000800);
- KEEP(*(.vectors))
- /* Note, have to waste the first 4KB because the IVPR register
- requires an alignment of 4KB and the first 4KB cannot be used,
- IVOR0 would conflict with the BAM word. Applications could
- allocate code or data in the first 4KB by using special sections.*/
- . = ALIGN(0x00001000);
- __ivpr_base__ = .;
- KEEP(*(.ivors))
- } > flash
-
- constructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE(__init_array_end = .);
- } > flash
-
- destructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__fini_array_start = .);
- KEEP(*(.fini_array))
- KEEP(*(SORT(.fini_array.*)))
- PROVIDE(__fini_array_end = .);
- } > flash
-
- .text_vle : ALIGN(16) SUBALIGN(16)
- {
- *(.text_vle)
- *(.text_vle.*)
- *(.gnu.linkonce.t_vle.*)
- } > flash
-
- .text : ALIGN(16) SUBALIGN(16)
- {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- } > flash
-
- .rodata : ALIGN(16) SUBALIGN(16)
- {
- *(.glue_7t)
- *(.glue_7)
- *(.gcc*)
- *(.rodata)
- *(.rodata.*)
- *(.rodata1)
- } > flash
-
- .sdata2 : ALIGN(16) SUBALIGN(16)
- {
- __sdata2_start__ = . + 0x8000;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- } > flash
-
- .eh_frame_hdr :
- {
- *(.eh_frame_hdr)
- } > flash
-
- .eh_frame : ONLY_IF_RO
- {
- *(.eh_frame)
- } > flash
-
- .romdata : ALIGN(16) SUBALIGN(16)
- {
- __romdata_start__ = .;
- } > flash
-
- .stacks :
- {
- . = ALIGN(8);
- __irq_stack_base__ = .;
- . += __irq_stack_size__;
- . = ALIGN(8);
- __irq_stack_end__ = .;
- __process_stack_base__ = .;
- __main_thread_stack_base__ = .;
- . += __process_stack_size__;
- . = ALIGN(8);
- __process_stack_end__ = .;
- __main_thread_stack_end__ = .;
- } > ram
-
- .data : AT(__romdata_start__)
- {
- . = ALIGN(4);
- __data_start__ = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __sdata_start__ = . + 0x8000;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __data_end__ = .;
- } > ram
-
- .sbss :
- {
- __bss_start__ = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- } > ram
-
- .bss :
- {
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- __bss_end__ = .;
- } > ram
-
- __heap_base__ = __bss_end__;
- __heap_end__ = __ram_end__;
-}
diff --git a/os/ports/GCC/PPC/SPC560Dxx/port.mk b/os/ports/GCC/PPC/SPC560Dxx/port.mk
deleted file mode 100644
index e0756b8c2..000000000
--- a/os/ports/GCC/PPC/SPC560Dxx/port.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# List of the ChibiOS/RT SPC560Dxx port files.
-PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
-
-PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC560Dxx/bam.s \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC560Dxx/core.s \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC560Dxx/vectors.s \
- ${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
- ${CHIBIOS}/os/ports/GCC/PPC/crt0.s
-
-PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC560Dxx
-
-PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC560Dxx/ld
diff --git a/os/ports/GCC/PPC/SPC560Dxx/ppcparams.h b/os/ports/GCC/PPC/SPC560Dxx/ppcparams.h
deleted file mode 100644
index 5d4d9a37e..000000000
--- a/os/ports/GCC/PPC/SPC560Dxx/ppcparams.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560BCxx/ppcparams.h
- * @brief PowerPC parameters for the SPC560B/Cxx.
- *
- * @defgroup PPC_SPC560BCxx SPC560BCxx Specific Parameters
- * @ingroup PPC_SPECIFIC
- * @details This file contains the PowerPC specific parameters for the
- * SPC560BCxx platform.
- * @{
- */
-
-#ifndef _PPCPARAMS_H_
-#define _PPCPARAMS_H_
-
-/**
- * @brief PPC core model.
- */
-#define PPC_VARIANT PPC_VARIANT_e200z0
-
-/**
- * @brief Number of writable bits in IVPR register.
- */
-#define PPC_IVPR_BITS 20
-
-/**
- * @brief IVORx registers support.
- */
-#define PPC_SUPPORTS_IVORS FALSE
-
-/**
- * @brief Book E instruction set support.
- */
-#define PPC_SUPPORTS_BOOKE FALSE
-
-/**
- * @brief VLE instruction set support.
- */
-#define PPC_SUPPORTS_VLE TRUE
-
-/**
- * @brief Supports VLS Load/Store Multiple Volatile instructions.
- */
-#define PPC_SUPPORTS_VLE_MULTI TRUE
-
-/**
- * @brief Supports the decrementer timer.
- */
-#define PPC_SUPPORTS_DECREMENTER FALSE
-
-#endif /* _PPCPARAMS_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560Dxx/vectors.h b/os/ports/GCC/PPC/SPC560Dxx/vectors.h
deleted file mode 100644
index 4347796d5..000000000
--- a/os/ports/GCC/PPC/SPC560Dxx/vectors.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560BCxx/vectors.h
- * @brief ISR vector module header.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#ifndef _VECTORS_H_
-#define _VECTORS_H_
-
-/*===========================================================================*/
-/* Module constants. */
-/*===========================================================================*/
-
-/**
- * @brief Number of ISR vectors available.
- */
-#define VECTORS_NUMBER 155
-
-/*===========================================================================*/
-/* Module pre-compile time settings. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Derived constants and error checks. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module data structures and types. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module macros. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-#if !defined(_FROM_ASM_)
-
-#if !defined(__DOXYGEN__)
-extern uint32_t _vectors[VECTORS_NUMBER];
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void _unhandled_irq(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined(_FROM_ASM_) */
-
-#endif /* _OSAL_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560Dxx/vectors.s b/os/ports/GCC/PPC/SPC560Dxx/vectors.s
deleted file mode 100644
index 2536e51ce..000000000
--- a/os/ports/GCC/PPC/SPC560Dxx/vectors.s
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560Dxx/vectors.s
- * @brief SPC560Dxx vectors table.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(__DOXYGEN__)
-
- /* Software vectors table. The vectors are accessed from the IVOR4
- handler only. In order to declare an interrupt handler just create
- a function withe the same name of a vector, the symbol will
- override the weak symbol declared here.*/
- .section .vectors, "ax"
- .align 4
- .globl _vectors
-_vectors:
- .long vector0, vector1, vector2, vector3
- .long vector4, vector5, vector6, vector7
- .long vector8, vector9, vector10, vector11
- .long vector12, vector13, vector14, vector15
- .long vector16, vector17, vector18, vector19
- .long vector20, vector21, vector22, vector23
- .long vector24, vector25, vector26, vector27
- .long vector28, vector29, vector30, vector31
- .long vector32, vector33, vector34, vector35
- .long vector36, vector37, vector38, vector39
- .long vector40, vector41, vector42, vector43
- .long vector44, vector45, vector46, vector47
- .long vector48, vector49, vector50, vector51
- .long vector52, vector53, vector54, vector55
- .long vector56, vector57, vector58, vector59
- .long vector60, vector61, vector62, vector63
- .long vector64, vector65, vector66, vector67
- .long vector68, vector69, vector70, vector71
- .long vector72, vector73, vector74, vector75
- .long vector76, vector77, vector78, vector79
- .long vector80, vector81, vector82, vector83
- .long vector84, vector85, vector86, vector87
- .long vector88, vector89, vector90, vector91
- .long vector92, vector93, vector94, vector95
- .long vector96, vector97, vector98, vector99
- .long vector100, vector101, vector102, vector103
- .long vector104, vector105, vector106, vector107
- .long vector108, vector109, vector110, vector111
- .long vector112, vector113, vector114, vector115
- .long vector116, vector117, vector118, vector119
- .long vector120, vector121, vector122, vector123
- .long vector124, vector125, vector126, vector127
- .long vector128, vector129, vector130, vector131
- .long vector132, vector133, vector134, vector135
- .long vector136, vector137, vector138, vector139
- .long vector140, vector141, vector142, vector143
- .long vector144, vector145, vector146, vector147
- .long vector148, vector149, vector150, vector151
- .long vector152, vector153, vector154
-
- .text
- .align 2
-
- .weak vector0, vector1, vector2, vector3
- .weak vector4, vector5, vector6, vector7
- .weak vector8, vector9, vector10, vector11
- .weak vector12, vector13, vector14, vector15
- .weak vector16, vector17, vector18, vector19
- .weak vector20, vector21, vector22, vector23
- .weak vector24, vector25, vector26, vector27
- .weak vector28, vector29, vector30, vector31
- .weak vector32, vector33, vector34, vector35
- .weak vector36, vector37, vector38, vector39
- .weak vector40, vector41, vector42, vector43
- .weak vector44, vector45, vector46, vector47
- .weak vector48, vector49, vector50, vector51
- .weak vector52, vector53, vector54, vector55
- .weak vector56, vector57, vector58, vector59
- .weak vector60, vector61, vector62, vector63
- .weak vector64, vector65, vector66, vector67
- .weak vector68, vector69, vector70, vector71
- .weak vector72, vector73, vector74, vector75
- .weak vector76, vector77, vector78, vector79
- .weak vector80, vector81, vector82, vector83
- .weak vector84, vector85, vector86, vector87
- .weak vector88, vector89, vector90, vector91
- .weak vector92, vector93, vector94, vector95
- .weak vector96, vector97, vector98, vector99
- .weak vector100, vector101, vector102, vector103
- .weak vector104, vector105, vector106, vector107
- .weak vector108, vector109, vector110, vector111
- .weak vector112, vector113, vector114, vector115
- .weak vector116, vector117, vector118, vector119
- .weak vector120, vector121, vector122, vector123
- .weak vector124, vector125, vector126, vector127
- .weak vector128, vector129, vector130, vector131
- .weak vector132, vector133, vector134, vector135
- .weak vector136, vector137, vector138, vector139
- .weak vector140, vector141, vector142, vector143
- .weak vector144, vector145, vector146, vector147
- .weak vector148, vector149, vector150, vector151
- .weak vector152, vector153, vector154
-
-vector0:
-vector1:
-vector2:
-vector3:
-vector4:
-vector5:
-vector6:
-vector7:
-vector8:
-vector9:
-vector10:
-vector11:
-vector12:
-vector13:
-vector14:
-vector15:
-vector16:
-vector17:
-vector18:
-vector19:
-vector20:
-vector21:
-vector22:
-vector23:
-vector24:
-vector25:
-vector26:
-vector27:
-vector28:
-vector29:
-vector30:
-vector31:
-vector32:
-vector33:
-vector34:
-vector35:
-vector36:
-vector37:
-vector38:
-vector39:
-vector40:
-vector41:
-vector42:
-vector43:
-vector44:
-vector45:
-vector46:
-vector47:
-vector48:
-vector49:
-vector50:
-vector51:
-vector52:
-vector53:
-vector54:
-vector55:
-vector56:
-vector57:
-vector58:
-vector59:
-vector60:
-vector61:
-vector62:
-vector63:
-vector64:
-vector65:
-vector66:
-vector67:
-vector68:
-vector69:
-vector70:
-vector71:
-vector72:
-vector73:
-vector74:
-vector75:
-vector76:
-vector77:
-vector78:
-vector79:
-vector80:
-vector81:
-vector82:
-vector83:
-vector84:
-vector85:
-vector86:
-vector87:
-vector88:
-vector89:
-vector90:
-vector91:
-vector92:
-vector93:
-vector94:
-vector95:
-vector96:
-vector97:
-vector98:
-vector99:
-vector100:
-vector101:
-vector102:
-vector103:
-vector104:
-vector105:
-vector106:
-vector107:
-vector108:
-vector109:
-vector110:
-vector111:
-vector112:
-vector113:
-vector114:
-vector115:
-vector116:
-vector117:
-vector118:
-vector119:
-vector120:
-vector121:
-vector122:
-vector123:
-vector124:
-vector125:
-vector126:
-vector127:
-vector128:
-vector129:
-vector130:
-vector131:
-vector132:
-vector133:
-vector134:
-vector135:
-vector136:
-vector137:
-vector138:
-vector139:
-vector140:
-vector141:
-vector142:
-vector143:
-vector144:
-vector145:
-vector146:
-vector147:
-vector148:
-vector149:
-vector150:
-vector151:
-vector152:
-vector153:
-vector154:
-
- .weak _unhandled_irq
- .type _unhandled_irq, @function
-_unhandled_irq:
- b _unhandled_irq
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560Pxx/bam.s b/os/ports/GCC/PPC/SPC560Pxx/bam.s
deleted file mode 100644
index d1feed8d3..000000000
--- a/os/ports/GCC/PPC/SPC560Pxx/bam.s
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560Pxx/bam.s
- * @brief SPC560Pxx boot assistant record.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(__DOXYGEN__)
-
- /* BAM record.*/
- .section .bam, "ax"
- .long 0x015A0000
- .long _reset_address
-
- .align 2
- .globl _reset_address
- .type _reset_address, @function
-_reset_address:
- bl _coreinit
- bl _ivinit
-
- b _boot_address
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560Pxx/core.s b/os/ports/GCC/PPC/SPC560Pxx/core.s
deleted file mode 100644
index 43d145ddd..000000000
--- a/os/ports/GCC/PPC/SPC560Pxx/core.s
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560Pxx/core.s
- * @brief e200z0 core configuration.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-/**
- * @name BUCSR registers definitions
- * @{
- */
-#define BUCSR_BPEN 0x00000001
-#define BUCSR_BALLOC_BFI 0x00000200
-/** @} */
-
-/**
- * @name BUCSR default settings
- * @{
- */
-#define BUCSR_DEFAULT (BUCSR_BPEN | BUCSR_BALLOC_BFI)
-/** @} */
-
-/**
- * @name MSR register definitions
- * @{
- */
-#define MSR_WE 0x00040000
-#define MSR_CE 0x00020000
-#define MSR_EE 0x00008000
-#define MSR_PR 0x00004000
-#define MSR_ME 0x00001000
-#define MSR_DE 0x00000200
-#define MSR_IS 0x00000020
-#define MSR_DS 0x00000010
-#define MSR_RI 0x00000002
-/** @} */
-
-/**
- * @name MSR default settings
- * @{
- */
-#define MSR_DEFAULT (MSR_WE | MSR_CE | MSR_ME)
-/** @} */
-
-#if !defined(__DOXYGEN__)
-
- .section .coreinit, "ax"
-
- .align 2
- .globl _coreinit
- .type _coreinit, @function
-_coreinit:
- /*
- * RAM clearing, this device requires a write to all RAM location in
- * order to initialize the ECC detection hardware, this is going to
- * slow down the startup but there is no way around.
- */
- xor %r0, %r0, %r0
- xor %r1, %r1, %r1
- xor %r2, %r2, %r2
- xor %r3, %r3, %r3
- xor %r4, %r4, %r4
- xor %r5, %r5, %r5
- xor %r6, %r6, %r6
- xor %r7, %r7, %r7
- xor %r8, %r8, %r8
- xor %r9, %r9, %r9
- xor %r10, %r10, %r10
- xor %r11, %r11, %r11
- xor %r12, %r12, %r12
- xor %r13, %r13, %r13
- xor %r14, %r14, %r14
- xor %r15, %r15, %r15
- xor %r16, %r16, %r16
- xor %r17, %r17, %r17
- xor %r18, %r18, %r18
- xor %r19, %r19, %r19
- xor %r20, %r20, %r20
- xor %r21, %r21, %r21
- xor %r22, %r22, %r22
- xor %r23, %r23, %r23
- xor %r24, %r24, %r24
- xor %r25, %r25, %r25
- xor %r26, %r26, %r26
- xor %r27, %r27, %r27
- xor %r28, %r28, %r28
- xor %r29, %r29, %r29
- xor %r30, %r30, %r30
- xor %r31, %r31, %r31
- lis %r4, __ram_start__@h
- ori %r4, %r4, __ram_start__@l
- lis %r5, __ram_end__@h
- ori %r5, %r5, __ram_end__@l
-.cleareccloop:
- cmpl %cr0, %r4, %r5
- bge %cr0, .cleareccend
- stmw %r16, 0(%r4)
- addi %r4, %r4, 64
- b .cleareccloop
-.cleareccend:
-
- /*
- * Branch prediction enabled.
- */
- li %r3, BUCSR_DEFAULT
- mtspr 1013, %r3 /* BUCSR */
-
- blr
-
- /*
- * Exception vectors initialization.
- */
- .global _ivinit
- .type _ivinit, @function
-_ivinit:
- /* MSR initialization.*/
- lis %r3, MSR_DEFAULT@h
- ori %r3, %r3, MSR_DEFAULT@l
- mtMSR %r3
-
- /* IVPR initialization.*/
- lis %r3, __ivpr_base__@h
- ori %r3, %r3, __ivpr_base__@l
- mtIVPR %r3
-
- blr
-
- .section .ivors, "ax"
-
- .globl IVORS
-IVORS:
-IVOR0: b IVOR0
- .align 4
-IVOR1: b _IVOR1
- .align 4
-IVOR2: b _IVOR2
- .align 4
-IVOR3: b _IVOR3
- .align 4
-IVOR4: b _IVOR4
- .align 4
-IVOR5: b _IVOR5
- .align 4
-IVOR6: b _IVOR6
- .align 4
-IVOR7: b _IVOR7
- .align 4
-IVOR8: b _IVOR8
- .align 4
-IVOR9: b _IVOR9
- .align 4
-IVOR10: b _IVOR10
- .align 4
-IVOR11: b _IVOR11
- .align 4
-IVOR12: b _IVOR12
- .align 4
-IVOR13: b _IVOR13
- .align 4
-IVOR14: b _IVOR14
- .align 4
-IVOR15: b _IVOR15
-
- .section .handlers, "ax"
-
- /*
- * Unhandled exceptions handler.
- */
- .weak _IVOR0, _IVOR1, _IVOR2, _IVOR3, _IVOR4, _IVOR5
- .weak _IVOR6, _IVOR7, _IVOR8, _IVOR9, _IVOR10, _IVOR11
- .weak _IVOR12, _IVOR13, _IVOR14, _IVOR15
- .weak _unhandled_exception
-_IVOR0:
-_IVOR1:
-_IVOR2:
-_IVOR3:
-_IVOR5:
-_IVOR6:
-_IVOR7:
-_IVOR8:
-_IVOR9:
-_IVOR11:
-_IVOR12:
-_IVOR13:
-_IVOR14:
-_IVOR15:
- .type _unhandled_exception, @function
-_unhandled_exception:
- b _unhandled_exception
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld b/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld
deleted file mode 100644
index de3e0bc37..000000000
--- a/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * SPC560P44 memory setup.
- */
-__irq_stack_size__ = 0x0000; /* Not yet used.*/
-__process_stack_size__ = 0x0800;
-
-MEMORY
-{
- flash : org = 0x00000000, len = 384k
- dataflash : org = 0x00800000, len = 64k
- ram : org = 0x40000000, len = 36k
-}
-
-ENTRY(_reset_address)
-
-/*
- * Derived constants.
- */
-__flash_size__ = LENGTH(flash);
-__flash_start__ = ORIGIN(flash);
-__flash_end__ = ORIGIN(flash) + LENGTH(flash);
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot : ALIGN(16) SUBALIGN(16)
- {
- KEEP(*(.bam))
- KEEP(*(.coreinit))
- KEEP(*(.handlers))
- KEEP(*(.crt0))
- . = ALIGN(0x00000800);
- KEEP(*(.vectors))
- /* Note, have to waste the first 64KB because the IVPR register
- requires an alignment of 64KB and the first 64KB cannot be used,
- IVOR0 would conflict with the BAM word. Applications could
- allocate code or data in the first 64KB by using special sections.*/
- . = ALIGN(0x00010000);
- __ivpr_base__ = .;
- KEEP(*(.ivors))
- } > flash
-
- constructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE(__init_array_end = .);
- } > flash
-
- destructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__fini_array_start = .);
- KEEP(*(.fini_array))
- KEEP(*(SORT(.fini_array.*)))
- PROVIDE(__fini_array_end = .);
- } > flash
-
- .text_vle : ALIGN(16) SUBALIGN(16)
- {
- *(.text_vle)
- *(.text_vle.*)
- *(.gnu.linkonce.t_vle.*)
- } > flash
-
- .text : ALIGN(16) SUBALIGN(16)
- {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- } > flash
-
- .rodata : ALIGN(16) SUBALIGN(16)
- {
- *(.glue_7t)
- *(.glue_7)
- *(.gcc*)
- *(.rodata)
- *(.rodata.*)
- *(.rodata1)
- } > flash
-
- .sdata2 : ALIGN(16) SUBALIGN(16)
- {
- __sdata2_start__ = . + 0x8000;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- } > flash
-
- .eh_frame_hdr :
- {
- *(.eh_frame_hdr)
- } > flash
-
- .eh_frame : ONLY_IF_RO
- {
- *(.eh_frame)
- } > flash
-
- .romdata : ALIGN(16) SUBALIGN(16)
- {
- __romdata_start__ = .;
- } > flash
-
- .stacks :
- {
- . = ALIGN(8);
- __irq_stack_base__ = .;
- . += __irq_stack_size__;
- . = ALIGN(8);
- __irq_stack_end__ = .;
- __process_stack_base__ = .;
- __main_thread_stack_base__ = .;
- . += __process_stack_size__;
- . = ALIGN(8);
- __process_stack_end__ = .;
- __main_thread_stack_end__ = .;
- } > ram
-
- .data : AT(__romdata_start__)
- {
- . = ALIGN(4);
- __data_start__ = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __sdata_start__ = . + 0x8000;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __data_end__ = .;
- } > ram
-
- .sbss :
- {
- __bss_start__ = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- } > ram
-
- .bss :
- {
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- __bss_end__ = .;
- } > ram
-
- __heap_base__ = __bss_end__;
- __heap_end__ = __ram_end__;
-}
diff --git a/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P50.ld b/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P50.ld
deleted file mode 100644
index e02b092a5..000000000
--- a/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P50.ld
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * SPC560P44 memory setup.
- */
-__irq_stack_size__ = 0x0000; /* Not yet used.*/
-__process_stack_size__ = 0x0800;
-
-MEMORY
-{
- flash : org = 0x00000000, len = 512k
- dataflash : org = 0x00800000, len = 64k
- ram : org = 0x40000000, len = 40k
-}
-
-ENTRY(_reset_address)
-
-/*
- * Derived constants.
- */
-__flash_size__ = LENGTH(flash);
-__flash_start__ = ORIGIN(flash);
-__flash_end__ = ORIGIN(flash) + LENGTH(flash);
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot : ALIGN(16) SUBALIGN(16)
- {
- KEEP(*(.bam))
- KEEP(*(.coreinit))
- KEEP(*(.handlers))
- KEEP(*(.crt0))
- . = ALIGN(0x00000800);
- KEEP(*(.vectors))
- /* Note, have to waste the first 64KB because the IVPR register
- requires an alignment of 64KB and the first 64KB cannot be used,
- IVOR0 would conflict with the BAM word. Applications could
- allocate code or data in the first 64KB by using special sections.*/
- . = ALIGN(0x00010000);
- __ivpr_base__ = .;
- KEEP(*(.ivors))
- } > flash
-
- constructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE(__init_array_end = .);
- } > flash
-
- destructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__fini_array_start = .);
- KEEP(*(.fini_array))
- KEEP(*(SORT(.fini_array.*)))
- PROVIDE(__fini_array_end = .);
- } > flash
-
- .text_vle : ALIGN(16) SUBALIGN(16)
- {
- *(.text_vle)
- *(.text_vle.*)
- *(.gnu.linkonce.t_vle.*)
- } > flash
-
- .text : ALIGN(16) SUBALIGN(16)
- {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- } > flash
-
- .rodata : ALIGN(16) SUBALIGN(16)
- {
- *(.glue_7t)
- *(.glue_7)
- *(.gcc*)
- *(.rodata)
- *(.rodata.*)
- *(.rodata1)
- } > flash
-
- .sdata2 : ALIGN(16) SUBALIGN(16)
- {
- __sdata2_start__ = . + 0x8000;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- } > flash
-
- .eh_frame_hdr :
- {
- *(.eh_frame_hdr)
- } > flash
-
- .eh_frame : ONLY_IF_RO
- {
- *(.eh_frame)
- } > flash
-
- .romdata : ALIGN(16) SUBALIGN(16)
- {
- __romdata_start__ = .;
- } > flash
-
- .stacks :
- {
- . = ALIGN(8);
- __irq_stack_base__ = .;
- . += __irq_stack_size__;
- . = ALIGN(8);
- __irq_stack_end__ = .;
- __process_stack_base__ = .;
- __main_thread_stack_base__ = .;
- . += __process_stack_size__;
- . = ALIGN(8);
- __process_stack_end__ = .;
- __main_thread_stack_end__ = .;
- } > ram
-
- .data : AT(__romdata_start__)
- {
- . = ALIGN(4);
- __data_start__ = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __sdata_start__ = . + 0x8000;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __data_end__ = .;
- } > ram
-
- .sbss :
- {
- __bss_start__ = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- } > ram
-
- .bss :
- {
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- __bss_end__ = .;
- } > ram
-
- __heap_base__ = __bss_end__;
- __heap_end__ = __ram_end__;
-}
diff --git a/os/ports/GCC/PPC/SPC560Pxx/port.mk b/os/ports/GCC/PPC/SPC560Pxx/port.mk
deleted file mode 100644
index 112728112..000000000
--- a/os/ports/GCC/PPC/SPC560Pxx/port.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# List of the ChibiOS/RT SPC560Pxx port files.
-PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
-
-PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC560Pxx/bam.s \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC560Pxx/core.s \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC560Pxx/vectors.s \
- ${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
- ${CHIBIOS}/os/ports/GCC/PPC/crt0.s
-
-PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC560Pxx
-
-PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC560Pxx/ld
diff --git a/os/ports/GCC/PPC/SPC560Pxx/ppcparams.h b/os/ports/GCC/PPC/SPC560Pxx/ppcparams.h
deleted file mode 100644
index febb90017..000000000
--- a/os/ports/GCC/PPC/SPC560Pxx/ppcparams.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560Pxx/ppcparams.h
- * @brief PowerPC parameters for the SPC560Pxx.
- *
- * @defgroup PPC_SPC560Pxx SPC560Pxx Specific Parameters
- * @ingroup PPC_SPECIFIC
- * @details This file contains the PowerPC specific parameters for the
- * SPC560Pxx platform.
- * @{
- */
-
-#ifndef _PPCPARAMS_H_
-#define _PPCPARAMS_H_
-
-/**
- * @brief PPC core model.
- */
-#define PPC_VARIANT PPC_VARIANT_e200z0
-
-/**
- * @brief Number of writable bits in IVPR register.
- */
-#define PPC_IVPR_BITS 16
-
-/**
- * @brief IVORx registers support.
- */
-#define PPC_SUPPORTS_IVORS FALSE
-
-/**
- * @brief Book E instruction set support.
- */
-#define PPC_SUPPORTS_BOOKE FALSE
-
-/**
- * @brief VLE instruction set support.
- */
-#define PPC_SUPPORTS_VLE TRUE
-
-/**
- * @brief Supports VLS Load/Store Multiple Volatile instructions.
- */
-#define PPC_SUPPORTS_VLE_MULTI TRUE
-
-/**
- * @brief Supports the decrementer timer.
- */
-#define PPC_SUPPORTS_DECREMENTER FALSE
-
-#endif /* _PPCPARAMS_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560Pxx/vectors.h b/os/ports/GCC/PPC/SPC560Pxx/vectors.h
deleted file mode 100644
index fc2f6e47c..000000000
--- a/os/ports/GCC/PPC/SPC560Pxx/vectors.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560Pxx/vectors.h
- * @brief ISR vector module header.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#ifndef _VECTORS_H_
-#define _VECTORS_H_
-
-/*===========================================================================*/
-/* Module constants. */
-/*===========================================================================*/
-
-/**
- * @brief Number of ISR vectors available.
- */
-#define VECTORS_NUMBER 261
-
-/*===========================================================================*/
-/* Module pre-compile time settings. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Derived constants and error checks. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module data structures and types. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module macros. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-#if !defined(_FROM_ASM_)
-
-#if !defined(__DOXYGEN__)
-extern uint32_t _vectors[VECTORS_NUMBER];
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void _unhandled_irq(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined(_FROM_ASM_) */
-
-#endif /* _OSAL_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC560Pxx/vectors.s b/os/ports/GCC/PPC/SPC560Pxx/vectors.s
deleted file mode 100644
index 8fcbb27d9..000000000
--- a/os/ports/GCC/PPC/SPC560Pxx/vectors.s
+++ /dev/null
@@ -1,445 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC560Pxx/vectors.s
- * @brief SPC560Pxx vectors table.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(__DOXYGEN__)
-
- /* Software vectors table. The vectors are accessed from the IVOR4
- handler only. In order to declare an interrupt handler just create
- a function withe the same name of a vector, the symbol will
- override the weak symbol declared here.*/
- .section .vectors, "ax"
- .align 4
- .globl _vectors
-_vectors:
- .long vector0, vector1, vector2, vector3
- .long vector4, vector5, vector6, vector7
- .long vector8, vector9, vector10, vector11
- .long vector12, vector13, vector14, vector15
- .long vector16, vector17, vector18, vector19
- .long vector20, vector21, vector22, vector23
- .long vector24, vector25, vector26, vector27
- .long vector28, vector29, vector30, vector31
- .long vector32, vector33, vector34, vector35
- .long vector36, vector37, vector38, vector39
- .long vector40, vector41, vector42, vector43
- .long vector44, vector45, vector46, vector47
- .long vector48, vector49, vector50, vector51
- .long vector52, vector53, vector54, vector55
- .long vector56, vector57, vector58, vector59
- .long vector60, vector61, vector62, vector63
- .long vector64, vector65, vector66, vector67
- .long vector68, vector69, vector70, vector71
- .long vector72, vector73, vector74, vector75
- .long vector76, vector77, vector78, vector79
- .long vector80, vector81, vector82, vector83
- .long vector84, vector85, vector86, vector87
- .long vector88, vector89, vector90, vector91
- .long vector92, vector93, vector94, vector95
- .long vector96, vector97, vector98, vector99
- .long vector100, vector101, vector102, vector103
- .long vector104, vector105, vector106, vector107
- .long vector108, vector109, vector110, vector111
- .long vector112, vector113, vector114, vector115
- .long vector116, vector117, vector118, vector119
- .long vector120, vector121, vector122, vector123
- .long vector124, vector125, vector126, vector127
- .long vector128, vector129, vector130, vector131
- .long vector132, vector133, vector134, vector135
- .long vector136, vector137, vector138, vector139
- .long vector140, vector141, vector142, vector143
- .long vector144, vector145, vector146, vector147
- .long vector148, vector149, vector150, vector151
- .long vector152, vector153, vector154, vector155
- .long vector156, vector157, vector158, vector159
- .long vector160, vector161, vector162, vector163
- .long vector164, vector165, vector166, vector167
- .long vector168, vector169, vector170, vector171
- .long vector172, vector173, vector174, vector175
- .long vector176, vector177, vector178, vector179
- .long vector180, vector181, vector182, vector183
- .long vector184, vector185, vector186, vector187
- .long vector188, vector189, vector190, vector191
- .long vector192, vector193, vector194, vector195
- .long vector196, vector197, vector198, vector199
- .long vector200, vector201, vector202, vector203
- .long vector204, vector205, vector206, vector207
- .long vector208, vector209, vector210, vector211
- .long vector212, vector213, vector214, vector215
- .long vector216, vector217, vector218, vector219
- .long vector220, vector221, vector222, vector223
- .long vector224, vector225, vector226, vector227
- .long vector228, vector229, vector230, vector231
- .long vector232, vector233, vector234, vector235
- .long vector236, vector237, vector238, vector239
- .long vector240, vector241, vector242, vector243
- .long vector244, vector245, vector246, vector247
- .long vector248, vector249, vector250, vector251
- .long vector252, vector253, vector254, vector255
- .long vector256, vector257, vector258, vector259
- .long vector260
-
- .text
- .align 2
-
- .weak vector0, vector1, vector2, vector3
- .weak vector4, vector5, vector6, vector7
- .weak vector8, vector9, vector10, vector11
- .weak vector12, vector13, vector14, vector15
- .weak vector16, vector17, vector18, vector19
- .weak vector20, vector21, vector22, vector23
- .weak vector24, vector25, vector26, vector27
- .weak vector28, vector29, vector30, vector31
- .weak vector32, vector33, vector34, vector35
- .weak vector36, vector37, vector38, vector39
- .weak vector40, vector41, vector42, vector43
- .weak vector44, vector45, vector46, vector47
- .weak vector48, vector49, vector50, vector51
- .weak vector52, vector53, vector54, vector55
- .weak vector56, vector57, vector58, vector59
- .weak vector60, vector61, vector62, vector63
- .weak vector64, vector65, vector66, vector67
- .weak vector68, vector69, vector70, vector71
- .weak vector72, vector73, vector74, vector75
- .weak vector76, vector77, vector78, vector79
- .weak vector80, vector81, vector82, vector83
- .weak vector84, vector85, vector86, vector87
- .weak vector88, vector89, vector90, vector91
- .weak vector92, vector93, vector94, vector95
- .weak vector96, vector97, vector98, vector99
- .weak vector100, vector101, vector102, vector103
- .weak vector104, vector105, vector106, vector107
- .weak vector108, vector109, vector110, vector111
- .weak vector112, vector113, vector114, vector115
- .weak vector116, vector117, vector118, vector119
- .weak vector120, vector121, vector122, vector123
- .weak vector124, vector125, vector126, vector127
- .weak vector128, vector129, vector130, vector131
- .weak vector132, vector133, vector134, vector135
- .weak vector136, vector137, vector138, vector139
- .weak vector140, vector141, vector142, vector143
- .weak vector144, vector145, vector146, vector147
- .weak vector148, vector149, vector150, vector151
- .weak vector152, vector153, vector154, vector155
- .weak vector156, vector157, vector158, vector159
- .weak vector160, vector161, vector162, vector163
- .weak vector164, vector165, vector166, vector167
- .weak vector168, vector169, vector170, vector171
- .weak vector172, vector173, vector174, vector175
- .weak vector176, vector177, vector178, vector179
- .weak vector180, vector181, vector182, vector183
- .weak vector184, vector185, vector186, vector187
- .weak vector188, vector189, vector190, vector191
- .weak vector192, vector193, vector194, vector195
- .weak vector196, vector197, vector198, vector199
- .weak vector200, vector201, vector202, vector203
- .weak vector204, vector205, vector206, vector207
- .weak vector208, vector209, vector210, vector211
- .weak vector212, vector213, vector214, vector215
- .weak vector216, vector217, vector218, vector219
- .weak vector220, vector221, vector222, vector223
- .weak vector224, vector225, vector226, vector227
- .weak vector228, vector229, vector230, vector231
- .weak vector232, vector233, vector234, vector235
- .weak vector236, vector237, vector238, vector239
- .weak vector240, vector241, vector242, vector243
- .weak vector244, vector245, vector246, vector247
- .weak vector248, vector249, vector250, vector251
- .weak vector252, vector253, vector254, vector255
- .weak vector256, vector257, vector258, vector259
- .weak vector260
-
-vector0:
-vector1:
-vector2:
-vector3:
-vector4:
-vector5:
-vector6:
-vector7:
-vector8:
-vector9:
-vector10:
-vector11:
-vector12:
-vector13:
-vector14:
-vector15:
-vector16:
-vector17:
-vector18:
-vector19:
-vector20:
-vector21:
-vector22:
-vector23:
-vector24:
-vector25:
-vector26:
-vector27:
-vector28:
-vector29:
-vector30:
-vector31:
-vector32:
-vector33:
-vector34:
-vector35:
-vector36:
-vector37:
-vector38:
-vector39:
-vector40:
-vector41:
-vector42:
-vector43:
-vector44:
-vector45:
-vector46:
-vector47:
-vector48:
-vector49:
-vector50:
-vector51:
-vector52:
-vector53:
-vector54:
-vector55:
-vector56:
-vector57:
-vector58:
-vector59:
-vector60:
-vector61:
-vector62:
-vector63:
-vector64:
-vector65:
-vector66:
-vector67:
-vector68:
-vector69:
-vector70:
-vector71:
-vector72:
-vector73:
-vector74:
-vector75:
-vector76:
-vector77:
-vector78:
-vector79:
-vector80:
-vector81:
-vector82:
-vector83:
-vector84:
-vector85:
-vector86:
-vector87:
-vector88:
-vector89:
-vector90:
-vector91:
-vector92:
-vector93:
-vector94:
-vector95:
-vector96:
-vector97:
-vector98:
-vector99:
-vector100:
-vector101:
-vector102:
-vector103:
-vector104:
-vector105:
-vector106:
-vector107:
-vector108:
-vector109:
-vector110:
-vector111:
-vector112:
-vector113:
-vector114:
-vector115:
-vector116:
-vector117:
-vector118:
-vector119:
-vector120:
-vector121:
-vector122:
-vector123:
-vector124:
-vector125:
-vector126:
-vector127:
-vector128:
-vector129:
-vector130:
-vector131:
-vector132:
-vector133:
-vector134:
-vector135:
-vector136:
-vector137:
-vector138:
-vector139:
-vector140:
-vector141:
-vector142:
-vector143:
-vector144:
-vector145:
-vector146:
-vector147:
-vector148:
-vector149:
-vector150:
-vector151:
-vector152:
-vector153:
-vector154:
-vector155:
-vector156:
-vector157:
-vector158:
-vector159:
-vector160:
-vector161:
-vector162:
-vector163:
-vector164:
-vector165:
-vector166:
-vector167:
-vector168:
-vector169:
-vector170:
-vector171:
-vector172:
-vector173:
-vector174:
-vector175:
-vector176:
-vector177:
-vector178:
-vector179:
-vector180:
-vector181:
-vector182:
-vector183:
-vector184:
-vector185:
-vector186:
-vector187:
-vector188:
-vector189:
-vector190:
-vector191:
-vector192:
-vector193:
-vector194:
-vector195:
-vector196:
-vector197:
-vector198:
-vector199:
-vector200:
-vector201:
-vector202:
-vector203:
-vector204:
-vector205:
-vector206:
-vector207:
-vector208:
-vector209:
-vector210:
-vector211:
-vector212:
-vector213:
-vector214:
-vector215:
-vector216:
-vector217:
-vector218:
-vector219:
-vector220:
-vector221:
-vector222:
-vector223:
-vector224:
-vector225:
-vector226:
-vector227:
-vector228:
-vector229:
-vector230:
-vector231:
-vector232:
-vector233:
-vector234:
-vector235:
-vector236:
-vector237:
-vector238:
-vector239:
-vector240:
-vector241:
-vector242:
-vector243:
-vector244:
-vector245:
-vector246:
-vector247:
-vector248:
-vector249:
-vector250:
-vector251:
-vector252:
-vector253:
-vector254:
-vector255:
-vector256:
-vector257:
-vector258:
-vector259:
-vector260:
-
- .weak _unhandled_irq
- .type _unhandled_irq, @function
-_unhandled_irq:
- b _unhandled_irq
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC563Mxx/bam.s b/os/ports/GCC/PPC/SPC563Mxx/bam.s
deleted file mode 100644
index 19ce1e014..000000000
--- a/os/ports/GCC/PPC/SPC563Mxx/bam.s
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC563Mxx/bam.s
- * @brief SPC563Mxx boot assistant record.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(__DOXYGEN__)
-
- /* BAM record.*/
- .section .bam, "ax"
-#if PPC_USE_VLE
- .long 0x015A0000
-#else
- .long 0x005A0000
-#endif
- .long _reset_address
-
- .align 2
- .globl _reset_address
- .type _reset_address, @function
-_reset_address:
- bl _coreinit
- bl _ivinit
-
- b _boot_address
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC563Mxx/core.s b/os/ports/GCC/PPC/SPC563Mxx/core.s
deleted file mode 100644
index a1b3ca37b..000000000
--- a/os/ports/GCC/PPC/SPC563Mxx/core.s
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC563Mxx/core.s
- * @brief e200z3 core configuration.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-/**
- * @name BUCSR registers definitions
- * @{
- */
-#define BUCSR_BPEN 0x00000001
-#define BUCSR_BALLOC_BFI 0x00000200
-/** @} */
-
-/**
- * @name BUCSR default settings
- * @{
- */
-#define BUCSR_DEFAULT (BUCSR_BPEN | BUCSR_BALLOC_BFI)
-/** @} */
-
-/**
- * @name MSR register definitions
- * @{
- */
-#define MSR_UCLE 0x04000000
-#define MSR_SPE 0x02000000
-#define MSR_WE 0x00040000
-#define MSR_CE 0x00020000
-#define MSR_EE 0x00008000
-#define MSR_PR 0x00004000
-#define MSR_FP 0x00002000
-#define MSR_ME 0x00001000
-#define MSR_FE0 0x00000800
-#define MSR_DE 0x00000200
-#define MSR_FE1 0x00000100
-#define MSR_IS 0x00000020
-#define MSR_DS 0x00000010
-#define MSR_RI 0x00000002
-/** @} */
-
-/**
- * @name MSR default settings
- * @{
- */
-#define MSR_DEFAULT (MSR_SPE | MSR_WE | MSR_CE | MSR_ME)
-/** @} */
-
-#if !defined(__DOXYGEN__)
-
- .section .coreinit, "ax"
-
- .align 2
- .globl _coreinit
- .type _coreinit, @function
-_coreinit:
-
- /*
- * RAM clearing, this device requires a write to all RAM location in
- * order to initialize the ECC detection hardware, this is going to
- * slow down the startup but there is no way around.
- */
- xor %r0, %r0, %r0
- xor %r1, %r1, %r1
- xor %r2, %r2, %r2
- xor %r3, %r3, %r3
- xor %r4, %r4, %r4
- xor %r5, %r5, %r5
- xor %r6, %r6, %r6
- xor %r7, %r7, %r7
- xor %r8, %r8, %r8
- xor %r9, %r9, %r9
- xor %r10, %r10, %r10
- xor %r11, %r11, %r11
- xor %r12, %r12, %r12
- xor %r13, %r13, %r13
- xor %r14, %r14, %r14
- xor %r15, %r15, %r15
- xor %r16, %r16, %r16
- xor %r17, %r17, %r17
- xor %r18, %r18, %r18
- xor %r19, %r19, %r19
- xor %r20, %r20, %r20
- xor %r21, %r21, %r21
- xor %r22, %r22, %r22
- xor %r23, %r23, %r23
- xor %r24, %r24, %r24
- xor %r25, %r25, %r25
- xor %r26, %r26, %r26
- xor %r27, %r27, %r27
- xor %r28, %r28, %r28
- xor %r29, %r29, %r29
- xor %r30, %r30, %r30
- xor %r31, %r31, %r31
- lis %r4, __ram_start__@h
- ori %r4, %r4, __ram_start__@l
- lis %r5, __ram_end__@h
- ori %r5, %r5, __ram_end__@l
-.cleareccloop:
- cmpl %cr0, %r4, %r5
- bge %cr0, .cleareccend
- stmw %r16, 0(%r4)
- addi %r4, %r4, 64
- b .cleareccloop
-.cleareccend:
-
- /*
- * Branch prediction enabled.
- */
- li %r3, BUCSR_DEFAULT
- mtspr 1013, %r3 /* BUCSR */
-
- blr
-
- /*
- * Exception vectors initialization.
- */
- .global _ivinit
- .type _ivinit, @function
-_ivinit:
- /* MSR initialization.*/
- lis %r3, MSR_DEFAULT@h
- ori %r3, %r3, MSR_DEFAULT@l
- mtMSR %r3
-
- /* IVPR initialization.*/
- lis %r3, __ivpr_base__@h
- ori %r3, %r3, __ivpr_base__@l
- mtIVPR %r3
-
- /* IVORs initialization.*/
- lis %r3, _unhandled_exception@h
- ori %r3, %r3, _unhandled_exception@l
-
- mtspr 400, %r3 /* IVOR0-15 */
- mtspr 401, %r3
- mtspr 402, %r3
- mtspr 403, %r3
- mtspr 404, %r3
- mtspr 405, %r3
- mtspr 406, %r3
- mtspr 407, %r3
- mtspr 408, %r3
- mtspr 409, %r3
- mtspr 410, %r3
- mtspr 411, %r3
- mtspr 412, %r3
- mtspr 413, %r3
- mtspr 414, %r3
- mtspr 415, %r3
- mtspr 528, %r3 /* IVOR32-34 */
- mtspr 529, %r3
- mtspr 530, %r3
-
- blr
-
- .section .handlers, "ax"
-
- /*
- * Unhandled exceptions handler.
- */
- .weak _unhandled_exception
- .type _unhandled_exception, @function
-_unhandled_exception:
- b _unhandled_exception
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC563Mxx/ld/SPC563M64.ld b/os/ports/GCC/PPC/SPC563Mxx/ld/SPC563M64.ld
deleted file mode 100644
index 25fe1143b..000000000
--- a/os/ports/GCC/PPC/SPC563Mxx/ld/SPC563M64.ld
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * SPC563M64 memory setup.
- */
-__irq_stack_size__ = 0x0000; /* Not yet used.*/
-__process_stack_size__ = 0x0800;
-
-MEMORY
-{
- flash : org = 0x00000000, len = 1536k
- ram : org = 0x40000000, len = 94k
-}
-
-ENTRY(_reset_address)
-
-/*
- * Derived constants.
- */
-__flash_size__ = LENGTH(flash);
-__flash_start__ = ORIGIN(flash);
-__flash_end__ = ORIGIN(flash) + LENGTH(flash);
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot : ALIGN(16) SUBALIGN(16)
- {
- __ivpr_base__ = .;
- KEEP(*(.bam))
- KEEP(*(.coreinit))
- KEEP(*(.crt0))
- KEEP(*(.handlers))
- . = ALIGN(0x800);
- KEEP(*(.vectors))
- } > flash
-
- constructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE(__init_array_end = .);
- } > flash
-
- destructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__fini_array_start = .);
- KEEP(*(.fini_array))
- KEEP(*(SORT(.fini_array.*)))
- PROVIDE(__fini_array_end = .);
- } > flash
-
- .text_vle : ALIGN(16) SUBALIGN(16)
- {
- *(.text_vle)
- *(.text_vle.*)
- *(.gnu.linkonce.t_vle.*)
- } > flash
-
- .text : ALIGN(16) SUBALIGN(16)
- {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- } > flash
-
- .rodata : ALIGN(16) SUBALIGN(16)
- {
- *(.glue_7t)
- *(.glue_7)
- *(.gcc*)
- *(.rodata)
- *(.rodata.*)
- *(.rodata1)
- } > flash
-
- .sdata2 : ALIGN(16) SUBALIGN(16)
- {
- __sdata2_start__ = . + 0x8000;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- } > flash
-
- .eh_frame_hdr :
- {
- *(.eh_frame_hdr)
- } > flash
-
- .eh_frame : ONLY_IF_RO
- {
- *(.eh_frame)
- } > flash
-
- .romdata : ALIGN(16) SUBALIGN(16)
- {
- __romdata_start__ = .;
- } > flash
-
- .stacks :
- {
- . = ALIGN(8);
- __irq_stack_base__ = .;
- . += __irq_stack_size__;
- . = ALIGN(8);
- __irq_stack_end__ = .;
- __process_stack_base__ = .;
- __main_thread_stack_base__ = .;
- . += __process_stack_size__;
- . = ALIGN(8);
- __process_stack_end__ = .;
- __main_thread_stack_end__ = .;
- } > ram
-
- .data : AT(__romdata_start__)
- {
- . = ALIGN(4);
- __data_start__ = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __sdata_start__ = . + 0x8000;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __data_end__ = .;
- } > ram
-
- .sbss :
- {
- __bss_start__ = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- } > ram
-
- .bss :
- {
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- __bss_end__ = .;
- } > ram
-
- __heap_base__ = __bss_end__;
- __heap_end__ = __ram_end__;
-}
diff --git a/os/ports/GCC/PPC/SPC563Mxx/port.mk b/os/ports/GCC/PPC/SPC563Mxx/port.mk
deleted file mode 100644
index 5f5a1b309..000000000
--- a/os/ports/GCC/PPC/SPC563Mxx/port.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# List of the ChibiOS/RT SPC563Mxx port files.
-PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
-
-PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC563Mxx/bam.s \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC563Mxx/core.s \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC563Mxx/vectors.s \
- ${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
- ${CHIBIOS}/os/ports/GCC/PPC/crt0.s
-
-PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC563Mxx
-
-PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC563Mxx/ld
diff --git a/os/ports/GCC/PPC/SPC563Mxx/ppcparams.h b/os/ports/GCC/PPC/SPC563Mxx/ppcparams.h
deleted file mode 100644
index 94aa98ffd..000000000
--- a/os/ports/GCC/PPC/SPC563Mxx/ppcparams.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC563Mxx/ppcparams.h
- * @brief PowerPC parameters for the SPC563Mxx.
- *
- * @defgroup PPC_SPC563Mxx SPC563Mxx Specific Parameters
- * @ingroup PPC_SPECIFIC
- * @details This file contains the PowerPC specific parameters for the
- * SPC563Mxx platform.
- * @{
- */
-
-#ifndef _PPCPARAMS_H_
-#define _PPCPARAMS_H_
-
-/**
- * @brief PPC core model.
- */
-#define PPC_VARIANT PPC_VARIANT_e200z3
-
-/**
- * @brief Number of writable bits in IVPR register.
- */
-#define PPC_IVPR_BITS 16
-
-/**
- * @brief IVORx registers support.
- */
-#define PPC_SUPPORTS_IVORS TRUE
-
-/**
- * @brief Book E instruction set support.
- */
-#define PPC_SUPPORTS_BOOKE TRUE
-
-/**
- * @brief VLE instruction set support.
- */
-#define PPC_SUPPORTS_VLE TRUE
-
-/**
- * @brief Supports VLS Load/Store Multiple Volatile instructions.
- */
-#define PPC_SUPPORTS_VLE_MULTI TRUE
-
-/**
- * @brief Supports the decrementer timer.
- */
-#define PPC_SUPPORTS_DECREMENTER TRUE
-
-#endif /* _PPCPARAMS_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC563Mxx/vectors.h b/os/ports/GCC/PPC/SPC563Mxx/vectors.h
deleted file mode 100644
index 9d6d744f6..000000000
--- a/os/ports/GCC/PPC/SPC563Mxx/vectors.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC563Mxx/vectors.h
- * @brief ISR vector module header.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#ifndef _VECTORS_H_
-#define _VECTORS_H_
-
-/*===========================================================================*/
-/* Module constants. */
-/*===========================================================================*/
-
-/**
- * @brief Number of ISR vectors available.
- */
-#define VECTORS_NUMBER 360
-
-/*===========================================================================*/
-/* Module pre-compile time settings. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Derived constants and error checks. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module data structures and types. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module macros. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-#if !defined(_FROM_ASM_)
-
-#if !defined(__DOXYGEN__)
-extern uint32_t _vectors[VECTORS_NUMBER];
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void _unhandled_irq(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined(_FROM_ASM_) */
-
-#endif /* _OSAL_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC563Mxx/vectors.s b/os/ports/GCC/PPC/SPC563Mxx/vectors.s
deleted file mode 100644
index dc4cbdfef..000000000
--- a/os/ports/GCC/PPC/SPC563Mxx/vectors.s
+++ /dev/null
@@ -1,592 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC563Mxx/vectors.s
- * @brief SPC563Mxx vectors table.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(__DOXYGEN__)
-
- /* Software vectors table. The vectors are accessed from the IVOR4
- handler only. In order to declare an interrupt handler just create
- a function withe the same name of a vector, the symbol will
- override the weak symbol declared here.*/
- .section .vectors, "ax"
- .align 4
- .globl _vectors
-_vectors:
- .long vector0, vector1, vector2, vector3
- .long vector4, vector5, vector6, vector7
- .long vector8, vector9, vector10, vector11
- .long vector12, vector13, vector14, vector15
- .long vector16, vector17, vector18, vector19
- .long vector20, vector21, vector22, vector23
- .long vector24, vector25, vector26, vector27
- .long vector28, vector29, vector30, vector31
- .long vector32, vector33, vector34, vector35
- .long vector36, vector37, vector38, vector39
- .long vector40, vector41, vector42, vector43
- .long vector44, vector45, vector46, vector47
- .long vector48, vector49, vector50, vector51
- .long vector52, vector53, vector54, vector55
- .long vector56, vector57, vector58, vector59
- .long vector60, vector61, vector62, vector63
- .long vector64, vector65, vector66, vector67
- .long vector68, vector69, vector70, vector71
- .long vector72, vector73, vector74, vector75
- .long vector76, vector77, vector78, vector79
- .long vector80, vector81, vector82, vector83
- .long vector84, vector85, vector86, vector87
- .long vector88, vector89, vector90, vector91
- .long vector92, vector93, vector94, vector95
- .long vector96, vector97, vector98, vector99
- .long vector100, vector101, vector102, vector103
- .long vector104, vector105, vector106, vector107
- .long vector108, vector109, vector110, vector111
- .long vector112, vector113, vector114, vector115
- .long vector116, vector117, vector118, vector119
- .long vector120, vector121, vector122, vector123
- .long vector124, vector125, vector126, vector127
- .long vector128, vector129, vector130, vector131
- .long vector132, vector133, vector134, vector135
- .long vector136, vector137, vector138, vector139
- .long vector140, vector141, vector142, vector143
- .long vector144, vector145, vector146, vector147
- .long vector148, vector149, vector150, vector151
- .long vector152, vector153, vector154, vector155
- .long vector156, vector157, vector158, vector159
- .long vector160, vector161, vector162, vector163
- .long vector164, vector165, vector166, vector167
- .long vector168, vector169, vector170, vector171
- .long vector172, vector173, vector174, vector175
- .long vector176, vector177, vector178, vector179
- .long vector180, vector181, vector182, vector183
- .long vector184, vector185, vector186, vector187
- .long vector188, vector189, vector190, vector191
- .long vector192, vector193, vector194, vector195
- .long vector196, vector197, vector198, vector199
- .long vector200, vector201, vector202, vector203
- .long vector204, vector205, vector206, vector207
- .long vector208, vector209, vector210, vector211
- .long vector212, vector213, vector214, vector215
- .long vector216, vector217, vector218, vector219
- .long vector220, vector221, vector222, vector223
- .long vector224, vector225, vector226, vector227
- .long vector228, vector229, vector230, vector231
- .long vector232, vector233, vector234, vector235
- .long vector236, vector237, vector238, vector239
- .long vector240, vector241, vector242, vector243
- .long vector244, vector245, vector246, vector247
- .long vector248, vector249, vector250, vector251
- .long vector252, vector253, vector254, vector255
- .long vector256, vector257, vector258, vector259
- .long vector260, vector261, vector262, vector263
- .long vector264, vector265, vector266, vector267
- .long vector268, vector269, vector270, vector271
- .long vector272, vector273, vector274, vector275
- .long vector276, vector277, vector278, vector279
- .long vector280, vector281, vector282, vector283
- .long vector284, vector285, vector286, vector287
- .long vector288, vector289, vector290, vector291
- .long vector292, vector293, vector294, vector295
- .long vector296, vector297, vector298, vector299
- .long vector300, vector301, vector302, vector303
- .long vector304, vector305, vector306, vector307
- .long vector308, vector309, vector310, vector311
- .long vector312, vector313, vector314, vector315
- .long vector316, vector317, vector318, vector319
- .long vector320, vector321, vector322, vector323
- .long vector324, vector325, vector326, vector327
- .long vector328, vector329, vector330, vector331
- .long vector332, vector333, vector334, vector335
- .long vector336, vector337, vector338, vector339
- .long vector340, vector341, vector342, vector343
- .long vector344, vector345, vector346, vector347
- .long vector348, vector349, vector350, vector351
- .long vector352, vector353, vector354, vector355
- .long vector356, vector357, vector358, vector359
-
- .text
- .align 2
-
- .weak vector0, vector1, vector2, vector3
- .weak vector4, vector5, vector6, vector7
- .weak vector8, vector9, vector10, vector11
- .weak vector12, vector13, vector14, vector15
- .weak vector16, vector17, vector18, vector19
- .weak vector20, vector21, vector22, vector23
- .weak vector24, vector25, vector26, vector27
- .weak vector28, vector29, vector30, vector31
- .weak vector32, vector33, vector34, vector35
- .weak vector36, vector37, vector38, vector39
- .weak vector40, vector41, vector42, vector43
- .weak vector44, vector45, vector46, vector47
- .weak vector48, vector49, vector50, vector51
- .weak vector52, vector53, vector54, vector55
- .weak vector56, vector57, vector58, vector59
- .weak vector60, vector61, vector62, vector63
- .weak vector64, vector65, vector66, vector67
- .weak vector68, vector69, vector70, vector71
- .weak vector72, vector73, vector74, vector75
- .weak vector76, vector77, vector78, vector79
- .weak vector80, vector81, vector82, vector83
- .weak vector84, vector85, vector86, vector87
- .weak vector88, vector89, vector90, vector91
- .weak vector92, vector93, vector94, vector95
- .weak vector96, vector97, vector98, vector99
- .weak vector100, vector101, vector102, vector103
- .weak vector104, vector105, vector106, vector107
- .weak vector108, vector109, vector110, vector111
- .weak vector112, vector113, vector114, vector115
- .weak vector116, vector117, vector118, vector119
- .weak vector120, vector121, vector122, vector123
- .weak vector124, vector125, vector126, vector127
- .weak vector128, vector129, vector130, vector131
- .weak vector132, vector133, vector134, vector135
- .weak vector136, vector137, vector138, vector139
- .weak vector140, vector141, vector142, vector143
- .weak vector144, vector145, vector146, vector147
- .weak vector148, vector149, vector150, vector151
- .weak vector152, vector153, vector154, vector155
- .weak vector156, vector157, vector158, vector159
- .weak vector160, vector161, vector162, vector163
- .weak vector164, vector165, vector166, vector167
- .weak vector168, vector169, vector170, vector171
- .weak vector172, vector173, vector174, vector175
- .weak vector176, vector177, vector178, vector179
- .weak vector180, vector181, vector182, vector183
- .weak vector184, vector185, vector186, vector187
- .weak vector188, vector189, vector190, vector191
- .weak vector192, vector193, vector194, vector195
- .weak vector196, vector197, vector198, vector199
- .weak vector200, vector201, vector202, vector203
- .weak vector204, vector205, vector206, vector207
- .weak vector208, vector209, vector210, vector211
- .weak vector212, vector213, vector214, vector215
- .weak vector216, vector217, vector218, vector219
- .weak vector220, vector221, vector222, vector223
- .weak vector224, vector225, vector226, vector227
- .weak vector228, vector229, vector230, vector231
- .weak vector232, vector233, vector234, vector235
- .weak vector236, vector237, vector238, vector239
- .weak vector240, vector241, vector242, vector243
- .weak vector244, vector245, vector246, vector247
- .weak vector248, vector249, vector250, vector251
- .weak vector252, vector253, vector254, vector255
- .weak vector256, vector257, vector258, vector259
- .weak vector260, vector261, vector262, vector263
- .weak vector264, vector265, vector266, vector267
- .weak vector268, vector269, vector270, vector271
- .weak vector272, vector273, vector274, vector275
- .weak vector276, vector277, vector278, vector279
- .weak vector280, vector281, vector282, vector283
- .weak vector284, vector285, vector286, vector287
- .weak vector288, vector289, vector290, vector291
- .weak vector292, vector293, vector294, vector295
- .weak vector296, vector297, vector298, vector299
- .weak vector300, vector301, vector302, vector303
- .weak vector304, vector305, vector306, vector307
- .weak vector308, vector309, vector310, vector311
- .weak vector312, vector313, vector314, vector315
- .weak vector316, vector317, vector318, vector319
- .weak vector320, vector321, vector322, vector323
- .weak vector324, vector325, vector326, vector327
- .weak vector328, vector329, vector330, vector331
- .weak vector332, vector333, vector334, vector335
- .weak vector336, vector337, vector338, vector339
- .weak vector340, vector341, vector342, vector343
- .weak vector344, vector345, vector346, vector347
- .weak vector348, vector349, vector350, vector351
- .weak vector352, vector353, vector354, vector355
- .weak vector356, vector357, vector358, vector359
-
-vector0:
-vector1:
-vector2:
-vector3:
-vector4:
-vector5:
-vector6:
-vector7:
-vector8:
-vector9:
-vector10:
-vector11:
-vector12:
-vector13:
-vector14:
-vector15:
-vector16:
-vector17:
-vector18:
-vector19:
-vector20:
-vector21:
-vector22:
-vector23:
-vector24:
-vector25:
-vector26:
-vector27:
-vector28:
-vector29:
-vector30:
-vector31:
-vector32:
-vector33:
-vector34:
-vector35:
-vector36:
-vector37:
-vector38:
-vector39:
-vector40:
-vector41:
-vector42:
-vector43:
-vector44:
-vector45:
-vector46:
-vector47:
-vector48:
-vector49:
-vector50:
-vector51:
-vector52:
-vector53:
-vector54:
-vector55:
-vector56:
-vector57:
-vector58:
-vector59:
-vector60:
-vector61:
-vector62:
-vector63:
-vector64:
-vector65:
-vector66:
-vector67:
-vector68:
-vector69:
-vector70:
-vector71:
-vector72:
-vector73:
-vector74:
-vector75:
-vector76:
-vector77:
-vector78:
-vector79:
-vector80:
-vector81:
-vector82:
-vector83:
-vector84:
-vector85:
-vector86:
-vector87:
-vector88:
-vector89:
-vector90:
-vector91:
-vector92:
-vector93:
-vector94:
-vector95:
-vector96:
-vector97:
-vector98:
-vector99:
-vector100:
-vector101:
-vector102:
-vector103:
-vector104:
-vector105:
-vector106:
-vector107:
-vector108:
-vector109:
-vector110:
-vector111:
-vector112:
-vector113:
-vector114:
-vector115:
-vector116:
-vector117:
-vector118:
-vector119:
-vector120:
-vector121:
-vector122:
-vector123:
-vector124:
-vector125:
-vector126:
-vector127:
-vector128:
-vector129:
-vector130:
-vector131:
-vector132:
-vector133:
-vector134:
-vector135:
-vector136:
-vector137:
-vector138:
-vector139:
-vector140:
-vector141:
-vector142:
-vector143:
-vector144:
-vector145:
-vector146:
-vector147:
-vector148:
-vector149:
-vector150:
-vector151:
-vector152:
-vector153:
-vector154:
-vector155:
-vector156:
-vector157:
-vector158:
-vector159:
-vector160:
-vector161:
-vector162:
-vector163:
-vector164:
-vector165:
-vector166:
-vector167:
-vector168:
-vector169:
-vector170:
-vector171:
-vector172:
-vector173:
-vector174:
-vector175:
-vector176:
-vector177:
-vector178:
-vector179:
-vector180:
-vector181:
-vector182:
-vector183:
-vector184:
-vector185:
-vector186:
-vector187:
-vector188:
-vector189:
-vector190:
-vector191:
-vector192:
-vector193:
-vector194:
-vector195:
-vector196:
-vector197:
-vector198:
-vector199:
-vector200:
-vector201:
-vector202:
-vector203:
-vector204:
-vector205:
-vector206:
-vector207:
-vector208:
-vector209:
-vector210:
-vector211:
-vector212:
-vector213:
-vector214:
-vector215:
-vector216:
-vector217:
-vector218:
-vector219:
-vector220:
-vector221:
-vector222:
-vector223:
-vector224:
-vector225:
-vector226:
-vector227:
-vector228:
-vector229:
-vector230:
-vector231:
-vector232:
-vector233:
-vector234:
-vector235:
-vector236:
-vector237:
-vector238:
-vector239:
-vector240:
-vector241:
-vector242:
-vector243:
-vector244:
-vector245:
-vector246:
-vector247:
-vector248:
-vector249:
-vector250:
-vector251:
-vector252:
-vector253:
-vector254:
-vector255:
-vector256:
-vector257:
-vector258:
-vector259:
-vector260:
-vector261:
-vector262:
-vector263:
-vector264:
-vector265:
-vector266:
-vector267:
-vector268:
-vector269:
-vector270:
-vector271:
-vector272:
-vector273:
-vector274:
-vector275:
-vector276:
-vector277:
-vector278:
-vector279:
-vector280:
-vector281:
-vector282:
-vector283:
-vector284:
-vector285:
-vector286:
-vector287:
-vector288:
-vector289:
-vector290:
-vector291:
-vector292:
-vector293:
-vector294:
-vector295:
-vector296:
-vector297:
-vector298:
-vector299:
-vector300:
-vector301:
-vector302:
-vector303:
-vector304:
-vector305:
-vector306:
-vector307:
-vector308:
-vector309:
-vector310:
-vector311:
-vector312:
-vector313:
-vector314:
-vector315:
-vector316:
-vector317:
-vector318:
-vector319:
-vector320:
-vector321:
-vector322:
-vector323:
-vector324:
-vector325:
-vector326:
-vector327:
-vector328:
-vector329:
-vector330:
-vector331:
-vector332:
-vector333:
-vector334:
-vector335:
-vector336:
-vector337:
-vector338:
-vector339:
-vector340:
-vector341:
-vector342:
-vector343:
-vector344:
-vector345:
-vector346:
-vector347:
-vector348:
-vector349:
-vector350:
-vector351:
-vector352:
-vector353:
-vector354:
-vector355:
-vector356:
-vector357:
-vector358:
-vector359:
-
- .weak _unhandled_irq
- .type _unhandled_irq, @function
-_unhandled_irq:
- b _unhandled_irq
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC564Axx/bam.s b/os/ports/GCC/PPC/SPC564Axx/bam.s
deleted file mode 100644
index 316724abf..000000000
--- a/os/ports/GCC/PPC/SPC564Axx/bam.s
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC564Axx/bam.s
- * @brief SPC564Axx boot assistant record.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(__DOXYGEN__)
-
- /* BAM record.*/
- .section .bam, "ax"
-#if PPC_USE_VLE
- .long 0x015A0000
-#else
- .long 0x005A0000
-#endif
- .long _reset_address
-
- .align 2
- .globl _reset_address
- .type _reset_address, @function
-_reset_address:
- bl _coreinit
- bl _ivinit
-
- b _boot_address
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC564Axx/core.s b/os/ports/GCC/PPC/SPC564Axx/core.s
deleted file mode 100644
index bd6ad0fed..000000000
--- a/os/ports/GCC/PPC/SPC564Axx/core.s
+++ /dev/null
@@ -1,479 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC564Axx/core.s
- * @brief e200z4 core configuration.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-/**
- * @name MASx registers definitions
- * @{
- */
-#define MAS0_TBLMAS_TBL 0x10000000
-#define MAS0_ESEL_MASK 0x000F0000
-#define MAS0_ESEL(n) ((n) << 16)
-
-#define MAS1_VALID 0x80000000
-#define MAS1_IPROT 0x40000000
-#define MAS1_TID_MASK 0x00FF0000
-#define MAS1_TS 0x00001000
-#define MAS1_TSISE_MASK 0x00000F80
-#define MAS1_TSISE_1K 0x00000000
-#define MAS1_TSISE_2K 0x00000080
-#define MAS1_TSISE_4K 0x00000100
-#define MAS1_TSISE_8K 0x00000180
-#define MAS1_TSISE_16K 0x00000200
-#define MAS1_TSISE_32K 0x00000280
-#define MAS1_TSISE_64K 0x00000300
-#define MAS1_TSISE_128K 0x00000380
-#define MAS1_TSISE_256K 0x00000400
-#define MAS1_TSISE_512K 0x00000480
-#define MAS1_TSISE_1M 0x00000500
-#define MAS1_TSISE_2M 0x00000580
-#define MAS1_TSISE_4M 0x00000600
-#define MAS1_TSISE_8M 0x00000680
-#define MAS1_TSISE_16M 0x00000700
-#define MAS1_TSISE_32M 0x00000780
-#define MAS1_TSISE_64M 0x00000800
-#define MAS1_TSISE_128M 0x00000880
-#define MAS1_TSISE_256M 0x00000900
-#define MAS1_TSISE_512M 0x00000980
-#define MAS1_TSISE_1G 0x00000A00
-#define MAS1_TSISE_2G 0x00000A80
-#define MAS1_TSISE_4G 0x00000B00
-
-#define MAS2_EPN_MASK 0xFFFFFC00
-#define MAS2_EPN(n) ((n) & MAS2_EPN_MASK)
-#define MAS2_EBOOK 0x00000000
-#define MAS2_VLE 0x00000020
-#define MAS2_W 0x00000010
-#define MAS2_I 0x00000008
-#define MAS2_M 0x00000004
-#define MAS2_G 0x00000002
-#define MAS2_E 0x00000001
-
-#define MAS3_RPN_MASK 0xFFFFFC00
-#define MAS3_RPN(n) ((n) & MAS3_RPN_MASK)
-#define MAS3_U0 0x00000200
-#define MAS3_U1 0x00000100
-#define MAS3_U2 0x00000080
-#define MAS3_U3 0x00000040
-#define MAS3_UX 0x00000020
-#define MAS3_SX 0x00000010
-#define MAS3_UW 0x00000008
-#define MAS3_SW 0x00000004
-#define MAS3_UR 0x00000002
-#define MAS3_SR 0x00000001
-/** @} */
-
-/**
- * @name BUCSR registers definitions
- * @{
- */
-#define BUCSR_BPEN 0x00000001
-#define BUCSR_BPRED_MASK 0x00000006
-#define BUCSR_BPRED_0 0x00000000
-#define BUCSR_BPRED_1 0x00000002
-#define BUCSR_BPRED_2 0x00000004
-#define BUCSR_BPRED_3 0x00000006
-#define BUCSR_BALLOC_MASK 0x00000030
-#define BUCSR_BALLOC_0 0x00000000
-#define BUCSR_BALLOC_1 0x00000010
-#define BUCSR_BALLOC_2 0x00000020
-#define BUCSR_BALLOC_3 0x00000030
-#define BUCSR_BALLOC_BFI 0x00000200
-/** @} */
-
-/**
- * @name TLB default settings
- * @{
- */
-#define TLB0_MAS0 (MAS0_TBLMAS_TBL | MAS0_ESEL(0))
-#define TLB0_MAS1 (MAS1_VALID | MAS1_IPROT | MAS1_TSISE_256K)
-#define TLB0_MAS2 (MAS2_EPN(0x40000000) | MAS2_VLE)
-#define TLB0_MAS3 (MAS3_RPN(0x40000000) | \
- MAS3_UX | MAS3_SX | MAS3_UW | MAS3_SW | \
- MAS3_UR | MAS3_SR)
-
-#define TLB1_MAS0 (MAS0_TBLMAS_TBL | MAS0_ESEL(1))
-#define TLB1_MAS1 (MAS1_VALID | MAS1_IPROT | MAS1_TSISE_4M)
-#define TLB1_MAS2 (MAS2_EPN(0x00000000) | MAS2_VLE)
-#define TLB1_MAS3 (MAS3_RPN(0x00000000) | \
- MAS3_UX | MAS3_SX | MAS3_UW | MAS3_SW | \
- MAS3_UR | MAS3_SR)
-
-#define TLB2_MAS0 (MAS0_TBLMAS_TBL | MAS0_ESEL(2))
-#define TLB2_MAS1 (MAS1_VALID | MAS1_IPROT | MAS1_TSISE_1M)
-#define TLB2_MAS2 (MAS2_EPN(0xC3F00000) | MAS2_I)
-#define TLB2_MAS3 (MAS3_RPN(0xC3F00000) | \
- MAS3_UW | MAS3_SW | MAS3_UR | MAS3_SR)
-
-#define TLB3_MAS0 (MAS0_TBLMAS_TBL | MAS0_ESEL(3))
-#define TLB3_MAS1 (MAS1_VALID | MAS1_IPROT | MAS1_TSISE_1M)
-#define TLB3_MAS2 (MAS2_EPN(0xFFE00000) | MAS2_I)
-#define TLB3_MAS3 (MAS3_RPN(0xFFE00000) | \
- MAS3_UW | MAS3_SW | MAS3_UR | MAS3_SR)
-
-#define TLB4_MAS0 (MAS0_TBLMAS_TBL | MAS0_ESEL(4))
-#define TLB4_MAS1 (MAS1_VALID | MAS1_IPROT | MAS1_TSISE_1M)
-#define TLB4_MAS2 (MAS2_EPN(0xFFF00000) | MAS2_I)
-#define TLB4_MAS3 (MAS3_RPN(0xFFF00000) | \
- MAS3_UW | MAS3_SW | MAS3_UR | MAS3_SR)
-/** @} */
-
-/**
- * @name LICSR1 registers definitions
- * @{
- */
-#define LICSR1_ICE 0x00000001
-#define LICSR1_ICINV 0x00000002
-#define LICSR1_ICORG 0x00000010
-/** @} */
-
-/**
- * @name BUCSR default settings
- * @{
- */
-#define BUCSR_DEFAULT (BUCSR_BPEN | BUCSR_BPRED_0 | \
- BUCSR_BALLOC_0 | BUCSR_BALLOC_BFI)
-/** @} */
-
-/**
- * @name LICSR1 default settings
- * @{
- */
-#define LICSR1_DEFAULT (LICSR1_ICE | LICSR1_ICORG)
-/** @} */
-
-/**
- * @name MSR register definitions
- * @{
- */
-#define MSR_UCLE 0x04000000
-#define MSR_SPE 0x02000000
-#define MSR_WE 0x00040000
-#define MSR_CE 0x00020000
-#define MSR_EE 0x00008000
-#define MSR_PR 0x00004000
-#define MSR_FP 0x00002000
-#define MSR_ME 0x00001000
-#define MSR_FE0 0x00000800
-#define MSR_DE 0x00000200
-#define MSR_FE1 0x00000100
-#define MSR_IS 0x00000020
-#define MSR_DS 0x00000010
-#define MSR_RI 0x00000002
-/** @} */
-
-/**
- * @name MSR default settings
- * @{
- */
-#define MSR_DEFAULT (MSR_SPE | MSR_WE | MSR_CE | MSR_ME)
-/** @} */
-
-#if !defined(__DOXYGEN__)
-
- .section .coreinit, "ax"
-
- .align 2
-_ramcode:
- tlbwe
- isync
- blr
-
- .align 2
- .globl _coreinit
- .type _coreinit, @function
-_coreinit:
- /*
- * Invalidating all TLBs except TLB1.
- */
- lis %r3, 0
- mtspr 625, %r3 /* MAS1 */
- mtspr 626, %r3 /* MAS2 */
- mtspr 627, %r3 /* MAS3 */
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(0))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(2))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(3))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(4))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(5))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(6))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(7))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(8))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(9))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(10))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(11))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(12))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(13))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(14))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(15))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
-
- /*
- * TLB0 allocated to internal RAM.
- */
- lis %r3, TLB0_MAS0@h
- mtspr 624, %r3 /* MAS0 */
- lis %r3, TLB0_MAS1@h
- ori %r3, %r3, TLB0_MAS1@l
- mtspr 625, %r3 /* MAS1 */
- lis %r3, TLB0_MAS2@h
- ori %r3, %r3, TLB0_MAS2@l
- mtspr 626, %r3 /* MAS2 */
- lis %r3, TLB0_MAS3@h
- ori %r3, %r3, TLB0_MAS3@l
- mtspr 627, %r3 /* MAS3 */
- tlbwe
-
- /*
- * TLB2 allocated to internal Peripherals Bridge A.
- */
- lis %r3, TLB2_MAS0@h
- mtspr 624, %r3 /* MAS0 */
- lis %r3, TLB2_MAS1@h
- ori %r3, %r3, TLB2_MAS1@l
- mtspr 625, %r3 /* MAS1 */
- lis %r3, TLB2_MAS2@h
- ori %r3, %r3, TLB2_MAS2@l
- mtspr 626, %r3 /* MAS2 */
- lis %r3, TLB2_MAS3@h
- ori %r3, %r3, TLB2_MAS3@l
- mtspr 627, %r3 /* MAS3 */
- tlbwe
-
- /*
- * TLB3 allocated to internal Peripherals Bridge B.
- */
- lis %r3, TLB3_MAS0@h
- mtspr 624, %r3 /* MAS0 */
- lis %r3, TLB3_MAS1@h
- ori %r3, %r3, TLB3_MAS1@l
- mtspr 625, %r3 /* MAS1 */
- lis %r3, TLB3_MAS2@h
- ori %r3, %r3, TLB3_MAS2@l
- mtspr 626, %r3 /* MAS2 */
- lis %r3, TLB3_MAS3@h
- ori %r3, %r3, TLB3_MAS3@l
- mtspr 627, %r3 /* MAS3 */
- tlbwe
-
- /*
- * TLB4 allocated to on-platform peripherals.
- */
- lis %r3, TLB4_MAS0@h
- mtspr 624, %r3 /* MAS0 */
- lis %r3, TLB4_MAS1@h
- ori %r3, %r3, TLB4_MAS1@l
- mtspr 625, %r3 /* MAS1 */
- lis %r3, TLB4_MAS2@h
- ori %r3, %r3, TLB4_MAS2@l
- mtspr 626, %r3 /* MAS2 */
- lis %r3, TLB4_MAS3@h
- ori %r3, %r3, TLB4_MAS3@l
- mtspr 627, %r3 /* MAS3 */
- tlbwe
-
- /*
- * RAM clearing, this device requires a write to all RAM location in
- * order to initialize the ECC detection hardware, this is going to
- * slow down the startup but there is no way around.
- */
- xor %r0, %r0, %r0
- xor %r1, %r1, %r1
- xor %r2, %r2, %r2
- xor %r3, %r3, %r3
- xor %r4, %r4, %r4
- xor %r5, %r5, %r5
- xor %r6, %r6, %r6
- xor %r7, %r7, %r7
- xor %r8, %r8, %r8
- xor %r9, %r9, %r9
- xor %r10, %r10, %r10
- xor %r11, %r11, %r11
- xor %r12, %r12, %r12
- xor %r13, %r13, %r13
- xor %r14, %r14, %r14
- xor %r15, %r15, %r15
- xor %r16, %r16, %r16
- xor %r17, %r17, %r17
- xor %r18, %r18, %r18
- xor %r19, %r19, %r19
- xor %r20, %r20, %r20
- xor %r21, %r21, %r21
- xor %r22, %r22, %r22
- xor %r23, %r23, %r23
- xor %r24, %r24, %r24
- xor %r25, %r25, %r25
- xor %r26, %r26, %r26
- xor %r27, %r27, %r27
- xor %r28, %r28, %r28
- xor %r29, %r29, %r29
- xor %r30, %r30, %r30
- xor %r31, %r31, %r31
- lis %r4, __ram_start__@h
- ori %r4, %r4, __ram_start__@l
- lis %r5, __ram_end__@h
- ori %r5, %r5, __ram_end__@l
-.cleareccloop:
- cmpl %cr0, %r4, %r5
- bge %cr0, .cleareccend
- stmw %r16, 0(%r4)
- addi %r4, %r4, 64
- b .cleareccloop
-.cleareccend:
-
- /*
- * *Finally* the TLB1 is re-allocated to flash, note, the final phase
- * is executed from RAM.
- */
- lis %r3, TLB1_MAS0@h
- mtspr 624, %r3 /* MAS0 */
- lis %r3, TLB1_MAS1@h
- ori %r3, %r3, TLB1_MAS1@l
- mtspr 625, %r3 /* MAS1 */
- lis %r3, TLB1_MAS2@h
- ori %r3, %r3, TLB1_MAS2@l
- mtspr 626, %r3 /* MAS2 */
- lis %r3, TLB1_MAS3@h
- ori %r3, %r3, TLB1_MAS3@l
- mtspr 627, %r3 /* MAS3 */
- mflr %r4
- lis %r6, _ramcode@h
- ori %r6, %r6, _ramcode@l
- lis %r7, 0x40010000@h
- mtctr %r7
- lwz %r3, 0(%r6)
- stw %r3, 0(%r7)
- lwz %r3, 4(%r6)
- stw %r3, 4(%r7)
- lwz %r3, 8(%r6)
- stw %r3, 8(%r7)
- bctrl
- mtlr %r4
-
- /*
- * Branch prediction enabled.
- */
- li %r3, BUCSR_DEFAULT
- mtspr 1013, %r3 /* BUCSR */
-
- /*
- * Cache invalidated and then enabled.
- */
- li %r3, LICSR1_ICINV
- mtspr 1011, %r3 /* LICSR1 */
-.inv: mfspr %r3, 1011 /* LICSR1 */
- andi. %r3, %r3, LICSR1_ICINV
- bne .inv
- lis %r3, LICSR1_DEFAULT@h
- ori %r3, %r3, LICSR1_DEFAULT@l
- mtspr 1011, %r3 /* LICSR1 */
-
- blr
-
- /*
- * Exception vectors initialization.
- */
- .global _ivinit
- .type _ivinit, @function
-_ivinit:
- /* MSR initialization.*/
- lis %r3, MSR_DEFAULT@h
- ori %r3, %r3, MSR_DEFAULT@l
- mtMSR %r3
-
- /* IVPR initialization.*/
- lis %r3, __ivpr_base__@h
- ori %r3, %r3, __ivpr_base__@l
- mtIVPR %r3
-
- /* IVORs initialization.*/
- lis %r3, _unhandled_exception@h
- ori %r3, %r3, _unhandled_exception@l
-
- mtspr 400, %r3 /* IVOR0-15 */
- mtspr 401, %r3
- mtspr 402, %r3
- mtspr 403, %r3
- mtspr 404, %r3
- mtspr 405, %r3
- mtspr 406, %r3
- mtspr 407, %r3
- mtspr 408, %r3
- mtspr 409, %r3
- mtspr 410, %r3
- mtspr 411, %r3
- mtspr 412, %r3
- mtspr 413, %r3
- mtspr 414, %r3
- mtspr 415, %r3
- mtspr 528, %r3 /* IVOR32-34 */
- mtspr 529, %r3
- mtspr 530, %r3
-
- blr
-
- .section .handlers, "ax"
-
- /*
- * Unhandled exceptions handler.
- */
- .weak _unhandled_exception
- .type _unhandled_exception, @function
-_unhandled_exception:
- b _unhandled_exception
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC564Axx/ld/SPC564A70.ld b/os/ports/GCC/PPC/SPC564Axx/ld/SPC564A70.ld
deleted file mode 100644
index adcb41763..000000000
--- a/os/ports/GCC/PPC/SPC564Axx/ld/SPC564A70.ld
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * SPC564A70 memory setup.
- */
-__irq_stack_size__ = 0x0000; /* Not yet used.*/
-__process_stack_size__ = 0x0800;
-
-MEMORY
-{
- flash : org = 0x00000000, len = 2M
- ram : org = 0x40000000, len = 128k
-}
-
-ENTRY(_reset_address)
-
-/*
- * Derived constants.
- */
-__flash_size__ = LENGTH(flash);
-__flash_start__ = ORIGIN(flash);
-__flash_end__ = ORIGIN(flash) + LENGTH(flash);
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot : ALIGN(16) SUBALIGN(16)
- {
- __ivpr_base__ = .;
- KEEP(*(.bam))
- KEEP(*(.coreinit))
- KEEP(*(.crt0))
- KEEP(*(.handlers))
- . = ALIGN(0x800);
- KEEP(*(.vectors))
- } > flash
-
- constructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE(__init_array_end = .);
- } > flash
-
- destructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__fini_array_start = .);
- KEEP(*(.fini_array))
- KEEP(*(SORT(.fini_array.*)))
- PROVIDE(__fini_array_end = .);
- } > flash
-
- .text_vle : ALIGN(16) SUBALIGN(16)
- {
- *(.text_vle)
- *(.text_vle.*)
- *(.gnu.linkonce.t_vle.*)
- } > flash
-
- .text : ALIGN(16) SUBALIGN(16)
- {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- } > flash
-
- .rodata : ALIGN(16) SUBALIGN(16)
- {
- *(.glue_7t)
- *(.glue_7)
- *(.gcc*)
- *(.rodata)
- *(.rodata.*)
- *(.rodata1)
- } > flash
-
- .sdata2 : ALIGN(16) SUBALIGN(16)
- {
- __sdata2_start__ = . + 0x8000;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- } > flash
-
- .eh_frame_hdr :
- {
- *(.eh_frame_hdr)
- } > flash
-
- .eh_frame : ONLY_IF_RO
- {
- *(.eh_frame)
- } > flash
-
- .romdata : ALIGN(16) SUBALIGN(16)
- {
- __romdata_start__ = .;
- } > flash
-
- .stacks :
- {
- . = ALIGN(8);
- __irq_stack_base__ = .;
- . += __irq_stack_size__;
- . = ALIGN(8);
- __irq_stack_end__ = .;
- __process_stack_base__ = .;
- __main_thread_stack_base__ = .;
- . += __process_stack_size__;
- . = ALIGN(8);
- __process_stack_end__ = .;
- __main_thread_stack_end__ = .;
- } > ram
-
- .data : AT(__romdata_start__)
- {
- . = ALIGN(4);
- __data_start__ = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __sdata_start__ = . + 0x8000;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __data_end__ = .;
- } > ram
-
- .sbss :
- {
- __bss_start__ = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- } > ram
-
- .bss :
- {
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- __bss_end__ = .;
- } > ram
-
- __heap_base__ = __bss_end__;
- __heap_end__ = __ram_end__;
-}
diff --git a/os/ports/GCC/PPC/SPC564Axx/ld/SPC564A80.ld b/os/ports/GCC/PPC/SPC564Axx/ld/SPC564A80.ld
deleted file mode 100644
index ab503114e..000000000
--- a/os/ports/GCC/PPC/SPC564Axx/ld/SPC564A80.ld
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * SPC564A80 memory setup.
- */
-__irq_stack_size__ = 0x0000; /* Not yet used.*/
-__process_stack_size__ = 0x0800;
-
-MEMORY
-{
- flash : org = 0x00000000, len = 4M
- ram : org = 0x40000000, len = 192k
-}
-
-ENTRY(_reset_address)
-
-/*
- * Derived constants.
- */
-__flash_size__ = LENGTH(flash);
-__flash_start__ = ORIGIN(flash);
-__flash_end__ = ORIGIN(flash) + LENGTH(flash);
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot : ALIGN(16) SUBALIGN(16)
- {
- __ivpr_base__ = .;
- KEEP(*(.bam))
- KEEP(*(.coreinit))
- KEEP(*(.crt0))
- KEEP(*(.handlers))
- . = ALIGN(0x800);
- KEEP(*(.vectors))
- } > flash
-
- constructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE(__init_array_end = .);
- } > flash
-
- destructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__fini_array_start = .);
- KEEP(*(.fini_array))
- KEEP(*(SORT(.fini_array.*)))
- PROVIDE(__fini_array_end = .);
- } > flash
-
- .text_vle : ALIGN(16) SUBALIGN(16)
- {
- *(.text_vle)
- *(.text_vle.*)
- *(.gnu.linkonce.t_vle.*)
- } > flash
-
- .text : ALIGN(16) SUBALIGN(16)
- {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- } > flash
-
- .rodata : ALIGN(16) SUBALIGN(16)
- {
- *(.glue_7t)
- *(.glue_7)
- *(.gcc*)
- *(.rodata)
- *(.rodata.*)
- *(.rodata1)
- } > flash
-
- .sdata2 : ALIGN(16) SUBALIGN(16)
- {
- __sdata2_start__ = . + 0x8000;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- } > flash
-
- .eh_frame_hdr :
- {
- *(.eh_frame_hdr)
- } > flash
-
- .eh_frame : ONLY_IF_RO
- {
- *(.eh_frame)
- } > flash
-
- .romdata : ALIGN(16) SUBALIGN(16)
- {
- __romdata_start__ = .;
- } > flash
-
- .stacks :
- {
- . = ALIGN(8);
- __irq_stack_base__ = .;
- . += __irq_stack_size__;
- . = ALIGN(8);
- __irq_stack_end__ = .;
- __process_stack_base__ = .;
- __main_thread_stack_base__ = .;
- . += __process_stack_size__;
- . = ALIGN(8);
- __process_stack_end__ = .;
- __main_thread_stack_end__ = .;
- } > ram
-
- .data : AT(__romdata_start__)
- {
- . = ALIGN(4);
- __data_start__ = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __sdata_start__ = . + 0x8000;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __data_end__ = .;
- } > ram
-
- .sbss :
- {
- __bss_start__ = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- } > ram
-
- .bss :
- {
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- __bss_end__ = .;
- } > ram
-
- __heap_base__ = __bss_end__;
- __heap_end__ = __ram_end__;
-}
diff --git a/os/ports/GCC/PPC/SPC564Axx/port.mk b/os/ports/GCC/PPC/SPC564Axx/port.mk
deleted file mode 100644
index 81422d7c6..000000000
--- a/os/ports/GCC/PPC/SPC564Axx/port.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# List of the ChibiOS/RT SPC564Axx port files.
-PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
-
-PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC564Axx/bam.s \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC564Axx/core.s \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC564Axx/vectors.s \
- ${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
- ${CHIBIOS}/os/ports/GCC/PPC/crt0.s
-
-PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC564Axx
-
-PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC564Axx/ld
diff --git a/os/ports/GCC/PPC/SPC564Axx/ppcparams.h b/os/ports/GCC/PPC/SPC564Axx/ppcparams.h
deleted file mode 100644
index 4525b168c..000000000
--- a/os/ports/GCC/PPC/SPC564Axx/ppcparams.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC564Axx/ppcparams.h
- * @brief PowerPC parameters for the SPC564Axx.
- *
- * @defgroup PPC_SPC564Axx SPC564Axx Specific Parameters
- * @ingroup PPC_SPECIFIC
- * @details This file contains the PowerPC specific parameters for the
- * SPC564Axx platform.
- * @{
- */
-
-#ifndef _PPCPARAMS_H_
-#define _PPCPARAMS_H_
-
-/**
- * @brief PPC core model.
- */
-#define PPC_VARIANT PPC_VARIANT_e200z4
-
-/**
- * @brief IVORx registers support.
- */
-#define PPC_SUPPORTS_IVORS TRUE
-
-/**
- * @brief Book E instruction set support.
- */
-#define PPC_SUPPORTS_BOOKE TRUE
-
-/**
- * @brief VLE instruction set support.
- */
-#define PPC_SUPPORTS_VLE TRUE
-
-/**
- * @brief Supports VLS Load/Store Multiple Volatile instructions.
- */
-#define PPC_SUPPORTS_VLE_MULTI TRUE
-
-/**
- * @brief Supports the decrementer timer.
- */
-#define PPC_SUPPORTS_DECREMENTER TRUE
-
-#endif /* _PPCPARAMS_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC564Axx/vectors.h b/os/ports/GCC/PPC/SPC564Axx/vectors.h
deleted file mode 100644
index 2e8ab38a1..000000000
--- a/os/ports/GCC/PPC/SPC564Axx/vectors.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC564Axx/vectors.h
- * @brief ISR vector module header.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#ifndef _VECTORS_H_
-#define _VECTORS_H_
-
-/*===========================================================================*/
-/* Module constants. */
-/*===========================================================================*/
-
-/**
- * @brief Number of ISR vectors available.
- */
-#define VECTORS_NUMBER 486
-
-/*===========================================================================*/
-/* Module pre-compile time settings. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Derived constants and error checks. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module data structures and types. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module macros. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-#if !defined(_FROM_ASM_)
-
-#if !defined(__DOXYGEN__)
-extern uint32_t _vectors[VECTORS_NUMBER];
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void _unhandled_irq(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined(_FROM_ASM_) */
-
-#endif /* _OSAL_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC564Axx/vectors.s b/os/ports/GCC/PPC/SPC564Axx/vectors.s
deleted file mode 100644
index 7ac668d35..000000000
--- a/os/ports/GCC/PPC/SPC564Axx/vectors.s
+++ /dev/null
@@ -1,782 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC564Axx/vectors.s
- * @brief SPC564Axx vectors table.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(__DOXYGEN__)
-
- /* Software vectors table. The vectors are accessed from the IVOR4
- handler only. In order to declare an interrupt handler just create
- a function withe the same name of a vector, the symbol will
- override the weak symbol declared here.*/
- .section .vectors, "ax"
- .align 4
- .globl _vectors
-_vectors:
- .long vector0, vector1, vector2, vector3
- .long vector4, vector5, vector6, vector7
- .long vector8, vector9, vector10, vector11
- .long vector12, vector13, vector14, vector15
- .long vector16, vector17, vector18, vector19
- .long vector20, vector21, vector22, vector23
- .long vector24, vector25, vector26, vector27
- .long vector28, vector29, vector30, vector31
- .long vector32, vector33, vector34, vector35
- .long vector36, vector37, vector38, vector39
- .long vector40, vector41, vector42, vector43
- .long vector44, vector45, vector46, vector47
- .long vector48, vector49, vector50, vector51
- .long vector52, vector53, vector54, vector55
- .long vector56, vector57, vector58, vector59
- .long vector60, vector61, vector62, vector63
- .long vector64, vector65, vector66, vector67
- .long vector68, vector69, vector70, vector71
- .long vector72, vector73, vector74, vector75
- .long vector76, vector77, vector78, vector79
- .long vector80, vector81, vector82, vector83
- .long vector84, vector85, vector86, vector87
- .long vector88, vector89, vector90, vector91
- .long vector92, vector93, vector94, vector95
- .long vector96, vector97, vector98, vector99
- .long vector100, vector101, vector102, vector103
- .long vector104, vector105, vector106, vector107
- .long vector108, vector109, vector110, vector111
- .long vector112, vector113, vector114, vector115
- .long vector116, vector117, vector118, vector119
- .long vector120, vector121, vector122, vector123
- .long vector124, vector125, vector126, vector127
- .long vector128, vector129, vector130, vector131
- .long vector132, vector133, vector134, vector135
- .long vector136, vector137, vector138, vector139
- .long vector140, vector141, vector142, vector143
- .long vector144, vector145, vector146, vector147
- .long vector148, vector149, vector150, vector151
- .long vector152, vector153, vector154, vector155
- .long vector156, vector157, vector158, vector159
- .long vector160, vector161, vector162, vector163
- .long vector164, vector165, vector166, vector167
- .long vector168, vector169, vector170, vector171
- .long vector172, vector173, vector174, vector175
- .long vector176, vector177, vector178, vector179
- .long vector180, vector181, vector182, vector183
- .long vector184, vector185, vector186, vector187
- .long vector188, vector189, vector190, vector191
- .long vector192, vector193, vector194, vector195
- .long vector196, vector197, vector198, vector199
- .long vector200, vector201, vector202, vector203
- .long vector204, vector205, vector206, vector207
- .long vector208, vector209, vector210, vector211
- .long vector212, vector213, vector214, vector215
- .long vector216, vector217, vector218, vector219
- .long vector220, vector221, vector222, vector223
- .long vector224, vector225, vector226, vector227
- .long vector228, vector229, vector230, vector231
- .long vector232, vector233, vector234, vector235
- .long vector236, vector237, vector238, vector239
- .long vector240, vector241, vector242, vector243
- .long vector244, vector245, vector246, vector247
- .long vector248, vector249, vector250, vector251
- .long vector252, vector253, vector254, vector255
- .long vector256, vector257, vector258, vector259
- .long vector260, vector261, vector262, vector263
- .long vector264, vector265, vector266, vector267
- .long vector268, vector269, vector270, vector271
- .long vector272, vector273, vector274, vector275
- .long vector276, vector277, vector278, vector279
- .long vector280, vector281, vector282, vector283
- .long vector284, vector285, vector286, vector287
- .long vector288, vector289, vector290, vector291
- .long vector292, vector293, vector294, vector295
- .long vector296, vector297, vector298, vector299
- .long vector300, vector301, vector302, vector303
- .long vector304, vector305, vector306, vector307
- .long vector308, vector309, vector310, vector311
- .long vector312, vector313, vector314, vector315
- .long vector316, vector317, vector318, vector319
- .long vector320, vector321, vector322, vector323
- .long vector324, vector325, vector326, vector327
- .long vector328, vector329, vector330, vector331
- .long vector332, vector333, vector334, vector335
- .long vector336, vector337, vector338, vector339
- .long vector340, vector341, vector342, vector343
- .long vector344, vector345, vector346, vector347
- .long vector348, vector349, vector350, vector351
- .long vector352, vector353, vector354, vector355
- .long vector356, vector357, vector358, vector359
- .long vector360, vector361, vector362, vector363
- .long vector364, vector365, vector366, vector367
- .long vector368, vector369, vector370, vector371
- .long vector372, vector373, vector374, vector375
- .long vector376, vector377, vector378, vector379
- .long vector380, vector381, vector382, vector383
- .long vector384, vector385, vector386, vector387
- .long vector388, vector389, vector390, vector391
- .long vector392, vector393, vector394, vector395
- .long vector396, vector397, vector398, vector399
- .long vector400, vector401, vector402, vector403
- .long vector404, vector405, vector406, vector407
- .long vector408, vector409, vector410, vector411
- .long vector412, vector413, vector414, vector415
- .long vector416, vector417, vector418, vector419
- .long vector420, vector421, vector422, vector423
- .long vector424, vector425, vector426, vector427
- .long vector428, vector429, vector430, vector431
- .long vector432, vector433, vector434, vector435
- .long vector436, vector437, vector438, vector439
- .long vector440, vector441, vector442, vector443
- .long vector444, vector445, vector446, vector447
- .long vector448, vector449, vector450, vector451
- .long vector452, vector453, vector454, vector455
- .long vector456, vector457, vector458, vector459
- .long vector460, vector461, vector462, vector463
- .long vector464, vector465, vector466, vector467
- .long vector468, vector469, vector470, vector471
- .long vector472, vector473, vector474, vector475
- .long vector476, vector477, vector478, vector479
- .long vector480, vector481, vector482, vector483
- .long vector484, vector485
-
- .text
- .align 2
-
- .weak vector0, vector1, vector2, vector3
- .weak vector4, vector5, vector6, vector7
- .weak vector8, vector9, vector10, vector11
- .weak vector12, vector13, vector14, vector15
- .weak vector16, vector17, vector18, vector19
- .weak vector20, vector21, vector22, vector23
- .weak vector24, vector25, vector26, vector27
- .weak vector28, vector29, vector30, vector31
- .weak vector32, vector33, vector34, vector35
- .weak vector36, vector37, vector38, vector39
- .weak vector40, vector41, vector42, vector43
- .weak vector44, vector45, vector46, vector47
- .weak vector48, vector49, vector50, vector51
- .weak vector52, vector53, vector54, vector55
- .weak vector56, vector57, vector58, vector59
- .weak vector60, vector61, vector62, vector63
- .weak vector64, vector65, vector66, vector67
- .weak vector68, vector69, vector70, vector71
- .weak vector72, vector73, vector74, vector75
- .weak vector76, vector77, vector78, vector79
- .weak vector80, vector81, vector82, vector83
- .weak vector84, vector85, vector86, vector87
- .weak vector88, vector89, vector90, vector91
- .weak vector92, vector93, vector94, vector95
- .weak vector96, vector97, vector98, vector99
- .weak vector100, vector101, vector102, vector103
- .weak vector104, vector105, vector106, vector107
- .weak vector108, vector109, vector110, vector111
- .weak vector112, vector113, vector114, vector115
- .weak vector116, vector117, vector118, vector119
- .weak vector120, vector121, vector122, vector123
- .weak vector124, vector125, vector126, vector127
- .weak vector128, vector129, vector130, vector131
- .weak vector132, vector133, vector134, vector135
- .weak vector136, vector137, vector138, vector139
- .weak vector140, vector141, vector142, vector143
- .weak vector144, vector145, vector146, vector147
- .weak vector148, vector149, vector150, vector151
- .weak vector152, vector153, vector154, vector155
- .weak vector156, vector157, vector158, vector159
- .weak vector160, vector161, vector162, vector163
- .weak vector164, vector165, vector166, vector167
- .weak vector168, vector169, vector170, vector171
- .weak vector172, vector173, vector174, vector175
- .weak vector176, vector177, vector178, vector179
- .weak vector180, vector181, vector182, vector183
- .weak vector184, vector185, vector186, vector187
- .weak vector188, vector189, vector190, vector191
- .weak vector192, vector193, vector194, vector195
- .weak vector196, vector197, vector198, vector199
- .weak vector200, vector201, vector202, vector203
- .weak vector204, vector205, vector206, vector207
- .weak vector208, vector209, vector210, vector211
- .weak vector212, vector213, vector214, vector215
- .weak vector216, vector217, vector218, vector219
- .weak vector220, vector221, vector222, vector223
- .weak vector224, vector225, vector226, vector227
- .weak vector228, vector229, vector230, vector231
- .weak vector232, vector233, vector234, vector235
- .weak vector236, vector237, vector238, vector239
- .weak vector240, vector241, vector242, vector243
- .weak vector244, vector245, vector246, vector247
- .weak vector248, vector249, vector250, vector251
- .weak vector252, vector253, vector254, vector255
- .weak vector256, vector257, vector258, vector259
- .weak vector260, vector261, vector262, vector263
- .weak vector264, vector265, vector266, vector267
- .weak vector268, vector269, vector270, vector271
- .weak vector272, vector273, vector274, vector275
- .weak vector276, vector277, vector278, vector279
- .weak vector280, vector281, vector282, vector283
- .weak vector284, vector285, vector286, vector287
- .weak vector288, vector289, vector290, vector291
- .weak vector292, vector293, vector294, vector295
- .weak vector296, vector297, vector298, vector299
- .weak vector300, vector301, vector302, vector303
- .weak vector304, vector305, vector306, vector307
- .weak vector308, vector309, vector310, vector311
- .weak vector312, vector313, vector314, vector315
- .weak vector316, vector317, vector318, vector319
- .weak vector320, vector321, vector322, vector323
- .weak vector324, vector325, vector326, vector327
- .weak vector328, vector329, vector330, vector331
- .weak vector332, vector333, vector334, vector335
- .weak vector336, vector337, vector338, vector339
- .weak vector340, vector341, vector342, vector343
- .weak vector344, vector345, vector346, vector347
- .weak vector348, vector349, vector350, vector351
- .weak vector352, vector353, vector354, vector355
- .weak vector356, vector357, vector358, vector359
- .weak vector360, vector361, vector362, vector363
- .weak vector364, vector365, vector366, vector367
- .weak vector368, vector369, vector370, vector371
- .weak vector372, vector373, vector374, vector375
- .weak vector376, vector377, vector378, vector379
- .weak vector380, vector381, vector382, vector383
- .weak vector384, vector385, vector386, vector387
- .weak vector388, vector389, vector390, vector391
- .weak vector392, vector393, vector394, vector395
- .weak vector396, vector397, vector398, vector399
- .weak vector400, vector401, vector402, vector403
- .weak vector404, vector405, vector406, vector407
- .weak vector408, vector409, vector410, vector411
- .weak vector412, vector413, vector414, vector415
- .weak vector416, vector417, vector418, vector419
- .weak vector420, vector421, vector422, vector423
- .weak vector424, vector425, vector426, vector427
- .weak vector428, vector429, vector430, vector431
- .weak vector432, vector433, vector434, vector435
- .weak vector436, vector437, vector438, vector439
- .weak vector440, vector441, vector442, vector443
- .weak vector444, vector445, vector446, vector447
- .weak vector448, vector449, vector450, vector451
- .weak vector452, vector453, vector454, vector455
- .weak vector456, vector457, vector458, vector459
- .weak vector460, vector461, vector462, vector463
- .weak vector464, vector465, vector466, vector467
- .weak vector468, vector469, vector470, vector471
- .weak vector472, vector473, vector474, vector475
- .weak vector476, vector477, vector478, vector479
- .weak vector480, vector481, vector482, vector483
- .weak vector484, vector485
-
-vector0:
-vector1:
-vector2:
-vector3:
-vector4:
-vector5:
-vector6:
-vector7:
-vector8:
-vector9:
-vector10:
-vector11:
-vector12:
-vector13:
-vector14:
-vector15:
-vector16:
-vector17:
-vector18:
-vector19:
-vector20:
-vector21:
-vector22:
-vector23:
-vector24:
-vector25:
-vector26:
-vector27:
-vector28:
-vector29:
-vector30:
-vector31:
-vector32:
-vector33:
-vector34:
-vector35:
-vector36:
-vector37:
-vector38:
-vector39:
-vector40:
-vector41:
-vector42:
-vector43:
-vector44:
-vector45:
-vector46:
-vector47:
-vector48:
-vector49:
-vector50:
-vector51:
-vector52:
-vector53:
-vector54:
-vector55:
-vector56:
-vector57:
-vector58:
-vector59:
-vector60:
-vector61:
-vector62:
-vector63:
-vector64:
-vector65:
-vector66:
-vector67:
-vector68:
-vector69:
-vector70:
-vector71:
-vector72:
-vector73:
-vector74:
-vector75:
-vector76:
-vector77:
-vector78:
-vector79:
-vector80:
-vector81:
-vector82:
-vector83:
-vector84:
-vector85:
-vector86:
-vector87:
-vector88:
-vector89:
-vector90:
-vector91:
-vector92:
-vector93:
-vector94:
-vector95:
-vector96:
-vector97:
-vector98:
-vector99:
-vector100:
-vector101:
-vector102:
-vector103:
-vector104:
-vector105:
-vector106:
-vector107:
-vector108:
-vector109:
-vector110:
-vector111:
-vector112:
-vector113:
-vector114:
-vector115:
-vector116:
-vector117:
-vector118:
-vector119:
-vector120:
-vector121:
-vector122:
-vector123:
-vector124:
-vector125:
-vector126:
-vector127:
-vector128:
-vector129:
-vector130:
-vector131:
-vector132:
-vector133:
-vector134:
-vector135:
-vector136:
-vector137:
-vector138:
-vector139:
-vector140:
-vector141:
-vector142:
-vector143:
-vector144:
-vector145:
-vector146:
-vector147:
-vector148:
-vector149:
-vector150:
-vector151:
-vector152:
-vector153:
-vector154:
-vector155:
-vector156:
-vector157:
-vector158:
-vector159:
-vector160:
-vector161:
-vector162:
-vector163:
-vector164:
-vector165:
-vector166:
-vector167:
-vector168:
-vector169:
-vector170:
-vector171:
-vector172:
-vector173:
-vector174:
-vector175:
-vector176:
-vector177:
-vector178:
-vector179:
-vector180:
-vector181:
-vector182:
-vector183:
-vector184:
-vector185:
-vector186:
-vector187:
-vector188:
-vector189:
-vector190:
-vector191:
-vector192:
-vector193:
-vector194:
-vector195:
-vector196:
-vector197:
-vector198:
-vector199:
-vector200:
-vector201:
-vector202:
-vector203:
-vector204:
-vector205:
-vector206:
-vector207:
-vector208:
-vector209:
-vector210:
-vector211:
-vector212:
-vector213:
-vector214:
-vector215:
-vector216:
-vector217:
-vector218:
-vector219:
-vector220:
-vector221:
-vector222:
-vector223:
-vector224:
-vector225:
-vector226:
-vector227:
-vector228:
-vector229:
-vector230:
-vector231:
-vector232:
-vector233:
-vector234:
-vector235:
-vector236:
-vector237:
-vector238:
-vector239:
-vector240:
-vector241:
-vector242:
-vector243:
-vector244:
-vector245:
-vector246:
-vector247:
-vector248:
-vector249:
-vector250:
-vector251:
-vector252:
-vector253:
-vector254:
-vector255:
-vector256:
-vector257:
-vector258:
-vector259:
-vector260:
-vector261:
-vector262:
-vector263:
-vector264:
-vector265:
-vector266:
-vector267:
-vector268:
-vector269:
-vector270:
-vector271:
-vector272:
-vector273:
-vector274:
-vector275:
-vector276:
-vector277:
-vector278:
-vector279:
-vector280:
-vector281:
-vector282:
-vector283:
-vector284:
-vector285:
-vector286:
-vector287:
-vector288:
-vector289:
-vector290:
-vector291:
-vector292:
-vector293:
-vector294:
-vector295:
-vector296:
-vector297:
-vector298:
-vector299:
-vector300:
-vector301:
-vector302:
-vector303:
-vector304:
-vector305:
-vector306:
-vector307:
-vector308:
-vector309:
-vector310:
-vector311:
-vector312:
-vector313:
-vector314:
-vector315:
-vector316:
-vector317:
-vector318:
-vector319:
-vector320:
-vector321:
-vector322:
-vector323:
-vector324:
-vector325:
-vector326:
-vector327:
-vector328:
-vector329:
-vector330:
-vector331:
-vector332:
-vector333:
-vector334:
-vector335:
-vector336:
-vector337:
-vector338:
-vector339:
-vector340:
-vector341:
-vector342:
-vector343:
-vector344:
-vector345:
-vector346:
-vector347:
-vector348:
-vector349:
-vector350:
-vector351:
-vector352:
-vector353:
-vector354:
-vector355:
-vector356:
-vector357:
-vector358:
-vector359:
-vector360:
-vector361:
-vector362:
-vector363:
-vector364:
-vector365:
-vector366:
-vector367:
-vector368:
-vector369:
-vector370:
-vector371:
-vector372:
-vector373:
-vector374:
-vector375:
-vector376:
-vector377:
-vector378:
-vector379:
-vector380:
-vector381:
-vector382:
-vector383:
-vector384:
-vector385:
-vector386:
-vector387:
-vector388:
-vector389:
-vector390:
-vector391:
-vector392:
-vector393:
-vector394:
-vector395:
-vector396:
-vector397:
-vector398:
-vector399:
-vector400:
-vector401:
-vector402:
-vector403:
-vector404:
-vector405:
-vector406:
-vector407:
-vector408:
-vector409:
-vector410:
-vector411:
-vector412:
-vector413:
-vector414:
-vector415:
-vector416:
-vector417:
-vector418:
-vector419:
-vector420:
-vector421:
-vector422:
-vector423:
-vector424:
-vector425:
-vector426:
-vector427:
-vector428:
-vector429:
-vector430:
-vector431:
-vector432:
-vector433:
-vector434:
-vector435:
-vector436:
-vector437:
-vector438:
-vector439:
-vector440:
-vector441:
-vector442:
-vector443:
-vector444:
-vector445:
-vector446:
-vector447:
-vector448:
-vector449:
-vector450:
-vector451:
-vector452:
-vector453:
-vector454:
-vector455:
-vector456:
-vector457:
-vector458:
-vector459:
-vector460:
-vector461:
-vector462:
-vector463:
-vector464:
-vector465:
-vector466:
-vector467:
-vector468:
-vector469:
-vector470:
-vector471:
-vector472:
-vector473:
-vector474:
-vector475:
-vector476:
-vector477:
-vector478:
-vector479:
-vector480:
-vector481:
-vector482:
-vector483:
-vector484:
-vector485:
-
- .weak _unhandled_irq
- .type _unhandled_irq, @function
-_unhandled_irq:
- b _unhandled_irq
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC56ELxx/bam.s b/os/ports/GCC/PPC/SPC56ELxx/bam.s
deleted file mode 100644
index 623428ce3..000000000
--- a/os/ports/GCC/PPC/SPC56ELxx/bam.s
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC56ELxx/bam.s
- * @brief SPC56ELxx boot assistant record.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(__DOXYGEN__)
-
- /* BAM record.*/
- .section .bam, "ax"
-#if PPC_USE_VLE
- .long 0x015A0000
-#else
- .long 0x005A0000
-#endif
- .long _reset_address
-
- .align 2
- .globl _reset_address
- .type _reset_address, @function
-_reset_address:
- bl _coreinit
- bl _ivinit
-
- b _boot_address
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC56ELxx/core.s b/os/ports/GCC/PPC/SPC56ELxx/core.s
deleted file mode 100644
index 0675cd20d..000000000
--- a/os/ports/GCC/PPC/SPC56ELxx/core.s
+++ /dev/null
@@ -1,535 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC56ELxx/core.s
- * @brief e200z4 core configuration.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-/**
- * @name MASx registers definitions
- * @{
- */
-#define MAS0_TBLMAS_TBL 0x10000000
-#define MAS0_ESEL_MASK 0x000F0000
-#define MAS0_ESEL(n) ((n) << 16)
-
-#define MAS1_VALID 0x80000000
-#define MAS1_IPROT 0x40000000
-#define MAS1_TID_MASK 0x00FF0000
-#define MAS1_TS 0x00001000
-#define MAS1_TSISE_MASK 0x00000F80
-#define MAS1_TSISE_1K 0x00000000
-#define MAS1_TSISE_2K 0x00000080
-#define MAS1_TSISE_4K 0x00000100
-#define MAS1_TSISE_8K 0x00000180
-#define MAS1_TSISE_16K 0x00000200
-#define MAS1_TSISE_32K 0x00000280
-#define MAS1_TSISE_64K 0x00000300
-#define MAS1_TSISE_128K 0x00000380
-#define MAS1_TSISE_256K 0x00000400
-#define MAS1_TSISE_512K 0x00000480
-#define MAS1_TSISE_1M 0x00000500
-#define MAS1_TSISE_2M 0x00000580
-#define MAS1_TSISE_4M 0x00000600
-#define MAS1_TSISE_8M 0x00000680
-#define MAS1_TSISE_16M 0x00000700
-#define MAS1_TSISE_32M 0x00000780
-#define MAS1_TSISE_64M 0x00000800
-#define MAS1_TSISE_128M 0x00000880
-#define MAS1_TSISE_256M 0x00000900
-#define MAS1_TSISE_512M 0x00000980
-#define MAS1_TSISE_1G 0x00000A00
-#define MAS1_TSISE_2G 0x00000A80
-#define MAS1_TSISE_4G 0x00000B00
-
-#define MAS2_EPN_MASK 0xFFFFFC00
-#define MAS2_EPN(n) ((n) & MAS2_EPN_MASK)
-#define MAS2_EBOOK 0x00000000
-#define MAS2_VLE 0x00000020
-#define MAS2_W 0x00000010
-#define MAS2_I 0x00000008
-#define MAS2_M 0x00000004
-#define MAS2_G 0x00000002
-#define MAS2_E 0x00000001
-
-#define MAS3_RPN_MASK 0xFFFFFC00
-#define MAS3_RPN(n) ((n) & MAS3_RPN_MASK)
-#define MAS3_U0 0x00000200
-#define MAS3_U1 0x00000100
-#define MAS3_U2 0x00000080
-#define MAS3_U3 0x00000040
-#define MAS3_UX 0x00000020
-#define MAS3_SX 0x00000010
-#define MAS3_UW 0x00000008
-#define MAS3_SW 0x00000004
-#define MAS3_UR 0x00000002
-#define MAS3_SR 0x00000001
-/** @} */
-
-/**
- * @name BUCSR registers definitions
- * @{
- */
-#define BUCSR_BPEN 0x00000001
-#define BUCSR_BPRED_MASK 0x00000006
-#define BUCSR_BPRED_0 0x00000000
-#define BUCSR_BPRED_1 0x00000002
-#define BUCSR_BPRED_2 0x00000004
-#define BUCSR_BPRED_3 0x00000006
-#define BUCSR_BALLOC_MASK 0x00000030
-#define BUCSR_BALLOC_0 0x00000000
-#define BUCSR_BALLOC_1 0x00000010
-#define BUCSR_BALLOC_2 0x00000020
-#define BUCSR_BALLOC_3 0x00000030
-#define BUCSR_BALLOC_BFI 0x00000200
-/** @} */
-
-/**
- * @name LICSR1 registers definitions
- * @{
- */
-#define LICSR1_ICE 0x00000001
-#define LICSR1_ICINV 0x00000002
-#define LICSR1_ICORG 0x00000010
-/** @} */
-
-/**
- * @name TLB default settings
- * @{
- */
-#define TLB0_MAS0 (MAS0_TBLMAS_TBL | MAS0_ESEL(0))
-#define TLB0_MAS1 (MAS1_VALID | MAS1_IPROT | MAS1_TSISE_2M)
-#define TLB0_MAS2 (MAS2_EPN(0x00000000) | MAS2_VLE)
-#define TLB0_MAS3 (MAS3_RPN(0x00000000) | \
- MAS3_UX | MAS3_SX | MAS3_UW | MAS3_SW | \
- MAS3_UR | MAS3_SR)
-
-#define TLB1_MAS0 (MAS0_TBLMAS_TBL | MAS0_ESEL(1))
-#define TLB1_MAS1 (MAS1_VALID | MAS1_IPROT | MAS1_TSISE_128K)
-#define TLB1_MAS2 (MAS2_EPN(0x40000000) | MAS2_VLE)
-#define TLB1_MAS3 (MAS3_RPN(0x40000000) | \
- MAS3_UX | MAS3_SX | MAS3_UW | MAS3_SW | \
- MAS3_UR | MAS3_SR)
-
-#define TLB2_MAS0 (MAS0_TBLMAS_TBL | MAS0_ESEL(2))
-#define TLB2_MAS1 (MAS1_VALID | MAS1_IPROT | MAS1_TSISE_1M)
-#define TLB2_MAS2 (MAS2_EPN(0xC3F00000) | MAS2_I)
-#define TLB2_MAS3 (MAS3_RPN(0xC3F00000) | \
- MAS3_UW | MAS3_SW | MAS3_UR | MAS3_SR)
-
-#define TLB3_MAS0 (MAS0_TBLMAS_TBL | MAS0_ESEL(3))
-#define TLB3_MAS1 (MAS1_VALID | MAS1_IPROT | MAS1_TSISE_1M)
-#define TLB3_MAS2 (MAS2_EPN(0xFFE00000) | MAS2_I)
-#define TLB3_MAS3 (MAS3_RPN(0xFFE00000) | \
- MAS3_UW | MAS3_SW | MAS3_UR | MAS3_SR)
-
-#define TLB4_MAS0 (MAS0_TBLMAS_TBL | MAS0_ESEL(4))
-#define TLB4_MAS1 (MAS1_VALID | MAS1_IPROT | MAS1_TSISE_1M)
-#define TLB4_MAS2 (MAS2_EPN(0x8FF00000) | MAS2_I)
-#define TLB4_MAS3 (MAS3_RPN(0x8FF00000) | \
- MAS3_UW | MAS3_SW | MAS3_UR | MAS3_SR)
-
-#define TLB5_MAS0 (MAS0_TBLMAS_TBL | MAS0_ESEL(5))
-#define TLB5_MAS1 (MAS1_VALID | MAS1_IPROT | MAS1_TSISE_1M)
-#define TLB5_MAS2 (MAS2_EPN(0xFFF00000) | MAS2_I)
-#define TLB5_MAS3 (MAS3_RPN(0xFFF00000) | \
- MAS3_UW | MAS3_SW | MAS3_UR | MAS3_SR)
-/** @} */
-
-/**
- * @name BUCSR default settings
- * @{
- */
-#define BUCSR_DEFAULT (BUCSR_BPEN | BUCSR_BPRED_0 | \
- BUCSR_BALLOC_0 | BUCSR_BALLOC_BFI)
-/** @} */
-
-/**
- * @name LICSR1 default settings
- * @{
- */
-#define LICSR1_DEFAULT (LICSR1_ICE | LICSR1_ICORG)
-/** @} */
-
-/**
- * @name MSR register definitions
- * @{
- */
-#define MSR_UCLE 0x04000000
-#define MSR_SPE 0x02000000
-#define MSR_WE 0x00040000
-#define MSR_CE 0x00020000
-#define MSR_EE 0x00008000
-#define MSR_PR 0x00004000
-#define MSR_FP 0x00002000
-#define MSR_ME 0x00001000
-#define MSR_FE0 0x00000800
-#define MSR_DE 0x00000200
-#define MSR_FE1 0x00000100
-#define MSR_IS 0x00000020
-#define MSR_DS 0x00000010
-#define MSR_RI 0x00000002
-/** @} */
-
-/**
- * @name MSR default settings
- * @{
- */
-#define MSR_DEFAULT (MSR_SPE | MSR_WE | MSR_CE | MSR_ME)
-/** @} */
-
-#if !defined(__DOXYGEN__)
-
- .section .coreinit, "ax"
-
- .align 2
-_ramcode:
- tlbwe
- isync
- blr
-
- .align 2
- .globl _coreinit
- .type _coreinit, @function
-_coreinit:
- /*
- * Invalidating all TLBs except TLB0.
- */
- lis %r3, 0
- mtspr 625, %r3 /* MAS1 */
- mtspr 626, %r3 /* MAS2 */
- mtspr 627, %r3 /* MAS3 */
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(1))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(2))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(3))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(4))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(5))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(6))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(7))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(8))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(9))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(10))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(11))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(12))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(13))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(14))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
- lis %r3, (MAS0_TBLMAS_TBL | MAS0_ESEL(15))@h
- mtspr 624, %r3 /* MAS0 */
- tlbwe
-
- /*
- * TLB1 allocated to internal RAM.
- */
- lis %r3, TLB1_MAS0@h
- mtspr 624, %r3 /* MAS0 */
- lis %r3, TLB1_MAS1@h
- ori %r3, %r3, TLB1_MAS1@l
- mtspr 625, %r3 /* MAS1 */
- lis %r3, TLB1_MAS2@h
- ori %r3, %r3, TLB1_MAS2@l
- mtspr 626, %r3 /* MAS2 */
- lis %r3, TLB1_MAS3@h
- ori %r3, %r3, TLB1_MAS3@l
- mtspr 627, %r3 /* MAS3 */
- tlbwe
-
- /*
- * TLB2 allocated to internal Peripherals Bridge A.
- */
- lis %r3, TLB2_MAS0@h
- mtspr 624, %r3 /* MAS0 */
- lis %r3, TLB2_MAS1@h
- ori %r3, %r3, TLB2_MAS1@l
- mtspr 625, %r3 /* MAS1 */
- lis %r3, TLB2_MAS2@h
- ori %r3, %r3, TLB2_MAS2@l
- mtspr 626, %r3 /* MAS2 */
- lis %r3, TLB2_MAS3@h
- ori %r3, %r3, TLB2_MAS3@l
- mtspr 627, %r3 /* MAS3 */
- tlbwe
-
- /*
- * TLB3 allocated to internal Peripherals Bridge B.
- */
- lis %r3, TLB3_MAS0@h
- mtspr 624, %r3 /* MAS0 */
- lis %r3, TLB3_MAS1@h
- ori %r3, %r3, TLB3_MAS1@l
- mtspr 625, %r3 /* MAS1 */
- lis %r3, TLB3_MAS2@h
- ori %r3, %r3, TLB3_MAS2@l
- mtspr 626, %r3 /* MAS2 */
- lis %r3, TLB3_MAS3@h
- ori %r3, %r3, TLB3_MAS3@l
- mtspr 627, %r3 /* MAS3 */
- tlbwe
-
- /*
- * TLB4 allocated to on-platform peripherals.
- */
- lis %r3, TLB4_MAS0@h
- mtspr 624, %r3 /* MAS0 */
- lis %r3, TLB4_MAS1@h
- ori %r3, %r3, TLB4_MAS1@l
- mtspr 625, %r3 /* MAS1 */
- lis %r3, TLB4_MAS2@h
- ori %r3, %r3, TLB4_MAS2@l
- mtspr 626, %r3 /* MAS2 */
- lis %r3, TLB4_MAS3@h
- ori %r3, %r3, TLB4_MAS3@l
- mtspr 627, %r3 /* MAS3 */
- tlbwe
-
- /*
- * TLB5 allocated to on-platform peripherals.
- */
- lis %r3, TLB5_MAS0@h
- mtspr 624, %r3 /* MAS0 */
- lis %r3, TLB5_MAS1@h
- ori %r3, %r3, TLB5_MAS1@l
- mtspr 625, %r3 /* MAS1 */
- lis %r3, TLB5_MAS2@h
- ori %r3, %r3, TLB5_MAS2@l
- mtspr 626, %r3 /* MAS2 */
- lis %r3, TLB5_MAS3@h
- ori %r3, %r3, TLB5_MAS3@l
- mtspr 627, %r3 /* MAS3 */
- tlbwe
-
- /*
- * RAM clearing, this device requires a write to all RAM location in
- * order to initialize the ECC detection hardware, this is going to
- * slow down the startup but there is no way around.
- */
- xor %r0, %r0, %r0
- xor %r1, %r1, %r1
- xor %r2, %r2, %r2
- xor %r3, %r3, %r3
- xor %r4, %r4, %r4
- xor %r5, %r5, %r5
- xor %r6, %r6, %r6
- xor %r7, %r7, %r7
- xor %r8, %r8, %r8
- xor %r9, %r9, %r9
- xor %r10, %r10, %r10
- xor %r11, %r11, %r11
- xor %r12, %r12, %r12
- xor %r13, %r13, %r13
- xor %r14, %r14, %r14
- xor %r15, %r15, %r15
- xor %r16, %r16, %r16
- xor %r17, %r17, %r17
- xor %r18, %r18, %r18
- xor %r19, %r19, %r19
- xor %r20, %r20, %r20
- xor %r21, %r21, %r21
- xor %r22, %r22, %r22
- xor %r23, %r23, %r23
- xor %r24, %r24, %r24
- xor %r25, %r25, %r25
- xor %r26, %r26, %r26
- xor %r27, %r27, %r27
- xor %r28, %r28, %r28
- xor %r29, %r29, %r29
- xor %r30, %r30, %r30
- xor %r31, %r31, %r31
- lis %r4, __ram_start__@h
- ori %r4, %r4, __ram_start__@l
- lis %r5, __ram_end__@h
- ori %r5, %r5, __ram_end__@l
-.cleareccloop:
- cmpl %cr0, %r4, %r5
- bge %cr0, .cleareccend
- stmw %r16, 0(%r4)
- addi %r4, %r4, 64
- b .cleareccloop
-.cleareccend:
-
- /*
- * Special function registers clearing, required in order to avoid
- * possible problems with lockstep mode.
- */
- mtcrf 0xFF, %r31
- mtspr 9, %r31 /* CTR */
- mtspr 22, %r31 /* DEC */
- mtspr 26, %r31 /* SRR0-1 */
- mtspr 27, %r31
- mtspr 54, %r31 /* DECAR */
- mtspr 58, %r31 /* CSRR0-1 */
- mtspr 59, %r31
- mtspr 61, %r31 /* DEAR */
- mtspr 256, %r31 /* USPRG0 */
- mtspr 272, %r31 /* SPRG1-7 */
- mtspr 273, %r31
- mtspr 274, %r31
- mtspr 275, %r31
- mtspr 276, %r31
- mtspr 277, %r31
- mtspr 278, %r31
- mtspr 279, %r31
- mtspr 285, %r31 /* TBU */
- mtspr 284, %r31 /* TBL */
-#if 0
- mtspr 318, %r31 /* DVC1-2 */
- mtspr 319, %r31
-#endif
- mtspr 562, %r31 /* DBCNT */
- mtspr 570, %r31 /* MCSRR0 */
- mtspr 571, %r31 /* MCSRR1 */
- mtspr 604, %r31 /* SPRG8-9 */
- mtspr 605, %r31
-
- /*
- * *Finally* the TLB0 is re-allocated to flash, note, the final phase
- * is executed from RAM.
- */
- lis %r3, TLB0_MAS0@h
- mtspr 624, %r3 /* MAS0 */
- lis %r3, TLB0_MAS1@h
- ori %r3, %r3, TLB0_MAS1@l
- mtspr 625, %r3 /* MAS1 */
- lis %r3, TLB0_MAS2@h
- ori %r3, %r3, TLB0_MAS2@l
- mtspr 626, %r3 /* MAS2 */
- lis %r3, TLB0_MAS3@h
- ori %r3, %r3, TLB0_MAS3@l
- mtspr 627, %r3 /* MAS3 */
- mflr %r4
- lis %r6, _ramcode@h
- ori %r6, %r6, _ramcode@l
- lis %r7, 0x40010000@h
- mtctr %r7
- lwz %r3, 0(%r6)
- stw %r3, 0(%r7)
- lwz %r3, 4(%r6)
- stw %r3, 4(%r7)
- lwz %r3, 8(%r6)
- stw %r3, 8(%r7)
- bctrl
- mtlr %r4
-
- /*
- * Branch prediction enabled.
- */
- li %r3, BUCSR_DEFAULT
- mtspr 1013, %r3 /* BUCSR */
-
- /*
- * Cache invalidated and then enabled.
- */
- li %r3, LICSR1_ICINV
- mtspr 1011, %r3 /* LICSR1 */
-.inv: mfspr %r3, 1011 /* LICSR1 */
- andi. %r3, %r3, LICSR1_ICINV
- bne .inv
- lis %r3, LICSR1_DEFAULT@h
- ori %r3, %r3, LICSR1_DEFAULT@l
- mtspr 1011, %r3 /* LICSR1 */
-
- blr
-
- /*
- * Exception vectors initialization.
- */
- .global _ivinit
- .type _ivinit, @function
-_ivinit:
- /* MSR initialization.*/
- lis %r3, MSR_DEFAULT@h
- ori %r3, %r3, MSR_DEFAULT@l
- mtMSR %r3
-
- /* IVPR initialization.*/
- lis %r3, __ivpr_base__@h
- ori %r3, %r3, __ivpr_base__@l
- mtIVPR %r3
-
- /* IVORs initialization.*/
- lis %r3, _unhandled_exception@h
- ori %r3, %r3, _unhandled_exception@l
-
- mtspr 400, %r3 /* IVOR0-15 */
- mtspr 401, %r3
- mtspr 402, %r3
- mtspr 403, %r3
- mtspr 404, %r3
- mtspr 405, %r3
- mtspr 406, %r3
- mtspr 407, %r3
- mtspr 408, %r3
- mtspr 409, %r3
- mtspr 410, %r3
- mtspr 411, %r3
- mtspr 412, %r3
- mtspr 413, %r3
- mtspr 414, %r3
- mtspr 415, %r3
- mtspr 528, %r3 /* IVOR32-34 */
- mtspr 529, %r3
- mtspr 530, %r3
-
- blr
-
- .section .handlers, "ax"
-
- /*
- * Unhandled exceptions handler.
- */
- .weak _unhandled_exception
- .type _unhandled_exception, @function
-_unhandled_exception:
- b _unhandled_exception
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL54_LSM.ld b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL54_LSM.ld
deleted file mode 100644
index 592c435f5..000000000
--- a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL54_LSM.ld
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * SPC56EL54 memory setup in LSM mode.
- */
-__irq_stack_size__ = 0x0000; /* Not yet used.*/
-__process_stack_size__ = 0x0800;
-
-MEMORY
-{
- flash : org = 0x00000000, len = 768k
- ram : org = 0x40000000, len = 128k
-}
-
-ENTRY(_reset_address)
-
-/*
- * Derived constants.
- */
-__flash_size__ = LENGTH(flash);
-__flash_start__ = ORIGIN(flash);
-__flash_end__ = ORIGIN(flash) + LENGTH(flash);
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot : ALIGN(16) SUBALIGN(16)
- {
- __ivpr_base__ = .;
- KEEP(*(.bam))
- KEEP(*(.coreinit))
- KEEP(*(.handlers))
- KEEP(*(.crt0))
- . = ALIGN(0x800);
- KEEP(*(.vectors))
- } > flash
-
- constructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE(__init_array_end = .);
- } > flash
-
- destructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__fini_array_start = .);
- KEEP(*(.fini_array))
- KEEP(*(SORT(.fini_array.*)))
- PROVIDE(__fini_array_end = .);
- } > flash
-
- .text_vle : ALIGN(16) SUBALIGN(16)
- {
- *(.text_vle)
- *(.text_vle.*)
- *(.gnu.linkonce.t_vle.*)
- } > flash
-
- .text : ALIGN(16) SUBALIGN(16)
- {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- } > flash
-
- .rodata : ALIGN(16) SUBALIGN(16)
- {
- *(.glue_7t)
- *(.glue_7)
- *(.gcc*)
- *(.rodata)
- *(.rodata.*)
- *(.rodata1)
- } > flash
-
- .sdata2 : ALIGN(16) SUBALIGN(16)
- {
- __sdata2_start__ = . + 0x8000;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- } > flash
-
- .eh_frame_hdr :
- {
- *(.eh_frame_hdr)
- } > flash
-
- .eh_frame : ONLY_IF_RO
- {
- *(.eh_frame)
- } > flash
-
- .romdata : ALIGN(16) SUBALIGN(16)
- {
- __romdata_start__ = .;
- } > flash
-
- .stacks :
- {
- . = ALIGN(8);
- __irq_stack_base__ = .;
- . += __irq_stack_size__;
- . = ALIGN(8);
- __irq_stack_end__ = .;
- __process_stack_base__ = .;
- __main_thread_stack_base__ = .;
- . += __process_stack_size__;
- . = ALIGN(8);
- __process_stack_end__ = .;
- __main_thread_stack_end__ = .;
- } > ram
-
- .data : AT(__romdata_start__)
- {
- . = ALIGN(4);
- __data_start__ = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __sdata_start__ = . + 0x8000;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __data_end__ = .;
- } > ram
-
- .sbss :
- {
- __bss_start__ = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- } > ram
-
- .bss :
- {
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- __bss_end__ = .;
- } > ram
-
- __heap_base__ = __bss_end__;
- __heap_end__ = __ram_end__;
-}
diff --git a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld
deleted file mode 100644
index 193c21c05..000000000
--- a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * SPC56EL60 memory setup in LSM mode.
- */
-__irq_stack_size__ = 0x0000; /* Not yet used.*/
-__process_stack_size__ = 0x0800;
-
-MEMORY
-{
- flash : org = 0x00000000, len = 1M
- ram : org = 0x40000000, len = 128k
-}
-
-ENTRY(_reset_address)
-
-/*
- * Derived constants.
- */
-__flash_size__ = LENGTH(flash);
-__flash_start__ = ORIGIN(flash);
-__flash_end__ = ORIGIN(flash) + LENGTH(flash);
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot : ALIGN(16) SUBALIGN(16)
- {
- __ivpr_base__ = .;
- KEEP(*(.bam))
- KEEP(*(.coreinit))
- KEEP(*(.handlers))
- KEEP(*(.crt0))
- . = ALIGN(0x800);
- KEEP(*(.vectors))
- } > flash
-
- constructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE(__init_array_end = .);
- } > flash
-
- destructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__fini_array_start = .);
- KEEP(*(.fini_array))
- KEEP(*(SORT(.fini_array.*)))
- PROVIDE(__fini_array_end = .);
- } > flash
-
- .text_vle : ALIGN(16) SUBALIGN(16)
- {
- *(.text_vle)
- *(.text_vle.*)
- *(.gnu.linkonce.t_vle.*)
- } > flash
-
- .text : ALIGN(16) SUBALIGN(16)
- {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- } > flash
-
- .rodata : ALIGN(16) SUBALIGN(16)
- {
- *(.glue_7t)
- *(.glue_7)
- *(.gcc*)
- *(.rodata)
- *(.rodata.*)
- *(.rodata1)
- } > flash
-
- .sdata2 : ALIGN(16) SUBALIGN(16)
- {
- __sdata2_start__ = . + 0x8000;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- } > flash
-
- .eh_frame_hdr :
- {
- *(.eh_frame_hdr)
- } > flash
-
- .eh_frame : ONLY_IF_RO
- {
- *(.eh_frame)
- } > flash
-
- .romdata : ALIGN(16) SUBALIGN(16)
- {
- __romdata_start__ = .;
- } > flash
-
- .stacks :
- {
- . = ALIGN(8);
- __irq_stack_base__ = .;
- . += __irq_stack_size__;
- . = ALIGN(8);
- __irq_stack_end__ = .;
- __process_stack_base__ = .;
- __main_thread_stack_base__ = .;
- . += __process_stack_size__;
- . = ALIGN(8);
- __process_stack_end__ = .;
- __main_thread_stack_end__ = .;
- } > ram
-
- .data : AT(__romdata_start__)
- {
- . = ALIGN(4);
- __data_start__ = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __sdata_start__ = . + 0x8000;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __data_end__ = .;
- } > ram
-
- .sbss :
- {
- __bss_start__ = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- } > ram
-
- .bss :
- {
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- __bss_end__ = .;
- } > ram
-
- __heap_base__ = __bss_end__;
- __heap_end__ = __ram_end__;
-}
diff --git a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld
deleted file mode 100644
index 7afb4bf78..000000000
--- a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
- * SPC56EL70 memory setup in LSM mode.
- */
-__irq_stack_size__ = 0x0000; /* Not yet used.*/
-__process_stack_size__ = 0x0800;
-
-MEMORY
-{
- flash : org = 0x00000000, len = 2M
- ram : org = 0x40000000, len = 192k
-}
-
-ENTRY(_reset_address)
-
-/*
- * Derived constants.
- */
-__flash_size__ = LENGTH(flash);
-__flash_start__ = ORIGIN(flash);
-__flash_end__ = ORIGIN(flash) + LENGTH(flash);
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot : ALIGN(16) SUBALIGN(16)
- {
- __ivpr_base__ = .;
- KEEP(*(.bam))
- KEEP(*(.coreinit))
- KEEP(*(.handlers))
- KEEP(*(.crt0))
- . = ALIGN(0x800);
- KEEP(*(.vectors))
- } > flash
-
- constructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE(__init_array_end = .);
- } > flash
-
- destructors : ALIGN(4) SUBALIGN(4)
- {
- PROVIDE(__fini_array_start = .);
- KEEP(*(.fini_array))
- KEEP(*(SORT(.fini_array.*)))
- PROVIDE(__fini_array_end = .);
- } > flash
-
- .text_vle : ALIGN(16) SUBALIGN(16)
- {
- *(.text_vle)
- *(.text_vle.*)
- *(.gnu.linkonce.t_vle.*)
- } > flash
-
- .text : ALIGN(16) SUBALIGN(16)
- {
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- } > flash
-
- .rodata : ALIGN(16) SUBALIGN(16)
- {
- *(.glue_7t)
- *(.glue_7)
- *(.gcc*)
- *(.rodata)
- *(.rodata.*)
- *(.rodata1)
- } > flash
-
- .sdata2 : ALIGN(16) SUBALIGN(16)
- {
- __sdata2_start__ = . + 0x8000;
- *(.sdata2)
- *(.sdata2.*)
- *(.gnu.linkonce.s2.*)
- *(.sbss2)
- *(.sbss2.*)
- *(.gnu.linkonce.sb2.*)
- } > flash
-
- .eh_frame_hdr :
- {
- *(.eh_frame_hdr)
- } > flash
-
- .eh_frame : ONLY_IF_RO
- {
- *(.eh_frame)
- } > flash
-
- .romdata : ALIGN(16) SUBALIGN(16)
- {
- __romdata_start__ = .;
- } > flash
-
- .stacks :
- {
- . = ALIGN(8);
- __irq_stack_base__ = .;
- . += __irq_stack_size__;
- . = ALIGN(8);
- __irq_stack_end__ = .;
- __process_stack_base__ = .;
- __main_thread_stack_base__ = .;
- . += __process_stack_size__;
- . = ALIGN(8);
- __process_stack_end__ = .;
- __main_thread_stack_end__ = .;
- } > ram
-
- .data : AT(__romdata_start__)
- {
- . = ALIGN(4);
- __data_start__ = .;
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- __sdata_start__ = . + 0x8000;
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- __data_end__ = .;
- } > ram
-
- .sbss :
- {
- __bss_start__ = .;
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- } > ram
-
- .bss :
- {
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- __bss_end__ = .;
- } > ram
-
- __heap_base__ = __bss_end__;
- __heap_end__ = __ram_end__;
-}
diff --git a/os/ports/GCC/PPC/SPC56ELxx/port.mk b/os/ports/GCC/PPC/SPC56ELxx/port.mk
deleted file mode 100644
index 5a81771db..000000000
--- a/os/ports/GCC/PPC/SPC56ELxx/port.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# List of the ChibiOS/RT SPC56ELxx port files.
-PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
-
-PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx/bam.s \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx/core.s \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx/vectors.s \
- ${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
- ${CHIBIOS}/os/ports/GCC/PPC/crt0.s
-
-PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
- ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx
-
-PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx/ld
diff --git a/os/ports/GCC/PPC/SPC56ELxx/ppcparams.h b/os/ports/GCC/PPC/SPC56ELxx/ppcparams.h
deleted file mode 100644
index c09b0b875..000000000
--- a/os/ports/GCC/PPC/SPC56ELxx/ppcparams.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC56ELxx/ppcparams.h
- * @brief PowerPC parameters for the SPC56ELxx.
- *
- * @defgroup PPC_SPC56ELxx SPC56ELxx Specific Parameters
- * @ingroup PPC_SPECIFIC
- * @details This file contains the PowerPC specific parameters for the
- * SPC56ELxx platform.
- * @{
- */
-
-#ifndef _PPCPARAMS_H_
-#define _PPCPARAMS_H_
-
-/**
- * @brief PPC core model.
- */
-#define PPC_VARIANT PPC_VARIANT_e200z4
-
-/**
- * @brief Number of writable bits in IVPR register.
- */
-#define PPC_IVPR_BITS 16
-
-/**
- * @brief IVORx registers support.
- */
-#define PPC_SUPPORTS_IVORS TRUE
-
-/**
- * @brief Book E instruction set support.
- */
-#define PPC_SUPPORTS_BOOKE TRUE
-
-/**
- * @brief VLE instruction set support.
- */
-#define PPC_SUPPORTS_VLE TRUE
-
-/**
- * @brief Supports VLS Load/Store Multiple Volatile instructions.
- */
-#define PPC_SUPPORTS_VLE_MULTI TRUE
-
-/**
- * @brief Supports the decrementer timer.
- */
-#define PPC_SUPPORTS_DECREMENTER TRUE
-
-#endif /* _PPCPARAMS_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC56ELxx/vectors.h b/os/ports/GCC/PPC/SPC56ELxx/vectors.h
deleted file mode 100644
index 628b075b5..000000000
--- a/os/ports/GCC/PPC/SPC56ELxx/vectors.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC56ELxx/vectors.h
- * @brief ISR vector module header.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#ifndef _VECTORS_H_
-#define _VECTORS_H_
-
-/*===========================================================================*/
-/* Module constants. */
-/*===========================================================================*/
-
-/**
- * @brief Number of ISR vectors available.
- */
-#define VECTORS_NUMBER 256
-
-/*===========================================================================*/
-/* Module pre-compile time settings. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Derived constants and error checks. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module data structures and types. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module macros. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-#if !defined(_FROM_ASM_)
-
-#if !defined(__DOXYGEN__)
-extern uint32_t _vectors[VECTORS_NUMBER];
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void _unhandled_irq(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined(_FROM_ASM_) */
-
-#endif /* _OSAL_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/SPC56ELxx/vectors.s b/os/ports/GCC/PPC/SPC56ELxx/vectors.s
deleted file mode 100644
index 22a35f1d5..000000000
--- a/os/ports/GCC/PPC/SPC56ELxx/vectors.s
+++ /dev/null
@@ -1,436 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file SPC56ELxx/vectors.s
- * @brief SPC56ELxx vectors table.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(__DOXYGEN__)
-
- /* Software vectors table. The vectors are accessed from the IVOR4
- handler only. In order to declare an interrupt handler just create
- a function withe the same name of a vector, the symbol will
- override the weak symbol declared here.*/
- .section .vectors, "ax"
- .align 4
- .globl _vectors
-_vectors:
- .long vector0, vector1, vector2, vector3
- .long vector4, vector5, vector6, vector7
- .long vector8, vector9, vector10, vector11
- .long vector12, vector13, vector14, vector15
- .long vector16, vector17, vector18, vector19
- .long vector20, vector21, vector22, vector23
- .long vector24, vector25, vector26, vector27
- .long vector28, vector29, vector30, vector31
- .long vector32, vector33, vector34, vector35
- .long vector36, vector37, vector38, vector39
- .long vector40, vector41, vector42, vector43
- .long vector44, vector45, vector46, vector47
- .long vector48, vector49, vector50, vector51
- .long vector52, vector53, vector54, vector55
- .long vector56, vector57, vector58, vector59
- .long vector60, vector61, vector62, vector63
- .long vector64, vector65, vector66, vector67
- .long vector68, vector69, vector70, vector71
- .long vector72, vector73, vector74, vector75
- .long vector76, vector77, vector78, vector79
- .long vector80, vector81, vector82, vector83
- .long vector84, vector85, vector86, vector87
- .long vector88, vector89, vector90, vector91
- .long vector92, vector93, vector94, vector95
- .long vector96, vector97, vector98, vector99
- .long vector100, vector101, vector102, vector103
- .long vector104, vector105, vector106, vector107
- .long vector108, vector109, vector110, vector111
- .long vector112, vector113, vector114, vector115
- .long vector116, vector117, vector118, vector119
- .long vector120, vector121, vector122, vector123
- .long vector124, vector125, vector126, vector127
- .long vector128, vector129, vector130, vector131
- .long vector132, vector133, vector134, vector135
- .long vector136, vector137, vector138, vector139
- .long vector140, vector141, vector142, vector143
- .long vector144, vector145, vector146, vector147
- .long vector148, vector149, vector150, vector151
- .long vector152, vector153, vector154, vector155
- .long vector156, vector157, vector158, vector159
- .long vector160, vector161, vector162, vector163
- .long vector164, vector165, vector166, vector167
- .long vector168, vector169, vector170, vector171
- .long vector172, vector173, vector174, vector175
- .long vector176, vector177, vector178, vector179
- .long vector180, vector181, vector182, vector183
- .long vector184, vector185, vector186, vector187
- .long vector188, vector189, vector190, vector191
- .long vector192, vector193, vector194, vector195
- .long vector196, vector197, vector198, vector199
- .long vector200, vector201, vector202, vector203
- .long vector204, vector205, vector206, vector207
- .long vector208, vector209, vector210, vector211
- .long vector212, vector213, vector214, vector215
- .long vector216, vector217, vector218, vector219
- .long vector220, vector221, vector222, vector223
- .long vector224, vector225, vector226, vector227
- .long vector228, vector229, vector230, vector231
- .long vector232, vector233, vector234, vector235
- .long vector236, vector237, vector238, vector239
- .long vector240, vector241, vector242, vector243
- .long vector244, vector245, vector246, vector247
- .long vector248, vector249, vector250, vector251
- .long vector252, vector253, vector254, vector255
-
- .text
- .align 2
-
- .weak vector0, vector1, vector2, vector3
- .weak vector4, vector5, vector6, vector7
- .weak vector8, vector9, vector10, vector11
- .weak vector12, vector13, vector14, vector15
- .weak vector16, vector17, vector18, vector19
- .weak vector20, vector21, vector22, vector23
- .weak vector24, vector25, vector26, vector27
- .weak vector28, vector29, vector30, vector31
- .weak vector32, vector33, vector34, vector35
- .weak vector36, vector37, vector38, vector39
- .weak vector40, vector41, vector42, vector43
- .weak vector44, vector45, vector46, vector47
- .weak vector48, vector49, vector50, vector51
- .weak vector52, vector53, vector54, vector55
- .weak vector56, vector57, vector58, vector59
- .weak vector60, vector61, vector62, vector63
- .weak vector64, vector65, vector66, vector67
- .weak vector68, vector69, vector70, vector71
- .weak vector72, vector73, vector74, vector75
- .weak vector76, vector77, vector78, vector79
- .weak vector80, vector81, vector82, vector83
- .weak vector84, vector85, vector86, vector87
- .weak vector88, vector89, vector90, vector91
- .weak vector92, vector93, vector94, vector95
- .weak vector96, vector97, vector98, vector99
- .weak vector100, vector101, vector102, vector103
- .weak vector104, vector105, vector106, vector107
- .weak vector108, vector109, vector110, vector111
- .weak vector112, vector113, vector114, vector115
- .weak vector116, vector117, vector118, vector119
- .weak vector120, vector121, vector122, vector123
- .weak vector124, vector125, vector126, vector127
- .weak vector128, vector129, vector130, vector131
- .weak vector132, vector133, vector134, vector135
- .weak vector136, vector137, vector138, vector139
- .weak vector140, vector141, vector142, vector143
- .weak vector144, vector145, vector146, vector147
- .weak vector148, vector149, vector150, vector151
- .weak vector152, vector153, vector154, vector155
- .weak vector156, vector157, vector158, vector159
- .weak vector160, vector161, vector162, vector163
- .weak vector164, vector165, vector166, vector167
- .weak vector168, vector169, vector170, vector171
- .weak vector172, vector173, vector174, vector175
- .weak vector176, vector177, vector178, vector179
- .weak vector180, vector181, vector182, vector183
- .weak vector184, vector185, vector186, vector187
- .weak vector188, vector189, vector190, vector191
- .weak vector192, vector193, vector194, vector195
- .weak vector196, vector197, vector198, vector199
- .weak vector200, vector201, vector202, vector203
- .weak vector204, vector205, vector206, vector207
- .weak vector208, vector209, vector210, vector211
- .weak vector212, vector213, vector214, vector215
- .weak vector216, vector217, vector218, vector219
- .weak vector220, vector221, vector222, vector223
- .weak vector224, vector225, vector226, vector227
- .weak vector228, vector229, vector230, vector231
- .weak vector232, vector233, vector234, vector235
- .weak vector236, vector237, vector238, vector239
- .weak vector240, vector241, vector242, vector243
- .weak vector244, vector245, vector246, vector247
- .weak vector248, vector249, vector250, vector251
- .weak vector252, vector253, vector254, vector255
-
-vector0:
-vector1:
-vector2:
-vector3:
-vector4:
-vector5:
-vector6:
-vector7:
-vector8:
-vector9:
-vector10:
-vector11:
-vector12:
-vector13:
-vector14:
-vector15:
-vector16:
-vector17:
-vector18:
-vector19:
-vector20:
-vector21:
-vector22:
-vector23:
-vector24:
-vector25:
-vector26:
-vector27:
-vector28:
-vector29:
-vector30:
-vector31:
-vector32:
-vector33:
-vector34:
-vector35:
-vector36:
-vector37:
-vector38:
-vector39:
-vector40:
-vector41:
-vector42:
-vector43:
-vector44:
-vector45:
-vector46:
-vector47:
-vector48:
-vector49:
-vector50:
-vector51:
-vector52:
-vector53:
-vector54:
-vector55:
-vector56:
-vector57:
-vector58:
-vector59:
-vector60:
-vector61:
-vector62:
-vector63:
-vector64:
-vector65:
-vector66:
-vector67:
-vector68:
-vector69:
-vector70:
-vector71:
-vector72:
-vector73:
-vector74:
-vector75:
-vector76:
-vector77:
-vector78:
-vector79:
-vector80:
-vector81:
-vector82:
-vector83:
-vector84:
-vector85:
-vector86:
-vector87:
-vector88:
-vector89:
-vector90:
-vector91:
-vector92:
-vector93:
-vector94:
-vector95:
-vector96:
-vector97:
-vector98:
-vector99:
-vector100:
-vector101:
-vector102:
-vector103:
-vector104:
-vector105:
-vector106:
-vector107:
-vector108:
-vector109:
-vector110:
-vector111:
-vector112:
-vector113:
-vector114:
-vector115:
-vector116:
-vector117:
-vector118:
-vector119:
-vector120:
-vector121:
-vector122:
-vector123:
-vector124:
-vector125:
-vector126:
-vector127:
-vector128:
-vector129:
-vector130:
-vector131:
-vector132:
-vector133:
-vector134:
-vector135:
-vector136:
-vector137:
-vector138:
-vector139:
-vector140:
-vector141:
-vector142:
-vector143:
-vector144:
-vector145:
-vector146:
-vector147:
-vector148:
-vector149:
-vector150:
-vector151:
-vector152:
-vector153:
-vector154:
-vector155:
-vector156:
-vector157:
-vector158:
-vector159:
-vector160:
-vector161:
-vector162:
-vector163:
-vector164:
-vector165:
-vector166:
-vector167:
-vector168:
-vector169:
-vector170:
-vector171:
-vector172:
-vector173:
-vector174:
-vector175:
-vector176:
-vector177:
-vector178:
-vector179:
-vector180:
-vector181:
-vector182:
-vector183:
-vector184:
-vector185:
-vector186:
-vector187:
-vector188:
-vector189:
-vector190:
-vector191:
-vector192:
-vector193:
-vector194:
-vector195:
-vector196:
-vector197:
-vector198:
-vector199:
-vector200:
-vector201:
-vector202:
-vector203:
-vector204:
-vector205:
-vector206:
-vector207:
-vector208:
-vector209:
-vector210:
-vector211:
-vector212:
-vector213:
-vector214:
-vector215:
-vector216:
-vector217:
-vector218:
-vector219:
-vector220:
-vector221:
-vector222:
-vector223:
-vector224:
-vector225:
-vector226:
-vector227:
-vector228:
-vector229:
-vector230:
-vector231:
-vector232:
-vector233:
-vector234:
-vector235:
-vector236:
-vector237:
-vector238:
-vector239:
-vector240:
-vector241:
-vector242:
-vector243:
-vector244:
-vector245:
-vector246:
-vector247:
-vector248:
-vector249:
-vector250:
-vector251:
-vector252:
-vector253:
-vector254:
-vector255:
-
- .weak _unhandled_irq
- .type _unhandled_irq, @function
-_unhandled_irq:
- b _unhandled_irq
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/chcore.c b/os/ports/GCC/PPC/chcore.c
deleted file mode 100644
index 4644376cf..000000000
--- a/os/ports/GCC/PPC/chcore.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file PPC/chcore.c
- * @brief PowerPC architecture port code.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#include "ch.h"
-
-/**
- * @brief Kernel port layer initialization.
- * @details IVOR4 and IVOR10 initialization.
- */
-void port_init(void) {
-#if PPC_SUPPORTS_IVORS
- /* The CPU supports IVOR registers, the kernel requires IVOR4 and IVOR10
- and the initialization is performed here.*/
- asm volatile ("li %%r3, _IVOR4@l \t\n"
- "mtIVOR4 %%r3 \t\n"
- "li %%r3, _IVOR10@l \t\n"
- "mtIVOR10 %%r3" : : : "memory");
-#endif
-}
-
-/**
- * @brief Halts the system.
- * @details This function is invoked by the operating system when an
- * unrecoverable error is detected (for example because a programming
- * error in the application code that triggers an assertion while
- * in debug mode).
- */
-void port_halt(void) {
-
- port_disable();
- while (TRUE) {
- }
-}
-
-/**
- * @brief Performs a context switch between two threads.
- * @details This is the most critical code in any port, this function
- * is responsible for the context switch between 2 threads.
- * @note The implementation of this code affects <b>directly</b> the context
- * switch performance so optimize here as much as you can.
- */
-#if !defined(__DOXYGEN__)
-__attribute__((naked))
-#endif
-void port_dummy1(void) {
-
- asm (".global _port_switch");
- asm ("_port_switch:");
- asm ("subi %sp, %sp, 80"); /* Size of the intctx structure. */
- asm ("mflr %r0");
- asm ("stw %r0, 84(%sp)"); /* LR into the caller frame. */
- asm ("mfcr %r0");
- asm ("stw %r0, 0(%sp)"); /* CR. */
- asm ("stmw %r14, 4(%sp)"); /* GPR14...GPR31. */
-
- asm ("stw %sp, 12(%r4)"); /* Store swapped-out stack. */
- asm ("lwz %sp, 12(%r3)"); /* Load swapped-in stack. */
-
- asm ("lmw %r14, 4(%sp)"); /* GPR14...GPR31. */
- asm ("lwz %r0, 0(%sp)"); /* CR. */
- asm ("mtcr %r0");
- asm ("lwz %r0, 84(%sp)"); /* LR from the caller frame. */
- asm ("mtlr %r0");
- asm ("addi %sp, %sp, 80"); /* Size of the intctx structure. */
- asm ("blr");
-}
-
-/**
- * @brief Start a thread by invoking its work function.
- * @details If the work function returns @p chThdExit() is automatically
- * invoked.
- */
-#if !defined(__DOXYGEN__)
-__attribute__((naked))
-#endif
-void port_dummy2(void) {
-
- asm (".global _port_thread_start");
- asm ("_port_thread_start:");
- chSysUnlock();
- asm ("mr %r3, %r31"); /* Thread parameter. */
- asm ("mtctr %r30");
- asm ("bctrl"); /* Invoke thread function. */
- asm ("bl chThdExit"); /* Thread termination on exit. */
-}
-
-/** @} */
diff --git a/os/ports/GCC/PPC/chcore.h b/os/ports/GCC/PPC/chcore.h
deleted file mode 100644
index b689026e5..000000000
--- a/os/ports/GCC/PPC/chcore.h
+++ /dev/null
@@ -1,404 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file PPC/chcore.h
- * @brief PowerPC architecture port macros and structures.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#ifndef _CHCORE_H_
-#define _CHCORE_H_
-
-#if CH_DBG_ENABLE_STACK_CHECK
-#error "option CH_DBG_ENABLE_STACK_CHECK not supported by this port"
-#endif
-
-/*===========================================================================*/
-/* Port constants (common). */
-/*===========================================================================*/
-
-/* Added to make the header stand-alone when included from asm.*/
-#ifndef FALSE
-#define FALSE 0
-#endif
-#ifndef TRUE
-#define TRUE (!FALSE)
-#endif
-
-/**
- * @name Supported core variants
- * @{
- */
-#define PPC_VARIANT_e200z0 200
-#define PPC_VARIANT_e200z3 203
-#define PPC_VARIANT_e200z4 204
-/** @} */
-
-#include "vectors.h"
-#include "ppcparams.h"
-
-/*===========================================================================*/
-/* Port macros (common). */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Port configurable parameters (common). */
-/*===========================================================================*/
-
-/**
- * @brief Use VLE instruction set.
- * @note This parameter is usually set in the Makefile.
- */
-#if !defined(PPC_USE_VLE)
-#define PPC_USE_VLE TRUE
-#endif
-
-/**
- * @brief Enables the use of the @p WFI instruction.
- */
-#if !defined(PPC_ENABLE_WFI_IDLE)
-#define PPC_ENABLE_WFI_IDLE FALSE
-#endif
-
-/*===========================================================================*/
-/* Port derived parameters (common). */
-/*===========================================================================*/
-
-#if PPC_USE_VLE && !PPC_SUPPORTS_VLE
-#error "the selected MCU does not support VLE instructions set"
-#endif
-
-#if !PPC_USE_VLE && !PPC_SUPPORTS_BOOKE
-#error "the selected MCU does not support BookE instructions set"
-#endif
-
-/*===========================================================================*/
-/* Port exported info (common). */
-/*===========================================================================*/
-
-/**
- * @brief Unique macro for the implemented architecture.
- */
-#define CH_ARCHITECTURE_PPC
-
-/**
- * @brief Name of the implemented architecture.
- */
-#define CH_ARCHITECTURE_NAME "Power Architecture"
-
-/**
- * @brief Name of the architecture variant.
- */
-#if (PPC_VARIANT == PPC_VARIANT_e200z0) || defined(__DOXYGEN__)
-#define CH_CORE_VARIANT_NAME "e200z0"
-#elif PPC_VARIANT == PPC_VARIANT_e200z3
-#define CH_CORE_VARIANT_NAME "e200z3"
-#elif PPC_VARIANT == PPC_VARIANT_e200z4
-#define CH_CORE_VARIANT_NAME "e200z4"
-#else
-#error "unknown or unsupported PowerPC variant specified"
-#endif
-
-/**
- * @brief Name of the compiler supported by this port.
- */
-#define CH_COMPILER_NAME "GCC " __VERSION__
-
-/**
- * @brief Port-specific information string.
- */
-#if PPC_USE_VLE
-#define CH_PORT_INFO "VLE mode"
-#else
-#define CH_PORT_INFO "Book-E mode"
-#endif
-
-/*===========================================================================*/
-/* Port implementation part (common). */
-/*===========================================================================*/
-
-#if !defined(_FROM_ASM_)
-
-/**
- * @brief Base type for stack and memory alignment.
- */
-typedef struct {
- uint8_t a[8];
-} stkalign_t __attribute__((aligned(8)));
-
-/**
- * @brief Generic PPC register.
- */
-typedef void *regppc_t;
-
-/**
- * @brief Mandatory part of a stack frame.
- */
-struct eabi_frame {
- regppc_t slink; /**< Stack back link. */
- regppc_t shole; /**< Stack hole for LR storage. */
-};
-
-/**
- * @brief Interrupt saved context.
- * @details This structure represents the stack frame saved during a
- * preemption-capable interrupt handler.
- * @note R2 and R13 are not saved because those are assumed to be immutable
- * during the system life cycle.
- */
-struct extctx {
- struct eabi_frame frame;
- /* Start of the e_stmvsrrw frame (offset 8).*/
- regppc_t pc;
- regppc_t msr;
- /* Start of the e_stmvsprw frame (offset 16).*/
- regppc_t cr;
- regppc_t lr;
- regppc_t ctr;
- regppc_t xer;
- /* Start of the e_stmvgprw frame (offset 32).*/
- regppc_t r0;
- regppc_t r3;
- regppc_t r4;
- regppc_t r5;
- regppc_t r6;
- regppc_t r7;
- regppc_t r8;
- regppc_t r9;
- regppc_t r10;
- regppc_t r11;
- regppc_t r12;
- regppc_t padding;
- };
-
- /**
- * @brief System saved context.
- * @details This structure represents the inner stack frame during a context
- * switching.
- * @note R2 and R13 are not saved because those are assumed to be immutable
- * during the system life cycle.
- * @note LR is stored in the caller contex so it is not present in this
- * structure.
- */
-struct intctx {
- regppc_t cr; /* Part of it is not volatile... */
- regppc_t r14;
- regppc_t r15;
- regppc_t r16;
- regppc_t r17;
- regppc_t r18;
- regppc_t r19;
- regppc_t r20;
- regppc_t r21;
- regppc_t r22;
- regppc_t r23;
- regppc_t r24;
- regppc_t r25;
- regppc_t r26;
- regppc_t r27;
- regppc_t r28;
- regppc_t r29;
- regppc_t r30;
- regppc_t r31;
- regppc_t padding;
-};
-
-/**
- * @brief Platform dependent part of the @p Thread structure.
- * @details This structure usually contains just the saved stack pointer
- * defined as a pointer to a @p intctx structure.
- */
-struct context {
- struct intctx *sp;
-};
-
-/**
- * @brief Platform dependent part of the @p chThdCreateI() API.
- * @details This code usually setup the context switching frame represented
- * by an @p intctx structure.
- */
-#define SETUP_CONTEXT(workspace, wsize, pf, arg) { \
- uint8_t *sp = (uint8_t *)workspace + wsize - sizeof(struct eabi_frame); \
- ((struct eabi_frame *)sp)->slink = 0; \
- ((struct eabi_frame *)sp)->shole = _port_thread_start; \
- tp->p_ctx.sp = (struct intctx *)(sp - sizeof(struct intctx)); \
- tp->p_ctx.sp->r31 = arg; \
- tp->p_ctx.sp->r30 = pf; \
-}
-
-/**
- * @brief Stack size for the system idle thread.
- * @details This size depends on the idle thread implementation, usually
- * the idle thread should take no more space than those reserved
- * by @p PORT_INT_REQUIRED_STACK.
- */
-#ifndef PORT_IDLE_THREAD_STACK_SIZE
-#define PORT_IDLE_THREAD_STACK_SIZE 32
-#endif
-
-/**
- * @brief Per-thread stack overhead for interrupts servicing.
- * @details This constant is used in the calculation of the correct working
- * area size.
- */
-#ifndef PORT_INT_REQUIRED_STACK
-#define PORT_INT_REQUIRED_STACK 256
-#endif
-
-/**
- * @brief Enforces a correct alignment for a stack area size value.
- */
-#define STACK_ALIGN(n) ((((n) - 1) | (sizeof(stkalign_t) - 1)) + 1)
-
-/**
- * @brief Computes the thread working area global size.
- */
-#define THD_WA_SIZE(n) STACK_ALIGN(sizeof(Thread) + \
- sizeof(struct intctx) + \
- sizeof(struct extctx) + \
- (n) + (PORT_INT_REQUIRED_STACK))
-
-/**
- * @brief Static working area allocation.
- * @details This macro is used to allocate a static thread working area
- * aligned as both position and size.
- */
-#define WORKING_AREA(s, n) stkalign_t s[THD_WA_SIZE(n) / sizeof(stkalign_t)]
-
-/**
- * @brief IRQ prologue code.
- * @details This macro must be inserted at the start of all IRQ handlers
- * enabled to invoke system APIs.
- */
-#define PORT_IRQ_PROLOGUE()
-
-/**
- * @brief IRQ epilogue code.
- * @details This macro must be inserted at the end of all IRQ handlers
- * enabled to invoke system APIs.
- */
-#define PORT_IRQ_EPILOGUE()
-
-/**
- * @brief IRQ handler function declaration.
- * @note @p id can be a function name or a vector number depending on the
- * port implementation.
- */
-#define PORT_IRQ_HANDLER(id) void id(void)
-
-/**
- * @details Implemented as global interrupt disable.
- */
-#define port_lock() asm volatile ("wrteei 0" : : : "memory")
-
-/**
- * @details Implemented as global interrupt enable.
- */
-#define port_unlock() asm volatile("wrteei 1" : : : "memory")
-
-/**
- * @details Implemented as global interrupt disable.
- */
-#define port_lock_from_isr() /*asm ("wrteei 0")*/
-
-/**
- * @details Implemented as global interrupt enable.
- */
-#define port_unlock_from_isr() /*asm ("wrteei 1")*/
-
-/**
- * @details Implemented as global interrupt disable.
- */
-#define port_disable() asm volatile ("wrteei 0" : : : "memory")
-
-/**
- * @details Same as @p port_disable() in this port, there is no difference
- * between the two states.
- */
-#define port_suspend() asm volatile ("wrteei 0" : : : "memory")
-
-/**
- * @details Implemented as global interrupt enable.
- */
-#define port_enable() asm volatile ("wrteei 1" : : : "memory")
-
-/**
- * @brief Performs a context switch between two threads.
- * @details This is the most critical code in any port, this function
- * is responsible for the context switch between 2 threads.
- * @note The implementation of this code affects <b>directly</b> the context
- * switch performance so optimize here as much as you can.
- *
- * @param[in] ntp the thread to be switched in
- * @param[in] otp the thread to be switched out
- */
-#if !CH_DBG_ENABLE_STACK_CHECK || defined(__DOXYGEN__)
-#define port_switch(ntp, otp) _port_switch(ntp, otp)
-#else
-#define port_switch(ntp, otp) { \
- register struct intctx *sp asm ("%r1"); \
- if ((stkalign_t *)(sp - 1) < otp->p_stklimit) \
- chDbgPanic("stack overflow"); \
- _port_switch(ntp, otp); \
-}
-#endif
-
-/**
- * @brief Writes to a special register.
- *
- * @param[in] spr special register number
- * @param[in] val value to be written
- */
-#define port_mtspr(spr, val) \
- asm volatile ("mtspr %0,%1" : : "n" (spr), "r" (val))
-
-/**
- * @details This port function is implemented as inlined code for performance
- * reasons.
- */
-#if PPC_ENABLE_WFI_IDLE
-#if !defined(port_wait_for_interrupt)
-#define port_wait_for_interrupt() { \
- asm volatile ("wait" : : : "memory"); \
-}
-#endif
-#else
-#define port_wait_for_interrupt()
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void port_init(void);
- void port_halt(void);
- void _port_switch(Thread *ntp, Thread *otp);
- void _port_thread_start(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _FROM_ASM_ */
-
-#endif /* _CHCORE_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/chtypes.h b/os/ports/GCC/PPC/chtypes.h
deleted file mode 100644
index 37f4419f6..000000000
--- a/os/ports/GCC/PPC/chtypes.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file PPC/chtypes.h
- * @brief PowerPC architecture port system types.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#ifndef _CHTYPES_H_
-#define _CHTYPES_H_
-
-#include <stddef.h>
-#include <stdint.h>
-#include <stdbool.h>
-
-/*
- * Derived generic types.
- */
-typedef volatile int8_t vint8_t; /**< Volatile signed 8 bits. */
-typedef volatile uint8_t vuint8_t; /**< Volatile unsigned 8 bits. */
-typedef volatile int16_t vint16_t; /**< Volatile signed 16 bits. */
-typedef volatile uint16_t vuint16_t; /**< Volatile unsigned 16 bits. */
-typedef volatile int32_t vint32_t; /**< Volatile signed 32 bits. */
-typedef volatile uint32_t vuint32_t; /**< Volatile unsigned 32 bits. */
-
-/*
- * Kernel types.
- */
-typedef bool bool_t; /**< Fast boolean type. */
-typedef uint8_t tmode_t; /**< Thread flags. */
-typedef uint8_t tstate_t; /**< Thread state. */
-typedef uint8_t trefs_t; /**< Thread references counter. */
-typedef uint8_t tslices_t; /**< Thread time slices counter.*/
-typedef uint32_t tprio_t; /**< Thread priority. */
-typedef int32_t msg_t; /**< Inter-thread message. */
-typedef int32_t eventid_t; /**< Event Id. */
-typedef uint32_t eventmask_t; /**< Event mask. */
-typedef uint32_t flagsmask_t; /**< Event flags. */
-typedef uint32_t systime_t; /**< System time. */
-typedef int32_t cnt_t; /**< Resources counter. */
-
-/**
- * @brief Inline function modifier.
- */
-#define INLINE inline
-
-/**
- * @brief ROM constant modifier.
- * @note It is set to use the "const" keyword in this port.
- */
-#define ROMCONST const
-
-/**
- * @brief Packed structure modifier (within).
- * @note It uses the "packed" GCC attribute.
- */
-#define PACK_STRUCT_STRUCT __attribute__((packed))
-
-/**
- * @brief Packed structure modifier (before).
- * @note Empty in this port.
- */
-#define PACK_STRUCT_BEGIN
-
-/**
- * @brief Packed structure modifier (after).
- * @note Empty in this port.
- */
-#define PACK_STRUCT_END
-
-#endif /* _CHTYPES_H_ */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/crt0.s b/os/ports/GCC/PPC/crt0.s
deleted file mode 100644
index 07e870451..000000000
--- a/os/ports/GCC/PPC/crt0.s
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file PPC/crt0.s
- * @brief Generic PowerPC startup file for ChibiOS/RT.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(__DOXYGEN__)
-
- .section .crt0, "ax"
- .align 2
- .globl _boot_address
- .type _boot_address, @function
-_boot_address:
- /*
- * Stack setup.
- */
- lis %r1, __process_stack_end__@h
- ori %r1, %r1, __process_stack_end__@l
- li %r0, 0
- stwu %r0, -8(%r1)
- /*
- * Small sections registers initialization.
- */
- lis %r2, __sdata2_start__@h
- ori %r2, %r2, __sdata2_start__@l
- lis %r13, __sdata_start__@h
- ori %r13, %r13, __sdata_start__@l
- /*
- * Early initialization.
- */
- bl __early_init
- /*
- * BSS clearing.
- */
- lis %r4, __bss_start__@h
- ori %r4, %r4, __bss_start__@l
- lis %r5, __bss_end__@h
- ori %r5, %r5, __bss_end__@l
- li %r7, 0
-.bssloop:
- cmpl cr0, %r4, %r5
- bge cr0, .bssend
- stw %r7, 0(%r4)
- addi %r4, %r4, 4
- b .bssloop
-.bssend:
- /*
- * DATA initialization.
- */
- lis %r4, __romdata_start__@h
- ori %r4, %r4, __romdata_start__@l
- lis %r5, __data_start__@h
- ori %r5, %r5, __data_start__@l
- lis %r6, __data_end__@h
- ori %r6, %r6, __data_end__@l
-.dataloop:
- cmpl cr0, %r5, %r6
- bge cr0, .dataend
- lwz %r7, 0(%r4)
- addi %r4, %r4, 4
- stw %r7, 0(%r5)
- addi %r5, %r5, 4
- b .dataloop
-.dataend:
- /*
- * Late initialization.
- */
- bl __late_init
- /*
- * Main program invocation.
- */
- bl main
- b _main_exit_handler
-
- /*
- * Default main exit code, infinite loop.
- */
- .weak _main_exit_handler
- .globl _main_exit_handler
- .type _main_exit_handler, @function
-_main_exit_handler:
- b _main_exit_handler
-
- /*
- * Default early initialization code, none.
- */
- .weak __early_init
- .globl __early_init
- .type __early_init, @function
-__early_init:
- blr
-
- /*
- * Default late initialization code, none.
- */
- .weak __late_init
- .globl __late_init
- .type __late_init, @function
-__late_init:
- blr
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/ivor.s b/os/ports/GCC/PPC/ivor.s
deleted file mode 100644
index 46dc66bf5..000000000
--- a/os/ports/GCC/PPC/ivor.s
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file PPC/ivor.s
- * @brief Kernel ISRs.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-/*
- * Imports the PPC configuration headers.
- */
-#define _FROM_ASM_
-#include "chconf.h"
-#include "chcore.h"
-
-#if !defined(__DOXYGEN__)
- /*
- * INTC registers address.
- */
- .equ INTC_IACKR, 0xfff48010
- .equ INTC_EOIR, 0xfff48018
-
- .section .handlers, "ax"
-
-#if PPC_SUPPORTS_DECREMENTER
- /*
- * _IVOR10 handler (Book-E decrementer).
- */
- .align 4
- .globl _IVOR10
- .type _IVOR10, @function
-_IVOR10:
- /* Creation of the external stack frame (extctx structure).*/
- stwu %sp, -80(%sp) /* Size of the extctx structure.*/
-#if PPC_USE_VLE && PPC_SUPPORTS_VLE_MULTI
- e_stmvsrrw 8(%sp) /* Saves PC, MSR. */
- e_stmvsprw 16(%sp) /* Saves CR, LR, CTR, XER. */
- e_stmvgprw 32(%sp) /* Saves GPR0, GPR3...GPR12. */
-#else /* !(PPC_USE_VLE && PPC_SUPPORTS_VLE_MULTI) */
- stw %r0, 32(%sp) /* Saves GPR0. */
- mfSRR0 %r0
- stw %r0, 8(%sp) /* Saves PC. */
- mfSRR1 %r0
- stw %r0, 12(%sp) /* Saves MSR. */
- mfCR %r0
- stw %r0, 16(%sp) /* Saves CR. */
- mfLR %r0
- stw %r0, 20(%sp) /* Saves LR. */
- mfCTR %r0
- stw %r0, 24(%sp) /* Saves CTR. */
- mfXER %r0
- stw %r0, 28(%sp) /* Saves XER. */
- stw %r3, 36(%sp) /* Saves GPR3...GPR12. */
- stw %r4, 40(%sp)
- stw %r5, 44(%sp)
- stw %r6, 48(%sp)
- stw %r7, 52(%sp)
- stw %r8, 56(%sp)
- stw %r9, 60(%sp)
- stw %r10, 64(%sp)
- stw %r11, 68(%sp)
- stw %r12, 72(%sp)
-#endif /* !(PPC_USE_VLE && PPC_SUPPORTS_VLE_MULTI) */
-
- /* Reset DIE bit in TSR register.*/
- lis %r3, 0x0800 /* DIS bit mask. */
- mtspr 336, %r3 /* TSR register. */
-
-#if CH_DBG_SYSTEM_STATE_CHECK
- bl dbg_check_enter_isr
- bl dbg_check_lock_from_isr
-#endif
- bl chSysTimerHandlerI
-#if CH_DBG_SYSTEM_STATE_CHECK
- bl dbg_check_unlock_from_isr
- bl dbg_check_leave_isr
-#endif
-
- /* System tick handler invocation.*/
-#if CH_DBG_SYSTEM_STATE_CHECK
- bl dbg_check_lock
-#endif
- bl chSchIsPreemptionRequired
- cmpli cr0, %r3, 0
- beq cr0, _ivor_exit
- bl chSchDoReschedule
- b _ivor_exit
-#endif /* PPC_SUPPORTS_DECREMENTER */
-
- /*
- * _IVOR4 handler (Book-E external interrupt).
- */
- .align 4
- .globl _IVOR4
- .type _IVOR4, @function
-_IVOR4:
- /* Creation of the external stack frame (extctx structure).*/
- stwu %sp, -80(%sp) /* Size of the extctx structure.*/
-#if PPC_USE_VLE && PPC_SUPPORTS_VLE_MULTI
- e_stmvsrrw 8(%sp) /* Saves PC, MSR. */
- e_stmvsprw 16(%sp) /* Saves CR, LR, CTR, XER. */
- e_stmvgprw 32(%sp) /* Saves GPR0, GPR3...GPR12. */
-#else /* !(PPC_USE_VLE && PPC_SUPPORTS_VLE_MULTI) */
- stw %r0, 32(%sp) /* Saves GPR0. */
- mfSRR0 %r0
- stw %r0, 8(%sp) /* Saves PC. */
- mfSRR1 %r0
- stw %r0, 12(%sp) /* Saves MSR. */
- mfCR %r0
- stw %r0, 16(%sp) /* Saves CR. */
- mfLR %r0
- stw %r0, 20(%sp) /* Saves LR. */
- mfCTR %r0
- stw %r0, 24(%sp) /* Saves CTR. */
- mfXER %r0
- stw %r0, 28(%sp) /* Saves XER. */
- stw %r3, 36(%sp) /* Saves GPR3...GPR12. */
- stw %r4, 40(%sp)
- stw %r5, 44(%sp)
- stw %r6, 48(%sp)
- stw %r7, 52(%sp)
- stw %r8, 56(%sp)
- stw %r9, 60(%sp)
- stw %r10, 64(%sp)
- stw %r11, 68(%sp)
- stw %r12, 72(%sp)
-#endif /* !(PPC_USE_VLE && PPC_SUPPORTS_VLE_MULTI) */
-
- /* Software vector address from the INTC register.*/
- lis %r3, INTC_IACKR@h
- ori %r3, %r3, INTC_IACKR@l /* IACKR register address. */
- lwz %r3, 0(%r3) /* IACKR register value. */
- lwz %r3, 0(%r3)
- mtCTR %r3 /* Software handler address. */
-
-#if PPC_USE_IRQ_PREEMPTION
- /* Allows preemption while executing the software handler.*/
- wrteei 1
-#endif
-
- /* Exectes the software handler.*/
- bctrl
-
-#if PPC_USE_IRQ_PREEMPTION
- /* Prevents preemption again.*/
- wrteei 0
-#endif
-
- /* Informs the INTC that the interrupt has been served.*/
- mbar 0
- lis %r3, INTC_EOIR@h
- ori %r3, %r3, INTC_EOIR@l
- stw %r3, 0(%r3) /* Writing any value should do. */
-
- /* Verifies if a reschedule is required.*/
-#if CH_DBG_SYSTEM_STATE_CHECK
- bl dbg_check_lock
-#endif
- bl chSchIsPreemptionRequired
- cmpli cr0, %r3, 0
- beq cr0, _ivor_exit
- bl chSchDoReschedule
-
- /* Context restore.*/
- .globl _ivor_exit
-_ivor_exit:
-#if CH_DBG_SYSTEM_STATE_CHECK
- bl dbg_check_unlock
-#endif
-#if PPC_USE_VLE && PPC_SUPPORTS_VLE_MULTI
- e_lmvgprw 32(%sp) /* Restores GPR0, GPR3...GPR12. */
- e_lmvsprw 16(%sp) /* Restores CR, LR, CTR, XER. */
- e_lmvsrrw 8(%sp) /* Restores PC, MSR. */
-#else /*!(PPC_USE_VLE && PPC_SUPPORTS_VLE_MULTI) */
- lwz %r3, 36(%sp) /* Restores GPR3...GPR12. */
- lwz %r4, 40(%sp)
- lwz %r5, 44(%sp)
- lwz %r6, 48(%sp)
- lwz %r7, 52(%sp)
- lwz %r8, 56(%sp)
- lwz %r9, 60(%sp)
- lwz %r10, 64(%sp)
- lwz %r11, 68(%sp)
- lwz %r12, 72(%sp)
- lwz %r0, 8(%sp)
- mtSRR0 %r0 /* Restores PC. */
- lwz %r0, 12(%sp)
- mtSRR1 %r0 /* Restores MSR. */
- lwz %r0, 16(%sp)
- mtCR %r0 /* Restores CR. */
- lwz %r0, 20(%sp)
- mtLR %r0 /* Restores LR. */
- lwz %r0, 24(%sp)
- mtCTR %r0 /* Restores CTR. */
- lwz %r0, 28(%sp)
- mtXER %r0 /* Restores XER. */
- lwz %r0, 32(%sp) /* Restores GPR0. */
-#endif /* !(PPC_USE_VLE && PPC_SUPPORTS_VLE_MULTI) */
- addi %sp, %sp, 80 /* Back to the previous frame. */
- rfi
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/ports/GCC/PPC/port.dox b/os/ports/GCC/PPC/port.dox
deleted file mode 100644
index 9ea2c0449..000000000
--- a/os/ports/GCC/PPC/port.dox
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @defgroup PPC Power Architecture
- * @details Power Architecture port for the GCC compiler.
- *
- * @section PPC_INTRO Introduction
- * This port supports cores implementing a 32 bits Power Architecture.
- *
- * @section PPC_STATES Mapping of the System States in the Power Architecture port
- * The ChibiOS/RT logical @ref system_states are mapped as follow in the
- * PowerPC port:
- * - <b>Init</b>. This state is represented by the startup code and the
- * initialization code before @p chSysInit() is executed. It has not a
- * special hardware state associated.
- * - <b>Normal</b>. This is the state the system has after executing
- * @p chSysInit(). Interrupts are enabled.
- * - <b>Suspended</b>. Interrupts are disabled.
- * - <b>Disabled</b>. Interrupts are disabled. This state is equivalent to the
- * Suspended state because there are no fast interrupts in this architecture.
- * - <b>Sleep</b>. This state is entered with the execution of the specific
- * instruction @p <b>wait</b>.
- * - <b>S-Locked</b>. Interrupts are disabled.
- * - <b>I-Locked</b>. This state is equivalent to the SRI state, the
- * @p chSysLockI() and @p chSysUnlockI() APIs do nothing (still use them in
- * order to formally change state because this may change).
- * - <b>Serving Regular Interrupt</b>. Normal interrupt service code.
- * - <b>Serving Fast Interrupt</b>. Not present in this architecture.
- * - <b>Serving Non-Maskable Interrupt</b>. The PowerPC has several non
- * maskable interrupt sources that can be associated to this state.
- * - <b>Halted</b>. Implemented as an infinite loop with interrupts disabled.
- * .
- * @section PPC_NOTES The PowerPC port notes
- * The PowerPC port is organized as follow:
- * - The @p main() function is invoked in privileged mode.
- * - Each thread has a private stack with extra storage for interrupts
- * servicing.
- * - The Book-E Decrementer Timer, mapped on IVOR10, is used for system tick.
- * - Interrupt nesting is not currently supported.
- * .
- * @ingroup gcc
- */
-
-/**
- * @defgroup PPC_CONF Configuration Options
- * @details PowerPC Configuration Options. The PowerPC port allows some
- * architecture-specific configurations settings that can be overridden by
- * redefining them in @p chconf.h. Usually there is no need to change the
- * default values.
- * - @p INT_REQUIRED_STACK, this value represent the amount of stack space used
- * by an interrupt handler between the @p extctx and @p intctx
- * structures.
- * The default for this value is @p 128 bytes, this space is allocated for
- * each thread so be careful in order to not waste precious RAM space.
- * - @p IDLE_THREAD_STACK_SIZE, stack area size to be assigned to the IDLE
- * thread. Usually there is no need to change this value unless inserting
- * code in the IDLE thread hook macro.
- * - @p ENABLE_WFI_IDLE, if set to @p TRUE enables the use of the @p <b>wait</b>
- * instruction from within the idle loop. This is defaulted to 0 because
- * it can create problems with some debuggers. Setting this option to 1
- * reduces the system power requirements.
- * .
- * @ingroup PPC
- */
-
-/**
- * @defgroup PPC_CORE Core Port Implementation
- * @brief PowerPC specific port code, structures and macros.
- *
- * @ingroup PPC
- */
-
-/**
- * @defgroup PPC_STARTUP Startup Support
- * @brief
- * @details PPC startup code support. ChibiOS/RT provides its own generic
- * startup file for the PowerPC port.
- * Of course it is not mandatory to use it but care should be taken about the
- * startup phase details.
- *
- * @section PPC_STARTUP_1 Startup Process
- * The startup process, as implemented, is the following:
- * -# The stacks pointer is initialized into the area defined in the linker
- * script.
- * -# The IVPR register is setup according to the linker script.
- * -# The R2 and R13 registers are set to pointer to the SDA areas according
- * to the EABI specification.
- * -# An early initialization routine @p hwinit0 is invoked, if the symbol is
- * not defined then an empty default routine is executed (weak symbol).
- * -# DATA and BSS segments are initialized.
- * -# A late initialization routine @p hwinit1 is invoked, if the symbol not
- * defined then an empty default routine is executed (weak symbol).<br>
- * This late initialization function is also the proper place for a
- * @a bootloader, if your application requires one.
- * -# The @p main() function is invoked with the parameters @p argc and @p argv
- * set to zero.
- * -# Should the @p main() function return a branch is performed to the weak
- * symbol @p _main_exit_handler. The default code is an endless empty loop.
- * .
- * @section PPC_STARTUP_2 Expected linker symbols
- * The startup code starts at the symbol @p _boot_address and expects the
- * following symbols to be defined in the linker script:
- * - @p __ram_end__ RAM end location +1.
- * - @p __sdata2_start__ small constants data area
- * - @p __sdata_start__ small variables data area
- * - @p __romdata_start__ address of the data segment source read only data.
- * - @p __data_start__ data segment start location.
- * - @p __data_end__ data segment end location +1.
- * - @p __bss_start__ BSS start location.
- * - @p __bss_end__ BSS end location +1.
- * - @p __ivpr_base__ IVPR register initialization address.
- * .
- * @ingroup PPC
- */
-
-/**
- * @defgroup PPC_SPECIFIC Specific Implementations
- * @details Platform-specific port code.
- *
- * @ingroup PPC
- */
diff --git a/os/ports/GCC/PPC/rules.mk b/os/ports/GCC/PPC/rules.mk
deleted file mode 100644
index 4b765c5b7..000000000
--- a/os/ports/GCC/PPC/rules.mk
+++ /dev/null
@@ -1,182 +0,0 @@
-# PPC makefile scripts and rules.
-
-# Output directory and files
-ifeq ($(BUILDDIR),)
- BUILDDIR = build
-endif
-ifeq ($(BUILDDIR),.)
- BUILDDIR = build
-endif
-OUTFILES = $(BUILDDIR)/$(PROJECT).elf $(BUILDDIR)/$(PROJECT).hex \
- $(BUILDDIR)/$(PROJECT).bin $(BUILDDIR)/$(PROJECT).dmp
-
-# Automatic compiler options
-OPT = $(USE_OPT)
-COPT = $(USE_COPT)
-CPPOPT = $(USE_CPPOPT)
-ifeq ($(USE_LINK_GC),yes)
- OPT += -ffunction-sections -fdata-sections
-endif
-
-# VLE option handling.
-ifeq ($(USE_VLE),yes)
- DDEFS += -DPPC_USE_VLE=1
- DADEFS += -DPPC_USE_VLE=1
- MCU += -mvle
-else
- DDEFS += -DPPC_USE_VLE=0
- DADEFS += -DPPC_USE_VLE=0
-endif
-
-# Source files groups and paths
-SRC = $(CSRC)$(CPPSRC)
-SRCPATHS = $(sort $(dir $(ASMXSRC)) $(dir $(ASMSRC)) $(dir $(SRC)))
-
-# Various directories
-OBJDIR = $(BUILDDIR)/obj
-LSTDIR = $(BUILDDIR)/lst
-
-# Object files groups
-COBJS = $(addprefix $(OBJDIR)/, $(notdir $(CSRC:.c=.o)))
-CPPOBJS = $(addprefix $(OBJDIR)/, $(notdir $(CPPSRC:.cpp=.o)))
-ASMOBJS = $(addprefix $(OBJDIR)/, $(notdir $(ASMSRC:.s=.o)))
-ASMXOBJS = $(addprefix $(OBJDIR)/, $(notdir $(ASMXSRC:.S=.o)))
-OBJS = $(ASMXOBJS) $(ASMOBJS) $(COBJS) $(CPPOBJS)
-
-# Paths
-IINCDIR = $(patsubst %,-I%,$(INCDIR) $(DINCDIR) $(UINCDIR))
-LLIBDIR = $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR))
-
-# Macros
-DEFS = $(DDEFS) $(UDEFS)
-ADEFS = $(DADEFS) $(UADEFS)
-
-# Libs
-LIBS = $(DLIBS) $(ULIBS)
-
-# Various settings
-MCFLAGS = -mcpu=$(MCU)
-ODFLAGS = -x --syms
-ASFLAGS = $(MCFLAGS) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.s=.lst)) $(ADEFS)
-ASXFLAGS = $(MCFLAGS) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.S=.lst)) $(ADEFS)
-CFLAGS = $(MCFLAGS) $(OPT) $(COPT) $(CWARN) -Wa,-alms=$(LSTDIR)/$(notdir $(<:.c=.lst)) $(DEFS)
-CPPFLAGS = $(MCFLAGS) $(OPT) $(CPPOPT) $(CPPWARN) -Wa,-alms=$(LSTDIR)/$(notdir $(<:.cpp=.lst)) $(DEFS)
-ifeq ($(USE_LINK_GC),yes)
-GCLDFLAGS = ,--gc-sections
-else
-GCLDFLAGS =
-endif
-ifneq ($(USE_LDOPT),)
-XLDFLAGS =,$(USE_LDOPT)
-else
-XLDFLAGS =
-endif
-LDFLAGS = $(MCFLAGS) -nostartfiles -T$(LDSCRIPT) -Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch$(GCLDFLAGS)$(XLDFLAGS) $(LLIBDIR)
-
-# Generate dependency information
-CFLAGS += -MD -MP -MF .dep/$(@F).d
-CPPFLAGS += -MD -MP -MF .dep/$(@F).d
-
-# Paths where to search for sources
-VPATH = $(SRCPATHS)
-
-#
-# Makefile rules
-#
-
-all: $(OBJS) $(OUTFILES) MAKE_ALL_RULE_HOOK
-
-MAKE_ALL_RULE_HOOK:
-
-$(OBJS): | $(BUILDDIR)
-
-$(BUILDDIR) $(OBJDIR) $(LSTDIR):
-ifneq ($(USE_VERBOSE_COMPILE),yes)
- @echo Compiler Options
- @echo $(CC) -c $(CFLAGS) -I. $(IINCDIR) main.c -o main.o
- @echo
-endif
- mkdir -p $(OBJDIR)
- mkdir -p $(LSTDIR)
-
-$(CPPOBJS) : $(OBJDIR)/%.o : %.cpp Makefile
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- @echo
- $(CPPC) -c $(CPPFLAGS) -I. $(IINCDIR) $< -o $@
-else
- @echo Compiling $(<F)
- @$(CPPC) -c $(CPPFLAGS) -I. $(IINCDIR) $< -o $@
-endif
-
-$(COBJS) : $(OBJDIR)/%.o : %.c Makefile
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- @echo
- $(CC) -c $(CFLAGS) -I. $(IINCDIR) $< -o $@
-else
- @echo Compiling $(<F)
- @$(CC) -c $(CFLAGS) -I. $(IINCDIR) $< -o $@
-endif
-
-$(ASMOBJS) : $(OBJDIR)/%.o : %.s Makefile
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- @echo
- $(AS) -c $(ASFLAGS) -I. $(IINCDIR) $< -o $@
-else
- @echo Compiling $(<F)
- @$(AS) -c $(ASFLAGS) -I. $(IINCDIR) $< -o $@
-endif
-
-$(ASMXOBJS) : $(OBJDIR)/%.o : %.S Makefile
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- @echo
- $(CC) -c $(ASXFLAGS) -I. $(IINCDIR) $< -o $@
-else
- @echo Compiling $(<F)
- @$(CC) -c $(ASXFLAGS) -I. $(IINCDIR) $< -o $@
-endif
-
-%.elf: $(OBJS) $(LDSCRIPT)
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- @echo
- $(LD) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
-else
- @echo Linking $@
- @$(LD) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
-endif
-
-%.hex: %.elf $(LDSCRIPT)
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- $(HEX) $< $@
-else
- @echo Creating $@
- @$(HEX) $< $@
-endif
-
-%.bin: %.elf $(LDSCRIPT)
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- $(BIN) $< $@
-else
- @echo Creating $@
- @$(BIN) $< $@
-endif
-
-%.dmp: %.elf $(LDSCRIPT)
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- $(OD) $(ODFLAGS) $< > $@
-else
- @echo Creating $@
- @$(OD) $(ODFLAGS) $< > $@
- @echo Done
-endif
-
-clean:
- @echo Cleaning
- -rm -fR .dep $(BUILDDIR)
- @echo Done
-
-#
-# Include the dependency files, should be the last of the makefile
-#
--include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)
-
-# *** EOF ***