Rev 2043 | Rev 2071 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2043 | Rev 2048 | ||
---|---|---|---|
Line 48... | Line 48... | ||
48 | #include <userspace.h> |
48 | #include <userspace.h> |
49 | #include <ddi/irq.h> |
49 | #include <ddi/irq.h> |
50 | 50 | ||
51 | bootinfo_t bootinfo; |
51 | bootinfo_t bootinfo; |
52 | 52 | ||
- | 53 | /** Perform sparc64 specific initialization before main_bsp() is called. */ |
|
53 | void arch_pre_main(void) |
54 | void arch_pre_main(void) |
54 | { |
55 | { |
55 | /* Copy init task info. */ |
56 | /* Copy init task info. */ |
56 | init.cnt = bootinfo.taskmap.count; |
57 | init.cnt = bootinfo.taskmap.count; |
57 | 58 | ||
Line 67... | Line 68... | ||
67 | ballocs.size = bootinfo.ballocs.size; |
68 | ballocs.size = bootinfo.ballocs.size; |
68 | 69 | ||
69 | ofw_tree_init(bootinfo.ofw_root); |
70 | ofw_tree_init(bootinfo.ofw_root); |
70 | } |
71 | } |
71 | 72 | ||
- | 73 | /** Perform sparc64 specific initialization before mm is initialized. */ |
|
72 | void arch_pre_mm_init(void) |
74 | void arch_pre_mm_init(void) |
73 | { |
75 | { |
74 | if (config.cpu_active == 1) |
76 | if (config.cpu_active == 1) |
75 | trap_init(); |
77 | trap_init(); |
76 | } |
78 | } |
77 | 79 | ||
- | 80 | /** Perform sparc64 specific initialization afterr mm is initialized. */ |
|
78 | void arch_post_mm_init(void) |
81 | void arch_post_mm_init(void) |
79 | { |
82 | { |
80 | if (config.cpu_active == 1) { |
83 | if (config.cpu_active == 1) { |
- | 84 | /* |
|
- | 85 | * We have 2^11 different interrupt vectors. |
|
- | 86 | * But we only create 128 buckets. |
|
- | 87 | */ |
|
81 | irq_init(1<<11, 128); |
88 | irq_init(1 << 11, 128); |
- | 89 | ||
82 | standalone_sparc64_console_init(); |
90 | standalone_sparc64_console_init(); |
83 | } |
91 | } |
84 | } |
92 | } |
85 | 93 | ||
86 | void arch_post_cpu_init(void) |
94 | void arch_post_cpu_init(void) |