aboutsummaryrefslogtreecommitdiffstats
path: root/os/nil/ports/ARMCMx/compilers
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2016-02-16 09:59:21 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2016-02-16 09:59:21 +0000
commit641f2c372605cf405f0dda8536b45a78e0e5e2e2 (patch)
treef120afff37ef959b367a6023749700d5b618beff /os/nil/ports/ARMCMx/compilers
parent5e24a813bef8d7ac5ca79fe9079db0fc2d2bb8b2 (diff)
downloadChibiOS-641f2c372605cf405f0dda8536b45a78e0e5e2e2.tar.gz
ChibiOS-641f2c372605cf405f0dda8536b45a78e0e5e2e2.tar.bz2
ChibiOS-641f2c372605cf405f0dda8536b45a78e0e5e2e2.zip
Tree reorganization.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8899 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/nil/ports/ARMCMx/compilers')
-rw-r--r--os/nil/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk8
-rw-r--r--os/nil/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk8
-rw-r--r--os/nil/ports/ARMCMx/compilers/GCC/nilcoreasm_v6m.s124
-rw-r--r--os/nil/ports/ARMCMx/compilers/GCC/nilcoreasm_v7m.s130
-rw-r--r--os/nil/ports/ARMCMx/compilers/GCC/niltypes.h96
5 files changed, 0 insertions, 366 deletions
diff --git a/os/nil/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk b/os/nil/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
deleted file mode 100644
index 6fa7d52ea..000000000
--- a/os/nil/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-# List of the ChibiOS/NIL ARMv6M generic port files.
-PORTSRC = $(CHIBIOS)/os/nil/ports/ARMCMx/nilcore.c \
- $(CHIBIOS)/os/nil/ports/ARMCMx/nilcore_v6m.c
-
-PORTASM = $(CHIBIOS)/os/nil/ports/ARMCMx/compilers/GCC/nilcoreasm_v6m.s
-
-PORTINC = $(CHIBIOS)/os/nil/ports/ARMCMx \
- $(CHIBIOS)/os/nil/ports/ARMCMx/compilers/GCC
diff --git a/os/nil/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk b/os/nil/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
deleted file mode 100644
index 3e9c30125..000000000
--- a/os/nil/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-# List of the ChibiOS/NIL ARMv7M generic port files.
-PORTSRC = $(CHIBIOS)/os/nil/ports/ARMCMx/nilcore.c \
- $(CHIBIOS)/os/nil/ports/ARMCMx/nilcore_v7m.c
-
-PORTASM = $(CHIBIOS)/os/nil/ports/ARMCMx/compilers/GCC/nilcoreasm_v7m.s
-
-PORTINC = $(CHIBIOS)/os/nil/ports/ARMCMx \
- $(CHIBIOS)/os/nil/ports/ARMCMx/compilers/GCC
diff --git a/os/nil/ports/ARMCMx/compilers/GCC/nilcoreasm_v6m.s b/os/nil/ports/ARMCMx/compilers/GCC/nilcoreasm_v6m.s
deleted file mode 100644
index 68862f96e..000000000
--- a/os/nil/ports/ARMCMx/compilers/GCC/nilcoreasm_v6m.s
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 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 ARMCMx/compilers/GCC/nilcoreasm_v6m.s
- * @brief ARMv6-M architecture port low level code.
- *
- * @addtogroup ARMCMx_GCC_CORE
- * @{
- */
-
-#if !defined(FALSE) || defined(__DOXYGEN__)
-#define FALSE 0
-#endif
-
-#if !defined(TRUE) || defined(__DOXYGEN__)
-#define TRUE 1
-#endif
-
-#define _FROM_ASM_
-#include "nilconf.h"
-#include "nilcore.h"
-
-#if !defined(__DOXYGEN__)
-
- .set CONTEXT_OFFSET, 0
- .set SCB_ICSR, 0xE000ED04
- .set ICSR_PENDSVSET, 0x10000000
- .set ICSR_NMIPENDSET, 0x80000000
-
- .cpu cortex-m0
- .fpu softvfp
-
- .thumb
- .text
-
-/*--------------------------------------------------------------------------*
- * Performs a context switch between two threads.
- *--------------------------------------------------------------------------*/
- .thumb_func
- .globl _port_switch
-_port_switch:
- push {r4, r5, r6, r7, lr}
- mov r4, r8
- mov r5, r9
- mov r6, r10
- mov r7, r11
- push {r4, r5, r6, r7}
-
- mov r3, sp
- str r3, [r1, #CONTEXT_OFFSET]
- ldr r3, [r0, #CONTEXT_OFFSET]
- mov sp, r3
-
- pop {r4, r5, r6, r7}
- mov r8, r4
- mov r9, r5
- mov r10, r6
- mov r11, r7
- pop {r4, r5, r6, r7, pc}
-
-/*--------------------------------------------------------------------------*
- * Start a thread by invoking its work function.
- *
- * Threads execution starts here, the code leaves the system critical zone
- * and then jumps into the thread function passed in register R4. The
- * register R5 contains the thread parameter. The function chThdExit() is
- * called on thread function return.
- *--------------------------------------------------------------------------*/
- .thumb_func
- .globl _port_thread_start
-_port_thread_start:
- cpsie i
- mov r0, r5
- blx r4
- mov r3, #0
- bl chSysHalt
-
-/*--------------------------------------------------------------------------*
- * Post-IRQ switch code.
- *
- * Exception handlers return here for context switching.
- *--------------------------------------------------------------------------*/
- .thumb_func
- .globl _port_switch_from_isr
-_port_switch_from_isr:
- bl chSchRescheduleS
- .globl _port_exit_from_isr
-_port_exit_from_isr:
- ldr r2, .L2
- ldr r3, .L3
- str r3, [r2, #0]
-#if CORTEX_ALTERNATE_SWITCH
- cpsie i
-#endif
-.L1: b .L1
-
- .align 2
-.L2: .word SCB_ICSR
-#if CORTEX_ALTERNATE_SWITCH
-.L3: .word ICSR_PENDSVSET
-#else
-.L3: .word ICSR_NMIPENDSET
-#endif
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/nil/ports/ARMCMx/compilers/GCC/nilcoreasm_v7m.s b/os/nil/ports/ARMCMx/compilers/GCC/nilcoreasm_v7m.s
deleted file mode 100644
index a98802798..000000000
--- a/os/nil/ports/ARMCMx/compilers/GCC/nilcoreasm_v7m.s
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 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 ARMCMx/compilers/GCC/nilcoreasm_v7m.s
- * @brief ARMv7-M architecture port low level code.
- *
- * @addtogroup ARMCMx_GCC_CORE
- * @{
- */
-
-#if !defined(FALSE) || defined(__DOXYGEN__)
-#define FALSE 0
-#endif
-
-#if !defined(TRUE) || defined(__DOXYGEN__)
-#define TRUE 1
-#endif
-
-#define _FROM_ASM_
-#include "nilconf.h"
-#include "nilcore.h"
-
-#if !defined(__DOXYGEN__)
-
- .set CONTEXT_OFFSET, 0
- .set SCB_ICSR, 0xE000ED04
- .set ICSR_PENDSVSET, 0x10000000
-
- .syntax unified
- .cpu cortex-m4
-#if CORTEX_USE_FPU
- .fpu fpv4-sp-d16
-#else
- .fpu softvfp
-#endif
-
- .thumb
- .text
-
-/*--------------------------------------------------------------------------*
- * Performs a context switch between two threads.
- *--------------------------------------------------------------------------*/
- .thumb_func
- .globl _port_switch
-_port_switch:
- push {r4, r5, r6, r7, r8, r9, r10, r11, lr}
-#if CORTEX_USE_FPU
- vpush {s16-s31}
-#endif
-
- str sp, [r1, #CONTEXT_OFFSET]
-#if (CORTEX_SIMPLIFIED_PRIORITY == FALSE) && \
- ((CORTEX_MODEL == 3) || (CORTEX_MODEL == 4))
- /* Workaround for ARM errata 752419, only applied if
- condition exists for it to be triggered.*/
- ldr r3, [r0, #CONTEXT_OFFSET]
- mov sp, r3
-#else
- ldr sp, [r0, #CONTEXT_OFFSET]
-#endif
-
-#if CORTEX_USE_FPU
- vpop {s16-s31}
-#endif
- pop {r4, r5, r6, r7, r8, r9, r10, r11, pc}
-
-/*--------------------------------------------------------------------------*
- * Start a thread by invoking its work function.
- *
- * Threads execution starts here, the code leaves the system critical zone
- * and then jumps into the thread function passed in register R4. The
- * register R5 contains the thread parameter. The function chThdExit() is
- * called on thread function return.
- *--------------------------------------------------------------------------*/
- .thumb_func
- .globl _port_thread_start
-_port_thread_start:
-#if !CORTEX_SIMPLIFIED_PRIORITY
- movs r3, #0
- msr BASEPRI, r3
-#else /* CORTEX_SIMPLIFIED_PRIORITY */
- cpsie i
-#endif /* CORTEX_SIMPLIFIED_PRIORITY */
- mov r0, r5
- blx r4
- mov r3, #0
- bl chSysHalt
-
-/*--------------------------------------------------------------------------*
- * Post-IRQ switch code.
- *
- * Exception handlers return here for context switching.
- *--------------------------------------------------------------------------*/
- .thumb_func
- .globl _port_switch_from_isr
-_port_switch_from_isr:
- bl chSchRescheduleS
- .globl _port_exit_from_isr
-_port_exit_from_isr:
-#if CORTEX_SIMPLIFIED_PRIORITY
- movw r3, #:lower16:SCB_ICSR
- movt r3, #:upper16:SCB_ICSR
- mov r2, ICSR_PENDSVSET
- str r2, [r3, #0]
- cpsie i
-#else /* !CORTEX_SIMPLIFIED_PRIORITY */
- svc #0
-#endif /* !CORTEX_SIMPLIFIED_PRIORITY */
-.L1: b .L1
-
-#endif /* !defined(__DOXYGEN__) */
-
-/** @} */
diff --git a/os/nil/ports/ARMCMx/compilers/GCC/niltypes.h b/os/nil/ports/ARMCMx/compilers/GCC/niltypes.h
deleted file mode 100644
index 402110096..000000000
--- a/os/nil/ports/ARMCMx/compilers/GCC/niltypes.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 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 ARMCMx/compilers/GCC/niltypes.h
- * @brief ARM Cortex-Mx port system types.
- *
- * @addtogroup ARMCMx_GCC_CORE
- * @{
- */
-
-#ifndef _NILTYPES_H_
-#define _NILTYPES_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
-/** @} */
-
-typedef uint32_t syssts_t; /**< System status word. */
-typedef uint32_t rtcnt_t; /**< Realtime counter. */
-typedef uint8_t tstate_t; /**< Thread state. */
-typedef int32_t msg_t; /**< Inter-thread message. */
-typedef uint32_t eventmask_t; /**< Mask of event identifiers. */
-typedef int32_t cnt_t; /**< Generic signed counter. */
-typedef uint32_t ucnt_t; /**< Generic unsigned counter. */
-
-/**
- * @brief Type of system time.
- */
-#if (NIL_CFG_ST_RESOLUTION == 32) || defined(__DOXYGEN__)
-typedef uint32_t systime_t;
-#else
-typedef uint16_t systime_t;
-#endif
-
-/**
- * @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 the
- * realtime counter precision could be degraded.
- */
-#define NOINLINE __attribute__((noinline))
-
-/**
- * @brief Optimized thread function declaration macro.
- */
-#define PORT_THD_FUNCTION(tname, arg) \
- __attribute__((noreturn)) void tname(void *arg)
-
-/**
- * @brief Packed variable specifier.
- */
-#define PACKED_VAR __attribute__((packed))
-
-#endif /* _NILTYPES_H_ */
-
-/** @} */