diff --git a/trunk/bootrom/build/buildtools/commondefs.config b/trunk/bootrom/build/buildtools/commondefs.config index 138abf2..e7cebd3 100644 --- a/trunk/bootrom/build/buildtools/commondefs.config +++ b/trunk/bootrom/build/buildtools/commondefs.config @@ -21,6 +21,7 @@ BROM_COMMONDEFS_CONFIG_ = TRUE #BROM_ENABLE_BOOTROM_WRITE = TRUE #BROM_DEV_EARLY_RELEASE = TRUE #BROM_DEF_LINK_SCATLD = TRUE +BROM_ENABLE_SCATLD_VFP = TRUE #BROM_ENABLE_THREAD = TRUE ifdef BROM_ENABLE_BOOTROM_WRITE @@ -35,6 +36,9 @@ endif ifdef BROM_ENABLE_THREAD MACRO_FLAGS += -DBROM_ENABLE_THREAD endif +ifdef BROM_ENABLE_SCATLD_VFP +MACRO_FLAGS += -DBROM_ENABLE_SCATLD_VFP +endif #---------------------------------------------------------------------------- endif # BROM_COMMONDEFS_CONFIG_ diff --git a/trunk/bootrom/build/libraries/init/common/crt0_excp.c b/trunk/bootrom/build/libraries/init/common/crt0_excp.c index a26e2cd..2f1211d 100644 --- a/trunk/bootrom/build/libraries/init/common/crt0_excp.c +++ b/trunk/bootrom/build/libraries/init/common/crt0_excp.c @@ -39,6 +39,22 @@ LSYM(0) stm r3!,{r0-r1} cmp r3, r12 blt BSYM(0) + +#ifdef SDK_ARM11 + // disable VFP + fmrx r12, fpexc + bic r12, r12, #HW_FPEXC_VFP_ENABLE + fmxr fpexc, r12 + +#ifdef BROM_ENABLE_SCATLD_VFP + // set undef inst handler + INASM_EXTERN( i_osUndefInstHandler ) + ldr r3, =HW_UDEF_VECTOR_BUF + ldr r0, =i_osUndefInstHandler + str r0, [r3] +#endif // BROM_ENABLE_SCATLD_VFP +#endif // SDK_ARM11 + bx lr i_stupExcpVennerCode