Ignore:
File:
1 edited

Legend:

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

    ra71c158 r66fcba2  
    4545#include <interrupt.h>
    4646#include <arch/regutils.h>
     47#include <arch/machine_func.h>
    4748#include <userspace.h>
    4849#include <macros.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 
     50#include <str.h>
     51#include <arch/ras.h>
    5952
    6053/** Performs arm32-specific initialization before main_bsp() is called. */
    6154void arch_pre_main(void *entry __attribute__((unused)), bootinfo_t *bootinfo)
    6255{
    63         unsigned int i;
     56        init.cnt = min3(bootinfo->cnt, TASKMAP_MAX_RECORDS, CONFIG_INIT_TASKS);
    6457       
    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;
     58        size_t i;
     59        for (i = 0; i < init.cnt; i++) {
     60                init.tasks[i].addr = (uintptr_t) bootinfo->tasks[i].addr;
    6961                init.tasks[i].size = bootinfo->tasks[i].size;
    7062                str_cpy(init.tasks[i].name, CONFIG_TASK_NAME_BUFLEN,
    7163                    bootinfo->tasks[i].name);
    7264        }
     65
     66        /* Initialize machine_ops pointer. */
     67        machine_ops_init();
    7368}
    7469
     
    8883        exception_init();
    8984        interrupt_init();
     85
     86        /* Initialize Restartable Atomic Sequences support. */
     87        ras_init();
    9088       
    9189        machine_output_init();
     
    136134        uint8_t *stck;
    137135       
    138         tlb_invalidate_all();
    139136        stck = &THREAD->kstack[THREAD_STACK_SIZE - SP_DELTA];
    140137        supervisor_sp = (uintptr_t) stck;
     
    152149void cpu_halt(void)
    153150{
    154         machine_cpu_halt();
     151        while (true)
     152                machine_cpu_halt();
    155153}
    156154
     
    159157{
    160158        /* not implemented */
    161         while (1);
     159        while (true);
    162160}
    163161
     
    176174}
    177175
     176void irq_initialize_arch(irq_t *irq)
     177{
     178        (void) irq;
     179}
     180
    178181/** @}
    179182 */
Note: See TracChangeset for help on using the changeset viewer.