aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2017-02-07 14:12:58 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2017-02-07 14:12:58 +0000
commite3d87e924536a80ae78fe6868f34a4d4a8bc1ecc (patch)
tree8ad6ec935b13c0e449d40e1ba265ad25f43aa1d4 /os
parent8872d9680cc3b2a91e1a818f02f9befa7811ceb7 (diff)
downloadChibiOS-e3d87e924536a80ae78fe6868f34a4d4a8bc1ecc.tar.gz
ChibiOS-e3d87e924536a80ae78fe6868f34a4d4a8bc1ecc.tar.bz2
ChibiOS-e3d87e924536a80ae78fe6868f34a4d4a8bc1ecc.zip
Unified HighTec and plain GCC compiler ports for e200z. Demos defaulted to GCC.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10097 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os')
-rw-r--r--os/common/ports/e200/compilers/GCC/chcoreasm.S4
-rw-r--r--os/common/ports/e200/compilers/GCC/ivor.S18
-rwxr-xr-xos/common/ports/e200/compilers/HighTec/chcoreasm.S115
-rwxr-xr-xos/common/ports/e200/compilers/HighTec/chtypes.h115
-rwxr-xr-xos/common/ports/e200/compilers/HighTec/ivor.S259
-rwxr-xr-xos/common/ports/e200/compilers/HighTec/mk/port.mk8
-rw-r--r--os/common/startup/e200/compilers/HighTec/crt0.S242
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/SPC560B50.ld27
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/SPC560B60.ld27
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/SPC560B64.ld27
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/SPC560D40.ld27
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/SPC560P50.ld27
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/SPC563M64.ld26
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/SPC564A70.ld26
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/SPC564A80.ld26
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/SPC56EC74.ld27
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/SPC56EL54_LSM.ld26
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/SPC56EL60_LSM.ld26
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/SPC56EL70_LSM.ld26
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/SPC57EM80_HSM.ld28
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/rules_z0.ld159
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/rules_z3.ld156
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/ld/rules_z4.ld156
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/mk/startup_spc560bcxx.mk11
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/mk/startup_spc560bxx.mk11
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/mk/startup_spc560dxx.mk11
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/mk/startup_spc560pxx.mk11
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/mk/startup_spc563mxx.mk11
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/mk/startup_spc564axx.mk11
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/mk/startup_spc56ecxx.mk11
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/mk/startup_spc56elxx.mk11
-rw-r--r--os/common/startup/e200/compilers/HighTec/rules.mk245
-rw-r--r--os/common/startup/e200/compilers/HighTec/vectors.S2612
-rwxr-xr-xos/common/startup/e200/compilers/HighTec/vectors.h78
-rw-r--r--os/common/startup/e200/devices/SPC560BCxx/boot.S180
-rw-r--r--os/common/startup/e200/devices/SPC560Bxx/boot.S180
-rw-r--r--os/common/startup/e200/devices/SPC560Pxx/boot.S180
-rw-r--r--os/common/startup/e200/devices/SPC563Mxx/boot.S194
-rw-r--r--os/common/startup/e200/devices/SPC564Axx/boot.S414
-rw-r--r--os/common/startup/e200/devices/SPC56ECxx/boot.S496
-rw-r--r--os/common/startup/e200/devices/SPC56ELxx/boot.S494
41 files changed, 1094 insertions, 5645 deletions
diff --git a/os/common/ports/e200/compilers/GCC/chcoreasm.S b/os/common/ports/e200/compilers/GCC/chcoreasm.S
index 80e6dd0eb..d5a01464f 100644
--- a/os/common/ports/e200/compilers/GCC/chcoreasm.S
+++ b/os/common/ports/e200/compilers/GCC/chcoreasm.S
@@ -106,8 +106,8 @@ _port_thread_start:
mtctr r30
se_bctrl
#if defined(_CHIBIOS_RT_CONF_)
- li r0, 0
- bl chThdExit
+ e_li r0, 0
+ e_bl chThdExit
#endif
#if defined(_CHIBIOS_NIL_CONF_)
se_li r0, 0
diff --git a/os/common/ports/e200/compilers/GCC/ivor.S b/os/common/ports/e200/compilers/GCC/ivor.S
index 8f1c61c65..fc6ec7eb8 100644
--- a/os/common/ports/e200/compilers/GCC/ivor.S
+++ b/os/common/ports/e200/compilers/GCC/ivor.S
@@ -58,7 +58,7 @@
.type _IVOR10, @function
_IVOR10:
/* Saving the external context (port_extctx structure).*/
- stwu sp, -80(sp)
+ e_stwu sp, -80(sp)
#if PPC_USE_VLE && PPC_SUPPORTS_VLE_MULTI
e_stmvsrrw 8(sp) /* Saves PC, MSR. */
e_stmvsprw 16(sp) /* Saves CR, LR, CTR, XER. */
@@ -91,11 +91,11 @@ _IVOR10:
/* Increasing the SPGR0 register.*/
mfspr r0, 272
- eaddi r0, r0, 1
+ se_addi r0, 1
mtspr 272, r0
/* Reset DIE bit in TSR register.*/
- lis r3, 0x0800 /* DIS bit mask. */
+ e_lis r3, 0x0800 /* DIS bit mask. */
mtspr 336, r3 /* TSR register. */
/* Restoring pre-IRQ MSR register value.*/
@@ -107,14 +107,14 @@ _IVOR10:
mtMSR r0
#if CH_DBG_SYSTEM_STATE_CHECK
- bl _dbg_check_enter_isr
- bl _dbg_check_lock_from_isr
+ e_bl _dbg_check_enter_isr
+ e_bl _dbg_check_lock_from_isr
#endif
/* System tick handler invocation.*/
- bl chSysTimerHandlerI
+ e_bl chSysTimerHandlerI
#if CH_DBG_SYSTEM_STATE_CHECK
- bl _dbg_check_unlock_from_isr
- bl _dbg_check_leave_isr
+ e_bl _dbg_check_unlock_from_isr
+ e_bl _dbg_check_leave_isr
#endif
#if PPC_USE_IRQ_PREEMPTION
@@ -123,7 +123,7 @@ _IVOR10:
#endif
/* Jumps to the common IVOR epilogue code.*/
- b _ivor_exit
+ e_b _ivor_exit
#endif /* PPC_SUPPORTS_DECREMENTER */
/*
diff --git a/os/common/ports/e200/compilers/HighTec/chcoreasm.S b/os/common/ports/e200/compilers/HighTec/chcoreasm.S
deleted file mode 100755
index a4016f1ea..000000000
--- a/os/common/ports/e200/compilers/HighTec/chcoreasm.S
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio.
-
- This file is part of ChibiOS.
-
- ChibiOS 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 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 e200/compilers/GCC/chcoreasm.s
- * @brief Power Architecture port low level code.
- *
- * @addtogroup PPC_GCC_CORE
- * @{
- */
-
-/*===========================================================================*/
-/* Module constants. */
-/*===========================================================================*/
-
-#if !defined(FALSE) || defined(__DOXYGEN__)
-#define FALSE 0
-#endif
-
-#if !defined(TRUE) || defined(__DOXYGEN__)
-#define TRUE 1
-#endif
-
-/*===========================================================================*/
-/* Code section. */
-/*===========================================================================*/
-
-#define _FROM_ASM_
-#include "chlicense.h"
-#include "chconf.h"
-#include "chcore.h"
-
-#if !defined(__DOXYGEN__)
-
-/*
- * RTOS-specific context offset.
- */
-#if defined(_CHIBIOS_RT_CONF_)
-#define CONTEXT_OFFSET 12
-#elif defined(_CHIBIOS_NIL_CONF_)
-#define CONTEXT_OFFSET 0
-#else
-#error "invalid chconf.h"
-#endif
-
-#if PPC_USE_VLE == TRUE
- .section .text_vle, "ax"
-#else
- .section .text, "ax"
-#endif
-
- .align 2
- .globl _port_switch
- .type _port_switch, @function
-_port_switch:
- subi %sp, %sp, 80
- mflr %r0
- stw %r0, 84(%sp)
- mfcr %r0
- stw %r0, 0(%sp)
- stmw %r14, 4(%sp)
-
- stw %sp, 12(%r4)
- lwz %sp, 12(%r3)
-
- lmw %r14, 4(%sp)
- lwz %r0, 0(%sp)
- mtcr %r0
- lwz %r0, 84(%sp)
- mtlr %r0
- addi %sp, %sp, 80
- blr
-
- .align 2
- .globl _port_thread_start
- .type _port_thread_start, @function
-_port_thread_start:
-#if CH_DBG_SYSTEM_STATE_CHECK
- bl _dbg_check_unlock
-#endif
-#if CH_DBG_STATISTICS
- bl _stats_stop_measure_crit_thd
-#endif
- wrteei 1
- mr %r3, %r31
- mtctr %r30
- bctrl
-#if defined(_CHIBIOS_RT_CONF_)
- li %r0, 0
- bl chThdExit
-#endif
-#if defined(_CHIBIOS_NIL_CONF_)
- se_li %r0, 0
- e_bl chSysHalt
-#endif
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/common/ports/e200/compilers/HighTec/chtypes.h b/os/common/ports/e200/compilers/HighTec/chtypes.h
deleted file mode 100755
index 20a601e93..000000000
--- a/os/common/ports/e200/compilers/HighTec/chtypes.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio.
-
- This file is part of ChibiOS.
-
- ChibiOS 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 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 e200/compilers/GCC/chtypes.h
- * @brief Power e200 port system types.
- *
- * @addtogroup PPC_GCC_CORE
- * @{
- */
-
-#ifndef CHTYPES_H
-#define CHTYPES_H
-
-#include <stddef.h>
-#include <stdint.h>
-#include <stdbool.h>
-
-/**
- * @name Common constants
- */
-/**
- * @brief Generic 'false' boolean constant.
- */
-#if !defined(FALSE) || defined(__DOXYGEN__)
-#define FALSE 0
-#endif
-
-/**
- * @brief Generic 'true' boolean constant.
- */
-#if !defined(TRUE) || defined(__DOXYGEN__)
-#define TRUE 1
-#endif
-/** @} */
-
-/**
- * @name Kernel types
- * @{
- */
-typedef uint32_t rtcnt_t; /**< Realtime counter. */
-typedef uint64_t rttime_t; /**< Realtime accumulator. */
-typedef uint32_t syssts_t; /**< System status word. */
-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; /**< Numeric event identifier. */
-typedef uint32_t eventmask_t; /**< Mask of event identifiers. */
-typedef uint32_t eventflags_t; /**< Mask of event flags. */
-typedef int32_t cnt_t; /**< Generic signed counter. */
-typedef uint32_t ucnt_t; /**< Generic unsigned counter. */
-/** @} */
-
-/**
- * @brief ROM constant modifier.
- * @note It is set to use the "const" keyword in this port.
- */
-#define ROMCONST const
-
-/**
- * @brief Makes functions not inlineable.
- * @note If the compiler does not support such attribute then some
- * time-dependent services could be degraded.
- */
-#define NOINLINE __attribute__((noinline))
-
-/**
- * @brief Optimized thread function declaration macro.
- */
-#define PORT_THD_FUNCTION(tname, arg) void tname(void *arg)
-
-/**
- * @brief Packed variable specifier.
- */
-#define PACKED_VAR __attribute__((packed))
-
-/**
- * @brief Memory alignment enforcement for variables.
- */
-#define ALIGNED_VAR(n) __attribute__((aligned(n)))
-
-/**
- * @brief Size of a pointer.
- * @note To be used where the sizeof operator cannot be used, preprocessor
- * expressions for example.
- */
-#define SIZEOF_PTR 4
-
-/**
- * @brief True if alignment is low-high in current architecture.
- */
-#define REVERSE_ORDER 0
-
-#endif /* CHTYPES_H */
-
-/** @} */
diff --git a/os/common/ports/e200/compilers/HighTec/ivor.S b/os/common/ports/e200/compilers/HighTec/ivor.S
deleted file mode 100755
index 53f84f96c..000000000
--- a/os/common/ports/e200/compilers/HighTec/ivor.S
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio.
-
- This file is part of ChibiOS.
-
- ChibiOS 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 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 ivor.s
- * @brief Kernel ISRs.
- *
- * @addtogroup PPC_CORE
- * @{
- */
-
-#if !defined(FALSE) || defined(__DOXYGEN__)
-#define FALSE 0
-#endif
-
-#if !defined(TRUE) || defined(__DOXYGEN__)
-#define TRUE 1
-#endif
-
-/*
- * Imports the PPC configuration headers.
- */
-#define _FROM_ASM_
-#include "chlicense.h"
-#include "chconf.h"
-#include "chcore.h"
-
-#if !defined(__DOXYGEN__)
-
- .section .handlers, "ax"
-
-#if PPC_SUPPORTS_DECREMENTER
- /*
- * _IVOR10 handler (Book-E decrementer).
- */
- .align 4
- .globl _IVOR10
- .type _IVOR10, @function
-_IVOR10:
- /* Saving the external context (port_extctx structure).*/
- stwu %sp, -80(%sp)
-#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) */
-
- /* Increasing the SPGR0 register.*/
- mfspr %r0, 272
- eaddi %r0, %r0, 1
- mtspr 272, %r0
-
- /* Reset DIE bit in TSR register.*/
- lis %r3, 0x0800 /* DIS bit mask. */
- mtspr 336, %r3 /* TSR register. */
-
- /* Restoring pre-IRQ MSR register value.*/
- mfSRR1 %r0
-#if !PPC_USE_IRQ_PREEMPTION
- /* No preemption, keeping EE disabled.*/
- se_bclri %r0, 16 /* EE = bit 16. */
-#endif
- mtMSR %r0
-
-#if CH_DBG_SYSTEM_STATE_CHECK
- bl _dbg_check_enter_isr
- bl _dbg_check_lock_from_isr
-#endif
- /* System tick handler invocation.*/
- bl chSysTimerHandlerI
-#if CH_DBG_SYSTEM_STATE_CHECK
- bl _dbg_check_unlock_from_isr
- bl _dbg_check_leave_isr
-#endif
-
-#if PPC_USE_IRQ_PREEMPTION
- /* Prevents preemption again.*/
- wrteei 0
-#endif
-
- /* Jumps to the common IVOR epilogue code.*/
- b _ivor_exit
-#endif /* PPC_SUPPORTS_DECREMENTER */
-
- /*
- * _IVOR4 handler (Book-E external interrupt).
- */
- .align 4
- .globl _IVOR4
- .type _IVOR4, @function
-_IVOR4:
- /* Saving the external context (port_extctx structure).*/
- stwu %sp, -80(%sp)
-#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) */
-
- /* Increasing the SPGR0 register.*/
- mfspr %r0, 272
- eaddi %r0, %r0, 1
- mtspr 272, %r0
-
- /* Software vector address from the INTC register.*/
- lis %r3, INTC_IACKR_ADDR@h
- ori %r3, %r3, INTC_IACKR_ADDR@l /* IACKR register address. */
- lwz %r3, 0(%r3) /* IACKR register value. */
- lwz %r3, 0(%r3)
- mtCTR %r3 /* Software handler address. */
-
- /* Restoring pre-IRQ MSR register value.*/
- mfSRR1 %r0
-#if !PPC_USE_IRQ_PREEMPTION
- /* No preemption, keeping EE disabled.*/
- se_bclri %r0, 16 /* EE = bit 16. */
-#endif
- mtMSR %r0
-
- /* 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_ADDR@h
- ori %r3, %r3, INTC_EOIR_ADDR@l
- stw %r3, 0(%r3) /* Writing any value should do. */
-
- /* Common IVOR epilogue code, context restore.*/
- .globl _ivor_exit
-_ivor_exit:
- /* Decreasing the SPGR0 register.*/
- mfspr %r0, 272
- eaddi %r0, %r0, -1
- mtspr 272, %r0
-
-#if CH_DBG_STATISTICS
- bl _stats_start_measure_crit_thd
-#endif
-#if CH_DBG_SYSTEM_STATE_CHECK
- bl _dbg_check_lock
-#endif
- bl chSchIsPreemptionRequired
- cmpli cr0, %r3, 0
- beq cr0, .noresch
- bl chSchDoReschedule
-.noresch:
-#if CH_DBG_SYSTEM_STATE_CHECK
- bl _dbg_check_unlock
-#endif
-#if CH_DBG_STATISTICS
- bl _stats_stop_measure_crit_thd
-#endif
-
- /* Restoring the external context.*/
-#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/common/ports/e200/compilers/HighTec/mk/port.mk b/os/common/ports/e200/compilers/HighTec/mk/port.mk
deleted file mode 100755
index 51704e91f..000000000
--- a/os/common/ports/e200/compilers/HighTec/mk/port.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-# List of the ChibiOS/RT e200 generic port files.
-PORTSRC = $(CHIBIOS)/os/common/ports/e200/chcore.c
-
-PORTASM = $(CHIBIOS)/os/common/ports/e200/compilers/HighTec/ivor.S \
- $(CHIBIOS)/os/common/ports/e200/compilers/HighTec/chcoreasm.S
-
-PORTINC = $(CHIBIOS)/os/common/ports/e200 \
- $(CHIBIOS)/os/common/ports/e200/compilers/HighTec
diff --git a/os/common/startup/e200/compilers/HighTec/crt0.S b/os/common/startup/e200/compilers/HighTec/crt0.S
deleted file mode 100644
index 007b55d3b..000000000
--- a/os/common/startup/e200/compilers/HighTec/crt0.S
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file GCC/crt0.s
- * @brief Generic PowerPC startup file for GCC.
- *
- * @addtogroup PPC_GCC_CORE
- * @{
- */
-
-/*===========================================================================*/
-/* Module constants. */
-/*===========================================================================*/
-
-#if !defined(FALSE) || defined(__DOXYGEN__)
-#define FALSE 0
-#endif
-
-#if !defined(TRUE) || defined(__DOXYGEN__)
-#define TRUE 1
-#endif
-
-/*===========================================================================*/
-/* Module pre-compile time settings. */
-/*===========================================================================*/
-
-/**
- * @brief Stack segments initialization switch.
- */
-#if !defined(CRT0_STACKS_FILL_PATTERN) || defined(__DOXYGEN__)
-#define CRT0_STACKS_FILL_PATTERN 0x55555555
-#endif
-
-/**
- * @brief Stack segments initialization switch.
- */
-#if !defined(CRT0_INIT_STACKS) || defined(__DOXYGEN__)
-#define CRT0_INIT_STACKS TRUE
-#endif
-
-/**
- * @brief DATA segment initialization switch.
- */
-#if !defined(CRT0_INIT_DATA) || defined(__DOXYGEN__)
-#define CRT0_INIT_DATA TRUE
-#endif
-
-/**
- * @brief BSS segment initialization switch.
- */
-#if !defined(CRT0_INIT_BSS) || defined(__DOXYGEN__)
-#define CRT0_INIT_BSS TRUE
-#endif
-
-/**
- * @brief Constructors invocation switch.
- */
-#if !defined(CRT0_CALL_CONSTRUCTORS) || defined(__DOXYGEN__)
-#define CRT0_CALL_CONSTRUCTORS TRUE
-#endif
-
-/**
- * @brief Destructors invocation switch.
- */
-#if !defined(CRT0_CALL_DESTRUCTORS) || defined(__DOXYGEN__)
-#define CRT0_CALL_DESTRUCTORS TRUE
-#endif
-
-/*===========================================================================*/
-/* Code section. */
-/*===========================================================================*/
-
-#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
-
-#if CRT0_INIT_STACKS == TRUE
- /* Stacks fill pattern.*/
- lis %r7, CRT0_STACKS_FILL_PATTERN@h
- ori %r7, %r7, CRT0_STACKS_FILL_PATTERN@l
-
- /* IRQ Stack initialization. Note, the architecture does not use this
- stack, the size is usually zero. An OS can have special SW handling
- and require this. A 4 bytes alignment is assmend and required.*/
- lis %r4, __irq_stack_base__@h
- ori %r4, %r4, __irq_stack_base__@l
- lis %r5, __irq_stack_end__@h
- ori %r5, %r5, __irq_stack_end__@l
-.irqsloop:
- cmpl cr0, %r4, %r5
- bge cr0, .irqsend
- stw %r7, 0(%r4)
- addi %r4, %r4, 4
- b .irqsloop
-.irqsend:
-
- /* Process Stack initialization. Note, does not overwrite the already
- written EABI frame. A 4 bytes alignment is assmend and required.*/
- lis %r4, __process_stack_base__@h
- ori %r4, %r4, __process_stack_base__@l
- lis %r5, (__process_stack_end__ - 8)@h
- ori %r5, %r5, (__process_stack_end__ - 8)@l
-.prcsloop:
- cmpl cr0, %r4, %r5
- bge cr0, .prcsend
- stw %r7, 0(%r4)
- addi %r4, %r4, 4
- b .prcsloop
-.prcsend:
-#endif
-
-#if CRT0_INIT_BSS == TRUE
- /* 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:
-#endif
-
-#if CRT0_INIT_DATA == TRUE
- /* 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:
-#endif
-
- /* Late initialization.*/
- bl __late_init
-
-#if CRT0_CALL_CONSTRUCTORS == TRUE
- /* Constructors invocation.*/
- lis %r4, __init_array_start@h
- ori %r4, %r4, __init_array_start@l
- lis %r5, __init_array_end@h
- ori %r5, %r5, __init_array_end@l
-.iniloop:
- cmplw %cr0, %r4, %r5
- bge %cr0, .iniend
- lwz %r6, 0(%r4)
- mtctr %r6
- addi %r4, %r4, 4
- bctrl
- b .iniloop
-.iniend:
-#endif
-
- /* Main program invocation.*/
- bl main
-
-#if CRT0_CALL_DESTRUCTORS == TRUE
- /* Destructors invocation.*/
- lis %r4, __fini_array_start@h
- ori %r4, %r4, __fini_array_start@l
- lis %r5, __fini_array_end@h
- ori %r5, %r5, __fini_array_end@l
-.finiloop:
- cmplw %cr0, %r4, %r5
- bge %cr0, .finiend
- lwz %r6, 0(%r4)
- mtctr %r6
- addi %r4, %r4, 4
- bctrl
- b .finiloop
-.finiend:
-#endif
-
- /* Branching to the defined exit handler.*/
- b __default_exit
-
- /* Default main exit code, infinite loop.*/
- .weak __default_exit
- .type __default_exit, @function
-__default_exit:
- b __default_exit
-
- /* Default early initialization code, none.*/
- .weak __early_init
- .type __early_init, @function
-__early_init:
- blr
-
- /* Default late initialization code, none.*/
- .weak __late_init
- .type __late_init, @function
-__late_init:
- blr
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/common/startup/e200/compilers/HighTec/ld/SPC560B50.ld b/os/common/startup/e200/compilers/HighTec/ld/SPC560B50.ld
deleted file mode 100755
index a7b6eabe1..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/SPC560B50.ld
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * SPC560B50 memory setup.
- */
-MEMORY
-{
- flash : org = 0x00000000, len = 512k
- dataflash : org = 0x00800000, len = 64k
- ram : org = 0x40000000, len = 32k
-}
-
-INCLUDE rules_z0.ld
diff --git a/os/common/startup/e200/compilers/HighTec/ld/SPC560B60.ld b/os/common/startup/e200/compilers/HighTec/ld/SPC560B60.ld
deleted file mode 100755
index b2f85efbb..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/SPC560B60.ld
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * SPC560B60 memory setup.
- */
-MEMORY
-{
- flash : org = 0x00000000, len = 1024k
- dataflash : org = 0x00800000, len = 64k
- ram : org = 0x40000000, len = 80k
-}
-
-INCLUDE rules_z0.ld
diff --git a/os/common/startup/e200/compilers/HighTec/ld/SPC560B64.ld b/os/common/startup/e200/compilers/HighTec/ld/SPC560B64.ld
deleted file mode 100755
index 019dd939b..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/SPC560B64.ld
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * SPC560B64 memory setup.
- */
-MEMORY
-{
- flash : org = 0x00000000, len = 1536k
- dataflash : org = 0x00800000, len = 64k
- ram : org = 0x40000000, len = 96k
-}
-
-INCLUDE rules_z0.ld
diff --git a/os/common/startup/e200/compilers/HighTec/ld/SPC560D40.ld b/os/common/startup/e200/compilers/HighTec/ld/SPC560D40.ld
deleted file mode 100755
index 2d3459fd4..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/SPC560D40.ld
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * SPC560D40 memory setup.
- */
-MEMORY
-{
- flash : org = 0x00000000, len = 256k
- dataflash : org = 0x00800000, len = 64k
- ram : org = 0x40000000, len = 16k
-}
-
-INCLUDE rules_z0.ld
diff --git a/os/common/startup/e200/compilers/HighTec/ld/SPC560P50.ld b/os/common/startup/e200/compilers/HighTec/ld/SPC560P50.ld
deleted file mode 100755
index 2b591d4d8..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/SPC560P50.ld
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * SPC560P50 memory setup.
- */
-MEMORY
-{
- flash : org = 0x00000000, len = 512k
- dataflash : org = 0x00800000, len = 64k
- ram : org = 0x40000000, len = 40k
-}
-
-INCLUDE rules_z0.ld
diff --git a/os/common/startup/e200/compilers/HighTec/ld/SPC563M64.ld b/os/common/startup/e200/compilers/HighTec/ld/SPC563M64.ld
deleted file mode 100755
index eb6e1664d..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/SPC563M64.ld
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * SPC563M64 memory setup.
- */
-MEMORY
-{
- flash : org = 0x00000000, len = 1536k
- ram : org = 0x40000000, len = 94k
-}
-
-INCLUDE rules_z3.ld
diff --git a/os/common/startup/e200/compilers/HighTec/ld/SPC564A70.ld b/os/common/startup/e200/compilers/HighTec/ld/SPC564A70.ld
deleted file mode 100755
index af062aa88..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/SPC564A70.ld
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * SPC563A70 memory setup.
- */
-MEMORY
-{
- flash : org = 0x00000000, len = 2M
- ram : org = 0x40000000, len = 128k
-}
-
-INCLUDE rules_z4.ld
diff --git a/os/common/startup/e200/compilers/HighTec/ld/SPC564A80.ld b/os/common/startup/e200/compilers/HighTec/ld/SPC564A80.ld
deleted file mode 100755
index 53341a5dd..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/SPC564A80.ld
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * SPC563A80 memory setup.
- */
-MEMORY
-{
- flash : org = 0x00000000, len = 4M
- ram : org = 0x40000000, len = 192k
-}
-
-INCLUDE rules_z4.ld
diff --git a/os/common/startup/e200/compilers/HighTec/ld/SPC56EC74.ld b/os/common/startup/e200/compilers/HighTec/ld/SPC56EC74.ld
deleted file mode 100755
index e1fe154ed..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/SPC56EC74.ld
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * SPC56EC74 memory setup.
- */
-MEMORY
-{
- flash : org = 0x00000000, len = 3M
- dataflash : org = 0x00800000, len = 64k
- ram : org = 0x40000000, len = 256k
-}
-
-INCLUDE rules_z4.ld
diff --git a/os/common/startup/e200/compilers/HighTec/ld/SPC56EL54_LSM.ld b/os/common/startup/e200/compilers/HighTec/ld/SPC56EL54_LSM.ld
deleted file mode 100755
index 177525eee..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/SPC56EL54_LSM.ld
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * SPC56EL54 memory setup in LSM mode.
- */
-MEMORY
-{
- flash : org = 0x00000000, len = 768k
- ram : org = 0x40000000, len = 128k
-}
-
-INCLUDE rules_z4.ld
diff --git a/os/common/startup/e200/compilers/HighTec/ld/SPC56EL60_LSM.ld b/os/common/startup/e200/compilers/HighTec/ld/SPC56EL60_LSM.ld
deleted file mode 100755
index d06f8b812..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/SPC56EL60_LSM.ld
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * SPC56EL60 memory setup in LSM mode.
- */
-MEMORY
-{
- flash : org = 0x00000000, len = 1M
- ram : org = 0x40000000, len = 128k
-}
-
-INCLUDE rules_z4.ld
diff --git a/os/common/startup/e200/compilers/HighTec/ld/SPC56EL70_LSM.ld b/os/common/startup/e200/compilers/HighTec/ld/SPC56EL70_LSM.ld
deleted file mode 100755
index c336acece..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/SPC56EL70_LSM.ld
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * SPC56EL70 memory setup in LSM mode.
- */
-MEMORY
-{
- flash : org = 0x00000000, len = 2M
- ram : org = 0x40000000, len = 192k
-}
-
-INCLUDE rules_z4.ld
diff --git a/os/common/startup/e200/compilers/HighTec/ld/SPC57EM80_HSM.ld b/os/common/startup/e200/compilers/HighTec/ld/SPC57EM80_HSM.ld
deleted file mode 100755
index 8bd3dbbd9..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/SPC57EM80_HSM.ld
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * SPC57EM80-HSM memory setup.
- */
-MEMORY
-{
- flash : org = 0x0060C000, len = 144k
- dflash0 : org = 0x00680000, len = 16k
- dflash1 : org = 0x00684000, len = 16k
- ram : org = 0xA0000000, len = 40k
-}
-
-INCLUDE rules_z0.ld
diff --git a/os/common/startup/e200/compilers/HighTec/ld/rules_z0.ld b/os/common/startup/e200/compilers/HighTec/ld/rules_z0.ld
deleted file mode 100755
index 4b421b842..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/rules_z0.ld
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-ENTRY(_reset_address)
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot0 : ALIGN(16) SUBALIGN(16)
- {
- KEEP(*(.boot))
- } > flash
-
- .boot1 : ALIGN(16) SUBALIGN(16)
- {
- KEEP(*(.handlers))
- KEEP(*(.crt0))
- /* The vectors table requires a 2kB alignment.*/
- . = ALIGN(0x800);
- KEEP(*(.vectors))
- /* The IVPR register requires a 4kB alignment.*/
- . = ALIGN(0x1000);
- __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(16) SUBALIGN(16)
- {
- . = 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/common/startup/e200/compilers/HighTec/ld/rules_z3.ld b/os/common/startup/e200/compilers/HighTec/ld/rules_z3.ld
deleted file mode 100755
index f69a01ff4..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/rules_z3.ld
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-ENTRY(_reset_address)
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot0 : ALIGN(16) SUBALIGN(16)
- {
- __ivpr_base__ = .;
- KEEP(*(.boot))
- } > flash
-
- .boot1 : ALIGN(16) SUBALIGN(16)
- {
- KEEP(*(.handlers))
- KEEP(*(.crt0))
- /* The vectors table requires a 2kB alignment.*/
- . = 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(16) SUBALIGN(16)
- {
- . = 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/common/startup/e200/compilers/HighTec/ld/rules_z4.ld b/os/common/startup/e200/compilers/HighTec/ld/rules_z4.ld
deleted file mode 100755
index f69a01ff4..000000000
--- a/os/common/startup/e200/compilers/HighTec/ld/rules_z4.ld
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-__ram_size__ = LENGTH(ram);
-__ram_start__ = ORIGIN(ram);
-__ram_end__ = ORIGIN(ram) + LENGTH(ram);
-
-ENTRY(_reset_address)
-
-SECTIONS
-{
- . = ORIGIN(flash);
- .boot0 : ALIGN(16) SUBALIGN(16)
- {
- __ivpr_base__ = .;
- KEEP(*(.boot))
- } > flash
-
- .boot1 : ALIGN(16) SUBALIGN(16)
- {
- KEEP(*(.handlers))
- KEEP(*(.crt0))
- /* The vectors table requires a 2kB alignment.*/
- . = 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(16) SUBALIGN(16)
- {
- . = 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/common/startup/e200/compilers/HighTec/mk/startup_spc560bcxx.mk b/os/common/startup/e200/compilers/HighTec/mk/startup_spc560bcxx.mk
deleted file mode 100755
index 33dcff578..000000000
--- a/os/common/startup/e200/compilers/HighTec/mk/startup_spc560bcxx.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# List of the ChibiOS e200z0 SPC560BCxx startup files.
-STARTUPSRC =
-
-STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC560BCxx/boot.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/vectors.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/crt0.S
-
-STARTUPINC = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec \
- ${CHIBIOS}/os/common/startup/e200/devices/SPC560BCxx
-
-STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec/ld
diff --git a/os/common/startup/e200/compilers/HighTec/mk/startup_spc560bxx.mk b/os/common/startup/e200/compilers/HighTec/mk/startup_spc560bxx.mk
deleted file mode 100755
index a8c9c541e..000000000
--- a/os/common/startup/e200/compilers/HighTec/mk/startup_spc560bxx.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# List of the ChibiOS e200z0 SPC560Bxx startup files.
-STARTUPSRC =
-
-STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC560Bxx/boot.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/vectors.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/crt0.S
-
-STARTUPINC = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec \
- ${CHIBIOS}/os/common/startup/e200/devices/SPC560Bxx
-
-STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec/ld
diff --git a/os/common/startup/e200/compilers/HighTec/mk/startup_spc560dxx.mk b/os/common/startup/e200/compilers/HighTec/mk/startup_spc560dxx.mk
deleted file mode 100755
index c77b3cc9d..000000000
--- a/os/common/startup/e200/compilers/HighTec/mk/startup_spc560dxx.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# List of the ChibiOS e200z0 SPC560Dxx startup files.
-STARTUPSRC =
-
-STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC560Dxx/boot.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/vectors.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/crt0.S
-
-STARTUPINC = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec \
- ${CHIBIOS}/os/common/startup/e200/devices/SPC560Dxx
-
-STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec/ld
diff --git a/os/common/startup/e200/compilers/HighTec/mk/startup_spc560pxx.mk b/os/common/startup/e200/compilers/HighTec/mk/startup_spc560pxx.mk
deleted file mode 100755
index 9840400fe..000000000
--- a/os/common/startup/e200/compilers/HighTec/mk/startup_spc560pxx.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# List of the ChibiOS e200z0 SPC560Pxx startup files.
-STARTUPSRC =
-
-STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC560Pxx/boot.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/vectors.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/crt0.S
-
-STARTUPINC = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec \
- ${CHIBIOS}/os/common/startup/e200/devices/SPC560Pxx
-
-STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec/ld
diff --git a/os/common/startup/e200/compilers/HighTec/mk/startup_spc563mxx.mk b/os/common/startup/e200/compilers/HighTec/mk/startup_spc563mxx.mk
deleted file mode 100755
index 74b27d4dc..000000000
--- a/os/common/startup/e200/compilers/HighTec/mk/startup_spc563mxx.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# List of the ChibiOS e200z3 SPC563Mxx startup files.
-STARTUPSRC =
-
-STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC563Mxx/boot.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/vectors.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/crt0.S
-
-STARTUPINC = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec \
- ${CHIBIOS}/os/common/startup/e200/devices/SPC563Mxx
-
-STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec/ld
diff --git a/os/common/startup/e200/compilers/HighTec/mk/startup_spc564axx.mk b/os/common/startup/e200/compilers/HighTec/mk/startup_spc564axx.mk
deleted file mode 100755
index 4032fa244..000000000
--- a/os/common/startup/e200/compilers/HighTec/mk/startup_spc564axx.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# List of the ChibiOS e200z4 SPC564Axx startup files.
-STARTUPSRC =
-
-STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC564Axx/boot.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/vectors.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/crt0.S
-
-STARTUPINC = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec \
- ${CHIBIOS}/os/common/startup/e200/devices/SPC564Axx
-
-STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec/ld
diff --git a/os/common/startup/e200/compilers/HighTec/mk/startup_spc56ecxx.mk b/os/common/startup/e200/compilers/HighTec/mk/startup_spc56ecxx.mk
deleted file mode 100755
index d02310774..000000000
--- a/os/common/startup/e200/compilers/HighTec/mk/startup_spc56ecxx.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# List of the ChibiOS e200z4 SPC56ECxx startup files.
-STARTUPSRC =
-
-STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC56ECxx/boot.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/vectors.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/crt0.S
-
-STARTUPINC = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec \
- ${CHIBIOS}/os/common/startup/e200/devices/SPC56ECxx
-
-STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec/ld
diff --git a/os/common/startup/e200/compilers/HighTec/mk/startup_spc56elxx.mk b/os/common/startup/e200/compilers/HighTec/mk/startup_spc56elxx.mk
deleted file mode 100755
index 8ae0af043..000000000
--- a/os/common/startup/e200/compilers/HighTec/mk/startup_spc56elxx.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# List of the ChibiOS e200z4 SPC56ELxx startup files.
-STARTUPSRC =
-
-STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC56ELxx/boot.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/vectors.S \
- $(CHIBIOS)/os/common/startup/e200/compilers/HighTec/crt0.S
-
-STARTUPINC = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec \
- ${CHIBIOS}/os/common/startup/e200/devices/SPC56ELxx
-
-STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/HighTec/ld
diff --git a/os/common/startup/e200/compilers/HighTec/rules.mk b/os/common/startup/e200/compilers/HighTec/rules.mk
deleted file mode 100644
index c84ebc66f..000000000
--- a/os/common/startup/e200/compilers/HighTec/rules.mk
+++ /dev/null
@@ -1,245 +0,0 @@
-# e200z common makefile scripts and rules.
-
-##############################################################################
-# Processing options coming from the upper Makefile.
-#
-
-# Compiler options
-OPT = $(USE_OPT)
-COPT = $(USE_COPT)
-CPPOPT = $(USE_CPPOPT)
-
-# Garbage collection
-ifeq ($(USE_LINK_GC),yes)
- OPT += -ffunction-sections -fdata-sections -fno-common
- LDOPT := --gc-sections
-else
- LDOPT := --no-gc-sections
-endif
-
-# Linker extra options
-ifneq ($(USE_LDOPT),)
- LDOPT := $(LDOPT),$(USE_LDOPT)
-endif
-
-# Link time optimizations
-ifeq ($(USE_LTO),yes)
- OPT += -flto
-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
-
-# Process stack size
-ifeq ($(USE_PROCESS_STACKSIZE),)
- LDOPT := $(LDOPT),--defsym=__process_stack_size__=0x400
-else
- LDOPT := $(LDOPT),--defsym=__process_stack_size__=$(USE_PROCESS_STACKSIZE)
-endif
-
-# Exceptions stack size
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- LDOPT := $(LDOPT),--defsym=__irq_stack_size__=0x400
-else
- LDOPT := $(LDOPT),--defsym=__irq_stack_size__=$(USE_EXCEPTIONS_STACKSIZE)
-endif
-
-# Output directory and files
-ifeq ($(BUILDDIR),)
- BUILDDIR = build
-endif
-ifeq ($(BUILDDIR),.)
- BUILDDIR = build
-endif
-OUTFILES = $(BUILDDIR)/$(PROJECT).elf $(BUILDDIR)/$(PROJECT).hex \
- $(BUILDDIR)/$(PROJECT).mot $(BUILDDIR)/$(PROJECT).bin \
- $(BUILDDIR)/$(PROJECT).dmp $(BUILDDIR)/$(PROJECT).list
-
-
-# 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)
-LDFLAGS = $(MCFLAGS) $(OPT) -nostartfiles $(LLIBDIR) -Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch,--library-path=$(RULESPATH)/ld,$(LDOPT),--script=$(LDSCRIPT)
-
-# Generate dependency information
-ASFLAGS += -MD -MP -MF .dep/$(@F).d
-ASXFLAGS += -MD -MP -MF .dep/$(@F).d
-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: PRE_MAKE_ALL_RULE_HOOK $(OBJS) $(OUTFILES) POST_MAKE_ALL_RULE_HOOK
-
-PRE_MAKE_ALL_RULE_HOOK:
-
-POST_MAKE_ALL_RULE_HOOK:
-
-$(OBJS): | $(BUILDDIR) $(OBJDIR) $(LSTDIR)
-
-$(BUILDDIR):
-ifneq ($(USE_VERBOSE_COMPILE),yes)
- @echo Compiler Options
- @echo $(CC) -c $(CFLAGS) -I. $(IINCDIR) main.c -o main.o
- @echo
-endif
- @mkdir -p $(BUILDDIR)
-
-$(OBJDIR):
- @mkdir -p $(OBJDIR)
-
-$(LSTDIR):
- @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
-
-%.mot: %.elf $(LDSCRIPT)
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- $(MOT) $< $@
-else
- @echo Creating $@
- @$(MOT) $< $@
-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) $< > $@
- $(SZ) $<
-else
- @echo Creating $@
- @$(OD) $(ODFLAGS) $< > $@
- @echo
- @$(SZ) $<
-endif
-
-%.list: %.elf $(LDSCRIPT)
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- $(OD) -S $< > $@
-else
- @echo Creating $@
- @$(OD) -S $< > $@
- @echo Done
-endif
-
-lib: $(OBJS) $(BUILDDIR)/lib$(PROJECT).a
-
-$(BUILDDIR)/lib$(PROJECT).a: $(OBJS)
- @$(AR) -r $@ $^
- @echo
- @echo Done
-
-clean: CLEAN_RULE_HOOK
- @echo Cleaning
- -rm -fR .dep $(BUILDDIR)
- @echo
- @echo Done
-
-CLEAN_RULE_HOOK:
-
-#
-# Include the dependency files, should be the last of the makefile
-#
--include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)
-
-# *** EOF ***
diff --git a/os/common/startup/e200/compilers/HighTec/vectors.S b/os/common/startup/e200/compilers/HighTec/vectors.S
deleted file mode 100644
index 22e10b170..000000000
--- a/os/common/startup/e200/compilers/HighTec/vectors.S
+++ /dev/null
@@ -1,2612 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file vectors.s
- * @brief SPC56x vectors table.
- *
- * @addtogroup PPC_GCC_CORE
- * @{
- */
-
-#define _FROM_ASM_
-#include "ppcparams.h"
-
-#if defined(VECTORS_RENAMING)
-#include "isrs.h"
-#endif
-
-#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
-#if PPC_NUM_VECTORS > 4
- .long vector4, vector5, vector6, vector7
-#endif
-#if PPC_NUM_VECTORS > 8
- .long vector8, vector9, vector10, vector11
-#endif
-#if PPC_NUM_VECTORS > 12
- .long vector12, vector13, vector14, vector15
-#endif
-#if PPC_NUM_VECTORS > 16
- .long vector16, vector17, vector18, vector19
-#endif
-#if PPC_NUM_VECTORS > 20
- .long vector20, vector21, vector22, vector23
-#endif
-#if PPC_NUM_VECTORS > 24
- .long vector24, vector25, vector26, vector27
-#endif
-#if PPC_NUM_VECTORS > 28
- .long vector28, vector29, vector30, vector31
-#endif
-#if PPC_NUM_VECTORS > 32
- .long vector32, vector33, vector34, vector35
-#endif
-#if PPC_NUM_VECTORS > 36
- .long vector36, vector37, vector38, vector39
-#endif
-#if PPC_NUM_VECTORS > 40
- .long vector40, vector41, vector42, vector43
-#endif
-#if PPC_NUM_VECTORS > 44
- .long vector44, vector45, vector46, vector47
-#endif
-#if PPC_NUM_VECTORS > 48
- .long vector48, vector49, vector50, vector51
-#endif
-#if PPC_NUM_VECTORS > 52
- .long vector52, vector53, vector54, vector55
-#endif
-#if PPC_NUM_VECTORS > 56
- .long vector56, vector57, vector58, vector59
-#endif
-#if PPC_NUM_VECTORS > 60
- .long vector60, vector61, vector62, vector63
-#endif
-#if PPC_NUM_VECTORS > 64
- .long vector64, vector65, vector66, vector67
-#endif
-#if PPC_NUM_VECTORS > 68
- .long vector68, vector69, vector70, vector71
-#endif
-#if PPC_NUM_VECTORS > 72
- .long vector72, vector73, vector74, vector75
-#endif
-#if PPC_NUM_VECTORS > 76
- .long vector76, vector77, vector78, vector79
-#endif
-#if PPC_NUM_VECTORS > 80
- .long vector80, vector81, vector82, vector83
-#endif
-#if PPC_NUM_VECTORS > 84
- .long vector84, vector85, vector86, vector87
-#endif
-#if PPC_NUM_VECTORS > 88
- .long vector88, vector89, vector90, vector91
-#endif
-#if PPC_NUM_VECTORS > 92
- .long vector92, vector93, vector94, vector95
-#endif
-#if PPC_NUM_VECTORS > 96
- .long vector96, vector97, vector98, vector99
-#endif
-#if PPC_NUM_VECTORS > 100
- .long vector100, vector101, vector102, vector103
-#endif
-#if PPC_NUM_VECTORS > 104
- .long vector104, vector105, vector106, vector107
-#endif
-#if PPC_NUM_VECTORS > 108
- .long vector108, vector109, vector110, vector111
-#endif
-#if PPC_NUM_VECTORS > 112
- .long vector112, vector113, vector114, vector115
-#endif
-#if PPC_NUM_VECTORS > 116
- .long vector116, vector117, vector118, vector119
-#endif
-#if PPC_NUM_VECTORS > 120
- .long vector120, vector121, vector122, vector123
-#endif
-#if PPC_NUM_VECTORS > 124
- .long vector124, vector125, vector126, vector127
-#endif
-#if PPC_NUM_VECTORS > 128
- .long vector128, vector129, vector130, vector131
-#endif
-#if PPC_NUM_VECTORS > 132
- .long vector132, vector133, vector134, vector135
-#endif
-#if PPC_NUM_VECTORS > 136
- .long vector136, vector137, vector138, vector139
-#endif
-#if PPC_NUM_VECTORS > 140
- .long vector140, vector141, vector142, vector143
-#endif
-#if PPC_NUM_VECTORS > 144
- .long vector144, vector145, vector146, vector147
-#endif
-#if PPC_NUM_VECTORS > 148
- .long vector148, vector149, vector150, vector151
-#endif
-#if PPC_NUM_VECTORS > 152
- .long vector152, vector153, vector154, vector155
-#endif
-#if PPC_NUM_VECTORS > 156
- .long vector156, vector157, vector158, vector159
-#endif
-#if PPC_NUM_VECTORS > 160
- .long vector160, vector161, vector162, vector163
-#endif
-#if PPC_NUM_VECTORS > 164
- .long vector164, vector165, vector166, vector167
-#endif
-#if PPC_NUM_VECTORS > 168
- .long vector168, vector169, vector170, vector171
-#endif
-#if PPC_NUM_VECTORS > 172
- .long vector172, vector173, vector174, vector175
-#endif
-#if PPC_NUM_VECTORS > 176
- .long vector176, vector177, vector178, vector179
-#endif
-#if PPC_NUM_VECTORS > 180
- .long vector180, vector181, vector182, vector183
-#endif
-#if PPC_NUM_VECTORS > 184
- .long vector184, vector185, vector186, vector187
-#endif
-#if PPC_NUM_VECTORS > 188
- .long vector188, vector189, vector190, vector191
-#endif
-#if PPC_NUM_VECTORS > 192
- .long vector192, vector193, vector194, vector195
-#endif
-#if PPC_NUM_VECTORS > 196
- .long vector196, vector197, vector198, vector199
-#endif
-#if PPC_NUM_VECTORS > 200
- .long vector200, vector201, vector202, vector203
-#endif
-#if PPC_NUM_VECTORS > 204
- .long vector204, vector205, vector206, vector207
-#endif
-#if PPC_NUM_VECTORS > 208
- .long vector208, vector209, vector210, vector211
-#endif
-#if PPC_NUM_VECTORS > 212
- .long vector212, vector213, vector214, vector215
-#endif
-#if PPC_NUM_VECTORS > 216
- .long vector216, vector217, vector218, vector219
-#endif
-#if PPC_NUM_VECTORS > 220
- .long vector220, vector221, vector222, vector223
-#endif
-#if PPC_NUM_VECTORS > 224
- .long vector224, vector225, vector226, vector227
-#endif
-#if PPC_NUM_VECTORS > 228
- .long vector228, vector229, vector230, vector231
-#endif
-#if PPC_NUM_VECTORS > 232
- .long vector232, vector233, vector234, vector235
-#endif
-#if PPC_NUM_VECTORS > 236
- .long vector236, vector237, vector238, vector239
-#endif
-#if PPC_NUM_VECTORS > 240
- .long vector240, vector241, vector242, vector243
-#endif
-#if PPC_NUM_VECTORS > 244
- .long vector244, vector245, vector246, vector247
-#endif
-#if PPC_NUM_VECTORS > 248
- .long vector248, vector249, vector250, vector251
-#endif
-#if PPC_NUM_VECTORS > 252
- .long vector252, vector253, vector254, vector255
-#endif
-#if PPC_NUM_VECTORS > 256
- .long vector256, vector257, vector258, vector259
-#endif
-#if PPC_NUM_VECTORS > 260
- .long vector260, vector261, vector262, vector263
-#endif
-#if PPC_NUM_VECTORS > 264
- .long vector264, vector265, vector266, vector267
-#endif
-#if PPC_NUM_VECTORS > 268
- .long vector268, vector269, vector270, vector271
-#endif
-#if PPC_NUM_VECTORS > 272
- .long vector272, vector273, vector274, vector275
-#endif
-#if PPC_NUM_VECTORS > 276
- .long vector276, vector277, vector278, vector279
-#endif
-#if PPC_NUM_VECTORS > 280
- .long vector280, vector281, vector282, vector283
-#endif
-#if PPC_NUM_VECTORS > 284
- .long vector284, vector285, vector286, vector287
-#endif
-#if PPC_NUM_VECTORS > 288
- .long vector288, vector289, vector290, vector291
-#endif
-#if PPC_NUM_VECTORS > 292
- .long vector292, vector293, vector294, vector295
-#endif
-#if PPC_NUM_VECTORS > 296
- .long vector296, vector297, vector298, vector299
-#endif
-#if PPC_NUM_VECTORS > 300
- .long vector300, vector301, vector302, vector303
-#endif
-#if PPC_NUM_VECTORS > 304
- .long vector304, vector305, vector306, vector307
-#endif
-#if PPC_NUM_VECTORS > 308
- .long vector308, vector309, vector310, vector311
-#endif
-#if PPC_NUM_VECTORS > 312
- .long vector312, vector313, vector314, vector315
-#endif
-#if PPC_NUM_VECTORS > 316
- .long vector316, vector317, vector318, vector319
-#endif
-#if PPC_NUM_VECTORS > 320
- .long vector320, vector321, vector322, vector323
-#endif
-#if PPC_NUM_VECTORS > 324
- .long vector324, vector325, vector326, vector327
-#endif
-#if PPC_NUM_VECTORS > 328
- .long vector328, vector329, vector330, vector331
-#endif
-#if PPC_NUM_VECTORS > 332
- .long vector332, vector333, vector334, vector335
-#endif
-#if PPC_NUM_VECTORS > 336
- .long vector336, vector337, vector338, vector339
-#endif
-#if PPC_NUM_VECTORS > 340
- .long vector340, vector341, vector342, vector343
-#endif
-#if PPC_NUM_VECTORS > 344
- .long vector344, vector345, vector346, vector347
-#endif
-#if PPC_NUM_VECTORS > 348
- .long vector348, vector349, vector350, vector351
-#endif
-#if PPC_NUM_VECTORS > 352
- .long vector352, vector353, vector354, vector355
-#endif
-#if PPC_NUM_VECTORS > 356
- .long vector356, vector357, vector358, vector359
-#endif
-#if PPC_NUM_VECTORS > 360
- .long vector360, vector361, vector362, vector363
-#endif
-#if PPC_NUM_VECTORS > 364
- .long vector364, vector365, vector366, vector367
-#endif
-#if PPC_NUM_VECTORS > 368
- .long vector368, vector369, vector370, vector371
-#endif
-#if PPC_NUM_VECTORS > 372
- .long vector372, vector373, vector374, vector375
-#endif
-#if PPC_NUM_VECTORS > 376
- .long vector376, vector377, vector378, vector379
-#endif
-#if PPC_NUM_VECTORS > 380
- .long vector380, vector381, vector382, vector383
-#endif
-#if PPC_NUM_VECTORS > 384
- .long vector384, vector385, vector386, vector387
-#endif
-#if PPC_NUM_VECTORS > 388
- .long vector388, vector389, vector390, vector391
-#endif
-#if PPC_NUM_VECTORS > 392
- .long vector392, vector393, vector394, vector395
-#endif
-#if PPC_NUM_VECTORS > 396
- .long vector396, vector397, vector398, vector399
-#endif
-#if PPC_NUM_VECTORS > 400
- .long vector400, vector401, vector402, vector403
-#endif
-#if PPC_NUM_VECTORS > 404
- .long vector404, vector405, vector406, vector407
-#endif
-#if PPC_NUM_VECTORS > 408
- .long vector408, vector409, vector410, vector411
-#endif
-#if PPC_NUM_VECTORS > 412
- .long vector412, vector413, vector414, vector415
-#endif
-#if PPC_NUM_VECTORS > 416
- .long vector416, vector417, vector418, vector419
-#endif
-#if PPC_NUM_VECTORS > 420
- .long vector420, vector421, vector422, vector423
-#endif
-#if PPC_NUM_VECTORS > 424
- .long vector424, vector425, vector426, vector427
-#endif
-#if PPC_NUM_VECTORS > 428
- .long vector428, vector429, vector430, vector431
-#endif
-#if PPC_NUM_VECTORS > 432
- .long vector432, vector433, vector434, vector435
-#endif
-#if PPC_NUM_VECTORS > 436
- .long vector436, vector437, vector438, vector439
-#endif
-#if PPC_NUM_VECTORS > 440
- .long vector440, vector441, vector442, vector443
-#endif
-#if PPC_NUM_VECTORS > 444
- .long vector444, vector445, vector446, vector447
-#endif
-#if PPC_NUM_VECTORS > 448
- .long vector448, vector449, vector450, vector451
-#endif
-#if PPC_NUM_VECTORS > 452
- .long vector452, vector453, vector454, vector455
-#endif
-#if PPC_NUM_VECTORS > 456
- .long vector456, vector457, vector458, vector459
-#endif
-#if PPC_NUM_VECTORS > 460
- .long vector460, vector461, vector462, vector463
-#endif
-#if PPC_NUM_VECTORS > 464
- .long vector464, vector465, vector466, vector467
-#endif
-#if PPC_NUM_VECTORS > 468
- .long vector468, vector469, vector470, vector471
-#endif
-#if PPC_NUM_VECTORS > 472
- .long vector472, vector473, vector474, vector475
-#endif
-#if PPC_NUM_VECTORS > 476
- .long vector476, vector477, vector478, vector479
-#endif
-#if PPC_NUM_VECTORS > 480
- .long vector480, vector481, vector482, vector483
-#endif
-#if PPC_NUM_VECTORS > 484
- .long vector484, vector485, vector486, vector487
-#endif
-#if PPC_NUM_VECTORS > 488
- .long vector488, vector489, vector490, vector491
-#endif
-#if PPC_NUM_VECTORS > 492
- .long vector492, vector493, vector494, vector495
-#endif
-#if PPC_NUM_VECTORS > 496
- .long vector496, vector497, vector498, vector499
-#endif
-#if PPC_NUM_VECTORS > 500
- .long vector500, vector501, vector502, vector503
-#endif
-#if PPC_NUM_VECTORS > 504
- .long vector504, vector505, vector506, vector507
-#endif
-#if PPC_NUM_VECTORS > 508
- .long vector508, vector509, vector510, vector511
-#endif
-#if PPC_NUM_VECTORS > 512
- .long vector512, vector513, vector514, vector515
-#endif
-#if PPC_NUM_VECTORS > 516
- .long vector516, vector517, vector518, vector519
-#endif
-#if PPC_NUM_VECTORS > 520
- .long vector520, vector521, vector522, vector523
-#endif
-#if PPC_NUM_VECTORS > 524
- .long vector524, vector525, vector526, vector527
-#endif
-#if PPC_NUM_VECTORS > 528
- .long vector528, vector529, vector530, vector531
-#endif
-#if PPC_NUM_VECTORS > 532
- .long vector532, vector533, vector534, vector535
-#endif
-#if PPC_NUM_VECTORS > 536
- .long vector536, vector537, vector538, vector539
-#endif
-#if PPC_NUM_VECTORS > 540
- .long vector540, vector541, vector542, vector543
-#endif
-#if PPC_NUM_VECTORS > 544
- .long vector544, vector545, vector546, vector547
-#endif
-#if PPC_NUM_VECTORS > 548
- .long vector548, vector549, vector550, vector551
-#endif
-#if PPC_NUM_VECTORS > 552
- .long vector552, vector553, vector554, vector555
-#endif
-#if PPC_NUM_VECTORS > 556
- .long vector556, vector557, vector558, vector559
-#endif
-#if PPC_NUM_VECTORS > 560
- .long vector560, vector561, vector562, vector563
-#endif
-#if PPC_NUM_VECTORS > 564
- .long vector564, vector565, vector566, vector567
-#endif
-#if PPC_NUM_VECTORS > 568
- .long vector568, vector569, vector570, vector571
-#endif
-#if PPC_NUM_VECTORS > 572
- .long vector572, vector573, vector574, vector575
-#endif
-#if PPC_NUM_VECTORS > 576
- .long vector576, vector577, vector578, vector579
-#endif
-#if PPC_NUM_VECTORS > 580
- .long vector580, vector581, vector582, vector583
-#endif
-#if PPC_NUM_VECTORS > 584
- .long vector584, vector585, vector586, vector587
-#endif
-#if PPC_NUM_VECTORS > 588
- .long vector588, vector589, vector590, vector591
-#endif
-#if PPC_NUM_VECTORS > 592
- .long vector592, vector593, vector594, vector595
-#endif
-#if PPC_NUM_VECTORS > 596
- .long vector596, vector597, vector598, vector599
-#endif
-#if PPC_NUM_VECTORS > 600
- .long vector600, vector601, vector602, vector603
-#endif
-#if PPC_NUM_VECTORS > 604
- .long vector604, vector605, vector606, vector607
-#endif
-#if PPC_NUM_VECTORS > 608
- .long vector608, vector609, vector610, vector611
-#endif
-#if PPC_NUM_VECTORS > 612
- .long vector612, vector613, vector614, vector615
-#endif
-#if PPC_NUM_VECTORS > 616
- .long vector616, vector617, vector618, vector619
-#endif
-#if PPC_NUM_VECTORS > 620
- .long vector620, vector621, vector622, vector623
-#endif
-#if PPC_NUM_VECTORS > 624
- .long vector624, vector625, vector626, vector627
-#endif
-#if PPC_NUM_VECTORS > 628
- .long vector628, vector629, vector630, vector631
-#endif
-#if PPC_NUM_VECTORS > 632
- .long vector632, vector633, vector634, vector635
-#endif
-#if PPC_NUM_VECTORS > 636
- .long vector636, vector637, vector638, vector639
-#endif
-#if PPC_NUM_VECTORS > 640
- .long vector640, vector641, vector642, vector643
-#endif
-#if PPC_NUM_VECTORS > 644
- .long vector644, vector645, vector646, vector647
-#endif
-#if PPC_NUM_VECTORS > 648
- .long vector648, vector649, vector650, vector651
-#endif
-#if PPC_NUM_VECTORS > 652
- .long vector652, vector653, vector654, vector655
-#endif
-#if PPC_NUM_VECTORS > 656
- .long vector656, vector657, vector658, vector659
-#endif
-#if PPC_NUM_VECTORS > 660
- .long vector660, vector661, vector662, vector663
-#endif
-#if PPC_NUM_VECTORS > 664
- .long vector664, vector665, vector666, vector667
-#endif
-#if PPC_NUM_VECTORS > 668
- .long vector668, vector669, vector670, vector671
-#endif
-#if PPC_NUM_VECTORS > 672
- .long vector672, vector673, vector674, vector675
-#endif
-#if PPC_NUM_VECTORS > 676
- .long vector676, vector677, vector678, vector679
-#endif
-#if PPC_NUM_VECTORS > 680
- .long vector680, vector681, vector682, vector683
-#endif
-#if PPC_NUM_VECTORS > 684
- .long vector684, vector685, vector686, vector687
-#endif
-#if PPC_NUM_VECTORS > 688
- .long vector688, vector689, vector690, vector691
-#endif
-#if PPC_NUM_VECTORS > 692
- .long vector692, vector693, vector694, vector695
-#endif
-#if PPC_NUM_VECTORS > 696
- .long vector696, vector697, vector698, vector699
-#endif
-#if PPC_NUM_VECTORS > 700
- .long vector700, vector701, vector702, vector703
-#endif
-#if PPC_NUM_VECTORS > 704
- .long vector704, vector705, vector706, vector707
-#endif
-#if PPC_NUM_VECTORS > 708
- .long vector708, vector709, vector710, vector711
-#endif
-#if PPC_NUM_VECTORS > 712
- .long vector712, vector713, vector714, vector715
-#endif
-#if PPC_NUM_VECTORS > 716
- .long vector716, vector717, vector718, vector719
-#endif
-#if PPC_NUM_VECTORS > 720
- .long vector720, vector721, vector722, vector723
-#endif
-#if PPC_NUM_VECTORS > 724
- .long vector724, vector725, vector726, vector727
-#endif
-#if PPC_NUM_VECTORS > 728
- .long vector728, vector729, vector730, vector731
-#endif
-#if PPC_NUM_VECTORS > 732
- .long vector732, vector733, vector734, vector735
-#endif
-#if PPC_NUM_VECTORS > 736
- .long vector736, vector737, vector738, vector739
-#endif
-#if PPC_NUM_VECTORS > 740
- .long vector740, vector741, vector742, vector743
-#endif
-#if PPC_NUM_VECTORS > 744
- .long vector744, vector745, vector746, vector747
-#endif
-#if PPC_NUM_VECTORS > 748
- .long vector748, vector749, vector750, vector751
-#endif
-#if PPC_NUM_VECTORS > 752
- .long vector752, vector753, vector754, vector755
-#endif
-#if PPC_NUM_VECTORS > 756
- .long vector756, vector757, vector758, vector759
-#endif
-#if PPC_NUM_VECTORS > 760
- .long vector760, vector761, vector762, vector763
-#endif
-#if PPC_NUM_VECTORS > 764
- .long vector764, vector765, vector766, vector767
-#endif
-#if PPC_NUM_VECTORS > 768
- .long vector768, vector769, vector770, vector771
-#endif
-#if PPC_NUM_VECTORS > 772
- .long vector772, vector773, vector774, vector775
-#endif
-#if PPC_NUM_VECTORS > 776
- .long vector776, vector777, vector778, vector779
-#endif
-#if PPC_NUM_VECTORS > 780
- .long vector780, vector781, vector782, vector783
-#endif
-#if PPC_NUM_VECTORS > 784
- .long vector784, vector785, vector786, vector787
-#endif
-#if PPC_NUM_VECTORS > 788
- .long vector788, vector789, vector790, vector791
-#endif
-#if PPC_NUM_VECTORS > 792
- .long vector792, vector793, vector794, vector795
-#endif
-#if PPC_NUM_VECTORS > 796
- .long vector796, vector797, vector798, vector799
-#endif
-#if PPC_NUM_VECTORS > 800
- .long vector800, vector801, vector802, vector803
-#endif
-#if PPC_NUM_VECTORS > 804
- .long vector804, vector805, vector806, vector807
-#endif
-#if PPC_NUM_VECTORS > 808
- .long vector808, vector809, vector810, vector811
-#endif
-#if PPC_NUM_VECTORS > 812
- .long vector812, vector813, vector814, vector815
-#endif
-#if PPC_NUM_VECTORS > 816
- .long vector816, vector817, vector818, vector819
-#endif
-#if PPC_NUM_VECTORS > 820
- .long vector820, vector821, vector822, vector823
-#endif
-#if PPC_NUM_VECTORS > 824
- .long vector824, vector825, vector826, vector827
-#endif
-#if PPC_NUM_VECTORS > 828
- .long vector828, vector829, vector830, vector831
-#endif
-#if PPC_NUM_VECTORS > 832
- .long vector832, vector833, vector834, vector835
-#endif
-#if PPC_NUM_VECTORS > 836
- .long vector836, vector837, vector838, vector839
-#endif
-#if PPC_NUM_VECTORS > 840
- .long vector840, vector841, vector842, vector843
-#endif
-#if PPC_NUM_VECTORS > 844
- .long vector844, vector845, vector846, vector847
-#endif
-#if PPC_NUM_VECTORS > 848
- .long vector848, vector849, vector850, vector851
-#endif
-#if PPC_NUM_VECTORS > 852
- .long vector852, vector853, vector854, vector855
-#endif
-#if PPC_NUM_VECTORS > 856
- .long vector856, vector857, vector858, vector859
-#endif
-#if PPC_NUM_VECTORS > 860
- .long vector860, vector861, vector862, vector863
-#endif
-#if PPC_NUM_VECTORS > 864
- .long vector864, vector865, vector866, vector867
-#endif
-#if PPC_NUM_VECTORS > 868
- .long vector868, vector869, vector870, vector871
-#endif
-#if PPC_NUM_VECTORS > 872
- .long vector872, vector873, vector874, vector875
-#endif
-#if PPC_NUM_VECTORS > 876
- .long vector876, vector877, vector878, vector879
-#endif
-#if PPC_NUM_VECTORS > 880
- .long vector880, vector881, vector882, vector883
-#endif
-#if PPC_NUM_VECTORS > 884
- .long vector884, vector885, vector886, vector887
-#endif
-#if PPC_NUM_VECTORS > 888
- .long vector888, vector889, vector890, vector891
-#endif
-#if PPC_NUM_VECTORS > 892
- .long vector892, vector893, vector894, vector895
-#endif
-#if PPC_NUM_VECTORS > 896
- .long vector896, vector897, vector898, vector899
-#endif
-#if PPC_NUM_VECTORS > 900
- .long vector900, vector901, vector902, vector903
-#endif
-#if PPC_NUM_VECTORS > 904
- .long vector904, vector905, vector906, vector907
-#endif
-#if PPC_NUM_VECTORS > 908
- .long vector908, vector909, vector910, vector911
-#endif
-#if PPC_NUM_VECTORS > 912
- .long vector912, vector913, vector914, vector915
-#endif
-#if PPC_NUM_VECTORS > 916
- .long vector916, vector917, vector918, vector919
-#endif
-#if PPC_NUM_VECTORS > 920
- .long vector920, vector921, vector922, vector923
-#endif
-#if PPC_NUM_VECTORS > 924
- .long vector924, vector925, vector926, vector927
-#endif
-#if PPC_NUM_VECTORS > 928
- .long vector928, vector929, vector930, vector931
-#endif
-#if PPC_NUM_VECTORS > 932
- .long vector932, vector933, vector934, vector935
-#endif
-#if PPC_NUM_VECTORS > 936
- .long vector936, vector937, vector938, vector939
-#endif
-#if PPC_NUM_VECTORS > 940
- .long vector940, vector941, vector942, vector943
-#endif
-#if PPC_NUM_VECTORS > 944
- .long vector944, vector945, vector946, vector947
-#endif
-#if PPC_NUM_VECTORS > 948
- .long vector948, vector949, vector950, vector951
-#endif
-#if PPC_NUM_VECTORS > 952
- .long vector952, vector953, vector954, vector955
-#endif
-#if PPC_NUM_VECTORS > 956
- .long vector956, vector957, vector958, vector959
-#endif
-#if PPC_NUM_VECTORS > 960
- .long vector960, vector961, vector962, vector963
-#endif
-#if PPC_NUM_VECTORS > 964
- .long vector964, vector965, vector966, vector967
-#endif
-#if PPC_NUM_VECTORS > 968
- .long vector968, vector969, vector970, vector971
-#endif
-#if PPC_NUM_VECTORS > 972
- .long vector972, vector973, vector974, vector975
-#endif
-#if PPC_NUM_VECTORS > 976
- .long vector976, vector977, vector978, vector979
-#endif
-#if PPC_NUM_VECTORS > 980
- .long vector980, vector981, vector982, vector983
-#endif
-#if PPC_NUM_VECTORS > 984
- .long vector984, vector985, vector986, vector987
-#endif
-#if PPC_NUM_VECTORS > 988
- .long vector988, vector989, vector990, vector991
-#endif
-#if PPC_NUM_VECTORS > 992
- .long vector992, vector993, vector994, vector995
-#endif
-#if PPC_NUM_VECTORS > 996
- .long vector996, vector997, vector998, vector999
-#endif
-#if PPC_NUM_VECTORS > 1000
- .long vector1000, vector1001, vector1002, vector1003
-#endif
-#if PPC_NUM_VECTORS > 1004
- .long vector1004, vector1005, vector1006, vector1007
-#endif
-#if PPC_NUM_VECTORS > 1008
- .long vector1008, vector1009, vector1010, vector1011
-#endif
-#if PPC_NUM_VECTORS > 1012
- .long vector1012, vector1013, vector1014, vector1015
-#endif
-#if PPC_NUM_VECTORS > 1016
- .long vector1016, vector1017, vector1018, vector1019
-#endif
-#if PPC_NUM_VECTORS > 1020
- .long vector1020, vector1021, vector1022, vector1023
-#endif
-
- .text
- .align 2
-
- .weak vector0, vector1, vector2, vector3
-#if PPC_NUM_VECTORS > 4
- .weak vector4, vector5, vector6, vector7
-#endif
-#if PPC_NUM_VECTORS > 8
- .weak vector8, vector9, vector10, vector11
-#endif
-#if PPC_NUM_VECTORS > 12
- .weak vector12, vector13, vector14, vector15
-#endif
-#if PPC_NUM_VECTORS > 16
- .weak vector16, vector17, vector18, vector19
-#endif
-#if PPC_NUM_VECTORS > 20
- .weak vector20, vector21, vector22, vector23
-#endif
-#if PPC_NUM_VECTORS > 24
- .weak vector24, vector25, vector26, vector27
-#endif
-#if PPC_NUM_VECTORS > 28
- .weak vector28, vector29, vector30, vector31
-#endif
-#if PPC_NUM_VECTORS > 32
- .weak vector32, vector33, vector34, vector35
-#endif
-#if PPC_NUM_VECTORS > 36
- .weak vector36, vector37, vector38, vector39
-#endif
-#if PPC_NUM_VECTORS > 40
- .weak vector40, vector41, vector42, vector43
-#endif
-#if PPC_NUM_VECTORS > 44
- .weak vector44, vector45, vector46, vector47
-#endif
-#if PPC_NUM_VECTORS > 48
- .weak vector48, vector49, vector50, vector51
-#endif
-#if PPC_NUM_VECTORS > 52
- .weak vector52, vector53, vector54, vector55
-#endif
-#if PPC_NUM_VECTORS > 56
- .weak vector56, vector57, vector58, vector59
-#endif
-#if PPC_NUM_VECTORS > 60
- .weak vector60, vector61, vector62, vector63
-#endif
-#if PPC_NUM_VECTORS > 64
- .weak vector64, vector65, vector66, vector67
-#endif
-#if PPC_NUM_VECTORS > 68
- .weak vector68, vector69, vector70, vector71
-#endif
-#if PPC_NUM_VECTORS > 72
- .weak vector72, vector73, vector74, vector75
-#endif
-#if PPC_NUM_VECTORS > 76
- .weak vector76, vector77, vector78, vector79
-#endif
-#if PPC_NUM_VECTORS > 80
- .weak vector80, vector81, vector82, vector83
-#endif
-#if PPC_NUM_VECTORS > 84
- .weak vector84, vector85, vector86, vector87
-#endif
-#if PPC_NUM_VECTORS > 88
- .weak vector88, vector89, vector90, vector91
-#endif
-#if PPC_NUM_VECTORS > 92
- .weak vector92, vector93, vector94, vector95
-#endif
-#if PPC_NUM_VECTORS > 96
- .weak vector96, vector97, vector98, vector99
-#endif
-#if PPC_NUM_VECTORS > 100
- .weak vector100, vector101, vector102, vector103
-#endif
-#if PPC_NUM_VECTORS > 104
- .weak vector104, vector105, vector106, vector107
-#endif
-#if PPC_NUM_VECTORS > 108
- .weak vector108, vector109, vector110, vector111
-#endif
-#if PPC_NUM_VECTORS > 112
- .weak vector112, vector113, vector114, vector115
-#endif
-#if PPC_NUM_VECTORS > 116
- .weak vector116, vector117, vector118, vector119
-#endif
-#if PPC_NUM_VECTORS > 120
- .weak vector120, vector121, vector122, vector123
-#endif
-#if PPC_NUM_VECTORS > 124
- .weak vector124, vector125, vector126, vector127
-#endif
-#if PPC_NUM_VECTORS > 128
- .weak vector128, vector129, vector130, vector131
-#endif
-#if PPC_NUM_VECTORS > 132
- .weak vector132, vector133, vector134, vector135
-#endif
-#if PPC_NUM_VECTORS > 136
- .weak vector136, vector137, vector138, vector139
-#endif
-#if PPC_NUM_VECTORS > 140
- .weak vector140, vector141, vector142, vector143
-#endif
-#if PPC_NUM_VECTORS > 144
- .weak vector144, vector145, vector146, vector147
-#endif
-#if PPC_NUM_VECTORS > 148
- .weak vector148, vector149, vector150, vector151
-#endif
-#if PPC_NUM_VECTORS > 152
- .weak vector152, vector153, vector154, vector155
-#endif
-#if PPC_NUM_VECTORS > 156
- .weak vector156, vector157, vector158, vector159
-#endif
-#if PPC_NUM_VECTORS > 160
- .weak vector160, vector161, vector162, vector163
-#endif
-#if PPC_NUM_VECTORS > 164
- .weak vector164, vector165, vector166, vector167
-#endif
-#if PPC_NUM_VECTORS > 168
- .weak vector168, vector169, vector170, vector171
-#endif
-#if PPC_NUM_VECTORS > 172
- .weak vector172, vector173, vector174, vector175
-#endif
-#if PPC_NUM_VECTORS > 176
- .weak vector176, vector177, vector178, vector179
-#endif
-#if PPC_NUM_VECTORS > 180
- .weak vector180, vector181, vector182, vector183
-#endif
-#if PPC_NUM_VECTORS > 184
- .weak vector184, vector185, vector186, vector187
-#endif
-#if PPC_NUM_VECTORS > 188
- .weak vector188, vector189, vector190, vector191
-#endif
-#if PPC_NUM_VECTORS > 192
- .weak vector192, vector193, vector194, vector195
-#endif
-#if PPC_NUM_VECTORS > 196
- .weak vector196, vector197, vector198, vector199
-#endif
-#if PPC_NUM_VECTORS > 200
- .weak vector200, vector201, vector202, vector203
-#endif
-#if PPC_NUM_VECTORS > 204
- .weak vector204, vector205, vector206, vector207
-#endif
-#if PPC_NUM_VECTORS > 208
- .weak vector208, vector209, vector210, vector211
-#endif
-#if PPC_NUM_VECTORS > 212
- .weak vector212, vector213, vector214, vector215
-#endif
-#if PPC_NUM_VECTORS > 216
- .weak vector216, vector217, vector218, vector219
-#endif
-#if PPC_NUM_VECTORS > 220
- .weak vector220, vector221, vector222, vector223
-#endif
-#if PPC_NUM_VECTORS > 224
- .weak vector224, vector225, vector226, vector227
-#endif
-#if PPC_NUM_VECTORS > 228
- .weak vector228, vector229, vector230, vector231
-#endif
-#if PPC_NUM_VECTORS > 232
- .weak vector232, vector233, vector234, vector235
-#endif
-#if PPC_NUM_VECTORS > 236
- .weak vector236, vector237, vector238, vector239
-#endif
-#if PPC_NUM_VECTORS > 240
- .weak vector240, vector241, vector242, vector243
-#endif
-#if PPC_NUM_VECTORS > 244
- .weak vector244, vector245, vector246, vector247
-#endif
-#if PPC_NUM_VECTORS > 248
- .weak vector248, vector249, vector250, vector251
-#endif
-#if PPC_NUM_VECTORS > 252
- .weak vector252, vector253, vector254, vector255
-#endif
-#if PPC_NUM_VECTORS > 256
- .weak vector256, vector257, vector258, vector259
-#endif
-#if PPC_NUM_VECTORS > 260
- .weak vector260, vector261, vector262, vector263
-#endif
-#if PPC_NUM_VECTORS > 264
- .weak vector264, vector265, vector266, vector267
-#endif
-#if PPC_NUM_VECTORS > 268
- .weak vector268, vector269, vector270, vector271
-#endif
-#if PPC_NUM_VECTORS > 272
- .weak vector272, vector273, vector274, vector275
-#endif
-#if PPC_NUM_VECTORS > 276
- .weak vector276, vector277, vector278, vector279
-#endif
-#if PPC_NUM_VECTORS > 280
- .weak vector280, vector281, vector282, vector283
-#endif
-#if PPC_NUM_VECTORS > 284
- .weak vector284, vector285, vector286, vector287
-#endif
-#if PPC_NUM_VECTORS > 288
- .weak vector288, vector289, vector290, vector291
-#endif
-#if PPC_NUM_VECTORS > 292
- .weak vector292, vector293, vector294, vector295
-#endif
-#if PPC_NUM_VECTORS > 296
- .weak vector296, vector297, vector298, vector299
-#endif
-#if PPC_NUM_VECTORS > 300
- .weak vector300, vector301, vector302, vector303
-#endif
-#if PPC_NUM_VECTORS > 304
- .weak vector304, vector305, vector306, vector307
-#endif
-#if PPC_NUM_VECTORS > 308
- .weak vector308, vector309, vector310, vector311
-#endif
-#if PPC_NUM_VECTORS > 312
- .weak vector312, vector313, vector314, vector315
-#endif
-#if PPC_NUM_VECTORS > 316
- .weak vector316, vector317, vector318, vector319
-#endif
-#if PPC_NUM_VECTORS > 320
- .weak vector320, vector321, vector322, vector323
-#endif
-#if PPC_NUM_VECTORS > 324
- .weak vector324, vector325, vector326, vector327
-#endif
-#if PPC_NUM_VECTORS > 328
- .weak vector328, vector329, vector330, vector331
-#endif
-#if PPC_NUM_VECTORS > 332
- .weak vector332, vector333, vector334, vector335
-#endif
-#if PPC_NUM_VECTORS > 336
- .weak vector336, vector337, vector338, vector339
-#endif
-#if PPC_NUM_VECTORS > 340
- .weak vector340, vector341, vector342, vector343
-#endif
-#if PPC_NUM_VECTORS > 344
- .weak vector344, vector345, vector346, vector347
-#endif
-#if PPC_NUM_VECTORS > 348
- .weak vector348, vector349, vector350, vector351
-#endif
-#if PPC_NUM_VECTORS > 352
- .weak vector352, vector353, vector354, vector355
-#endif
-#if PPC_NUM_VECTORS > 356
- .weak vector356, vector357, vector358, vector359
-#endif
-#if PPC_NUM_VECTORS > 360
- .weak vector360, vector361, vector362, vector363
-#endif
-#if PPC_NUM_VECTORS > 364
- .weak vector364, vector365, vector366, vector367
-#endif
-#if PPC_NUM_VECTORS > 368
- .weak vector368, vector369, vector370, vector371
-#endif
-#if PPC_NUM_VECTORS > 372
- .weak vector372, vector373, vector374, vector375
-#endif
-#if PPC_NUM_VECTORS > 376
- .weak vector376, vector377, vector378, vector379
-#endif
-#if PPC_NUM_VECTORS > 380
- .weak vector380, vector381, vector382, vector383
-#endif
-#if PPC_NUM_VECTORS > 384
- .weak vector384, vector385, vector386, vector387
-#endif
-#if PPC_NUM_VECTORS > 388
- .weak vector388, vector389, vector390, vector391
-#endif
-#if PPC_NUM_VECTORS > 392
- .weak vector392, vector393, vector394, vector395
-#endif
-#if PPC_NUM_VECTORS > 396
- .weak vector396, vector397, vector398, vector399
-#endif
-#if PPC_NUM_VECTORS > 400
- .weak vector400, vector401, vector402, vector403
-#endif
-#if PPC_NUM_VECTORS > 404
- .weak vector404, vector405, vector406, vector407
-#endif
-#if PPC_NUM_VECTORS > 408
- .weak vector408, vector409, vector410, vector411
-#endif
-#if PPC_NUM_VECTORS > 412
- .weak vector412, vector413, vector414, vector415
-#endif
-#if PPC_NUM_VECTORS > 416
- .weak vector416, vector417, vector418, vector419
-#endif
-#if PPC_NUM_VECTORS > 420
- .weak vector420, vector421, vector422, vector423
-#endif
-#if PPC_NUM_VECTORS > 424
- .weak vector424, vector425, vector426, vector427
-#endif
-#if PPC_NUM_VECTORS > 428
- .weak vector428, vector429, vector430, vector431
-#endif
-#if PPC_NUM_VECTORS > 432
- .weak vector432, vector433, vector434, vector435
-#endif
-#if PPC_NUM_VECTORS > 436
- .weak vector436, vector437, vector438, vector439
-#endif
-#if PPC_NUM_VECTORS > 440
- .weak vector440, vector441, vector442, vector443
-#endif
-#if PPC_NUM_VECTORS > 444
- .weak vector444, vector445, vector446, vector447
-#endif
-#if PPC_NUM_VECTORS > 448
- .weak vector448, vector449, vector450, vector451
-#endif
-#if PPC_NUM_VECTORS > 452
- .weak vector452, vector453, vector454, vector455
-#endif
-#if PPC_NUM_VECTORS > 456
- .weak vector456, vector457, vector458, vector459
-#endif
-#if PPC_NUM_VECTORS > 460
- .weak vector460, vector461, vector462, vector463
-#endif
-#if PPC_NUM_VECTORS > 464
- .weak vector464, vector465, vector466, vector467
-#endif
-#if PPC_NUM_VECTORS > 468
- .weak vector468, vector469, vector470, vector471
-#endif
-#if PPC_NUM_VECTORS > 472
- .weak vector472, vector473, vector474, vector475
-#endif
-#if PPC_NUM_VECTORS > 476
- .weak vector476, vector477, vector478, vector479
-#endif
-#if PPC_NUM_VECTORS > 480
- .weak vector480, vector481, vector482, vector483
-#endif
-#if PPC_NUM_VECTORS > 484
- .weak vector484, vector485, vector486, vector487
-#endif
-#if PPC_NUM_VECTORS > 488
- .weak vector488, vector489, vector490, vector491
-#endif
-#if PPC_NUM_VECTORS > 492
- .weak vector492, vector493, vector494, vector495
-#endif
-#if PPC_NUM_VECTORS > 496
- .weak vector496, vector497, vector498, vector499
-#endif
-#if PPC_NUM_VECTORS > 500
- .weak vector500, vector501, vector502, vector503
-#endif
-#if PPC_NUM_VECTORS > 504
- .weak vector504, vector505, vector506, vector507
-#endif
-#if PPC_NUM_VECTORS > 508
- .weak vector508, vector509, vector510, vector511
-#endif
-#if PPC_NUM_VECTORS > 512
- .weak vector512, vector513, vector514, vector515
-#endif
-#if PPC_NUM_VECTORS > 516
- .weak vector516, vector517, vector518, vector519
-#endif
-#if PPC_NUM_VECTORS > 520
- .weak vector520, vector521, vector522, vector523
-#endif
-#if PPC_NUM_VECTORS > 524
- .weak vector524, vector525, vector526, vector527
-#endif
-#if PPC_NUM_VECTORS > 528
- .weak vector528, vector529, vector530, vector531
-#endif
-#if PPC_NUM_VECTORS > 532
- .weak vector532, vector533, vector534, vector535
-#endif
-#if PPC_NUM_VECTORS > 536
- .weak vector536, vector537, vector538, vector539
-#endif
-#if PPC_NUM_VECTORS > 540
- .weak vector540, vector541, vector542, vector543
-#endif
-#if PPC_NUM_VECTORS > 544
- .weak vector544, vector545, vector546, vector547
-#endif
-#if PPC_NUM_VECTORS > 548
- .weak vector548, vector549, vector550, vector551
-#endif
-#if PPC_NUM_VECTORS > 552
- .weak vector552, vector553, vector554, vector555
-#endif
-#if PPC_NUM_VECTORS > 556
- .weak vector556, vector557, vector558, vector559
-#endif
-#if PPC_NUM_VECTORS > 560
- .weak vector560, vector561, vector562, vector563
-#endif
-#if PPC_NUM_VECTORS > 564
- .weak vector564, vector565, vector566, vector567
-#endif
-#if PPC_NUM_VECTORS > 568
- .weak vector568, vector569, vector570, vector571
-#endif
-#if PPC_NUM_VECTORS > 572
- .weak vector572, vector573, vector574, vector575
-#endif
-#if PPC_NUM_VECTORS > 576
- .weak vector576, vector577, vector578, vector579
-#endif
-#if PPC_NUM_VECTORS > 580
- .weak vector580, vector581, vector582, vector583
-#endif
-#if PPC_NUM_VECTORS > 584
- .weak vector584, vector585, vector586, vector587
-#endif
-#if PPC_NUM_VECTORS > 588
- .weak vector588, vector589, vector590, vector591
-#endif
-#if PPC_NUM_VECTORS > 592
- .weak vector592, vector593, vector594, vector595
-#endif
-#if PPC_NUM_VECTORS > 596
- .weak vector596, vector597, vector598, vector599
-#endif
-#if PPC_NUM_VECTORS > 600
- .weak vector600, vector601, vector602, vector603
-#endif
-#if PPC_NUM_VECTORS > 604
- .weak vector604, vector605, vector606, vector607
-#endif
-#if PPC_NUM_VECTORS > 608
- .weak vector608, vector609, vector610, vector611
-#endif
-#if PPC_NUM_VECTORS > 612
- .weak vector612, vector613, vector614, vector615
-#endif
-#if PPC_NUM_VECTORS > 616
- .weak vector616, vector617, vector618, vector619
-#endif
-#if PPC_NUM_VECTORS > 620
- .weak vector620, vector621, vector622, vector623
-#endif
-#if PPC_NUM_VECTORS > 624
- .weak vector624, vector625, vector626, vector627
-#endif
-#if PPC_NUM_VECTORS > 628
- .weak vector628, vector629, vector630, vector631
-#endif
-#if PPC_NUM_VECTORS > 632
- .weak vector632, vector633, vector634, vector635
-#endif
-#if PPC_NUM_VECTORS > 636
- .weak vector636, vector637, vector638, vector639
-#endif
-#if PPC_NUM_VECTORS > 640
- .weak vector640, vector641, vector642, vector643
-#endif
-#if PPC_NUM_VECTORS > 644
- .weak vector644, vector645, vector646, vector647
-#endif
-#if PPC_NUM_VECTORS > 648
- .weak vector648, vector649, vector650, vector651
-#endif
-#if PPC_NUM_VECTORS > 652
- .weak vector652, vector653, vector654, vector655
-#endif
-#if PPC_NUM_VECTORS > 656
- .weak vector656, vector657, vector658, vector659
-#endif
-#if PPC_NUM_VECTORS > 660
- .weak vector660, vector661, vector662, vector663
-#endif
-#if PPC_NUM_VECTORS > 664
- .weak vector664, vector665, vector666, vector667
-#endif
-#if PPC_NUM_VECTORS > 668
- .weak vector668, vector669, vector670, vector671
-#endif
-#if PPC_NUM_VECTORS > 672
- .weak vector672, vector673, vector674, vector675
-#endif
-#if PPC_NUM_VECTORS > 676
- .weak vector676, vector677, vector678, vector679
-#endif
-#if PPC_NUM_VECTORS > 680
- .weak vector680, vector681, vector682, vector683
-#endif
-#if PPC_NUM_VECTORS > 684
- .weak vector684, vector685, vector686, vector687
-#endif
-#if PPC_NUM_VECTORS > 688
- .weak vector688, vector689, vector690, vector691
-#endif
-#if PPC_NUM_VECTORS > 692
- .weak vector692, vector693, vector694, vector695
-#endif
-#if PPC_NUM_VECTORS > 696
- .weak vector696, vector697, vector698, vector699
-#endif
-#if PPC_NUM_VECTORS > 700
- .weak vector700, vector701, vector702, vector703
-#endif
-#if PPC_NUM_VECTORS > 704
- .weak vector704, vector705, vector706, vector707
-#endif
-#if PPC_NUM_VECTORS > 708
- .weak vector708, vector709, vector710, vector711
-#endif
-#if PPC_NUM_VECTORS > 712
- .weak vector712, vector713, vector714, vector715
-#endif
-#if PPC_NUM_VECTORS > 716
- .weak vector716, vector717, vector718, vector719
-#endif
-#if PPC_NUM_VECTORS > 720
- .weak vector720, vector721, vector722, vector723
-#endif
-#if PPC_NUM_VECTORS > 724
- .weak vector724, vector725, vector726, vector727
-#endif
-#if PPC_NUM_VECTORS > 728
- .weak vector728, vector729, vector730, vector731
-#endif
-#if PPC_NUM_VECTORS > 732
- .weak vector732, vector733, vector734, vector735
-#endif
-#if PPC_NUM_VECTORS > 736
- .weak vector736, vector737, vector738, vector739
-#endif
-#if PPC_NUM_VECTORS > 740
- .weak vector740, vector741, vector742, vector743
-#endif
-#if PPC_NUM_VECTORS > 744
- .weak vector744, vector745, vector746, vector747
-#endif
-#if PPC_NUM_VECTORS > 748
- .weak vector748, vector749, vector750, vector751
-#endif
-#if PPC_NUM_VECTORS > 752
- .weak vector752, vector753, vector754, vector755
-#endif
-#if PPC_NUM_VECTORS > 756
- .weak vector756, vector757, vector758, vector759
-#endif
-#if PPC_NUM_VECTORS > 760
- .weak vector760, vector761, vector762, vector763
-#endif
-#if PPC_NUM_VECTORS > 764
- .weak vector764, vector765, vector766, vector767
-#endif
-#if PPC_NUM_VECTORS > 768
- .weak vector768, vector769, vector770, vector771
-#endif
-#if PPC_NUM_VECTORS > 772
- .weak vector772, vector773, vector774, vector775
-#endif
-#if PPC_NUM_VECTORS > 776
- .weak vector776, vector777, vector778, vector779
-#endif
-#if PPC_NUM_VECTORS > 780
- .weak vector780, vector781, vector782, vector783
-#endif
-#if PPC_NUM_VECTORS > 784
- .weak vector784, vector785, vector786, vector787
-#endif
-#if PPC_NUM_VECTORS > 788
- .weak vector788, vector789, vector790, vector791
-#endif
-#if PPC_NUM_VECTORS > 792
- .weak vector792, vector793, vector794, vector795
-#endif
-#if PPC_NUM_VECTORS > 796
- .weak vector796, vector797, vector798, vector799
-#endif
-#if PPC_NUM_VECTORS > 800
- .weak vector800, vector801, vector802, vector803
-#endif
-#if PPC_NUM_VECTORS > 804
- .weak vector804, vector805, vector806, vector807
-#endif
-#if PPC_NUM_VECTORS > 808
- .weak vector808, vector809, vector810, vector811
-#endif
-#if PPC_NUM_VECTORS > 812
- .weak vector812, vector813, vector814, vector815
-#endif
-#if PPC_NUM_VECTORS > 816
- .weak vector816, vector817, vector818, vector819
-#endif
-#if PPC_NUM_VECTORS > 820
- .weak vector820, vector821, vector822, vector823
-#endif
-#if PPC_NUM_VECTORS > 824
- .weak vector824, vector825, vector826, vector827
-#endif
-#if PPC_NUM_VECTORS > 828
- .weak vector828, vector829, vector830, vector831
-#endif
-#if PPC_NUM_VECTORS > 832
- .weak vector832, vector833, vector834, vector835
-#endif
-#if PPC_NUM_VECTORS > 836
- .weak vector836, vector837, vector838, vector839
-#endif
-#if PPC_NUM_VECTORS > 840
- .weak vector840, vector841, vector842, vector843
-#endif
-#if PPC_NUM_VECTORS > 844
- .weak vector844, vector845, vector846, vector847
-#endif
-#if PPC_NUM_VECTORS > 848
- .weak vector848, vector849, vector850, vector851
-#endif
-#if PPC_NUM_VECTORS > 852
- .weak vector852, vector853, vector854, vector855
-#endif
-#if PPC_NUM_VECTORS > 856
- .weak vector856, vector857, vector858, vector859
-#endif
-#if PPC_NUM_VECTORS > 860
- .weak vector860, vector861, vector862, vector863
-#endif
-#if PPC_NUM_VECTORS > 864
- .weak vector864, vector865, vector866, vector867
-#endif
-#if PPC_NUM_VECTORS > 868
- .weak vector868, vector869, vector870, vector871
-#endif
-#if PPC_NUM_VECTORS > 872
- .weak vector872, vector873, vector874, vector875
-#endif
-#if PPC_NUM_VECTORS > 876
- .weak vector876, vector877, vector878, vector879
-#endif
-#if PPC_NUM_VECTORS > 880
- .weak vector880, vector881, vector882, vector883
-#endif
-#if PPC_NUM_VECTORS > 884
- .weak vector884, vector885, vector886, vector887
-#endif
-#if PPC_NUM_VECTORS > 888
- .weak vector888, vector889, vector890, vector891
-#endif
-#if PPC_NUM_VECTORS > 892
- .weak vector892, vector893, vector894, vector895
-#endif
-#if PPC_NUM_VECTORS > 896
- .weak vector896, vector897, vector898, vector899
-#endif
-#if PPC_NUM_VECTORS > 900
- .weak vector900, vector901, vector902, vector903
-#endif
-#if PPC_NUM_VECTORS > 904
- .weak vector904, vector905, vector906, vector907
-#endif
-#if PPC_NUM_VECTORS > 908
- .weak vector908, vector909, vector910, vector911
-#endif
-#if PPC_NUM_VECTORS > 912
- .weak vector912, vector913, vector914, vector915
-#endif
-#if PPC_NUM_VECTORS > 916
- .weak vector916, vector917, vector918, vector919
-#endif
-#if PPC_NUM_VECTORS > 920
- .weak vector920, vector921, vector922, vector923
-#endif
-#if PPC_NUM_VECTORS > 924
- .weak vector924, vector925, vector926, vector927
-#endif
-#if PPC_NUM_VECTORS > 928
- .weak vector928, vector929, vector930, vector931
-#endif
-#if PPC_NUM_VECTORS > 932
- .weak vector932, vector933, vector934, vector935
-#endif
-#if PPC_NUM_VECTORS > 936
- .weak vector936, vector937, vector938, vector939
-#endif
-#if PPC_NUM_VECTORS > 940
- .weak vector940, vector941, vector942, vector943
-#endif
-#if PPC_NUM_VECTORS > 944
- .weak vector944, vector945, vector946, vector947
-#endif
-#if PPC_NUM_VECTORS > 948
- .weak vector948, vector949, vector950, vector951
-#endif
-#if PPC_NUM_VECTORS > 952
- .weak vector952, vector953, vector954, vector955
-#endif
-#if PPC_NUM_VECTORS > 956
- .weak vector956, vector957, vector958, vector959
-#endif
-#if PPC_NUM_VECTORS > 960
- .weak vector960, vector961, vector962, vector963
-#endif
-#if PPC_NUM_VECTORS > 964
- .weak vector964, vector965, vector966, vector967
-#endif
-#if PPC_NUM_VECTORS > 968
- .weak vector968, vector969, vector970, vector971
-#endif
-#if PPC_NUM_VECTORS > 972
- .weak vector972, vector973, vector974, vector975
-#endif
-#if PPC_NUM_VECTORS > 976
- .weak vector976, vector977, vector978, vector979
-#endif
-#if PPC_NUM_VECTORS > 980
- .weak vector980, vector981, vector982, vector983
-#endif
-#if PPC_NUM_VECTORS > 984
- .weak vector984, vector985, vector986, vector987
-#endif
-#if PPC_NUM_VECTORS > 988
- .weak vector988, vector989, vector990, vector991
-#endif
-#if PPC_NUM_VECTORS > 992
- .weak vector992, vector993, vector994, vector995
-#endif
-#if PPC_NUM_VECTORS > 996
- .weak vector996, vector997, vector998, vector999
-#endif
-#if PPC_NUM_VECTORS > 1000
- .weak vector1000, vector1001, vector1002, vector1003
-#endif
-#if PPC_NUM_VECTORS > 1004
- .weak vector1004, vector1005, vector1006, vector1007
-#endif
-#if PPC_NUM_VECTORS > 1008
- .weak vector1008, vector1009, vector1010, vector1011
-#endif
-#if PPC_NUM_VECTORS > 1012
- .weak vector1012, vector1013, vector1014, vector1015
-#endif
-#if PPC_NUM_VECTORS > 1016
- .weak vector1016, vector1017, vector1018, vector1019
-#endif
-#if PPC_NUM_VECTORS > 1020
- .weak vector1020, vector1021, vector1022, vector1023
-#endif
-
-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:
-vector486:
-vector487:
-vector488:
-vector489:
-vector490:
-vector491:
-vector492:
-vector493:
-vector494:
-vector495:
-vector496:
-vector497:
-vector498:
-vector499:
-vector500:
-vector501:
-vector502:
-vector503:
-vector504:
-vector505:
-vector506:
-vector507:
-vector508:
-vector509:
-vector510:
-vector511:
-vector512:
-vector513:
-vector514:
-vector515:
-vector516:
-vector517:
-vector518:
-vector519:
-vector520:
-vector521:
-vector522:
-vector523:
-vector524:
-vector525:
-vector526:
-vector527:
-vector528:
-vector529:
-vector530:
-vector531:
-vector532:
-vector533:
-vector534:
-vector535:
-vector536:
-vector537:
-vector538:
-vector539:
-vector540:
-vector541:
-vector542:
-vector543:
-vector544:
-vector545:
-vector546:
-vector547:
-vector548:
-vector549:
-vector550:
-vector551:
-vector552:
-vector553:
-vector554:
-vector555:
-vector556:
-vector557:
-vector558:
-vector559:
-vector560:
-vector561:
-vector562:
-vector563:
-vector564:
-vector565:
-vector566:
-vector567:
-vector568:
-vector569:
-vector570:
-vector571:
-vector572:
-vector573:
-vector574:
-vector575:
-vector576:
-vector577:
-vector578:
-vector579:
-vector580:
-vector581:
-vector582:
-vector583:
-vector584:
-vector585:
-vector586:
-vector587:
-vector588:
-vector589:
-vector590:
-vector591:
-vector592:
-vector593:
-vector594:
-vector595:
-vector596:
-vector597:
-vector598:
-vector599:
-vector600:
-vector601:
-vector602:
-vector603:
-vector604:
-vector605:
-vector606:
-vector607:
-vector608:
-vector609:
-vector610:
-vector611:
-vector612:
-vector613:
-vector614:
-vector615:
-vector616:
-vector617:
-vector618:
-vector619:
-vector620:
-vector621:
-vector622:
-vector623:
-vector624:
-vector625:
-vector626:
-vector627:
-vector628:
-vector629:
-vector630:
-vector631:
-vector632:
-vector633:
-vector634:
-vector635:
-vector636:
-vector637:
-vector638:
-vector639:
-vector640:
-vector641:
-vector642:
-vector643:
-vector644:
-vector645:
-vector646:
-vector647:
-vector648:
-vector649:
-vector650:
-vector651:
-vector652:
-vector653:
-vector654:
-vector655:
-vector656:
-vector657:
-vector658:
-vector659:
-vector660:
-vector661:
-vector662:
-vector663:
-vector664:
-vector665:
-vector666:
-vector667:
-vector668:
-vector669:
-vector670:
-vector671:
-vector672:
-vector673:
-vector674:
-vector675:
-vector676:
-vector677:
-vector678:
-vector679:
-vector680:
-vector681:
-vector682:
-vector683:
-vector684:
-vector685:
-vector686:
-vector687:
-vector688:
-vector689:
-vector690:
-vector691:
-vector692:
-vector693:
-vector694:
-vector695:
-vector696:
-vector697:
-vector698:
-vector699:
-vector700:
-vector701:
-vector702:
-vector703:
-vector704:
-vector705:
-vector706:
-vector707:
-vector708:
-vector709:
-vector710:
-vector711:
-vector712:
-vector713:
-vector714:
-vector715:
-vector716:
-vector717:
-vector718:
-vector719:
-vector720:
-vector721:
-vector722:
-vector723:
-vector724:
-vector725:
-vector726:
-vector727:
-vector728:
-vector729:
-vector730:
-vector731:
-vector732:
-vector733:
-vector734:
-vector735:
-vector736:
-vector737:
-vector738:
-vector739:
-vector740:
-vector741:
-vector742:
-vector743:
-vector744:
-vector745:
-vector746:
-vector747:
-vector748:
-vector749:
-vector750:
-vector751:
-vector752:
-vector753:
-vector754:
-vector755:
-vector756:
-vector757:
-vector758:
-vector759:
-vector760:
-vector761:
-vector762:
-vector763:
-vector764:
-vector765:
-vector766:
-vector767:
-vector768:
-vector769:
-vector770:
-vector771:
-vector772:
-vector773:
-vector774:
-vector775:
-vector776:
-vector777:
-vector778:
-vector779:
-vector780:
-vector781:
-vector782:
-vector783:
-vector784:
-vector785:
-vector786:
-vector787:
-vector788:
-vector789:
-vector790:
-vector791:
-vector792:
-vector793:
-vector794:
-vector795:
-vector796:
-vector797:
-vector798:
-vector799:
-vector800:
-vector801:
-vector802:
-vector803:
-vector804:
-vector805:
-vector806:
-vector807:
-vector808:
-vector809:
-vector810:
-vector811:
-vector812:
-vector813:
-vector814:
-vector815:
-vector816:
-vector817:
-vector818:
-vector819:
-vector820:
-vector821:
-vector822:
-vector823:
-vector824:
-vector825:
-vector826:
-vector827:
-vector828:
-vector829:
-vector830:
-vector831:
-vector832:
-vector833:
-vector834:
-vector835:
-vector836:
-vector837:
-vector838:
-vector839:
-vector840:
-vector841:
-vector842:
-vector843:
-vector844:
-vector845:
-vector846:
-vector847:
-vector848:
-vector849:
-vector850:
-vector851:
-vector852:
-vector853:
-vector854:
-vector855:
-vector856:
-vector857:
-vector858:
-vector859:
-vector860:
-vector861:
-vector862:
-vector863:
-vector864:
-vector865:
-vector866:
-vector867:
-vector868:
-vector869:
-vector870:
-vector871:
-vector872:
-vector873:
-vector874:
-vector875:
-vector876:
-vector877:
-vector878:
-vector879:
-vector880:
-vector881:
-vector882:
-vector883:
-vector884:
-vector885:
-vector886:
-vector887:
-vector888:
-vector889:
-vector890:
-vector891:
-vector892:
-vector893:
-vector894:
-vector895:
-vector896:
-vector897:
-vector898:
-vector899:
-vector900:
-vector901:
-vector902:
-vector903:
-vector904:
-vector905:
-vector906:
-vector907:
-vector908:
-vector909:
-vector910:
-vector911:
-vector912:
-vector913:
-vector914:
-vector915:
-vector916:
-vector917:
-vector918:
-vector919:
-vector920:
-vector921:
-vector922:
-vector923:
-vector924:
-vector925:
-vector926:
-vector927:
-vector928:
-vector929:
-vector930:
-vector931:
-vector932:
-vector933:
-vector934:
-vector935:
-vector936:
-vector937:
-vector938:
-vector939:
-vector940:
-vector941:
-vector942:
-vector943:
-vector944:
-vector945:
-vector946:
-vector947:
-vector948:
-vector949:
-vector950:
-vector951:
-vector952:
-vector953:
-vector954:
-vector955:
-vector956:
-vector957:
-vector958:
-vector959:
-vector960:
-vector961:
-vector962:
-vector963:
-vector964:
-vector965:
-vector966:
-vector967:
-vector968:
-vector969:
-vector970:
-vector971:
-vector972:
-vector973:
-vector974:
-vector975:
-vector976:
-vector977:
-vector978:
-vector979:
-vector980:
-vector981:
-vector982:
-vector983:
-vector984:
-vector985:
-vector986:
-vector987:
-vector988:
-vector989:
-vector990:
-vector991:
-vector992:
-vector993:
-vector994:
-vector995:
-vector996:
-vector997:
-vector998:
-vector999:
-vector1000:
-vector1001:
-vector1002:
-vector1003:
-vector1004:
-vector1005:
-vector1006:
-vector1007:
-vector1008:
-vector1009:
-vector1010:
-vector1011:
-vector1012:
-vector1013:
-vector1014:
-vector1015:
-vector1016:
-vector1017:
-vector1018:
-vector1019:
-vector1020:
-vector1021:
-vector1022:
-vector1023:
- b _unhandled_irq
-
- .weak _unhandled_irq
- .type _unhandled_irq, @function
-_unhandled_irq:
- b _unhandled_irq
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/common/startup/e200/compilers/HighTec/vectors.h b/os/common/startup/e200/compilers/HighTec/vectors.h
deleted file mode 100755
index 392148fb2..000000000
--- a/os/common/startup/e200/compilers/HighTec/vectors.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file vectors.h
- * @brief ISR vector module header.
- *
- * @addtogroup PPC_GCC_CORE
- * @{
- */
-
-#ifndef VECTORS_H
-#define VECTORS_H
-
-#include "ppcparams.h"
-
-/*===========================================================================*/
-/* Module constants. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module pre-compile time settings. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Derived constants and error checks. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module data structures and types. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Module macros. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-/* The following code is not processed when the file is included from an
- asm module.*/
-#if !defined(_FROM_ASM_)
-
-#if !defined(__DOXYGEN__)
-extern uint32_t _vectors[PPC_NUM_VECTORS];
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void _unhandled_irq(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined(_FROM_ASM_) */
-
-/*===========================================================================*/
-/* Module inline functions. */
-/*===========================================================================*/
-
-#endif /* VECTORS_H */
-
-/** @} */
diff --git a/os/common/startup/e200/devices/SPC560BCxx/boot.S b/os/common/startup/e200/devices/SPC560BCxx/boot.S
index f7a99c2d7..73905b9bd 100644
--- a/os/common/startup/e200/devices/SPC560BCxx/boot.S
+++ b/os/common/startup/e200/devices/SPC560BCxx/boot.S
@@ -24,6 +24,10 @@
#include "boot.h"
+#if defined(__HIGHTEC__)
+#define se_bge bge
+#endif
+
#if !defined(__DOXYGEN__)
/* BAM record.*/
@@ -37,35 +41,35 @@
.type _reset_address, @function
_reset_address:
#if BOOT_PERFORM_CORE_INIT
- bl _coreinit
+ e_bl _coreinit
#endif
- bl _ivinit
+ e_bl _ivinit
#if BOOT_RELOCATE_IN_RAM
/*
* Image relocation in RAM.
*/
- lis %r4, __ram_reloc_start__@h
- ori %r4, %r4, __ram_reloc_start__@l
- lis %r5, __ram_reloc_dest__@h
- ori %r5, %r5, __ram_reloc_dest__@l
- lis %r6, __ram_reloc_end__@h
- ori %r6, %r6, __ram_reloc_end__@l
+ e_lis r4, __ram_reloc_start__@h
+ e_or2i r4, __ram_reloc_start__@l
+ e_lis r5, __ram_reloc_dest__@h
+ e_or2i r5, __ram_reloc_dest__@l
+ e_lis r6, __ram_reloc_end__@h
+ e_or2i r6, r6, __ram_reloc_end__@l
.relloop:
- cmpl cr0, %r4, %r6
- bge cr0, .relend
- lwz %r7, 0(%r4)
- addi %r4, %r4, 4
- stw %r7, 0(%r5)
- addi %r5, %r5, 4
- b .relloop
+ se_cmpl r4, r6
+ se_bge .relend
+ se_lwz r7, 0(r4)
+ se_addi r4, 4
+ se_stw r7, 0(r5)
+ se_addi r5, 4
+ se_b .relloop
.relend:
- lis %r3, _boot_address@h
- ori %r3, %r3, _boot_address@l
- mtctr %r3
- bctrl
+ e_lis r3, _boot_address@h
+ e_or2i r3, _boot_address@l
+ mtctr r3
+ se_bctrl
#else
- b _boot_address
+ e_b _boot_address
#endif
#if BOOT_PERFORM_CORE_INIT
@@ -76,57 +80,57 @@ _coreinit:
* 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
+ 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
+ e_lis r4, __ram_start__@h
+ e_or2i r4, __ram_start__@l
+ e_lis r5, __ram_end__@h
+ e_or2i r5, __ram_end__@l
.cleareccloop:
- cmpl %cr0, %r4, %r5
- bge %cr0, .cleareccend
- stmw %r16, 0(%r4)
- addi %r4, %r4, 64
- b .cleareccloop
+ se_cmpl r4, r5
+ se_bge .cleareccend
+ e_stmw r16, 0(r4)
+ e_addi r4, r4, 64
+ se_b .cleareccloop
.cleareccend:
/*
* Branch prediction enabled.
*/
- li %r3, BOOT_BUCSR_DEFAULT
- mtspr 1013, %r3 /* BUCSR */
+ e_li r3, BOOT_BUCSR_DEFAULT
+ mtspr 1013, r3 /* BUCSR */
- blr
+ se_blr
#endif /* BOOT_PERFORM_CORE_INIT */
/*
@@ -135,52 +139,52 @@ _coreinit:
.align 2
_ivinit:
/* MSR initialization.*/
- lis %r3, BOOT_MSR_DEFAULT@h
- ori %r3, %r3, BOOT_MSR_DEFAULT@l
- mtMSR %r3
+ e_lis r3, BOOT_MSR_DEFAULT@h
+ e_or2i r3, BOOT_MSR_DEFAULT@l
+ mtMSR r3
/* IVPR initialization.*/
- lis %r3, __ivpr_base__@h
- ori %r3, %r3, __ivpr_base__@l
- mtIVPR %r3
+ e_lis r3, __ivpr_base__@h
+ e_or2i r3, __ivpr_base__@l
+ mtIVPR r3
- blr
+ se_blr
.section .ivors, "ax"
.globl IVORS
IVORS:
- b _IVOR0
+ e_b _IVOR0
.align 4
- b _IVOR1
+ e_b _IVOR1
.align 4
- b _IVOR2
+ e_b _IVOR2
.align 4
- b _IVOR3
+ e_b _IVOR3
.align 4
- b _IVOR4
+ e_b _IVOR4
.align 4
- b _IVOR5
+ e_b _IVOR5
.align 4
- b _IVOR6
+ e_b _IVOR6
.align 4
- b _IVOR7
+ e_b _IVOR7
.align 4
- b _IVOR8
+ e_b _IVOR8
.align 4
- b _IVOR9
+ e_b _IVOR9
.align 4
- b _IVOR10
+ e_b _IVOR10
.align 4
- b _IVOR11
+ e_b _IVOR11
.align 4
- b _IVOR12
+ e_b _IVOR12
.align 4
- b _IVOR13
+ e_b _IVOR13
.align 4
- b _IVOR14
+ e_b _IVOR14
.align 4
- b _IVOR15
+ e_b _IVOR15
.section .handlers, "ax"
@@ -207,7 +211,7 @@ _IVOR14:
_IVOR15:
.global _unhandled_exception
_unhandled_exception:
- b _unhandled_exception
+ se_b _unhandled_exception
#endif /* !defined(__DOXYGEN__) */
diff --git a/os/common/startup/e200/devices/SPC560Bxx/boot.S b/os/common/startup/e200/devices/SPC560Bxx/boot.S
index 46af60294..5ca775a64 100644
--- a/os/common/startup/e200/devices/SPC560Bxx/boot.S
+++ b/os/common/startup/e200/devices/SPC560Bxx/boot.S
@@ -24,6 +24,10 @@
#include "boot.h"
+#if defined(__HIGHTEC__)
+#define se_bge bge
+#endif
+
#if !defined(__DOXYGEN__)
/* BAM record.*/
@@ -37,35 +41,35 @@
.type _reset_address, @function
_reset_address:
#if BOOT_PERFORM_CORE_INIT
- bl _coreinit
+ e_bl _coreinit
#endif
- bl _ivinit
+ e_bl _ivinit
#if BOOT_RELOCATE_IN_RAM
/*
* Image relocation in RAM.
*/
- lis %r4, __ram_reloc_start__@h
- ori %r4, %r4, __ram_reloc_start__@l
- lis %r5, __ram_reloc_dest__@h
- ori %r5, %r5, __ram_reloc_dest__@l
- lis %r6, __ram_reloc_end__@h
- ori %r6, %r6, __ram_reloc_end__@l
+ e_lis r4, __ram_reloc_start__@h
+ e_or2i r4, __ram_reloc_start__@l
+ e_lis r5, __ram_reloc_dest__@h
+ e_or2i r5, __ram_reloc_dest__@l
+ e_lis r6, __ram_reloc_end__@h
+ e_or2i r6, r6, __ram_reloc_end__@l
.relloop:
- cmpl cr0, %r4, %r6
- bge cr0, .relend
- lwz %r7, 0(%r4)
- addi %r4, %r4, 4
- stw %r7, 0(%r5)
- addi %r5, %r5, 4
- b .relloop
+ se_cmpl r4, r6
+ se_bge .relend
+ se_lwz r7, 0(r4)
+ se_addi r4, 4
+ se_stw r7, 0(r5)
+ se_addi r5, 4
+ se_b .relloop
.relend:
- lis %r3, _boot_address@h
- ori %r3, %r3, _boot_address@l
- mtctr %r3
- bctrl
+ e_lis r3, _boot_address@h
+ e_or2i r3, _boot_address@l
+ mtctr r3
+ se_bctrl
#else
- b _boot_address
+ e_b _boot_address
#endif
#if BOOT_PERFORM_CORE_INIT
@@ -76,57 +80,57 @@ _coreinit:
* 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
+ 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
+ e_lis r4, __ram_start__@h
+ e_or2i r4, __ram_start__@l
+ e_lis r5, __ram_end__@h
+ e_or2i r5, __ram_end__@l
.cleareccloop:
- cmpl %cr0, %r4, %r5
- bge %cr0, .cleareccend
- stmw %r16, 0(%r4)
- addi %r4, %r4, 64
- b .cleareccloop
+ se_cmpl r4, r5
+ se_bge .cleareccend
+ e_stmw r16, 0(r4)
+ e_addi r4, r4, 64
+ se_b .cleareccloop
.cleareccend:
/*
* Branch prediction enabled.
*/
- li %r3, BOOT_BUCSR_DEFAULT
- mtspr 1013, %r3 /* BUCSR */
+ e_li r3, BOOT_BUCSR_DEFAULT
+ mtspr 1013, r3 /* BUCSR */
- blr
+ se_blr
#endif /* BOOT_PERFORM_CORE_INIT */
/*
@@ -135,52 +139,52 @@ _coreinit:
.align 2
_ivinit:
/* MSR initialization.*/
- lis %r3, BOOT_MSR_DEFAULT@h
- ori %r3, %r3, BOOT_MSR_DEFAULT@l
- mtMSR %r3
+ e_lis r3, BOOT_MSR_DEFAULT@h
+ e_or2i r3, BOOT_MSR_DEFAULT@l
+ mtMSR r3
/* IVPR initialization.*/
- lis %r3, __ivpr_base__@h
- ori %r3, %r3, __ivpr_base__@l
- mtIVPR %r3
+ e_lis r3, __ivpr_base__@h
+ e_or2i r3, __ivpr_base__@l
+ mtIVPR r3
- blr
+ se_blr
.section .ivors, "ax"
.globl IVORS
IVORS:
- b _IVOR0
+ e_b _IVOR0
.align 4
- b _IVOR1
+ e_b _IVOR1
.align 4
- b _IVOR2
+ e_b _IVOR2
.align 4
- b _IVOR3
+ e_b _IVOR3
.align 4
- b _IVOR4
+ e_b _IVOR4
.align 4
- b _IVOR5
+ e_b _IVOR5
.align 4
- b _IVOR6
+ e_b _IVOR6
.align 4
- b _IVOR7
+ e_b _IVOR7
.align 4
- b _IVOR8
+ e_b _IVOR8
.align 4
- b _IVOR9
+ e_b _IVOR9
.align 4
- b _IVOR10
+ e_b _IVOR10
.align 4
- b _IVOR11
+ e_b _IVOR11
.align 4
- b _IVOR12
+ e_b _IVOR12
.align 4
- b _IVOR13
+ e_b _IVOR13
.align 4
- b _IVOR14
+ e_b _IVOR14
.align 4
- b _IVOR15
+ e_b _IVOR15
.section .handlers, "ax"
@@ -207,7 +211,7 @@ _IVOR14:
_IVOR15:
.global _unhandled_exception
_unhandled_exception:
- b _unhandled_exception
+ se_b _unhandled_exception
#endif /* !defined(__DOXYGEN__) */
diff --git a/os/common/startup/e200/devices/SPC560Pxx/boot.S b/os/common/startup/e200/devices/SPC560Pxx/boot.S
index 81b34158c..51535cd68 100644
--- a/os/common/startup/e200/devices/SPC560Pxx/boot.S
+++ b/os/common/startup/e200/devices/SPC560Pxx/boot.S
@@ -24,6 +24,10 @@
#include "boot.h"
+#if defined(__HIGHTEC__)
+#define se_bge bge
+#endif
+
#if !defined(__DOXYGEN__)
/* BAM record.*/
@@ -37,35 +41,35 @@
.type _reset_address, @function
_reset_address:
#if BOOT_PERFORM_CORE_INIT
- bl _coreinit
+ e_bl _coreinit
#endif
- bl _ivinit
+ e_bl _ivinit
#if BOOT_RELOCATE_IN_RAM
/*
* Image relocation in RAM.
*/
- lis %r4, __ram_reloc_start__@h
- ori %r4, %r4, __ram_reloc_start__@l
- lis %r5, __ram_reloc_dest__@h
- ori %r5, %r5, __ram_reloc_dest__@l
- lis %r6, __ram_reloc_end__@h
- ori %r6, %r6, __ram_reloc_end__@l
+ e_lis r4, __ram_reloc_start__@h
+ e_or2i r4, __ram_reloc_start__@l
+ e_lis r5, __ram_reloc_dest__@h
+ e_or2i r5, __ram_reloc_dest__@l
+ e_lis r6, __ram_reloc_end__@h
+ e_or2i r6, r6, __ram_reloc_end__@l
.relloop:
- cmpl cr0, %r4, %r6
- bge cr0, .relend
- lwz %r7, 0(%r4)
- addi %r4, %r4, 4
- stw %r7, 0(%r5)
- addi %r5, %r5, 4
- b .relloop
+ se_cmpl r4, r6
+ se_bge .relend
+ se_lwz r7, 0(r4)
+ se_addi r4, 4
+ se_stw r7, 0(r5)
+ se_addi r5, 4
+ se_b .relloop
.relend:
- lis %r3, _boot_address@h
- ori %r3, %r3, _boot_address@l
- mtctr %r3
- bctrl
+ e_lis r3, _boot_address@h
+ e_or2i r3, _boot_address@l
+ mtctr r3
+ se_bctrl
#else
- b _boot_address
+ e_b _boot_address
#endif
#if BOOT_PERFORM_CORE_INIT
@@ -76,57 +80,57 @@ _coreinit:
* 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
+ 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
+ e_lis r4, __ram_start__@h
+ e_or2i r4, __ram_start__@l
+ e_lis r5, __ram_end__@h
+ e_or2i r5, __ram_end__@l
.cleareccloop:
- cmpl %cr0, %r4, %r5
- bge %cr0, .cleareccend
- stmw %r16, 0(%r4)
- addi %r4, %r4, 64
- b .cleareccloop
+ se_cmpl r4, r5
+ se_bge .cleareccend
+ e_stmw r16, 0(r4)
+ e_addi r4, r4, 64
+ se_b .cleareccloop
.cleareccend:
/*
* Branch prediction enabled.
*/
- li %r3, BOOT_BUCSR_DEFAULT
- mtspr 1013, %r3 /* BUCSR */
+ e_li r3, BOOT_BUCSR_DEFAULT
+ mtspr 1013, r3 /* BUCSR */
- blr
+ se_blr
#endif /* BOOT_PERFORM_CORE_INIT */
/*
@@ -135,52 +139,52 @@ _coreinit:
.align 2
_ivinit:
/* MSR initialization.*/
- lis %r3, BOOT_MSR_DEFAULT@h
- ori %r3, %r3, BOOT_MSR_DEFAULT@l
- mtMSR %r3
+ e_lis r3, BOOT_MSR_DEFAULT@h
+ e_or2i r3, BOOT_MSR_DEFAULT@l
+ mtMSR r3
/* IVPR initialization.*/
- lis %r3, __ivpr_base__@h
- ori %r3, %r3, __ivpr_base__@l
- mtIVPR %r3
+ e_lis r3, __ivpr_base__@h
+ e_or2i r3, __ivpr_base__@l
+ mtIVPR r3
- blr
+ se_blr
.section .ivors, "ax"
.globl IVORS
IVORS:
- b _IVOR0
+ e_b _IVOR0
.align 4
- b _IVOR1
+ e_b _IVOR1
.align 4
- b _IVOR2
+ e_b _IVOR2
.align 4
- b _IVOR3
+ e_b _IVOR3
.align 4
- b _IVOR4
+ e_b _IVOR4
.align 4
- b _IVOR5
+ e_b _IVOR5
.align 4
- b _IVOR6
+ e_b _IVOR6
.align 4
- b _IVOR7
+ e_b _IVOR7
.align 4
- b _IVOR8
+ e_b _IVOR8
.align 4
- b _IVOR9
+ e_b _IVOR9
.align 4
- b _IVOR10
+ e_b _IVOR10
.align 4
- b _IVOR11
+ e_b _IVOR11
.align 4
- b _IVOR12
+ e_b _IVOR12
.align 4
- b _IVOR13
+ e_b _IVOR13
.align 4
- b _IVOR14
+ e_b _IVOR14
.align 4
- b _IVOR15
+ e_b _IVOR15
.section .handlers, "ax"
@@ -207,7 +211,7 @@ _IVOR14:
_IVOR15:
.global _unhandled_exception
_unhandled_exception:
- b _unhandled_exception
+ se_b _unhandled_exception
#endif /* !defined(__DOXYGEN__) */
diff --git a/os/common/startup/e200/devices/SPC563Mxx/boot.S b/os/common/startup/e200/devices/SPC563Mxx/boot.S
index 1ba1b728d..c9a0e3b3a 100644
--- a/os/common/startup/e200/devices/SPC563Mxx/boot.S
+++ b/os/common/startup/e200/devices/SPC563Mxx/boot.S
@@ -24,6 +24,10 @@
#include "boot.h"
+#if defined(__HIGHTEC__)
+#define se_bge bge
+#endif
+
#if !defined(__DOXYGEN__)
/* BAM record.*/
@@ -41,35 +45,35 @@
.type _reset_address, @function
_reset_address:
#if BOOT_PERFORM_CORE_INIT
- bl _coreinit
+ e_bl _coreinit
#endif
- bl _ivinit
+ e_bl _ivinit
#if BOOT_RELOCATE_IN_RAM
/*
* Image relocation in RAM.
*/
- lis %r4, __ram_reloc_start__@h
- ori %r4, %r4, __ram_reloc_start__@l
- lis %r5, __ram_reloc_dest__@h
- ori %r5, %r5, __ram_reloc_dest__@l
- lis %r6, __ram_reloc_end__@h
- ori %r6, %r6, __ram_reloc_end__@l
+ e_lis r4, __ram_reloc_start__@h
+ e_or2i r4, __ram_reloc_start__@l
+ e_lis r5, __ram_reloc_dest__@h
+ e_or2i r5, __ram_reloc_dest__@l
+ e_lis r6, __ram_reloc_end__@h
+ e_or2i r6, r6, __ram_reloc_end__@l
.relloop:
- cmpl cr0, %r4, %r6
- bge cr0, .relend
- lwz %r7, 0(%r4)
- addi %r4, %r4, 4
- stw %r7, 0(%r5)
- addi %r5, %r5, 4
- b .relloop
+ se_cmpl r4, r6
+ se_bge .relend
+ se_lwz r7, 0(r4)
+ se_addi r4, 4
+ se_stw r7, 0(r5)
+ se_addi r5, 4
+ se_b .relloop
.relend:
- lis %r3, _boot_address@h
- ori %r3, %r3, _boot_address@l
- mtctr %r3
- bctrl
+ e_lis r3, _boot_address@h
+ e_or2i r3, _boot_address@l
+ mtctr r3
+ se_bctrl
#else
- b _boot_address
+ e_b _boot_address
#endif
#if BOOT_PERFORM_CORE_INIT
@@ -80,57 +84,57 @@ _coreinit:
* 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
+ 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
+ e_lis r4, __ram_start__@h
+ e_or2i r4, __ram_start__@l
+ e_lis r5, __ram_end__@h
+ e_or2i r5, __ram_end__@l
.cleareccloop:
- cmpl %cr0, %r4, %r5
- bge %cr0, .cleareccend
- stmw %r16, 0(%r4)
- addi %r4, %r4, 64
- b .cleareccloop
+ se_cmpl r4, r5
+ se_bge .cleareccend
+ e_stmw r16, 0(r4)
+ e_addi r4, r4, 64
+ se_b .cleareccloop
.cleareccend:
/*
* Branch prediction enabled.
*/
- li %r3, BOOT_BUCSR_DEFAULT
- mtspr 1013, %r3 /* BUCSR */
+ e_li r3, BOOT_BUCSR_DEFAULT
+ mtspr 1013, r3 /* BUCSR */
- blr
+ se_blr
#endif /* BOOT_PERFORM_CORE_INIT */
/*
@@ -138,40 +142,40 @@ _coreinit:
*/
_ivinit:
/* MSR initialization.*/
- lis %r3, BOOT_MSR_DEFAULT@h
- ori %r3, %r3, BOOT_MSR_DEFAULT@l
- mtMSR %r3
+ e_lis r3, BOOT_MSR_DEFAULT@h
+ e_or2i r3, BOOT_MSR_DEFAULT@l
+ mtMSR r3
/* IVPR initialization.*/
- lis %r3, __ivpr_base__@h
- ori %r3, %r3, __ivpr_base__@l
- mtIVPR %r3
+ e_lis r3, __ivpr_base__@h
+ e_or2i 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
+ e_lis r3, _unhandled_exception@h
+ e_or2i 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
+
+ se_blr
.section .handlers, "ax"
@@ -181,7 +185,7 @@ _ivinit:
.weak _unhandled_exception
.type _unhandled_exception, @function
_unhandled_exception:
- b _unhandled_exception
+ se_b _unhandled_exception
#endif /* !defined(__DOXYGEN__) */
diff --git a/os/common/startup/e200/devices/SPC564Axx/boot.S b/os/common/startup/e200/devices/SPC564Axx/boot.S
index 76c2b57ff..b1097e058 100644
--- a/os/common/startup/e200/devices/SPC564Axx/boot.S
+++ b/os/common/startup/e200/devices/SPC564Axx/boot.S
@@ -24,6 +24,10 @@
#include "boot.h"
+#if defined(__HIGHTEC__)
+#define se_bge bge
+#endif
+
#if !defined(__DOXYGEN__)
/* BAM record.*/
@@ -41,161 +45,161 @@
.type _reset_address, @function
_reset_address:
#if BOOT_PERFORM_CORE_INIT
- bl _coreinit
+ e_bl _coreinit
#endif
- bl _ivinit
+ e_bl _ivinit
#if BOOT_RELOCATE_IN_RAM
/*
* Image relocation in RAM.
*/
- lis %r4, __ram_reloc_start__@h
- ori %r4, %r4, __ram_reloc_start__@l
- lis %r5, __ram_reloc_dest__@h
- ori %r5, %r5, __ram_reloc_dest__@l
- lis %r6, __ram_reloc_end__@h
- ori %r6, %r6, __ram_reloc_end__@l
+ e_lis r4, __ram_reloc_start__@h
+ e_or2i r4, __ram_reloc_start__@l
+ e_lis r5, __ram_reloc_dest__@h
+ e_or2i r5, __ram_reloc_dest__@l
+ e_lis r6, __ram_reloc_end__@h
+ e_or2i r6, r6, __ram_reloc_end__@l
.relloop:
- cmpl cr0, %r4, %r6
- bge cr0, .relend
- lwz %r7, 0(%r4)
- addi %r4, %r4, 4
- stw %r7, 0(%r5)
- addi %r5, %r5, 4
- b .relloop
+ se_cmpl r4, r6
+ se_bge .relend
+ se_lwz r7, 0(r4)
+ se_addi r4, 4
+ se_stw r7, 0(r5)
+ se_addi r5, 4
+ se_b .relloop
.relend:
- lis %r3, _boot_address@h
- ori %r3, %r3, _boot_address@l
- mtctr %r3
- bctrl
+ e_lis r3, _boot_address@h
+ e_or2i r3, _boot_address@l
+ mtctr r3
+ se_bctrl
#else
- b _boot_address
+ e_b _boot_address
#endif
#if BOOT_PERFORM_CORE_INIT
.align 2
_ramcode:
tlbwe
- isync
- blr
+ se_isync
+ se_blr
.align 2
_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 */
+ e_lis r3, 0
+ mtspr 625, r3 /* MAS1 */
+ mtspr 626, r3 /* MAS2 */
+ mtspr 627, r3 /* MAS3 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_lis r3, TLB0_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB0_MAS1@h
+ e_or2i r3, TLB0_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB0_MAS2@h
+ e_or2i r3, TLB0_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB0_MAS3@h
+ e_or2i 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 */
+ e_lis r3, TLB2_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB2_MAS1@h
+ e_or2i r3, TLB2_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB2_MAS2@h
+ e_or2i r3, TLB2_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB2_MAS3@h
+ e_or2i 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 */
+ e_lis r3, TLB3_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB3_MAS1@h
+ e_or2i r3, TLB3_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB3_MAS2@h
+ e_or2i r3, TLB3_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB3_MAS3@h
+ e_or2i 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 */
+ e_lis r3, TLB4_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB4_MAS1@h
+ e_or2i r3, TLB4_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB4_MAS2@h
+ e_or2i r3, TLB4_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB4_MAS3@h
+ e_or2i r3, TLB4_MAS3@l
+ mtspr 627, r3 /* MAS3 */
tlbwe
/*
@@ -203,98 +207,98 @@ _coreinit:
* 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
+ 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
+ e_lis r4, __ram_start__@h
+ e_or2i r4, __ram_start__@l
+ e_lis r5, __ram_end__@h
+ e_or2i r5, __ram_end__@l
.cleareccloop:
- cmpl %cr0, %r4, %r5
- bge %cr0, .cleareccend
- stmw %r16, 0(%r4)
- addi %r4, %r4, 64
- b .cleareccloop
+ se_cmpl r4, r5
+ se_bge .cleareccend
+ e_stmw r16, 0(r4)
+ e_addi r4, r4, 64
+ se_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
+ e_lis r3, TLB1_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB1_MAS1@h
+ e_or2i r3, TLB1_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB1_MAS2@h
+ e_or2i r3, TLB1_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB1_MAS3@h
+ e_or2i r3, TLB1_MAS3@l
+ mtspr 627, r3 /* MAS3 */
+ mflr r4
+ e_lis r6, _ramcode@h
+ e_or2i r6, _ramcode@l
+ e_lis r7, 0x40010000@h
+ mtctr r7
+ se_lwz r3, 0(r6)
+ se_stw r3, 0(r7)
+ se_lwz r3, 4(r6)
+ se_stw r3, 4(r7)
+ se_lwz r3, 8(r6)
+ se_stw r3, 8(r7)
+ se_bctrl
+ mtlr r4
/*
* Branch prediction enabled.
*/
- li %r3, BOOT_BUCSR_DEFAULT
- mtspr 1013, %r3 /* BUCSR */
+ e_li r3, BOOT_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, BOOT_LICSR1_DEFAULT@h
- ori %r3, %r3, BOOT_LICSR1_DEFAULT@l
- mtspr 1011, %r3 /* LICSR1 */
+ e_li r3, LICSR1_ICINV
+ mtspr 1011, r3 /* LICSR1 */
+.inv: mfspr r3, 1011 /* LICSR1 */
+ e_andi. r3, r3, LICSR1_ICINV
+ se_bne .inv
+ e_lis r3, BOOT_LICSR1_DEFAULT@h
+ e_or2i r3, BOOT_LICSR1_DEFAULT@l
+ mtspr 1011, r3 /* LICSR1 */
- blr
+ se_blr
#endif /* BOOT_PERFORM_CORE_INIT */
/*
@@ -303,40 +307,40 @@ _coreinit:
.align 2
_ivinit:
/* MSR initialization.*/
- lis %r3, BOOT_MSR_DEFAULT@h
- ori %r3, %r3, BOOT_MSR_DEFAULT@l
- mtMSR %r3
+ e_lis r3, BOOT_MSR_DEFAULT@h
+ e_or2i r3, BOOT_MSR_DEFAULT@l
+ mtMSR r3
/* IVPR initialization.*/
- lis %r3, __ivpr_base__@h
- ori %r3, %r3, __ivpr_base__@l
- mtIVPR %r3
+ e_lis r3, __ivpr_base__@h
+ e_or2i r3, __ivpr_base__@l
+ mtIVPR r3
/* IVORs initialization.*/
- lis %r3, _unhandled_exception@h
- ori %r3, %r3, _unhandled_exception@l
+ e_lis r3, _unhandled_exception@h
+ e_or2i 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
+ 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
+ se_blr
.section .handlers, "ax"
@@ -346,7 +350,7 @@ _ivinit:
.weak _unhandled_exception
.type _unhandled_exception, @function
_unhandled_exception:
- b _unhandled_exception
+ se_b _unhandled_exception
#endif /* !defined(__DOXYGEN__) */
diff --git a/os/common/startup/e200/devices/SPC56ECxx/boot.S b/os/common/startup/e200/devices/SPC56ECxx/boot.S
index f6ba0b07d..d0ff80107 100644
--- a/os/common/startup/e200/devices/SPC56ECxx/boot.S
+++ b/os/common/startup/e200/devices/SPC56ECxx/boot.S
@@ -24,6 +24,10 @@
#include "boot.h"
+#if defined(__HIGHTEC__)
+#define se_bge bge
+#endif
+
#if !defined(__DOXYGEN__)
/* BAM record.*/
@@ -41,177 +45,177 @@
.type _reset_address, @function
_reset_address:
#if BOOT_PERFORM_CORE_INIT
- bl _coreinit
+ e_bl _coreinit
#endif
- bl _ivinit
+ e_bl _ivinit
#if BOOT_RELOCATE_IN_RAM
/*
* Image relocation in RAM.
*/
- lis %r4, __ram_reloc_start__@h
- ori %r4, %r4, __ram_reloc_start__@l
- lis %r5, __ram_reloc_dest__@h
- ori %r5, %r5, __ram_reloc_dest__@l
- lis %r6, __ram_reloc_end__@h
- ori %r6, %r6, __ram_reloc_end__@l
+ e_lis r4, __ram_reloc_start__@h
+ e_or2i r4, __ram_reloc_start__@l
+ e_lis r5, __ram_reloc_dest__@h
+ e_or2i r5, __ram_reloc_dest__@l
+ e_lis r6, __ram_reloc_end__@h
+ e_or2i r6, r6, __ram_reloc_end__@l
.relloop:
- cmpl cr0, %r4, %r6
- bge cr0, .relend
- lwz %r7, 0(%r4)
- addi %r4, %r4, 4
- stw %r7, 0(%r5)
- addi %r5, %r5, 4
- b .relloop
+ se_cmpl r4, r6
+ se_bge .relend
+ se_lwz r7, 0(r4)
+ se_addi r4, 4
+ se_stw r7, 0(r5)
+ se_addi r5, 4
+ se_b .relloop
.relend:
- lis %r3, _boot_address@h
- ori %r3, %r3, _boot_address@l
- mtctr %r3
- bctrl
+ e_lis r3, _boot_address@h
+ e_or2i r3, _boot_address@l
+ mtctr r3
+ se_bctrl
#else
- b _boot_address
+ e_b _boot_address
#endif
#if BOOT_PERFORM_CORE_INIT
.align 2
_ramcode:
tlbwe
- isync
- blr
+ se_isync
+ se_blr
.align 2
_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 */
+ e_lis r3, 0
+ mtspr 625, r3 /* MAS1 */
+ mtspr 626, r3 /* MAS2 */
+ mtspr 627, r3 /* MAS3 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_lis r3, TLB1_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB1_MAS1@h
+ e_or2i r3, TLB1_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB1_MAS2@h
+ e_or2i r3, TLB1_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB1_MAS3@h
+ e_or2i 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 */
+ e_lis r3, TLB2_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB2_MAS1@h
+ e_or2i r3, TLB2_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB2_MAS2@h
+ e_or2i r3, TLB2_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB2_MAS3@h
+ e_or2i 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 */
+ e_lis r3, TLB3_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB3_MAS1@h
+ e_or2i r3, TLB3_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB3_MAS2@h
+ e_or2i r3, TLB3_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB3_MAS3@h
+ e_or2i 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 */
+ e_lis r3, TLB4_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB4_MAS1@h
+ e_or2i r3, TLB4_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB4_MAS2@h
+ e_or2i r3, TLB4_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB4_MAS3@h
+ e_or2i 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 */
+ e_lis r3, TLB5_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB5_MAS1@h
+ e_or2i r3, TLB5_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB5_MAS2@h
+ e_or2i r3, TLB5_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB5_MAS3@h
+ e_or2i r3, TLB5_MAS3@l
+ mtspr 627, r3 /* MAS3 */
tlbwe
/*
@@ -219,132 +223,132 @@ _coreinit:
* 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
+ 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
+ e_lis r4, __ram_start__@h
+ e_or2i r4, __ram_start__@l
+ e_lis r5, __ram_end__@h
+ e_or2i r5, __ram_end__@l
.cleareccloop:
- cmpl %cr0, %r4, %r5
- bge %cr0, .cleareccend
- stmw %r16, 0(%r4)
- addi %r4, %r4, 64
- b .cleareccloop
+ se_cmpl r4, r5
+ se_bge .cleareccend
+ e_stmw r16, 0(r4)
+ e_addi r4, r4, 64
+ se_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 */
+ 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
+ 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
+ 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
+ e_lis r3, TLB0_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB0_MAS1@h
+ e_or2i r3, TLB0_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB0_MAS2@h
+ e_or2i r3, TLB0_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB0_MAS3@h
+ e_or2i r3, TLB0_MAS3@l
+ mtspr 627, r3 /* MAS3 */
+ mflr r4
+ e_lis r6, _ramcode@h
+ e_or2i r6, _ramcode@l
+ e_lis r7, 0x40010000@h
+ mtctr r7
+ se_lwz r3, 0(r6)
+ se_stw r3, 0(r7)
+ se_lwz r3, 4(r6)
+ se_stw r3, 4(r7)
+ se_lwz r3, 8(r6)
+ se_stw r3, 8(r7)
+ se_bctrl
+ mtlr r4
/*
* Branch prediction enabled.
*/
- li %r3, BOOT_BUCSR_DEFAULT
- mtspr 1013, %r3 /* BUCSR */
+ e_li r3, BOOT_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, BOOT_LICSR1_DEFAULT@h
- ori %r3, %r3, BOOT_LICSR1_DEFAULT@l
- mtspr 1011, %r3 /* LICSR1 */
-
- blr
+ e_li r3, LICSR1_ICINV
+ mtspr 1011, r3 /* LICSR1 */
+.inv: mfspr r3, 1011 /* LICSR1 */
+ e_andi. r3, r3, LICSR1_ICINV
+ se_bne .inv
+ e_lis r3, BOOT_LICSR1_DEFAULT@h
+ e_or2i r3, BOOT_LICSR1_DEFAULT@l
+ mtspr 1011, r3 /* LICSR1 */
+
+ se_blr
#endif /* BOOT_PERFORM_CORE_INIT */
/*
@@ -353,40 +357,40 @@ _coreinit:
.align 2
_ivinit:
/* MSR initialization.*/
- lis %r3, BOOT_MSR_DEFAULT@h
- ori %r3, %r3, BOOT_MSR_DEFAULT@l
- mtMSR %r3
+ e_lis r3, BOOT_MSR_DEFAULT@h
+ e_or2i r3, BOOT_MSR_DEFAULT@l
+ mtMSR r3
/* IVPR initialization.*/
- lis %r3, __ivpr_base__@h
- ori %r3, %r3, __ivpr_base__@l
- mtIVPR %r3
+ e_lis r3, __ivpr_base__@h
+ e_or2i 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
+ e_lis r3, _unhandled_exception@h
+ e_or2i 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
+
+ se_blr
.section .handlers, "ax"
@@ -396,7 +400,7 @@ _ivinit:
.weak _unhandled_exception
.type _unhandled_exception, @function
_unhandled_exception:
- b _unhandled_exception
+ se_b _unhandled_exception
#endif /* !defined(__DOXYGEN__) */
diff --git a/os/common/startup/e200/devices/SPC56ELxx/boot.S b/os/common/startup/e200/devices/SPC56ELxx/boot.S
index 9446823e5..d65714020 100644
--- a/os/common/startup/e200/devices/SPC56ELxx/boot.S
+++ b/os/common/startup/e200/devices/SPC56ELxx/boot.S
@@ -24,6 +24,10 @@
#include "boot.h"
+#if defined(__HIGHTEC__)
+#define se_bge bge
+#endif
+
#if !defined(__DOXYGEN__)
/* BAM record.*/
@@ -40,42 +44,42 @@
.globl _reset_address
.type _reset_address, @function
_reset_address:
- bl _coreinit
- bl _ivinit
+ e_bl _coreinit
+ e_bl _ivinit
#if BOOT_RELOCATE_IN_RAM
/*
* Image relocation in RAM.
*/
- lis %r4, __ram_reloc_start__@h
- ori %r4, %r4, __ram_reloc_start__@l
- lis %r5, __ram_reloc_dest__@h
- ori %r5, %r5, __ram_reloc_dest__@l
- lis %r6, __ram_reloc_end__@h
- ori %r6, %r6, __ram_reloc_end__@l
+ e_lis r4, __ram_reloc_start__@h
+ e_or2i r4, __ram_reloc_start__@l
+ e_lis r5, __ram_reloc_dest__@h
+ e_or2i r5, __ram_reloc_dest__@l
+ e_lis r6, __ram_reloc_end__@h
+ e_or2i r6, r6, __ram_reloc_end__@l
.relloop:
- cmpl cr0, %r4, %r6
- bge cr0, .relend
- lwz %r7, 0(%r4)
- addi %r4, %r4, 4
- stw %r7, 0(%r5)
- addi %r5, %r5, 4
- b .relloop
+ se_cmpl r4, r6
+ se_bge .relend
+ se_lwz r7, 0(r4)
+ se_addi r4, 4
+ se_stw r7, 0(r5)
+ se_addi r5, 4
+ se_b .relloop
.relend:
- lis %r3, _boot_address@h
- ori %r3, %r3, _boot_address@l
- mtctr %r3
- bctrl
+ e_lis r3, _boot_address@h
+ e_or2i r3, _boot_address@l
+ mtctr r3
+ se_bctrl
#else
- b _boot_address
+ e_b _boot_address
#endif
#if BOOT_PERFORM_CORE_INIT
.align 2
_ramcode:
tlbwe
- isync
- blr
+ se_isync
+ se_blr
#endif /* BOOT_PERFORM_CORE_INIT */
.align 2
@@ -84,134 +88,134 @@ _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 */
+ e_lis r3, 0
+ mtspr 625, r3 /* MAS1 */
+ mtspr 626, r3 /* MAS2 */
+ mtspr 627, r3 /* MAS3 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_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 */
+ e_lis r3, TLB1_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB1_MAS1@h
+ e_or2i r3, TLB1_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB1_MAS2@h
+ e_or2i r3, TLB1_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB1_MAS3@h
+ e_or2i 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 */
+ e_lis r3, TLB2_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB2_MAS1@h
+ e_or2i r3, TLB2_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB2_MAS2@h
+ e_or2i r3, TLB2_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB2_MAS3@h
+ e_or2i 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 */
+ e_lis r3, TLB3_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB3_MAS1@h
+ e_or2i r3, TLB3_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB3_MAS2@h
+ e_or2i r3, TLB3_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB3_MAS3@h
+ e_or2i 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 */
+ e_lis r3, TLB4_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB4_MAS1@h
+ e_or2i r3, TLB4_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB4_MAS2@h
+ e_or2i r3, TLB4_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB4_MAS3@h
+ e_or2i 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 */
+ e_lis r3, TLB5_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB5_MAS1@h
+ e_or2i r3, TLB5_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB5_MAS2@h
+ e_or2i r3, TLB5_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB5_MAS3@h
+ e_or2i r3, TLB5_MAS3@l
+ mtspr 627, r3 /* MAS3 */
tlbwe
/*
@@ -219,48 +223,48 @@ _coreinit:
* 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
+ 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
+ e_lis r4, __ram_start__@h
+ e_or2i r4, __ram_start__@l
+ e_lis r5, __ram_end__@h
+ e_or2i r5, __ram_end__@l
.cleareccloop:
- cmpl %cr0, %r4, %r5
- bge %cr0, .cleareccend
- stmw %r16, 0(%r4)
- addi %r4, %r4, 64
- b .cleareccloop
+ se_cmpl r4, r5
+ se_bge .cleareccend
+ e_stmw r16, 0(r4)
+ e_addi r4, r4, 64
+ se_b .cleareccloop
.cleareccend:
#endif /* BOOT_PERFORM_CORE_INIT */
@@ -268,86 +272,86 @@ _coreinit:
* 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 */
+ 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
+ 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
+ mtspr 562, r31 /* DBCNT */
+ mtspr 570, r31 /* MCSRR0 */
+ mtspr 571, r31 /* MCSRR1 */
+ mtspr 604, r31 /* SPRG8-9 */
+ mtspr 605, r31
#if BOOT_PERFORM_CORE_INIT
/*
* *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
+ e_lis r3, TLB0_MAS0@h
+ mtspr 624, r3 /* MAS0 */
+ e_lis r3, TLB0_MAS1@h
+ e_or2i r3, TLB0_MAS1@l
+ mtspr 625, r3 /* MAS1 */
+ e_lis r3, TLB0_MAS2@h
+ e_or2i r3, TLB0_MAS2@l
+ mtspr 626, r3 /* MAS2 */
+ e_lis r3, TLB0_MAS3@h
+ e_or2i r3, TLB0_MAS3@l
+ mtspr 627, r3 /* MAS3 */
+ mflr r4
+ e_lis r6, _ramcode@h
+ e_or2i r6, _ramcode@l
+ e_lis r7, 0x40010000@h
+ mtctr r7
+ se_lwz r3, 0(r6)
+ se_stw r3, 0(r7)
+ se_lwz r3, 4(r6)
+ se_stw r3, 4(r7)
+ se_lwz r3, 8(r6)
+ se_stw r3, 8(r7)
+ se_bctrl
+ mtlr r4
#endif /* BOOT_PERFORM_CORE_INIT */
/*
* Branch prediction enabled.
*/
- li %r3, BOOT_BUCSR_DEFAULT
- mtspr 1013, %r3 /* BUCSR */
+ e_li r3, BOOT_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, BOOT_LICSR1_DEFAULT@h
- ori %r3, %r3, BOOT_LICSR1_DEFAULT@l
- mtspr 1011, %r3 /* LICSR1 */
+ e_li r3, LICSR1_ICINV
+ mtspr 1011, r3 /* LICSR1 */
+.inv: mfspr r3, 1011 /* LICSR1 */
+ e_andi. r3, r3, LICSR1_ICINV
+ se_bne .inv
+ e_lis r3, BOOT_LICSR1_DEFAULT@h
+ e_or2i r3, BOOT_LICSR1_DEFAULT@l
+ mtspr 1011, r3 /* LICSR1 */
- blr
+ se_blr
/*
* Exception vectors initialization.
@@ -355,40 +359,40 @@ _coreinit:
.align 2
_ivinit:
/* MSR initialization.*/
- lis %r3, BOOT_MSR_DEFAULT@h
- ori %r3, %r3, BOOT_MSR_DEFAULT@l
- mtMSR %r3
+ e_lis r3, BOOT_MSR_DEFAULT@h
+ e_or2i r3, BOOT_MSR_DEFAULT@l
+ mtMSR r3
/* IVPR initialization.*/
- lis %r3, __ivpr_base__@h
- ori %r3, %r3, __ivpr_base__@l
- mtIVPR %r3
+ e_lis r3, __ivpr_base__@h
+ e_or2i 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
+ e_lis r3, _unhandled_exception@h
+ e_or2i 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
+
+ se_blr
.section .handlers, "ax"
@@ -398,7 +402,7 @@ _ivinit:
.weak _unhandled_exception
.type _unhandled_exception, @function
_unhandled_exception:
- b _unhandled_exception
+ se_b _unhandled_exception
#endif /* !defined(__DOXYGEN__) */