Commit | Line | Data |
---|---|---|
ef685298 TG |
1 | #ifndef _ASM_X86_SETUP_H |
2 | #define _ASM_X86_SETUP_H | |
3 | ||
4 | #define COMMAND_LINE_SIZE 2048 | |
5 | ||
746ef0cd | 6 | #ifndef __ASSEMBLY__ |
2785c8d0 GC |
7 | |
8 | /* Interrupt control for vSMPowered x86_64 systems */ | |
9 | void vsmp_init(void); | |
10 | ||
746ef0cd GOC |
11 | char *machine_specific_memory_setup(void); |
12 | #ifndef CONFIG_PARAVIRT | |
13 | #define paravirt_post_allocator_init() do {} while (0) | |
14 | #endif | |
15 | #endif /* __ASSEMBLY__ */ | |
16 | ||
96a388de | 17 | #ifdef __KERNEL__ |
ef685298 TG |
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 | ||
fa76dab9 PA |
28 | #endif /* __i386__ */ |
29 | ||
30 | #define PARAM_SIZE 4096 /* sizeof(struct boot_params) */ | |
ef685298 | 31 | |
ef685298 | 32 | #define OLD_CL_MAGIC 0xA33F |
fa76dab9 | 33 | #define OLD_CL_ADDRESS 0x020 /* Relative to real mode data */ |
ef685298 TG |
34 | #define NEW_CL_POINTER 0x228 /* Relative to real mode data */ |
35 | ||
ef685298 TG |
36 | #ifndef __ASSEMBLY__ |
37 | #include <asm/bootparam.h> | |
38 | ||
fa76dab9 PA |
39 | #ifndef _SETUP |
40 | ||
ef685298 TG |
41 | /* |
42 | * This is set up by the setup-routine at boot-time | |
43 | */ | |
44 | extern 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 | ||
53 | struct e820entry; | |
54 | ||
55 | char * __init machine_specific_memory_setup(void); | |
56 | char *memory_setup(void); | |
57 | ||
915cd5aa JP |
58 | int __init copy_e820_map(struct e820entry *biosmap, int nr_map); |
59 | int __init sanitize_e820_map(struct e820entry *biosmap, char *pnr_map); | |
ef685298 TG |
60 | void __init add_memory_region(unsigned long long start, |
61 | unsigned long long size, int type); | |
62 | ||
63 | extern unsigned long init_pg_tables_end; | |
64 | ||
746ef0cd | 65 | |
ef685298 TG |
66 | |
67 | #endif /* __i386__ */ | |
fa76dab9 | 68 | #endif /* _SETUP */ |
ef685298 TG |
69 | #endif /* __ASSEMBLY__ */ |
70 | #endif /* __KERNEL__ */ | |
71 | ||
72 | #endif /* _ASM_X86_SETUP_H */ |