Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/src/exception.c

    ra99a3d7 r2096871  
    120120static void high_vectors(void)
    121121{
    122         uint32_t control_reg;
    123        
     122        uint32_t control_reg = 0;
     123       
     124#if defined(PROCESSOR_armv7)
     125        asm volatile (
     126                "mrc p15, 0, %[control_reg], c1, c0"
     127                : [control_reg] "=r" (control_reg)
     128        );
     129#elif defined(PROCESSOR_armv4) | defined(PROCESSOR_armv5)
    124130        asm volatile (
    125131                "mrc p15, 0, %[control_reg], c1, c1"
    126132                : [control_reg] "=r" (control_reg)
    127133        );
     134#endif
    128135       
    129136        /* switch on the high vectors bit */
    130137        control_reg |= CP15_R1_HIGH_VECTORS_BIT;
    131138       
     139#if defined(PROCESSOR_armv7)
     140        asm volatile (
     141                "mcr p15, 0, %[control_reg], c1, c0"
     142                :: [control_reg] "r" (control_reg)
     143        );
     144#elif defined(PROCESSOR_armv4) | defined(PROCESSOR_armv5)
    132145        asm volatile (
    133146                "mcr p15, 0, %[control_reg], c1, c1"
    134147                :: [control_reg] "r" (control_reg)
    135148        );
     149#endif
    136150}
    137151#endif
Note: See TracChangeset for help on using the changeset viewer.