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