<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">diff --git a/c/src/lib/libbsp/arm/lpc32xx/make/custom/lpc32xx.inc b/c/src/lib/libbsp/arm/lpc32xx/make/custom/lpc32xx.inc<o:p></o:p></p>
<p class="MsoNormal">old mode 100644<o:p></o:p></p>
<p class="MsoNormal">new mode 100755<o:p></o:p></p>
<p class="MsoNormal">index f184741..1d478ce<o:p></o:p></p>
<p class="MsoNormal">--- a/c/src/lib/libbsp/arm/lpc32xx/make/custom/lpc32xx.inc<o:p></o:p></p>
<p class="MsoNormal">+++ b/c/src/lib/libbsp/arm/lpc32xx/make/custom/lpc32xx.inc<o:p></o:p></p>
<p class="MsoNormal">@@ -6,7 +6,8 @@ include $(RTEMS_ROOT)/make/custom/default.cfg<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"> RTEMS_CPU = arm<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">-CPU_CFLAGS = -mcpu=arm926ej-s -mthumb<o:p></o:p></p>
<p class="MsoNormal">+#CPU_CFLAGS = -mcpu=arm926ej-s -mthumb<o:p></o:p></p>
<p class="MsoNormal">+CPU_CFLAGS = -mcpu=arm926ej-s -mfpu=vfp -mfloat-abi=softfp<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"> CFLAGS_OPTIMIZE_V ?= -O2 -g<o:p></o:p></p>
<p class="MsoNormal">CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections<o:p></o:p></p>
<p class="MsoNormal">diff --git a/c/src/lib/libbsp/arm/shared/start/start.S b/c/src/lib/libbsp/arm/shared/start/start.S<o:p></o:p></p>
<p class="MsoNormal">old mode 100644<o:p></o:p></p>
<p class="MsoNormal">new mode 100755<o:p></o:p></p>
<p class="MsoNormal">index 30501be..cb3bff7<o:p></o:p></p>
<p class="MsoNormal">--- a/c/src/lib/libbsp/arm/shared/start/start.S<o:p></o:p></p>
<p class="MsoNormal">+++ b/c/src/lib/libbsp/arm/shared/start/start.S<o:p></o:p></p>
<p class="MsoNormal">@@ -19,9 +19,9 @@<o:p></o:p></p>
<p class="MsoNormal">  */<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"> #include <rtems/asm.h><o:p></o:p></p>
<p class="MsoNormal">-#include <rtems/system.h>       <o:p></o:p></p>
<p class="MsoNormal">+#include <rtems/system.h><o:p></o:p></p>
<p class="MsoNormal">#include <rtems/score/cpu.h><o:p></o:p></p>
<p class="MsoNormal">-              <o:p></o:p></p>
<p class="MsoNormal">+<o:p></o:p></p>
<p class="MsoNormal">#include <bspopts.h><o:p></o:p></p>
<p class="MsoNormal">#include <bsp/irq.h><o:p></o:p></p>
<p class="MsoNormal">#include <bsp/linker-symbols.h><o:p></o:p></p>
<p class="MsoNormal">@@ -265,6 +265,7 @@ bsp_start_skip_hyp_svc_switch:<o:p></o:p></p>
<p class="MsoNormal">               /* Stay in SVC mode */<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"> #ifdef ARM_MULTILIB_VFP<o:p></o:p></p>
<p class="MsoNormal">+#ifndef ARM_MULTILIB_ARCH_V5TEJ<o:p></o:p></p>
<p class="MsoNormal">               /* Read CPACR */<o:p></o:p></p>
<p class="MsoNormal">               mrc p15, 0, r0, c1, c0, 2<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">@@ -280,11 +281,18 @@ bsp_start_skip_hyp_svc_switch:<o:p></o:p></p>
<p class="MsoNormal">               /* Write CPACR */<o:p></o:p></p>
<p class="MsoNormal">               mcr p15, 0, r0, c1, c0, 2<o:p></o:p></p>
<p class="MsoNormal">               isb<o:p></o:p></p>
<p class="MsoNormal">+#endif<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">                /* Enable FPU */<o:p></o:p></p>
<p class="MsoNormal">               mov r0, #(1 << 30)<o:p></o:p></p>
<p class="MsoNormal">               vmsr FPEXC, r0<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">+#ifdef ARM_MULTILIB_ARCH_V5TEJ<o:p></o:p></p>
<p class="MsoNormal">+             /* Enable FPU Run Fast*/<o:p></o:p></p>
<p class="MsoNormal">+             mov r0, #(3 << 24)<o:p></o:p></p>
<p class="MsoNormal">+             vmsr FPSCR, r0<o:p></o:p></p>
<p class="MsoNormal">+#endif<o:p></o:p></p>
<p class="MsoNormal">+<o:p></o:p></p>
<p class="MsoNormal">#ifdef BSP_START_NEEDS_REGISTER_INITIALIZATION<o:p></o:p></p>
<p class="MsoNormal">               bl bsp_start_init_registers_vfp<o:p></o:p></p>
<p class="MsoNormal">#endif<o:p></o:p></p>
<p class="MsoNormal">@@ -399,6 +407,7 @@ _start:<o:p></o:p></p>
<p class="MsoNormal">#endif<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"> #ifdef ARM_MULTILIB_VFP<o:p></o:p></p>
<p class="MsoNormal">+#ifndef ARM_MULTILIB_ARCH_V5TEJ<o:p></o:p></p>
<p class="MsoNormal">               /*<o:p></o:p></p>
<p class="MsoNormal">                * Enable CP10 and CP11 coprocessors for privileged and user mode in<o:p></o:p></p>
<p class="MsoNormal">                * CPACR (bits 20-23).  Ensure that write to register completes.<o:p></o:p></p>
<p class="MsoNormal">@@ -409,6 +418,7 @@ _start:<o:p></o:p></p>
<p class="MsoNormal">               str           r1, [r0]<o:p></o:p></p>
<p class="MsoNormal">               dsb<o:p></o:p></p>
<p class="MsoNormal">               isb<o:p></o:p></p>
<p class="MsoNormal">+#endif<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"> #ifdef BSP_START_NEEDS_REGISTER_INITIALIZATION<o:p></o:p></p>
<p class="MsoNormal">               bl bsp_start_init_registers_vfp<o:p></o:p></p>
<p class="MsoNormal">diff --git a/cpukit/score/cpu/arm/arm-context-validate.S b/cpukit/score/cpu/arm/arm-context-validate.S<o:p></o:p></p>
<p class="MsoNormal">old mode 100644<o:p></o:p></p>
<p class="MsoNormal">new mode 100755<o:p></o:p></p>
<p class="MsoNormal">index fdfb6c1..6485993<o:p></o:p></p>
<p class="MsoNormal">--- a/cpukit/score/cpu/arm/arm-context-validate.S<o:p></o:p></p>
<p class="MsoNormal">+++ b/cpukit/score/cpu/arm/arm-context-validate.S<o:p></o:p></p>
<p class="MsoNormal">@@ -46,7 +46,11 @@<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">                .section .text<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">+#ifdef __thumb__<o:p></o:p></p>
<p class="MsoNormal">FUNCTION_THUMB_ENTRY(_CPU_Context_validate)<o:p></o:p></p>
<p class="MsoNormal">+#else<o:p></o:p></p>
<p class="MsoNormal">+FUNCTION_ENTRY(_CPU_Context_validate)<o:p></o:p></p>
<p class="MsoNormal">+#endif<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">                /* Save */<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">@@ -99,12 +103,16 @@ FUNCTION_THUMB_ENTRY(_CPU_Context_validate)<o:p></o:p></p>
<p class="MsoNormal">#ifdef ARM_MULTILIB_VFP<o:p></o:p></p>
<p class="MsoNormal">               /* R3 contains the FPSCR */<o:p></o:p></p>
<p class="MsoNormal">               vmrs      r3, FPSCR<o:p></o:p></p>
<p class="MsoNormal">+#ifdef ARM_MULTILIB_ARCH_V5TEJ<o:p></o:p></p>
<p class="MsoNormal">+             ldr          r4, =0xf000001f<o:p></o:p></p>
<p class="MsoNormal">+#else<o:p></o:p></p>
<p class="MsoNormal">               movs     r4, #0x001f<o:p></o:p></p>
<p class="MsoNormal">#ifdef ARM_MULTILIB_ARCH_V7M<o:p></o:p></p>
<p class="MsoNormal">               movt     r4, #0xf000<o:p></o:p></p>
<p class="MsoNormal">#else<o:p></o:p></p>
<p class="MsoNormal">               movt     r4, #0xf800<o:p></o:p></p>
<p class="MsoNormal">#endif<o:p></o:p></p>
<p class="MsoNormal">+#endif<o:p></o:p></p>
<p class="MsoNormal">               bic          r3, r3, r4<o:p></o:p></p>
<p class="MsoNormal">               and        r4, r4, r0<o:p></o:p></p>
<p class="MsoNormal">               orr          r3, r3, r4<o:p></o:p></p>
<p class="MsoNormal">diff --git a/cpukit/score/cpu/arm/arm-context-volatile-clobber.S b/cpukit/score/cpu/arm/arm-context-volatile-clobber.S<o:p></o:p></p>
<p class="MsoNormal">old mode 100644<o:p></o:p></p>
<p class="MsoNormal">new mode 100755<o:p></o:p></p>
<p class="MsoNormal">index 7970b8e..cf3f428<o:p></o:p></p>
<p class="MsoNormal">--- a/cpukit/score/cpu/arm/arm-context-volatile-clobber.S<o:p></o:p></p>
<p class="MsoNormal">+++ b/cpukit/score/cpu/arm/arm-context-volatile-clobber.S<o:p></o:p></p>
<p class="MsoNormal">@@ -20,7 +20,11 @@<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">                .section .text<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">+#ifdef __thumb__<o:p></o:p></p>
<p class="MsoNormal">FUNCTION_THUMB_ENTRY(_CPU_Context_volatile_clobber)<o:p></o:p></p>
<p class="MsoNormal">+#else<o:p></o:p></p>
<p class="MsoNormal">+FUNCTION_ENTRY(_CPU_Context_volatile_clobber)<o:p></o:p></p>
<p class="MsoNormal">+#endif<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"> .macro clobber_register reg<o:p></o:p></p>
<p class="MsoNormal">               sub         r0, r0, #1<o:p></o:p></p>
<p class="MsoNormal">@@ -29,8 +33,12 @@ FUNCTION_THUMB_ENTRY(_CPU_Context_volatile_clobber)<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"> #ifdef ARM_MULTILIB_VFP<o:p></o:p></p>
<p class="MsoNormal">               vmrs      r1, FPSCR<o:p></o:p></p>
<p class="MsoNormal">+#ifdef ARM_MULTILIB_ARCH_V5TEJ<o:p></o:p></p>
<p class="MsoNormal">+             ldr          r2, =0xf800001f<o:p></o:p></p>
<p class="MsoNormal">+#else<o:p></o:p></p>
<p class="MsoNormal">               movs     r2, #0x001f<o:p></o:p></p>
<p class="MsoNormal">               movt     r2, #0xf800<o:p></o:p></p>
<p class="MsoNormal">+#endif<o:p></o:p></p>
<p class="MsoNormal">               bic          r1, r1, r2<o:p></o:p></p>
<p class="MsoNormal">               and        r2, r2, r0<o:p></o:p></p>
<p class="MsoNormal">               orr          r1, r1, r2<o:p></o:p></p>
<p class="MsoNormal">diff --git a/cpukit/score/cpu/arm/rtems/score/arm.h b/cpukit/score/cpu/arm/rtems/score/arm.h<o:p></o:p></p>
<p class="MsoNormal">old mode 100644<o:p></o:p></p>
<p class="MsoNormal">new mode 100755<o:p></o:p></p>
<p class="MsoNormal">index 666ee54..929585e<o:p></o:p></p>
<p class="MsoNormal">--- a/cpukit/score/cpu/arm/rtems/score/arm.h<o:p></o:p></p>
<p class="MsoNormal">+++ b/cpukit/score/cpu/arm/rtems/score/arm.h<o:p></o:p></p>
<p class="MsoNormal">@@ -35,6 +35,10 @@ extern "C" {<o:p></o:p></p>
<p class="MsoNormal">#elif defined(__ARM_ARCH_6M__)<o:p></o:p></p>
<p class="MsoNormal">   #define CPU_MODEL_NAME "ARMv6M"<o:p></o:p></p>
<p class="MsoNormal">   #define ARM_MULTILIB_ARCH_V6M<o:p></o:p></p>
<p class="MsoNormal">+#elif defined(__ARM_ARCH_5TEJ__)<o:p></o:p></p>
<p class="MsoNormal">+  #define CPU_MODEL_NAME "ARMv5TEJ"<o:p></o:p></p>
<p class="MsoNormal">+  #define ARM_MULTILIB_ARCH_V5TEJ<o:p></o:p></p>
<p class="MsoNormal">+  #define ARM_MULTILIB_ARCH_V4<o:p></o:p></p>
<p class="MsoNormal">#else<o:p></o:p></p>
<p class="MsoNormal">   #define CPU_MODEL_NAME "ARMv4"<o:p></o:p></p>
<p class="MsoNormal">   #define ARM_MULTILIB_ARCH_V4<o:p></o:p></p>
</div>
</body>
</html>