source: rtems/c/src/lib/libbsp/arm/lm3s69xx/0005-Evil-hack-for-BASEPRI-BASEPRI_MAX.patch @ e263c16

4.115
Last change on this file since e263c16 was e263c16, checked in by Sebastian Huber <sebastian.huber@…>, on 09/24/11 at 13:23:42

2011-09-24 Sebastian Huber <sebastian.huber@…>

  • 0001-Fixed-interrupt-handling-for-ARMv7M.patch, 0002-Fixed-system-handler-priority-register-access.patch, 0003-Disable-priority_mask-unused-for-NVIC.patch, 0004-Typo.patch, 0005-Evil-hack-for-BASEPRI-BASEPRI_MAX.patch, 0006-Evil-hack-to-increase-the-RAM-size.patch, bsp_specs, ChangeLog?, clock/clock-config.c, configure.ac, console/console-config.c, console/uart.c, .cvsignore, include/bsp.h, include/.cvsignore, include/irq.h, include/lm3s69xx.h, include/uart.h, irq/irq.c, make/custom/lm3s6965.cfg, make/custom/lm3s69xx.inc, Makefile.am, README, start/start.S, startup/bspreset.c, startup/bspstart.c, startup/bspstarthook.c, startup/linkcmds.lm3s6965, timer/timer.c: New files.
  • Property mode set to 100644
File size: 1.6 KB
  • target-arm/helper.c

    From ee20f52f56b076e71f617e4e3cfe413bea73b824 Mon Sep 17 00:00:00 2001
    From: Sebastian Huber <sebastian.huber@embedded-brains.de>
    Date: Fri, 16 Sep 2011 21:28:21 +0200
    Subject: [PATCH 5/6] Evil hack for BASEPRI/BASEPRI_MAX.
    
    ---
     target-arm/helper.c |   11 +++++++++++
     1 files changed, 11 insertions(+), 0 deletions(-)
    
    diff --git a/target-arm/helper.c b/target-arm/helper.c
    index 2fd45c4..d5fc9d3 100644
    a b uint32_t HELPER(v7m_mrs)(CPUState *env, uint32_t reg) 
    19971997        return (env->uncached_cpsr & CPSR_I) != 0;
    19981998    case 17: /* BASEPRI */
    19991999    case 18: /* BASEPRI_MAX */
     2000        /* FIXME */
     2001        return (env->uncached_cpsr & CPSR_I) != 0;
     2002#if 0
    20002003        return env->v7m.basepri;
     2004#endif
    20012005    case 19: /* FAULTMASK */
    20022006        return (env->uncached_cpsr & CPSR_F) != 0;
    20032007    case 20: /* CONTROL */
    void HELPER(v7m_msr)(CPUState *env, uint32_t reg, uint32_t val) 
    20522056            env->uncached_cpsr &= ~CPSR_I;
    20532057        break;
    20542058    case 17: /* BASEPRI */
     2059    case 18: /* BASEPRI_MAX */
     2060        if (val)
     2061            env->uncached_cpsr |= CPSR_I;
     2062        else
     2063            env->uncached_cpsr &= ~CPSR_I;
     2064#if 0
    20552065        env->v7m.basepri = val & 0xff;
    20562066        break;
    20572067    case 18: /* BASEPRI_MAX */
    void HELPER(v7m_msr)(CPUState *env, uint32_t reg, uint32_t val) 
    20592069        if (val != 0 && (val < env->v7m.basepri || env->v7m.basepri == 0))
    20602070            env->v7m.basepri = val;
    20612071        break;
     2072#endif
    20622073    case 19: /* FAULTMASK */
    20632074        if (val & 1)
    20642075            env->uncached_cpsr |= CPSR_F;
Note: See TracBrowser for help on using the repository browser.