Ignore:
File:
1 edited

Legend:

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

    rb51b1cd r8cf4823  
    117117
    118118#ifdef HIGH_EXCEPTION_VECTORS
    119 /** Activates use of high exception vectors addresses.
    120  *
    121  * "High vectors were introduced into some implementations of ARMv4 and are
    122  * required in ARMv6 implementations. High vectors allow the exception vector
    123  * locations to be moved from their normal address range 0x00000000-0x0000001C
    124  * at the bottom of the 32-bit address space, to an alternative address range
    125  * 0xFFFF0000-0xFFFF001C near the top of the address space. These alternative
    126  * locations are known as the high vectors.
    127  *
    128  * Prior to ARMv6, it is IMPLEMENTATION DEFINED whether the high vectors are
    129  * supported. When they are, a hardware configuration input selects whether
    130  * the normal vectors or the high vectors are to be used from
    131  * reset." ARM Architecture Reference Manual A2.6.11 (p. 64 in the PDF).
    132  *
    133  * ARM920T (gta02) TRM A2.3.5 (PDF p. 36) and ARM926EJ-S (icp) 2.3.2 (PDF p. 42)
    134  * say that armv4 an armv5 chips that we support implement this.
    135  */
     119/** Activates use of high exception vectors addresses. */
    136120static void high_vectors(void)
    137121{
    138         uint32_t control_reg = 0;
     122        uint32_t control_reg;
     123       
    139124        asm volatile (
    140125                "mrc p15, 0, %[control_reg], c1, c0"
     
    168153void exception_init(void)
    169154{
    170         // TODO check for availability of high vectors for <= armv5
    171155#ifdef HIGH_EXCEPTION_VECTORS
    172156        high_vectors();
Note: See TracChangeset for help on using the changeset viewer.