| Thomas Gleixner | ef68529 | 2007-10-23 22:37:24 +0200 | [diff] [blame] | 1 | #ifndef _ASM_X86_SETUP_H | 
 | 2 | #define _ASM_X86_SETUP_H | 
 | 3 |  | 
 | 4 | #define COMMAND_LINE_SIZE 2048 | 
 | 5 |  | 
| Thomas Gleixner | 96a388d | 2007-10-11 11:20:03 +0200 | [diff] [blame] | 6 | #ifdef __KERNEL__ | 
| Thomas Gleixner | ef68529 | 2007-10-23 22:37:24 +0200 | [diff] [blame] | 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 |  | 
| Thomas Gleixner | ef68529 | 2007-10-23 22:37:24 +0200 | [diff] [blame] | 17 | #endif /* __i386__ */ | 
 | 18 |  | 
| H. Peter Anvin | fa76dab | 2007-10-23 22:37:25 +0200 | [diff] [blame] | 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 |  | 
| Thomas Gleixner | ef68529 | 2007-10-23 22:37:24 +0200 | [diff] [blame] | 25 | #ifndef __ASSEMBLY__ | 
 | 26 | #include <asm/bootparam.h> | 
 | 27 |  | 
| H. Peter Anvin | fa76dab | 2007-10-23 22:37:25 +0200 | [diff] [blame] | 28 | #ifndef _SETUP | 
 | 29 |  | 
| Thomas Gleixner | ef68529 | 2007-10-23 22:37:24 +0200 | [diff] [blame] | 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) | 
| Thomas Gleixner | 96a388d | 2007-10-11 11:20:03 +0200 | [diff] [blame] | 56 | #endif | 
| Thomas Gleixner | ef68529 | 2007-10-23 22:37:24 +0200 | [diff] [blame] | 57 |  | 
 | 58 | #endif /* __i386__ */ | 
| H. Peter Anvin | fa76dab | 2007-10-23 22:37:25 +0200 | [diff] [blame] | 59 | #endif /* _SETUP */ | 
| Thomas Gleixner | ef68529 | 2007-10-23 22:37:24 +0200 | [diff] [blame] | 60 | #endif /* __ASSEMBLY__ */ | 
 | 61 | #endif  /*  __KERNEL__  */ | 
 | 62 |  | 
 | 63 | #endif /* _ASM_X86_SETUP_H */ |