<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..441976d<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=hard<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..f95a9d3<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">+#ifdef ARM_MULTILIB_HAS_CPACR<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 __FAST_MATH__<o:p></o:p></p>
<p class="MsoNormal">+  /* Enable Fast FPU options */<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">+#ifdef ARM_MULTILIB_HAS_CPACR<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/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..7e511ac<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">@@ -57,6 +57,13 @@ extern "C" {<o:p></o:p></p>
<p class="MsoNormal">#if defined(__ARM_ARCH_7A__)<o:p></o:p></p>
<p class="MsoNormal">   #define ARM_MULTILIB_CACHE_LINE_MAX_64<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">+#if defined(__ARM_ARCH_7A__) \<o:p></o:p></p>
<p class="MsoNormal">+  || defined(__ARM_ARCH_7M__) \<o:p></o:p></p>
<p class="MsoNormal">+  || defined(__ARM_ARCH_7EM__)<o:p></o:p></p>
<p class="MsoNormal">+  #define ARM_MULTILIB_HAS_CPACR<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"><o:p> </o:p></p>
<p class="MsoNormal">#if !defined(__SOFTFP__)<o:p></o:p></p>
<p class="MsoNormal">   #if defined(__ARM_NEON__)<o:p></o:p></p>
</div>
</body>
</html>