Ignore:
File:
1 edited

Legend:

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

    r66fcba2 ra71c158  
    4545#include <interrupt.h>
    4646#include <arch/regutils.h>
    47 #include <arch/machine_func.h>
    4847#include <userspace.h>
    4948#include <macros.h>
    50 #include <str.h>
    51 #include <arch/ras.h>
     49#include <string.h>
     50
     51#ifdef MACHINE_testarm
     52        #include <arch/mach/testarm/testarm.h>
     53#endif
     54
     55#ifdef MACHINE_integratorcp
     56        #include <arch/mach/integratorcp/integratorcp.h>
     57#endif
     58
    5259
    5360/** Performs arm32-specific initialization before main_bsp() is called. */
    5461void arch_pre_main(void *entry __attribute__((unused)), bootinfo_t *bootinfo)
    5562{
    56         init.cnt = min3(bootinfo->cnt, TASKMAP_MAX_RECORDS, CONFIG_INIT_TASKS);
     63        unsigned int i;
    5764       
    58         size_t i;
    59         for (i = 0; i < init.cnt; i++) {
    60                 init.tasks[i].addr = (uintptr_t) bootinfo->tasks[i].addr;
     65        init.cnt = bootinfo->cnt;
     66       
     67        for (i = 0; i < min3(bootinfo->cnt, TASKMAP_MAX_RECORDS, CONFIG_INIT_TASKS); ++i) {
     68                init.tasks[i].addr = bootinfo->tasks[i].addr;
    6169                init.tasks[i].size = bootinfo->tasks[i].size;
    6270                str_cpy(init.tasks[i].name, CONFIG_TASK_NAME_BUFLEN,
    6371                    bootinfo->tasks[i].name);
    6472        }
    65 
    66         /* Initialize machine_ops pointer. */
    67         machine_ops_init();
    6873}
    6974
     
    8388        exception_init();
    8489        interrupt_init();
    85 
    86         /* Initialize Restartable Atomic Sequences support. */
    87         ras_init();
    8890       
    8991        machine_output_init();
     
    134136        uint8_t *stck;
    135137       
     138        tlb_invalidate_all();
    136139        stck = &THREAD->kstack[THREAD_STACK_SIZE - SP_DELTA];
    137140        supervisor_sp = (uintptr_t) stck;
     
    149152void cpu_halt(void)
    150153{
    151         while (true)
    152                 machine_cpu_halt();
     154        machine_cpu_halt();
    153155}
    154156
     
    157159{
    158160        /* not implemented */
    159         while (true);
     161        while (1);
    160162}
    161163
     
    174176}
    175177
    176 void irq_initialize_arch(irq_t *irq)
    177 {
    178         (void) irq;
    179 }
    180 
    181178/** @}
    182179 */
Note: See TracChangeset for help on using the changeset viewer.