Rev 4343 | Rev 4346 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4343 | Rev 4345 | ||
|---|---|---|---|
| Line 52... | Line 52... | ||
| 52 | #include <arch/debugger.h> |
52 | #include <arch/debugger.h> |
| 53 | #include <genarch/fb/fb.h> |
53 | #include <genarch/fb/fb.h> |
| 54 | #include <genarch/fb/visuals.h> |
54 | #include <genarch/fb/visuals.h> |
| 55 | #include <macros.h> |
55 | #include <macros.h> |
| 56 | #include <ddi/device.h> |
56 | #include <ddi/device.h> |
| - | 57 | #include <config.h> |
|
| - | 58 | #include <string.h> |
|
| 57 | 59 | ||
| 58 | #include <arch/asm/regname.h> |
60 | #include <arch/asm/regname.h> |
| 59 | 61 | ||
| 60 | /* Size of the code jumping to the exception handler code |
62 | /* Size of the code jumping to the exception handler code |
| 61 | * - J+NOP |
63 | * - J+NOP |
| Line 74... | Line 76... | ||
| 74 | /* Stack pointer saved when entering user mode */ |
76 | /* Stack pointer saved when entering user mode */ |
| 75 | uintptr_t supervisor_sp __attribute__ ((section (".text"))); |
77 | uintptr_t supervisor_sp __attribute__ ((section (".text"))); |
| 76 | 78 | ||
| 77 | count_t cpu_count = 0; |
79 | count_t cpu_count = 0; |
| 78 | 80 | ||
| - | 81 | /** Performs mips32-specific initialization before main_bsp() is called. */ |
|
| 79 | void arch_pre_main(void *entry __attribute__((unused)), bootinfo_t *bootinfo) |
82 | void arch_pre_main(void *entry __attribute__((unused)), bootinfo_t *bootinfo) |
| 80 | { |
83 | { |
| 81 | /* Setup usermode */ |
84 | /* Setup usermode */ |
| 82 | init.cnt = bootinfo->cnt; |
85 | init.cnt = bootinfo->cnt; |
| 83 | 86 | ||
| 84 | count_t i; |
87 | count_t i; |
| 85 | for (i = 0; i < min3(bootinfo->cnt, TASKMAP_MAX_RECORDS, CONFIG_INIT_TASKS); i++) { |
88 | for (i = 0; i < min3(bootinfo->cnt, TASKMAP_MAX_RECORDS, CONFIG_INIT_TASKS); i++) { |
| 86 | init.tasks[i].addr = bootinfo->tasks[i].addr; |
89 | init.tasks[i].addr = bootinfo->tasks[i].addr; |
| 87 | init.tasks[i].size = bootinfo->tasks[i].size; |
90 | init.tasks[i].size = bootinfo->tasks[i].size; |
| - | 91 | strncpy(init.tasks[i].name, bootinfo->tasks[i].name, |
|
| - | 92 | CONFIG_TASK_NAME_BUFLEN); |
|
| 88 | } |
93 | } |
| 89 | 94 | ||
| 90 | for (i = 0; i < CPUMAP_MAX_RECORDS; i++) { |
95 | for (i = 0; i < CPUMAP_MAX_RECORDS; i++) { |
| 91 | if ((bootinfo->cpumap & (1 << i)) != 0) |
96 | if ((bootinfo->cpumap & (1 << i)) != 0) |
| 92 | cpu_count++; |
97 | cpu_count++; |