*参照元 [#h46f0949] #backlinks *説明 [#mf84ff69] -パス: [[linux-2.6.33/arch/arm/kernel/setup.c]] -FIXME: これは何? --説明 **引数 [#n1925ced] -char **cmdline_p -- **返り値 [#o20c8610] -なし **参考 [#e2821b16] *実装 [#u3f1e2bf] void __init setup_arch(char **cmdline_p) { struct tag *tags = (struct tag *)&init_tags; struct machine_desc *mdesc; char *from = default_command_line; - --[[linux-2.6.33/init_tags(global)]] - --[[linux-2.6.33/default_command_line(global)]] - --[[linux-2.6.33/tag]] - --[[linux-2.6.33/machine_desc]] unwind_init(); - --[[linux-2.6.33/unwind_init()]] setup_processor(); mdesc = setup_machine(machine_arch_type); machine_name = mdesc->name; - --[[linux-2.6.33/machine_arch_type(global)]] - --[[linux-2.6.33/machine_name(global)]] - --[[linux-2.6.33/setup_processor()]] - --[[linux-2.6.33/setup_machine()]] if (mdesc->soft_reboot) reboot_setup("s"); - --[[linux-2.6.33/reboot_setup()]] if (__atags_pointer) tags = phys_to_virt(__atags_pointer); else if (mdesc->boot_params) tags = phys_to_virt(mdesc->boot_params); - --[[linux-2.6.33/__atags_pointer(global)]] - --[[linux-2.6.33/phys_to_virt()]] /* * If we have the old style parameters, convert them to * a tag list. */ if (tags->hdr.tag != ATAG_CORE) convert_to_tag_list(tags); if (tags->hdr.tag != ATAG_CORE) tags = (struct tag *)&init_tags; - --[[linux-2.6.33/ATAG_CORE]] - --[[linux-2.6.33/convert_to_tag_list()]] if (mdesc->fixup) mdesc->fixup(mdesc, tags, &from, &meminfo); - --[[linux-2.6.33/meminfo(global)]] if (tags->hdr.tag == ATAG_CORE) { if (meminfo.nr_banks != 0) squash_mem_tags(tags); save_atags(tags); parse_tags(tags); - --[[linux-2.6.33/squash_mem_tags()]] - --[[linux-2.6.33/save_atags()]] - --[[linux-2.6.33/parse_tags()]] } init_mm.start_code = (unsigned long) _text; init_mm.end_code = (unsigned long) _etext; init_mm.end_data = (unsigned long) _edata; init_mm.brk = (unsigned long) _end; - --[[linux-2.6.33/_text(global)]] - --[[linux-2.6.33/_etext(global)]] - --[[linux-2.6.33/_edata(global)]] - --[[linux-2.6.33/_end(global)]] memcpy(boot_command_line, from, COMMAND_LINE_SIZE); - --[[linux-2.6.33/memcpy()]] - --[[linux-2.6.33/COMMAND_LINE_SIZE]] boot_command_line[COMMAND_LINE_SIZE-1] = '\0'; parse_cmdline(cmdline_p, from); paging_init(mdesc); request_standard_resources(&meminfo, mdesc); - --[[linux-2.6.33/boot_command_line(global)]] - --[[linux-2.6.33/parse_cmdline()]] - --[[linux-2.6.33/paging_init()]] - --[[linux-2.6.33/request_standard_resources()]] #ifdef CONFIG_SMP - --[[linux-2.6.33/CONFIG_SMP]] smp_init_cpus(); - --[[linux-2.6.33/smp_init_cpus()]] #endif cpu_init(); tcm_init(); - --[[linux-2.6.33/cpu_init()]] - --[[linux-2.6.33/tcm_init()]] /* * Set up various architecture-specific pointers */ init_arch_irq = mdesc->init_irq; system_timer = mdesc->timer; init_machine = mdesc->init_machine; - --[[linux-2.6.33/init_arch_irq(global)]] - --[[linux-2.6.33/system_timer(global)]] - --[[linux-2.6.33/init_machine(global)]] #ifdef CONFIG_VT - --[[linux-2.6.33/CONFIG_VT]] #if defined(CONFIG_VGA_CONSOLE) - --[[linux-2.6.33/CONFIG_VGA_CONSOLE]] conswitchp = &vga_con; - --[[linux-2.6.33/conswitchp(global)]] - --[[linux-2.6.33/vga_con(global)]] #elif defined(CONFIG_DUMMY_CONSOLE) - --[[linux-2.6.33/CONFIG_DUMMY_CONSOLE]] conswitchp = &dummy_con; - --[[linux-2.6.33/dummy_con(global)]] #endif #endif early_trap_init(); - --[[linux-2.6.33/early_trap_init()]] } *コメント [#ye3b4694]