Changes in kernel/arch/ppc32/src/ppc32.c [20f8111:36df4109] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ppc32/src/ppc32.c
r20f8111 r36df4109 33 33 */ 34 34 35 #include <arch.h> 36 #include <arch/arch.h> 35 37 #include <config.h> 36 #include <arch.h>37 38 #include <arch/boot/boot.h> 38 39 #include <genarch/drivers/via-cuda/cuda.h> … … 47 48 #include <mm/page.h> 48 49 #include <mm/km.h> 50 #include <time/clock.h> 49 51 #include <abi/proc/uarg.h> 50 52 #include <console/console.h> … … 60 62 #define IRQ_CUDA 10 61 63 64 static void ppc32_pre_mm_init(void); 65 static void ppc32_post_mm_init(void); 66 static void ppc32_post_smp_init(void); 67 68 arch_ops_t ppc32_ops = { 69 .pre_mm_init = ppc32_pre_mm_init, 70 .post_mm_init = ppc32_post_mm_init, 71 .post_smp_init = ppc32_post_smp_init, 72 }; 73 74 arch_ops_t *arch_ops = &ppc32_ops; 75 62 76 bootinfo_t bootinfo; 63 77 … … 66 80 67 81 /** Performs ppc32-specific initialization before main_bsp() is called. */ 68 void arch_pre_main(bootinfo_t *bootinfo)82 void ppc32_pre_main(bootinfo_t *bootinfo) 69 83 { 70 84 /* Copy tasks map. */ … … 94 108 } 95 109 96 void arch_pre_mm_init(void)110 void ppc32_pre_mm_init(void) 97 111 { 98 112 /* Initialize dispatch table */ 99 113 interrupt_init(); 100 114 115 ofw_tree_node_t *cpus_node; 116 ofw_tree_node_t *cpu_node; 117 ofw_tree_property_t *freq_prop; 118 119 cpus_node = ofw_tree_lookup("/cpus"); 120 if (!cpus_node) 121 panic("Could not find cpus node."); 122 123 cpu_node = cpus_node->child; 124 if (!cpu_node) 125 panic("Could not find first cpu."); 126 127 freq_prop = ofw_tree_getprop(cpu_node, "timebase-frequency"); 128 if (!freq_prop) 129 panic("Could not get frequency property."); 130 131 uint32_t freq; 132 freq = *((uint32_t *) freq_prop->value); 133 101 134 /* Start decrementer */ 102 start_decrementer();135 decrementer_start(freq / HZ); 103 136 } 104 137 … … 172 205 #endif 173 206 174 void arch_post_mm_init(void)207 void ppc32_post_mm_init(void) 175 208 { 176 209 if (config.cpu_active == 1) { … … 187 220 zone_merge_all(); 188 221 } 189 }190 191 void arch_post_cpu_init(void)192 {193 }194 195 void arch_pre_smp_init(void)196 {197 222 } 198 223 … … 253 278 } 254 279 255 void arch_post_smp_init(void)280 void ppc32_post_smp_init(void) 256 281 { 257 282 /* Currently the only supported platform for ppc32 is 'mac'. */
Note:
See TracChangeset
for help on using the changeset viewer.