1 #ifndef _ASM_X86_SETUP_H 2 #define _ASM_X86_SETUP_H 3 4 #define COMMAND_LINE_SIZE 2048 5 6 #ifdef __KERNEL__ 7 8 #ifdef __i386__ 9 10 #include <linux/pfn.h> 11 /* 12 * Reserved space for vmalloc and iomap - defined in asm/page.h 13 */ 14 #define MAXMEM_PFN PFN_DOWN(MAXMEM) 15 #define MAX_NONPAE_PFN (1 << 20) 16 17 #endif /* __i386__ */ 18 19 #define PARAM_SIZE 4096 /* sizeof(struct boot_params) */ 20 21 #define OLD_CL_MAGIC 0xA33F 22 #define OLD_CL_ADDRESS 0x020 /* Relative to real mode data */ 23 #define NEW_CL_POINTER 0x228 /* Relative to real mode data */ 24 25 #ifndef __ASSEMBLY__ 26 #include <asm/bootparam.h> 27 28 #ifndef _SETUP 29 30 /* 31 * This is set up by the setup-routine at boot-time 32 */ 33 extern struct boot_params boot_params; 34 35 #ifdef __i386__ 36 /* 37 * Do NOT EVER look at the BIOS memory size location. 38 * It does not work on many machines. 39 */ 40 #define LOWMEMSIZE() (0x9f000) 41 42 struct e820entry; 43 44 char * __init machine_specific_memory_setup(void); 45 char *memory_setup(void); 46 47 int __init copy_e820_map(struct e820entry * biosmap, int nr_map); 48 int __init sanitize_e820_map(struct e820entry * biosmap, char * pnr_map); 49 void __init add_memory_region(unsigned long long start, 50 unsigned long long size, int type); 51 52 extern unsigned long init_pg_tables_end; 53 54 #ifndef CONFIG_PARAVIRT 55 #define paravirt_post_allocator_init() do {} while (0) 56 #endif 57 58 #endif /* __i386__ */ 59 #endif /* _SETUP */ 60 #endif /* __ASSEMBLY__ */ 61 #endif /* __KERNEL__ */ 62 63 #endif /* _ASM_X86_SETUP_H */ 64