summaryrefslogtreecommitdiff
path: root/entry.c
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2016-04-06 19:49:18 +0900
committerNIIBE Yutaka <gniibe@fsij.org>2016-04-06 19:49:18 +0900
commitfa8dd7afc88aa69af094392ad23812e983aa3d9e (patch)
tree575440ec41c35d5bbd3d0cd45931d82a5279207b /entry.c
parent8e40065311f46b32675f3391919f95228b07efd4 (diff)
Don't use SVC for context switch
Diffstat (limited to 'entry.c')
-rw-r--r--entry.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/entry.c b/entry.c
index e4cbac9..587374d 100644
--- a/entry.c
+++ b/entry.c
@@ -48,7 +48,6 @@
#endif
extern uint8_t __main_stack_end__;
-extern void svc (void);
extern void preempt (void);
extern void chx_timer_expired (void);
extern void chx_handle_intr (void);
@@ -60,18 +59,7 @@ static void nmi (void)
static void hard_fault (void)
{
-#if defined(__ARM_ARCH_6M__)
- register uint32_t primask;
-
- asm ("mrs %0, PRIMASK" : "=r" (primask));
-
- if (primask)
- asm volatile ("b svc");
- else
- for (;;);
-#else
for (;;);
-#endif
}
static void mem_manage (void)
@@ -180,7 +168,7 @@ handler vector_table[] __attribute__ ((section(".startup.vectors"))) = {
none,
/* 0x20 */
none, none, none, /* reserved */
- svc, /* SVCall */
+ none, /* SVCall */
none, /* Debug */
none, /* reserved */
preempt, /* PendSV */