home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / x86 / include / asm / setup.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.5 KB  |  106 lines

  1. #ifndef _ASM_X86_SETUP_H
  2. #define _ASM_X86_SETUP_H
  3.  
  4. #define COMMAND_LINE_SIZE 2048
  5.  
  6. #ifndef __ASSEMBLY__
  7.  
  8. /* Interrupt control for vSMPowered x86_64 systems */
  9. void vsmp_init(void);
  10.  
  11. #ifdef CONFIG_X86_VISWS
  12. extern void visws_early_detect(void);
  13. extern int is_visws_box(void);
  14. #else
  15. static inline void visws_early_detect(void) { }
  16. static inline int is_visws_box(void) { return 0; }
  17. #endif
  18.  
  19. /*
  20.  * Any setup quirks to be performed?
  21.  */
  22. struct mpc_config_processor;
  23. struct mpc_config_bus;
  24. struct mp_config_oemtable;
  25. struct x86_quirks {
  26.     int (*arch_pre_time_init)(void);
  27.     int (*arch_time_init)(void);
  28.     int (*arch_pre_intr_init)(void);
  29.     int (*arch_intr_init)(void);
  30.     int (*arch_trap_init)(void);
  31.     char * (*arch_memory_setup)(void);
  32.     int (*mach_get_smp_config)(unsigned int early);
  33.     int (*mach_find_smp_config)(unsigned int reserve);
  34.  
  35.     int *mpc_record;
  36.     int (*mpc_apic_id)(struct mpc_config_processor *m);
  37.     void (*mpc_oem_bus_info)(struct mpc_config_bus *m, char *name);
  38.     void (*mpc_oem_pci_bus)(struct mpc_config_bus *m);
  39.     void (*smp_read_mpc_oem)(struct mp_config_oemtable *oemtable,
  40.                                     unsigned short oemsize);
  41.     int (*setup_ioapic_ids)(void);
  42. };
  43.  
  44. extern struct x86_quirks *x86_quirks;
  45. extern unsigned long saved_video_mode;
  46.  
  47. #ifndef CONFIG_PARAVIRT
  48. #define paravirt_post_allocator_init()    do {} while (0)
  49. #endif
  50. #endif /* __ASSEMBLY__ */
  51.  
  52. #ifdef __KERNEL__
  53.  
  54. #ifdef __i386__
  55.  
  56. #include <linux/pfn.h>
  57. /*
  58.  * Reserved space for vmalloc and iomap - defined in asm/page.h
  59.  */
  60. #define MAXMEM_PFN    PFN_DOWN(MAXMEM)
  61. #define MAX_NONPAE_PFN    (1 << 20)
  62.  
  63. #endif /* __i386__ */
  64.  
  65. #define PARAM_SIZE 4096        /* sizeof(struct boot_params) */
  66.  
  67. #define OLD_CL_MAGIC        0xA33F
  68. #define OLD_CL_ADDRESS        0x020    /* Relative to real mode data */
  69. #define NEW_CL_POINTER        0x228    /* Relative to real mode data */
  70.  
  71. #ifndef __ASSEMBLY__
  72. #include <asm/bootparam.h>
  73.  
  74. #ifndef _SETUP
  75.  
  76. /*
  77.  * This is set up by the setup-routine at boot-time
  78.  */
  79. extern struct boot_params boot_params;
  80.  
  81. /*
  82.  * Do NOT EVER look at the BIOS memory size location.
  83.  * It does not work on many machines.
  84.  */
  85. #define LOWMEMSIZE()    (0x9f000)
  86.  
  87. #ifdef __i386__
  88.  
  89. void __init i386_start_kernel(void);
  90. extern void probe_roms(void);
  91.  
  92. extern unsigned long init_pg_tables_start;
  93. extern unsigned long init_pg_tables_end;
  94.  
  95. #else
  96. void __init x86_64_init_pda(void);
  97. void __init x86_64_start_kernel(char *real_mode);
  98. void __init x86_64_start_reservations(char *real_mode_data);
  99.  
  100. #endif /* __i386__ */
  101. #endif /* _SETUP */
  102. #endif /* __ASSEMBLY__ */
  103. #endif  /*  __KERNEL__  */
  104.  
  105. #endif /* _ASM_X86_SETUP_H */
  106.