void __init setup_arch(char **cmdline_p) { unsigned long max_low_pfn; config_BSP(&command_line[0], COMMAND_LINE_SIZE); /* detect System on Chip parameters */ detect_soc(); /* process 1's initial memory region is the kernel code/data */ init_mm.start_code = (unsigned long) &_stext; init_mm.end_code = (unsigned long) &_etext; init_mm.end_data = (unsigned long) &_edata; init_mm.brk = (unsigned long) &_end; #ifdef CONFIG_BLK_DEV_INITRD initrd_start = (unsigned long)&__initrd_start; initrd_end = (unsigned long)&__initrd_end; #endif /* setup bootmem allocator */ max_low_pfn = setup_memory(); /* paging_init() sets up the MMU and marks all pages as reserved */ paging_init(); #ifdef CONFIG_SERIAL_8250_CONSOLE // early_serial_console_init(command_line); RGD setup_early_serial8250_console(command_line); #endif #if defined(CONFIG_VT) && defined(CONFIG_DUMMY_CONSOLE) if(!conswitchp) conswitchp = &dummy_con; #endif *cmdline_p = command_line; /* Save command line copy for /proc/cmdline RGD removed 2.6.21*/ //memcpy(saved_command_line, command_line, COMMAND_LINE_SIZE); //saved_command_line[COMMAND_LINE_SIZE-1] = '\0'; /* fire up 8051 */ // printk("Starting 8051...\n"); // oc8051_init(); #ifndef CONFIG_OR32_ANONYMOUS printk("Linux/or32 port 2003-2005 OpenCores <*****@*****.**>\n"); #endif /* CONFIG_OR32_ANONYMOUS */ }
void __init setup_arch(char **cmdline_p) { int bootmap_size; memory_start = PAGE_ALIGN(_ramstart); memory_end = _ramend; init_mm.start_code = (unsigned long) &_stext; init_mm.end_code = (unsigned long) &_etext; init_mm.end_data = (unsigned long) &_edata; init_mm.brk = (unsigned long) 0; config_BSP(&command_line[0], sizeof(command_line)); #if defined(CONFIG_BOOTPARAM) strncpy(&command_line[0], CONFIG_BOOTPARAM_STRING, sizeof(command_line)); command_line[sizeof(command_line) - 1] = 0; #endif printk(KERN_INFO "\x0F\r\n\nuClinux/" CPU "\n"); #ifdef CONFIG_UCDIMM printk(KERN_INFO "uCdimm by Lineo, Inc. <www.lineo.com>\n"); #endif #ifdef CONFIG_M68VZ328 printk(KERN_INFO "M68VZ328 support by Evan Stawnyczy <*****@*****.**>\n"); #endif #ifdef CONFIG_COLDFIRE printk(KERN_INFO "COLDFIRE port done by Greg Ungerer, [email protected]\n"); #ifdef CONFIG_M5307 printk(KERN_INFO "Modified for M5307 by Dave Miller, [email protected]\n"); #endif #ifdef CONFIG_ELITE printk(KERN_INFO "Modified for M5206eLITE by Rob Scott, [email protected]\n"); #endif #endif printk(KERN_INFO "Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne\n"); #if defined( CONFIG_PILOT ) && defined( CONFIG_M68328 ) printk(KERN_INFO "TRG SuperPilot FLASH card support <*****@*****.**>\n"); #endif #if defined( CONFIG_PILOT ) && defined( CONFIG_M68EZ328 ) printk(KERN_INFO "PalmV support by Lineo Inc. <*****@*****.**>\n"); #endif #if defined (CONFIG_M68360) printk(KERN_INFO "QUICC port done by SED Systems <*****@*****.**>,\n"); printk(KERN_INFO "based on 2.0.38 port by Lineo Inc. <*****@*****.**>.\n"); #endif #ifdef CONFIG_DRAGEN2 printk(KERN_INFO "DragonEngine II board support by Georges Menie\n"); #endif #ifdef CONFIG_M5235EVB printk(KERN_INFO "Motorola M5235EVB support (C)2005 Syn-tech Systems, Inc. (Jate Sujjavanich)\n"); #endif #ifdef DEBUG printk(KERN_DEBUG "KERNEL -> TEXT=0x%06x-0x%06x DATA=0x%06x-0x%06x " "BSS=0x%06x-0x%06x\n", (int) &_stext, (int) &_etext, (int) &_sdata, (int) &_edata, (int) &_sbss, (int) &_ebss); printk(KERN_DEBUG "MEMORY -> ROMFS=0x%06x-0x%06x MEM=0x%06x-0x%06x\n ", (int) &_ebss, (int) memory_start, (int) memory_start, (int) memory_end); #endif /* Keep a copy of command line */ *cmdline_p = &command_line[0]; memcpy(boot_command_line, command_line, COMMAND_LINE_SIZE); boot_command_line[COMMAND_LINE_SIZE-1] = 0; #ifdef DEBUG if (strlen(*cmdline_p)) printk(KERN_DEBUG "Command line: '%s'\n", *cmdline_p); #endif #if defined(CONFIG_FRAMEBUFFER_CONSOLE) && defined(CONFIG_DUMMY_CONSOLE) conswitchp = &dummy_con; #endif /* * Give all the memory to the bootmap allocator, tell it to put the * boot mem_map at the start of memory. */ bootmap_size = init_bootmem_node( NODE_DATA(0), memory_start >> PAGE_SHIFT, /* map goes here */ PAGE_OFFSET >> PAGE_SHIFT, /* 0 on coldfire */ memory_end >> PAGE_SHIFT); /* * Free the usable memory, we have to make sure we do not free * the bootmem bitmap so we then reserve it after freeing it :-) */ free_bootmem(memory_start, memory_end - memory_start); reserve_bootmem(memory_start, bootmap_size, BOOTMEM_DEFAULT); /* * Get kmalloc into gear. */ paging_init(); }
void __init setup_arch(char **cmdline_p) { int bootmap_size; memory_start = PAGE_ALIGN(_ramstart); memory_end = _ramend; init_mm.start_code = (unsigned long) &_stext; init_mm.end_code = (unsigned long) &_etext; init_mm.end_data = (unsigned long) &_edata; init_mm.brk = (unsigned long) 0; config_BSP(&command_line[0], sizeof(command_line)); #if defined(CONFIG_BOOTPARAM) strncpy(&command_line[0], CONFIG_BOOTPARAM_STRING, sizeof(command_line)); command_line[sizeof(command_line) - 1] = 0; #endif /* CONFIG_BOOTPARAM */ process_uboot_commandline(&command_line[0], sizeof(command_line)); pr_info("uClinux with CPU " CPU_NAME "\n"); #ifdef CONFIG_UCDIMM pr_info("uCdimm by Lineo, Inc. <www.lineo.com>\n"); #endif #ifdef CONFIG_M68VZ328 pr_info("M68VZ328 support by Evan Stawnyczy <*****@*****.**>\n"); #endif #ifdef CONFIG_COLDFIRE pr_info("COLDFIRE port done by Greg Ungerer, [email protected]\n"); #ifdef CONFIG_M5307 pr_info("Modified for M5307 by Dave Miller, [email protected]\n"); #endif #ifdef CONFIG_ELITE pr_info("Modified for M5206eLITE by Rob Scott, [email protected]\n"); #endif #endif pr_info("Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne\n"); #if defined( CONFIG_PILOT ) && defined( CONFIG_M68328 ) pr_info("TRG SuperPilot FLASH card support <*****@*****.**>\n"); #endif #if defined( CONFIG_PILOT ) && defined( CONFIG_M68EZ328 ) pr_info("PalmV support by Lineo Inc. <*****@*****.**>\n"); #endif #ifdef CONFIG_DRAGEN2 pr_info("DragonEngine II board support by Georges Menie\n"); #endif #ifdef CONFIG_M5235EVB pr_info("Motorola M5235EVB support (C)2005 Syn-tech Systems, Inc. (Jate Sujjavanich)\n"); #endif pr_debug("KERNEL -> TEXT=0x%p-0x%p DATA=0x%p-0x%p BSS=0x%p-0x%p\n", _stext, _etext, _sdata, _edata, __bss_start, __bss_stop); pr_debug("MEMORY -> ROMFS=0x%p-0x%06lx MEM=0x%06lx-0x%06lx\n ", __bss_stop, memory_start, memory_start, memory_end); /* Keep a copy of command line */ *cmdline_p = &command_line[0]; memcpy(boot_command_line, command_line, COMMAND_LINE_SIZE); boot_command_line[COMMAND_LINE_SIZE-1] = 0; #if defined(CONFIG_FRAMEBUFFER_CONSOLE) && defined(CONFIG_DUMMY_CONSOLE) conswitchp = &dummy_con; #endif /* * Give all the memory to the bootmap allocator, tell it to put the * boot mem_map at the start of memory. */ min_low_pfn = PFN_DOWN(memory_start); max_pfn = max_low_pfn = PFN_DOWN(memory_end); bootmap_size = init_bootmem_node( NODE_DATA(0), min_low_pfn, /* map goes here */ PFN_DOWN(PAGE_OFFSET), max_pfn); /* * Free the usable memory, we have to make sure we do not free * the bootmem bitmap so we then reserve it after freeing it :-) */ free_bootmem(memory_start, memory_end - memory_start); reserve_bootmem(memory_start, bootmap_size, BOOTMEM_DEFAULT); #if defined(CONFIG_UBOOT) && defined(CONFIG_BLK_DEV_INITRD) if ((initrd_start > 0) && (initrd_start < initrd_end) && (initrd_end < memory_end)) reserve_bootmem(initrd_start, initrd_end - initrd_start, BOOTMEM_DEFAULT); #endif /* if defined(CONFIG_BLK_DEV_INITRD) */ /* * Get kmalloc into gear. */ paging_init(); }
void setup_arch(char **cmdline_p) { int bootmap_size; #if defined(CAT_ROMARRAY) && defined(DEBUG) extern int __data_rom_start; extern int __data_start; int *romarray = (int *)((int) &__data_rom_start + (int)&_edata - (int)&__data_start); #endif #if defined(CONFIG_CHR_DEV_FLASH) || defined(CONFIG_BLK_DEV_FLASH) /* we need to initialize the Flashrom device here since we might * do things with flash early on in the boot */ flash_probe(); #endif memory_start = PAGE_ALIGN(_ramstart); memory_end = _ramend; /* by now the stack is part of the init task */ init_mm.start_code = (unsigned long) &_stext; init_mm.end_code = (unsigned long) &_etext; init_mm.end_data = (unsigned long) &_edata; #if 0 /* DAVIDM - don't set brk just incase someone decides to use it */ init_mm.brk = (unsigned long) &_end; #else init_mm.brk = (unsigned long) 0; #endif #if defined (CONFIG_M68360) m360_cpm_reset(); /* Calculate the real system clock value. */ { unsigned int local_pllcr = (unsigned int)(pquicc->sim_pllcr); if( local_pllcr & MCU_PREEN ) // If the prescaler is dividing by 128 { int mf = (int)(pquicc->sim_pllcr & 0x0fff); system_clock = (OSCILLATOR / 128) * (mf + 1); } else { int mf = (int)(pquicc->sim_pllcr & 0x0fff); system_clock = (OSCILLATOR) * (mf + 1); } } /* Setup SMC 2 as a serial console */ serial_console_setup(&sercons, NULL); console_360_init(0, 0); #endif config_BSP(&command_line[0], sizeof(command_line)); printk("\r\nuClinux/" CPU "\n"); /* (es) */ #ifdef CONFIG_UCDIMM printk("uCdimm by Lineo, Inc. <www.lineo.com>\n"); #endif #ifdef CONFIG_M68VZ328 printk("M68VZ328 support by Evan Stawnyczy <*****@*****.**>\n"); #endif /* (/es) */ #ifdef CONFIG_COLDFIRE printk("COLDFIRE port done by Greg Ungerer, [email protected]\n"); #ifdef CONFIG_M5307 printk("Modified for M5307 by Dave Miller, [email protected]\n"); #endif #ifdef CONFIG_ELITE printk("Modified for M5206eLITE by Rob Scott, [email protected]\n"); #endif #ifdef CONFIG_TELOS printk("Modified for Omnia ToolVox by James D. Schettine, [email protected]\n"); #endif #endif printk("Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne\n"); #if defined( CONFIG_PILOT ) && defined( CONFIG_M68328 ) printk("TRG SuperPilot FLASH card support <*****@*****.**>\n"); #endif #if defined( CONFIG_PILOT ) && defined( CONFIG_M68EZ328 ) printk("PalmV support by Lineo Inc. <*****@*****.**>\n"); #endif #ifdef CONFIG_M68EZ328ADS printk("M68EZ328ADS board support (C) 1999 Vladimir Gurevich <*****@*****.**>\n"); #endif #ifdef CONFIG_ALMA_ANS printk("Alma Electronics board support (C) 1999 Vladimir Gurevich <*****@*****.**>\n"); #endif #if defined (CONFIG_M68360) printk("QUICC port done by SED Systems <*****@*****.**>,\n"); printk("based on 2.0.38 port by Lineo Inc. <*****@*****.**>.\n"); #endif #ifdef CONFIG_DRAGEN2 printk("DragonEngine II board support by Georges Menie\n"); #endif #ifdef CONFIG_CWEZ328 printk("cwez328 board support by 2002 Andrew Ip <*****@*****.**> and Inky Lung <*****@*****.**>\n"); #endif #ifdef CONFIG_CWVZ328 printk("cwvz328 board support by 2002 Andrew Ip <*****@*****.**> and Inky Lung <*****@*****.**>\n"); #endif #ifdef DEBUG printk("KERNEL -> TEXT=0x%06x-0x%06x DATA=0x%06x-0x%06x " "BSS=0x%06x-0x%06x\n", (int) &_stext, (int) &_etext, (int) &_sdata, (int) &_edata, (int) &_sbss, (int) &_ebss); printk("KERNEL -> ROMFS=0x%06x-0x%06x MEM=0x%06x-0x%06x " "STACK=0x%06x-0x%06x\n", #ifdef CAT_ROMARRAY (int) romarray, ((int) romarray) + romarray[2], #else (int) &_ebss, (int) memory_start, #endif (int) memory_start, (int) memory_end, (int) memory_end, (int) _ramend); #endif #ifdef CONFIG_BLK_DEV_BLKMEM ROOT_DEV = MKDEV(BLKMEM_MAJOR,0); #endif /* Keep a copy of command line */ *cmdline_p = &command_line[0]; memcpy(saved_command_line, command_line, sizeof(saved_command_line)); saved_command_line[sizeof(saved_command_line)-1] = 0; #ifdef DEBUG if (strlen(*cmdline_p)) printk("Command line: '%s'\n", *cmdline_p); #endif /*rom_length = (unsigned long)&_flashend - (unsigned long)&_romvec;*/ #ifdef CONFIG_CONSOLE #ifdef CONFIG_FRAMEBUFFER conswitchp = &fb_con; #else conswitchp = 0; #endif #endif /* * give all the memory to the bootmap allocator, tell it to put the * boot mem_map at the start of memory */ bootmap_size = init_bootmem_node( NODE_DATA(0), memory_start >> PAGE_SHIFT, /* map goes here */ PAGE_OFFSET >> PAGE_SHIFT, /* 0 on coldfire */ memory_end >> PAGE_SHIFT); /* * free the usable memory, we have to make sure we do not free * the bootmem bitmap so we then reserve it after freeing it :-) */ free_bootmem(memory_start, memory_end - memory_start); reserve_bootmem(memory_start, bootmap_size); /* * get kmalloc into gear */ paging_init(); #ifdef DEBUG printk("Done setup_arch\n"); #endif }
void setup_arch(char **cmdline_p) { int bootmap_size; #if defined(CAT_ROMARRAY) && defined(DEBUG) extern int __data_rom_start; extern int __data_start; int *romarray = (int *)((int) &__data_rom_start + (int)&_edata - (int)&__data_start); #endif memory_start = PAGE_ALIGN(_ramstart); memory_end = _ramend; /* by now the stack is part of the init task */ init_mm.start_code = (unsigned long) &_stext; init_mm.end_code = (unsigned long) &_etext; init_mm.end_data = (unsigned long) &_edata; init_mm.brk = (unsigned long) 0; config_BSP(&command_line[0], sizeof(command_line)); printk(KERN_INFO "\x0F\r\n\nuClinux/" CPU "\n"); #ifdef CONFIG_UCDIMM printk(KERN_INFO "uCdimm by Lineo, Inc. <www.lineo.com>\n"); #endif #ifdef CONFIG_M68VZ328 printk(KERN_INFO "M68VZ328 support by Evan Stawnyczy <*****@*****.**>\n"); #endif #ifdef CONFIG_COLDFIRE printk(KERN_INFO "COLDFIRE port done by Greg Ungerer, [email protected]\n"); #ifdef CONFIG_M5307 printk(KERN_INFO "Modified for M5307 by Dave Miller, [email protected]\n"); #endif #ifdef CONFIG_ELITE printk(KERN_INFO "Modified for M5206eLITE by Rob Scott, [email protected]\n"); #endif #ifdef CONFIG_TELOS printk(KERN_INFO "Modified for Omnia ToolVox by James D. Schettine, [email protected]\n"); #endif #endif printk(KERN_INFO "Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne\n"); #if defined( CONFIG_PILOT ) && defined( CONFIG_M68328 ) printk(KERN_INFO "TRG SuperPilot FLASH card support <*****@*****.**>\n"); #endif #if defined( CONFIG_PILOT ) && defined( CONFIG_M68EZ328 ) printk(KERN_INFO "PalmV support by Lineo Inc. <*****@*****.**>\n"); #endif #ifdef CONFIG_M68EZ328ADS printk(KERN_INFO "M68EZ328ADS board support (C) 1999 Vladimir Gurevich <*****@*****.**>\n"); #endif #ifdef CONFIG_ALMA_ANS printk(KERN_INFO "Alma Electronics board support (C) 1999 Vladimir Gurevich <*****@*****.**>\n"); #endif #if defined (CONFIG_M68360) printk(KERN_INFO "QUICC port done by SED Systems <*****@*****.**>,\n"); printk(KERN_INFO "based on 2.0.38 port by Lineo Inc. <*****@*****.**>.\n"); #endif #ifdef CONFIG_DRAGEN2 printk(KERN_INFO "DragonEngine II board support by Georges Menie\n"); #endif #ifdef DEBUG printk(KERN_DEBUG "KERNEL -> TEXT=0x%06x-0x%06x DATA=0x%06x-0x%06x " "BSS=0x%06x-0x%06x\n", (int) &_stext, (int) &_etext, (int) &_sdata, (int) &_edata, (int) &_sbss, (int) &_ebss); printk(KERN_DEBUG "KERNEL -> ROMFS=0x%06x-0x%06x MEM=0x%06x-0x%06x " "STACK=0x%06x-0x%06x\n", #ifdef CAT_ROMARRAY (int) romarray, ((int) romarray) + romarray[2], #else (int) &_ebss, (int) memory_start, #endif (int) memory_start, (int) memory_end, (int) memory_end, (int) _ramend); #endif /* Keep a copy of command line */ *cmdline_p = &command_line[0]; memcpy(saved_command_line, command_line, COMMAND_LINE_SIZE); saved_command_line[COMMAND_LINE_SIZE-1] = 0; #ifdef DEBUG if (strlen(*cmdline_p)) printk(KERN_DEBUG "Command line: '%s'\n", *cmdline_p); #endif #if defined(CONFIG_FRAMEBUFFER_CONSOLE) && defined(CONFIG_DUMMY_CONSOLE) conswitchp = &dummy_con; #endif /* * Give all the memory to the bootmap allocator, tell it to put the * boot mem_map at the start of memory. */ bootmap_size = init_bootmem_node( NODE_DATA(0), memory_start >> PAGE_SHIFT, /* map goes here */ PAGE_OFFSET >> PAGE_SHIFT, /* 0 on coldfire */ memory_end >> PAGE_SHIFT); /* * Free the usable memory, we have to make sure we do not free * the bootmem bitmap so we then reserve it after freeing it :-) */ free_bootmem(memory_start, memory_end - memory_start); reserve_bootmem(memory_start, bootmap_size); /* * Get kmalloc into gear. */ paging_init(); }
void setup_arch(char **cmdline_p, unsigned long * memory_start_p, unsigned long * memory_end_p) { extern int _stext, _etext; extern int _sdata, _edata; extern int _sbss, _ebss, _end; extern int _ramstart, _ramend; memory_start = &_end + 512; /*not confident reffered h8 port*/ memory_end = &_ramend - 4096; /* <- stack area */ config_BSP(&command_line[0], sizeof(command_line)); setup_console();/*whether it is required*/ printk("\r\n uClinux for SH7615H\n"); printk("\r\n Modified for Hirakawa Hewtech by Ushustech\n"); #ifdef DEBUG printk("KERNEL -> TEXT=0x%06x-0x%06x DATA=0x%06x-0x%06x " "BSS=0x%06x-0x%06x\n", (int) &_stext, (int) &_etext, (int) &_sdata, (int) &_edata, (int) &_sbss, (int) &_ebss); printk("KERNEL -> ROMFS=0x%06x-0x%06x MEM=0x%06x-0x%06x " "STACK=0x%06x-0x%06x\n", #ifdef CAT_ROMARRAY (int) romarray, ((int) romarray) + romarray[2], #else (int) &_ebss, (int) memory_start, #endif (int) memory_start, (int) memory_end, (int) memory_end, (int) &_ramend); #endif init_task.mm->start_code = (unsigned long) &_stext; init_task.mm->end_code = (unsigned long) &_etext; init_task.mm->end_data = (unsigned long) &_edata; init_task.mm->brk = (unsigned long) &_end; ROOT_DEV = MKDEV(BLKMEM_MAJOR,0); /* Keep a copy of command line */ *cmdline_p = &command_line[0]; memcpy(saved_command_line, command_line, sizeof(saved_command_line)); saved_command_line[sizeof(saved_command_line)-1] = 0; #ifdef DEBUG if (strlen(*cmdline_p)) printk("Command line: '%s'\n", *cmdline_p); else printk("No command line passed\n"); #endif *memory_start_p = memory_start; *memory_end_p = memory_end; /*rom_length = (unsigned long)&_flashend - (unsigned long)&_romvec;*/ #ifdef CONFIG_CONSOLE #ifdef CONFIG_FRAMEBUFFER conswitchp = &fb_con; #else conswitchp = 0; #endif #endif }