--- /dev/null
+/* ----------------------------------------------------------------------------\r
+ * SAM Software Package License\r
+ * ----------------------------------------------------------------------------\r
+ * Copyright (c) 2015, Atmel Corporation\r
+ *\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions are met:\r
+ *\r
+ * - Redistributions of source code must retain the above copyright notice,\r
+ * this list of conditions and the disclaimer below.\r
+ *\r
+ * Atmel's name may not be used to endorse or promote products derived from\r
+ * this software without specific prior written permission.\r
+ *\r
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR\r
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,\r
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ * ----------------------------------------------------------------------------\r
+ */\r
+\r
+/** \file */\r
+\r
+ MODULE ?cpsr\r
+\r
+ /* Forward declaration of sections. */\r
+ SECTION IRQ_STACK:DATA:NOROOT(2)\r
+ SECTION CSTACK:DATA:NOROOT(3)\r
+\r
+/*----------------------------------------------------------------------------\r
+ * Functions to access CPSR\r
+ *----------------------------------------------------------------------------*/\r
+\r
+ SECTION .v_arm_clr_cpsr_bits:CODE:NOROOT(2)\r
+ PUBLIC v_arm_clr_cpsr_bits\r
+v_arm_clr_cpsr_bits:\r
+ push {r1}\r
+ mrs r1, cpsr\r
+ mvn r0, r0\r
+ and r1, r1,r0\r
+ msr CPSR_c, r1\r
+ pop {r1}\r
+ bx lr\r
+\r
+ SECTION .v_arm_set_cpsr_bits:CODE:NOROOT(2)\r
+ PUBLIC v_arm_set_cpsr_bits\r
+v_arm_set_cpsr_bits:\r
+ push {r1}\r
+ mrs r1, cpsr\r
+ orr r1, r1, r0\r
+ msr cpsr_c, r1\r
+ pop {r1}\r
+ bx lr\r
+\r
+ END\r