Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • boot/arch/arm32/src/asm.S

    rcfeb368 rb5a3b50  
    6161        #
    6262
    63         #
    64         # r0 is kernel entry point
    65         # r1 is pointer to the bootinfo structure
     63#if defined(MACHINE_gta02)
    6664
    6765#define CP15_C1_IC              12
    68 #define CP15_C1_BP              11
    6966#define CP15_C1_DC              2
     67#define CP15_C7_SEG_SHIFT       5
     68#define CP15_C7_SEG_SIZE        3
     69#define CP15_C7_IDX_SHIFT       26
     70
    7071        # Disable I-cache and D-cache before the kernel is started.
    7172        mrc     p15, 0, r4, c1, c0, 0
    7273        bic     r4, r4, #(1 << CP15_C1_DC)
    7374        bic     r4, r4, #(1 << CP15_C1_IC)
    74         bic     r4, r4, #(1 << CP15_C1_BP)
    7575        mcr     p15, 0, r4, c1, c0, 0
    76 
    77        
    78         #Wait for the operations to complete
    79 #ifdef PROCESSOR_ARCH_armv7_a
    80         dsb
    81 #else
    82         #cp15 dsb, r4 is ignored (should be zero)
    83         mcr p15, 0, r4, c7, c10, 4
    84 #endif
    85        
    86         # Clean ICache and BPredictors, r4 ignored (SBZ)
    87         mcr p15, 0, r4, c7, c5, 0
    88         nop
    89 
    90         #Wait for the operations to complete
    91 #ifdef PROCESSOR_ARCH_armv7_a
    92         isb
    93         nop
    94 #else
    95         # cp15 isb
    96         mcr p15, 0, r4, c7, c5, 4
    97         nop
    98 #endif
    99        
    100 #TODO:This should not be necessary
    101 
    102 #if defined(MACHINE_gta02)
    103 
    104 #define CP15_C7_SEG_SHIFT       5
    105 #define CP15_C7_SEG_SIZE        3
    106 #define CP15_C7_IDX_SHIFT       26
    10776
    10877        # Now clean D-cache to guarantee coherency between I-cache and D-cache.
Note: See TracChangeset for help on using the changeset viewer.