arm: remove support for legacy kernels
Change-Id: I93c2dd6bf7286f50cb2702a94cbc85dc3bdee807 Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
parent
dccec68e0f
commit
3a6bd2a552
10 changed files with 31 additions and 318 deletions
|
@ -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:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue