From 410bdbf572274890efda677f61bb0c9649b20fef Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 4 Feb 2013 13:38:36 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5111 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/ports/GCC/PPC/SPC56ELxx/bam.s | 3 +++ os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL54_LSM.ld | 1 + os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld | 1 + os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld | 1 + os/ports/GCC/PPC/SPC56ELxx/mmuconf.s | 37 ++++++++++++++++++++++++++ os/ports/GCC/PPC/SPC56ELxx/port.mk | 1 + 6 files changed, 44 insertions(+) create mode 100644 os/ports/GCC/PPC/SPC56ELxx/mmuconf.s (limited to 'os/ports/GCC/PPC/SPC56ELxx') diff --git a/os/ports/GCC/PPC/SPC56ELxx/bam.s b/os/ports/GCC/PPC/SPC56ELxx/bam.s index 234f98642..54079d311 100644 --- a/os/ports/GCC/PPC/SPC56ELxx/bam.s +++ b/os/ports/GCC/PPC/SPC56ELxx/bam.s @@ -140,6 +140,9 @@ mtspr 529, r31 mtspr 530, r31 + /* MMU configuration.*/ + bl _mmuconf + b _boot_address #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 index 977db64a1..c8dba27ff 100644 --- a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL54_LSM.ld +++ b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL54_LSM.ld @@ -48,6 +48,7 @@ SECTIONS { __ivpr_base__ = .; KEEP(*(.bam)) + KEEP(*(.hwinit)) KEEP(*(.crt0)) KEEP(*(.handlers)) . = ALIGN(0x800); diff --git a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld index aceed57d8..ba959c10c 100644 --- a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld +++ b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL60_LSM.ld @@ -48,6 +48,7 @@ SECTIONS { __ivpr_base__ = .; KEEP(*(.bam)) + KEEP(*(.hwinit)) KEEP(*(.crt0)) KEEP(*(.handlers)) . = ALIGN(0x800); diff --git a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld index ed9a9761e..cdd4218ea 100644 --- a/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld +++ b/os/ports/GCC/PPC/SPC56ELxx/ld/SPC56EL70_LSM.ld @@ -48,6 +48,7 @@ SECTIONS { __ivpr_base__ = .; KEEP(*(.bam)) + KEEP(*(.hwinit)) KEEP(*(.crt0)) KEEP(*(.handlers)) . = ALIGN(0x800); diff --git a/os/ports/GCC/PPC/SPC56ELxx/mmuconf.s b/os/ports/GCC/PPC/SPC56ELxx/mmuconf.s new file mode 100644 index 000000000..aa4e9ce2a --- /dev/null +++ b/os/ports/GCC/PPC/SPC56ELxx/mmuconf.s @@ -0,0 +1,37 @@ +/* + 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 . +*/ + +/** + * @file SPC56ELxx/mmuconf.s + * @brief SPC56ELxx MMU initial configuration. + * + * @addtogroup PPC_CORE + * @{ + */ + + .section .hwinit, "ax" + + .align 2 + .globl _mmuconf + .type _mmuconf, @function +_mmuconf: + blr + +/** @} */ diff --git a/os/ports/GCC/PPC/SPC56ELxx/port.mk b/os/ports/GCC/PPC/SPC56ELxx/port.mk index a29eea86f..75c816de3 100644 --- a/os/ports/GCC/PPC/SPC56ELxx/port.mk +++ b/os/ports/GCC/PPC/SPC56ELxx/port.mk @@ -2,6 +2,7 @@ PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx/bam.s \ + ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx/mmuconf.s \ ${CHIBIOS}/os/ports/GCC/PPC/crt0.s \ ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx/ivor.s \ ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx/vectors.s -- cgit v1.2.3