Changeset 36df4109 in mainline for kernel/generic
- Timestamp:
- 2016-06-06T16:29:56Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7510326
- Parents:
- 7f0580d
- Location:
- kernel/generic
- Files:
-
- 3 edited
-
include/arch.h (modified) (3 diffs)
-
src/main/kinit.c (modified) (1 diff)
-
src/main/main.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/arch.h
r7f0580d r36df4109 36 36 #define KERN_ARCH_H_ 37 37 38 #include <arch/arch.h> /* arch_pre_main() */39 38 #include <arch/asm.h> /* get_stack_base() */ 40 39 #include <config.h> … … 80 79 } the_t; 81 80 81 typedef struct { 82 void (* pre_mm_init)(void); 83 void (* post_mm_init)(void); 84 void (* post_cpu_init)(void); 85 void (* pre_smp_init)(void); 86 void (* post_smp_init)(void); 87 } arch_ops_t; 88 89 extern arch_ops_t *arch_ops; 90 91 #define ARCH_OP(op) \ 92 do { \ 93 if (arch_ops->op) \ 94 arch_ops->op(); \ 95 } while (0) 96 82 97 extern void the_initialize(the_t *); 83 98 extern void the_copy(the_t *, the_t *); 84 85 extern void arch_pre_mm_init(void);86 extern void arch_post_mm_init(void);87 extern void arch_post_cpu_init(void);88 extern void arch_pre_smp_init(void);89 extern void arch_post_smp_init(void);90 99 91 100 extern void calibrate_delay_loop(void); … … 95 104 extern void *arch_construct_function(fncptr_t *, void *, void *); 96 105 97 98 106 #endif 99 107 -
kernel/generic/src/main/kinit.c
r7f0580d r36df4109 160 160 * At this point SMP, if present, is configured. 161 161 */ 162 arch_post_smp_init();162 ARCH_OP(post_smp_init); 163 163 164 164 /* Start thread computing system load */ -
kernel/generic/src/main/main.c
r7f0580d r36df4109 238 238 * Memory management subsystems initialization. 239 239 */ 240 arch_pre_mm_init();240 ARCH_OP(pre_mm_init); 241 241 km_identity_init(); 242 242 frame_init(); … … 250 250 km_non_identity_init(); 251 251 ddi_init(); 252 arch_post_mm_init();252 ARCH_OP(post_mm_init); 253 253 reserve_init(); 254 arch_pre_smp_init();254 ARCH_OP(pre_smp_init); 255 255 smp_init(); 256 256 … … 266 266 cpu_init(); 267 267 calibrate_delay_loop(); 268 arch_post_cpu_init();268 ARCH_OP(post_cpu_init); 269 269 270 270 smp_call_init(); … … 341 341 the_initialize(THE); 342 342 343 arch_pre_mm_init();343 ARCH_OP(pre_mm_init); 344 344 frame_init(); 345 345 page_init(); 346 346 tlb_init(); 347 arch_post_mm_init();347 ARCH_OP(post_mm_init); 348 348 349 349 cpu_init(); 350 350 calibrate_delay_loop(); 351 arch_post_cpu_init();351 ARCH_OP(post_cpu_init); 352 352 353 353 the_copy(THE, (the_t *) CPU->stack);
Note:
See TracChangeset
for help on using the changeset viewer.
