arch.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  *  linux/include/asm-arm/mach/arch.h
  3.  *
  4.  *  Copyright (C) 2000 Russell King
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License version 2 as
  8.  * published by the Free Software Foundation.
  9.  */
  10. /*
  11.  * The size of struct machine_desc
  12.  *   (for assembler code)
  13.  */
  14. #define SIZEOF_MACHINE_DESC 48
  15. #ifndef __ASSEMBLY__
  16. extern void setup_initrd(unsigned int start, unsigned int size);
  17. extern void setup_ramdisk(int doload, int prompt, int start, unsigned int rd_sz);
  18. struct machine_desc {
  19. /*
  20.  * Note! The first four elements are used
  21.  * by assembler code in head-armv.S
  22.  */
  23. unsigned int nr; /* architecture number */
  24. unsigned int phys_ram; /* start of physical ram */
  25. unsigned int phys_io; /* start of physical io */
  26. unsigned int io_pg_offst; /* byte offset for io 
  27.  * page tabe entry */
  28. const char *name; /* architecture name */
  29. unsigned int param_offset; /* parameter page */
  30. unsigned int video_start; /* start of video RAM */
  31. unsigned int video_end; /* end of video RAM */
  32. unsigned int reserve_lp0 :1; /* never has lp0 */
  33. unsigned int reserve_lp1 :1; /* never has lp1 */
  34. unsigned int reserve_lp2 :1; /* never has lp2 */
  35. unsigned int soft_reboot :1; /* soft reboot */
  36. void (*fixup)(struct machine_desc *,
  37.  struct param_struct *, char **,
  38.  struct meminfo *);
  39. void (*map_io)(void);/* IO mapping function */
  40. void (*init_irq)(void);
  41. };
  42. /*
  43.  * Set of macros to define architecture features.  This is built into
  44.  * a table by the linker.
  45.  */
  46. #define MACHINE_START(_type,_name)
  47. const struct machine_desc __mach_desc_##_type
  48.  __attribute__((__section__(".arch.info"))) = {
  49. nr: MACH_TYPE_##_type,
  50. name: _name,
  51. #define MAINTAINER(n)
  52. #define BOOT_MEM(_pram,_pio,_vio)
  53. phys_ram: _pram,                 
  54. phys_io: _pio,                   
  55. io_pg_offst: ((_vio)>>18)&0xfffc,
  56. #define BOOT_PARAMS(_params)
  57. param_offset: _params,
  58. #define VIDEO(_start,_end)
  59. video_start: _start,
  60. video_end: _end,
  61. #define DISABLE_PARPORT(_n)
  62. reserve_lp##_n: 1,
  63. #define BROKEN_HLT /* unused */
  64. #define SOFT_REBOOT
  65. soft_reboot: 1,
  66. #define FIXUP(_func)
  67. fixup: _func,
  68. #define MAPIO(_func)
  69. map_io: _func,
  70. #define INITIRQ(_func)
  71. init_irq: _func,
  72. #define MACHINE_END
  73. };
  74. #endif