Changeset 96e0748d in mainline for kernel/arch/arm32/src/arm32.c


Ignore:
Timestamp:
2009-02-17T22:47:27Z (15 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f89979b
Parents:
e662a5f
Message:

make arch_pre_main optional, don't force any specific prototype
simplify boot process
mips32: detect number of configured CPUs in msim

File:
1 edited

Legend:

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

    re662a5f r96e0748d  
    3535
    3636#include <arch.h>
    37 #include <arch/boot.h>
    3837#include <config.h>
    3938#include <arch/console.h>
     
    4948#include <arch/machine.h>
    5049#include <userspace.h>
    51 
    52 /** Information about loaded tasks. */
    53 bootinfo_t bootinfo;
     50#include <macros.h>
    5451
    5552/** Performs arm32 specific initialization before main_bsp() is called. */
    56 void arch_pre_main(void)
     53void arch_pre_main(void *entry __attribute__((unused)), bootinfo_t *bootinfo)
    5754{
    5855        unsigned int i;
    59 
    60         init.cnt = bootinfo.cnt;
    61 
    62         for (i = 0; i < bootinfo.cnt; ++i) {
    63                 init.tasks[i].addr = bootinfo.tasks[i].addr;
    64                 init.tasks[i].size = bootinfo.tasks[i].size;
     56       
     57        init.cnt = bootinfo->cnt;
     58       
     59        for (i = 0; i < min3(bootinfo->cnt, TASKMAP_MAX_RECORDS, CONFIG_INIT_TASKS); ++i) {
     60                init.tasks[i].addr = bootinfo->tasks[i].addr;
     61                init.tasks[i].size = bootinfo->tasks[i].size;
    6562        }
    66        
    6763}
    6864
Note: See TracChangeset for help on using the changeset viewer.