aboutsummaryrefslogtreecommitdiffstats
path: root/os/rt/ports
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-11-19 14:25:43 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-11-19 14:25:43 +0000
commitafdfd9880ba8d0bb4b48d68ea3ff05d7d0f5cea8 (patch)
treebbbf26b0380994236187024b49f9b760ea7935c0 /os/rt/ports
parent67019eaa34ed752b62d30c8f5a9fd5a06c1c4941 (diff)
downloadChibiOS-afdfd9880ba8d0bb4b48d68ea3ff05d7d0f5cea8.tar.gz
ChibiOS-afdfd9880ba8d0bb4b48d68ea3ff05d7d0f5cea8.tar.bz2
ChibiOS-afdfd9880ba8d0bb4b48d68ea3ff05d7d0f5cea8.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@6495 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/rt/ports')
-rw-r--r--os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s8
-rw-r--r--os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s8
-rw-r--r--os/rt/ports/e200/chcore.c8
-rw-r--r--os/rt/ports/e200/chcore.h10
-rw-r--r--os/rt/ports/e200/compilers/GCC/mk/port_spc56elxx.mk3
5 files changed, 20 insertions, 17 deletions
diff --git a/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s b/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s
index 25f05fdc1..bd388a0a5 100644
--- a/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s
+++ b/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s
@@ -26,10 +26,6 @@
* @{
*/
-#define _FROM_ASM_
-#include "chconf.h"
-#include "chcore.h"
-
#if !defined(FALSE) || defined(__DOXYGEN__)
#define FALSE 0
#endif
@@ -38,6 +34,10 @@
#define TRUE 1
#endif
+#define _FROM_ASM_
+#include "chconf.h"
+#include "chcore.h"
+
#if !defined(__DOXYGEN__)
.set CONTEXT_OFFSET, 12
diff --git a/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s b/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
index 3bcc00c92..9b125ef7c 100644
--- a/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
+++ b/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
@@ -26,10 +26,6 @@
* @{
*/
-#define _FROM_ASM_
-#include "chconf.h"
-#include "chcore.h"
-
#if !defined(FALSE) || defined(__DOXYGEN__)
#define FALSE 0
#endif
@@ -38,6 +34,10 @@
#define TRUE 1
#endif
+#define _FROM_ASM_
+#include "chconf.h"
+#include "chcore.h"
+
#if !defined(__DOXYGEN__)
.set CONTEXT_OFFSET, 12
diff --git a/os/rt/ports/e200/chcore.c b/os/rt/ports/e200/chcore.c
index 6205b8084..a74c76cad 100644
--- a/os/rt/ports/e200/chcore.c
+++ b/os/rt/ports/e200/chcore.c
@@ -60,9 +60,9 @@
* switch performance so optimize here as much as you can.
*/
#if !defined(__DOXYGEN__)
-__attribute__((naked, required))
+__attribute__((naked))
#endif
-static void port_dummy1(void) {
+void port_dummy1(void) {
asm (".global _port_switch");
asm ("_port_switch:");
@@ -91,9 +91,9 @@ static void port_dummy1(void) {
* invoked.
*/
#if !defined(__DOXYGEN__)
-__attribute__((naked, required))
+__attribute__((naked))
#endif
-static void port_dummy2(void) {
+void port_dummy2(void) {
asm (".global _port_thread_start");
asm ("_port_thread_start:");
diff --git a/os/rt/ports/e200/chcore.h b/os/rt/ports/e200/chcore.h
index 8ea8d0d4f..70bddf239 100644
--- a/os/rt/ports/e200/chcore.h
+++ b/os/rt/ports/e200/chcore.h
@@ -29,10 +29,6 @@
#ifndef _CHCORE_H_
#define _CHCORE_H_
-#if CH_DBG_ENABLE_STACK_CHECK
-#error "option CH_DBG_ENABLE_STACK_CHECK not supported by this port"
-#endif
-
/*===========================================================================*/
/* Module constants. */
/*===========================================================================*/
@@ -360,6 +356,10 @@ struct context {
/* External declarations. */
/*===========================================================================*/
+/* The following code is not processed when the file is included from an
+ asm module.*/
+#if !defined(_FROM_ASM_)
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -369,6 +369,8 @@ extern "C" {
}
#endif
+#endif /* !defined(_FROM_ASM_) */
+
/*===========================================================================*/
/* Module inline functions. */
/*===========================================================================*/
diff --git a/os/rt/ports/e200/compilers/GCC/mk/port_spc56elxx.mk b/os/rt/ports/e200/compilers/GCC/mk/port_spc56elxx.mk
index 192ee1773..0133e16f3 100644
--- a/os/rt/ports/e200/compilers/GCC/mk/port_spc56elxx.mk
+++ b/os/rt/ports/e200/compilers/GCC/mk/port_spc56elxx.mk
@@ -1,8 +1,9 @@
# List of the ChibiOS/RT e200z4 SPC56ELxx port files.
-PORTSRC = #${CHIBIOS}/os/rt/ports/e200/chcore.c
+PORTSRC = ${CHIBIOS}/os/rt/ports/e200/chcore.c
PORTASM = $(CHIBIOS)/os/common/ports/e200/devices/SPC56ELxx/boot.s \
$(CHIBIOS)/os/common/ports/e200/compilers/GCC/vectors.s \
+ $(CHIBIOS)/os/common/ports/e200/compilers/GCC/ivor.s \
$(CHIBIOS)/os/common/ports/e200/compilers/GCC/crt0.s
PORTINC = ${CHIBIOS}/os/common/ports/e200/devices/SPC56ELxx \