arm: remove support for legacy kernels

Change-Id: I93c2dd6bf7286f50cb2702a94cbc85dc3bdee807
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
Andrew Boie 2016-11-03 13:00:41 -07:00 committed by Kumar Gala
commit 3a6bd2a552
10 changed files with 31 additions and 318 deletions

View file

@ -36,10 +36,8 @@ GTEXT(_Swap)
GTEXT(__svc)
#endif
GTEXT(__pendsv)
#ifdef CONFIG_KERNEL_V2
GTEXT(_get_next_ready_thread)
GDATA(_k_neg_eagain)
#endif
GDATA(_nanokernel)
@ -122,45 +120,14 @@ SECTION_FUNC(TEXT, __pendsv)
/* find out incoming thread (fiber or task) */
#ifdef CONFIG_KERNEL_V2
mov.n v2, lr
movs.n v1, r1
blx _get_next_ready_thread
movs.n r1, v1
mov.n lr, v2
movs.n r2, r0
#else
/* is there a fiber ready ? */
ldr r2, [r1, #__tNANO_fiber_OFFSET]
cmp r2, #0
/*
* if so, remove fiber from list
* else, the task is the thread we're switching in
*/
#if defined(CONFIG_CPU_CORTEX_M0_M0PLUS)
/* branch over remove if eq otherwise we branch over switch */
beq _switch_in_task
ldr r0, [r2, #__tTCS_link_OFFSET] /* then */
str r0, [r1, #__tNANO_fiber_OFFSET] /* then */
bne _switch_in_task_endif
_switch_in_task:
ldr r2, [r1, #__tNANO_task_OFFSET] /* else */
_switch_in_task_endif:
#else /* CONFIG_CPU_CORTEX_M3_M4 */
itte ne
ldrne.w r0, [r2, #__tTCS_link_OFFSET] /* then */
strne.w r0, [r1, #__tNANO_fiber_OFFSET] /* then */
ldreq.w r2, [r1, #__tNANO_task_OFFSET] /* else */
#endif /* CONFIG_CPU_CORTEX_M0_M0PLUS */
#endif /* CONFIG_KERNEL_V2 */
/* r2 contains the new thread */
#if !defined(CONFIG_KERNEL_V2)
ldr r0, [r2, #__tTCS_flags_OFFSET]
str r0, [r1, #__tNANO_flags_OFFSET]
#endif
str r2, [r1, #__tNANO_current_OFFSET]
/*
@ -271,7 +238,6 @@ SECTION_FUNC(TEXT, __svc)
_context_switch:
#endif
#if CONFIG_KERNEL_V2
/*
* Set _Swap()'s default return code to -EAGAIN. This eliminates the
* need for the timeout code to invoke fiberRtnValueSet().
@ -281,7 +247,6 @@ _context_switch:
ldr r3, =_k_neg_eagain
ldr r3, [r3, #0]
str r3, [r2, #__tESF_a1_OFFSET]
#endif
/*
* Unlock interrupts: