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 */ 33extern 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 42struct e820entry; 43 44char * __init machine_specific_memory_setup(void); 45char *memory_setup(void); 46 47int __init copy_e820_map(struct e820entry * biosmap, int nr_map); 48int __init sanitize_e820_map(struct e820entry * biosmap, char * pnr_map); 49void __init add_memory_region(unsigned long long start, 50 unsigned long long size, int type); 51 52extern 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