init.c
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * init.c: PROM library initialisation code.
  3.  *
  4.  * Copyright (C) 1998 Gleb Raiko & Vladimir Roganov 
  5.  */
  6. #include <linux/mm.h>
  7. #include <asm/bootinfo.h>
  8. #include <asm/addrspace.h>
  9. #include <asm/hp-lj/asic.h>
  10. #include <linux/bootmem.h>
  11. #include "utils.h"
  12. #define Delimiter "CMDLINE="
  13. const char CommandLine[] = Delimiter
  14.   "root=/dev/hda3                                                                                                                                                                                                                                            ";
  15. char arcs_cmdline[CL_SIZE];
  16. int __init prom_init(int argc, char ** argv, char **envp)
  17. {
  18. ulong mem_size = get_mem_avail();
  19.         int reserve_size = 0;
  20. printk("Total Memory: %ld bytesn", mem_size);
  21. reserve_buffer(CommandLine, mem_size);
  22. reserve_size = get_reserved_buffer_size();
  23. mem_size -= reserve_size;
  24. add_memory_region(0x0,mem_size, BOOT_MEM_RAM);
  25.         add_memory_region(mem_size,reserve_size, BOOT_MEM_RESERVED);
  26. printk("Main Memory: %ld bytesn", mem_size);
  27. printk("Reserved Memory: %ld bytes at 0x%08xn", 
  28. get_reserved_buffer_size(), (ulong)get_reserved_buffer());
  29. printk("Detected %s ASICn", GetAsicName());
  30. mips_machgroup  = MACH_GROUP_HP_LJ;
  31. mips_machtype   = MACH_UNKNOWN;
  32. strcpy(arcs_cmdline, CommandLine+strlen(Delimiter));
  33. return 0;
  34. }
  35. void prom_free_prom_memory (void)
  36. {
  37. }