diff options
| author | Grissiom <[email protected]> | 2013-05-31 18:32:21 +0800 |
|---|---|---|
| committer | Grissiom <[email protected]> | 2013-05-31 18:32:21 +0800 |
| commit | ec1203bfab2d8d518cb9991f57a4c8d30ec79dc9 (patch) | |
| tree | 150263510c5bfea8acd126b3ca885abb16e25259 /libcpu/arm/rm48x50/stack.c | |
| parent | 939c58c2957df263f6a46040987db2671c0dcb96 (diff) | |
rm48x50: turn on VFP support
This support Common VFPv2 sub-architecture.
Diffstat (limited to 'libcpu/arm/rm48x50/stack.c')
| -rw-r--r-- | libcpu/arm/rm48x50/stack.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libcpu/arm/rm48x50/stack.c b/libcpu/arm/rm48x50/stack.c index faa39b4c13..a11d8896f9 100644 --- a/libcpu/arm/rm48x50/stack.c +++ b/libcpu/arm/rm48x50/stack.c @@ -57,6 +57,22 @@ rt_uint8_t *rt_hw_stack_init(void *tentry, void *parameter, else *(--stk) = SVCMODE; /* arm mode */ +#ifdef __TI_VFP_SUPPORT__ + #define VFP_DATA_NR 32 + { + int i; + + for (i = 0; i < VFP_DATA_NR; i++) + { + *(--stk) = 0; + } + /* FPSCR TODO: do we need to set the values other than 0? */ + *(--stk) = 0; + /* FPEXC. Enable the FVP by default. */ + *(--stk) = 0x40000000; + } +#endif + /* return task's current stack address */ return (rt_uint8_t *)stk; } |
