setup.h (80c5520811d3805adcb15c570ea5e2d489fa5d0b) | setup.h (70511134f61bd6e5eed19f767381f9fb3e762d49) |
---|---|
1#ifndef _ASM_X86_SETUP_H 2#define _ASM_X86_SETUP_H 3 4#ifdef __KERNEL__ 5 6#define COMMAND_LINE_SIZE 2048 7 8#ifndef __ASSEMBLY__ --- 50 unchanged lines hidden (view full) --- 59#define OLD_CL_MAGIC 0xA33F 60#define OLD_CL_ADDRESS 0x020 /* Relative to real mode data */ 61#define NEW_CL_POINTER 0x228 /* Relative to real mode data */ 62 63#ifndef __ASSEMBLY__ 64#include <asm/bootparam.h> 65 66/* Interrupt control for vSMPowered x86_64 systems */ | 1#ifndef _ASM_X86_SETUP_H 2#define _ASM_X86_SETUP_H 3 4#ifdef __KERNEL__ 5 6#define COMMAND_LINE_SIZE 2048 7 8#ifndef __ASSEMBLY__ --- 50 unchanged lines hidden (view full) --- 59#define OLD_CL_MAGIC 0xA33F 60#define OLD_CL_ADDRESS 0x020 /* Relative to real mode data */ 61#define NEW_CL_POINTER 0x228 /* Relative to real mode data */ 62 63#ifndef __ASSEMBLY__ 64#include <asm/bootparam.h> 65 66/* Interrupt control for vSMPowered x86_64 systems */ |
67#ifdef CONFIG_X86_VSMP | 67#ifdef CONFIG_X86_64 |
68void vsmp_init(void); 69#else 70static inline void vsmp_init(void) { } 71#endif 72 73void setup_bios_corruption_check(void); 74 75#ifdef CONFIG_X86_VISWS --- 19 unchanged lines hidden (view full) --- 95extern struct boot_params boot_params; 96 97/* 98 * Do NOT EVER look at the BIOS memory size location. 99 * It does not work on many machines. 100 */ 101#define LOWMEMSIZE() (0x9f000) 102 | 68void vsmp_init(void); 69#else 70static inline void vsmp_init(void) { } 71#endif 72 73void setup_bios_corruption_check(void); 74 75#ifdef CONFIG_X86_VISWS --- 19 unchanged lines hidden (view full) --- 95extern struct boot_params boot_params; 96 97/* 98 * Do NOT EVER look at the BIOS memory size location. 99 * It does not work on many machines. 100 */ 101#define LOWMEMSIZE() (0x9f000) 102 |
103/* exceedingly early brk-like allocator */ 104extern unsigned long _brk_end; 105void *extend_brk(size_t size, size_t align); 106 107/* 108 * Reserve space in the brk section. The name must be unique within 109 * the file, and somewhat descriptive. The size is in bytes. Must be 110 * used at file scope. 111 * 112 * (This uses a temp function to wrap the asm so we can pass it the 113 * size parameter; otherwise we wouldn't be able to. We can't use a 114 * "section" attribute on a normal variable because it always ends up 115 * being @progbits, which ends up allocating space in the vmlinux 116 * executable.) 117 */ 118#define RESERVE_BRK(name,sz) \ 119 static void __section(.discard) __used \ 120 __brk_reservation_fn_##name##__(void) { \ 121 asm volatile ( \ 122 ".pushsection .brk_reservation,\"aw\",@nobits;" \ 123 ".brk." #name ":" \ 124 " 1:.skip %c0;" \ 125 " .size .brk." #name ", . - 1b;" \ 126 " .popsection" \ 127 : : "i" (sz)); \ 128 } 129 |
|
103#ifdef __i386__ 104 105void __init i386_start_kernel(void); 106extern void probe_roms(void); 107 | 130#ifdef __i386__ 131 132void __init i386_start_kernel(void); 133extern void probe_roms(void); 134 |
108extern unsigned long init_pg_tables_start; 109extern unsigned long init_pg_tables_end; 110 | |
111#else 112void __init x86_64_start_kernel(char *real_mode); 113void __init x86_64_start_reservations(char *real_mode_data); 114 115#endif /* __i386__ */ 116#endif /* _SETUP */ | 135#else 136void __init x86_64_start_kernel(char *real_mode); 137void __init x86_64_start_reservations(char *real_mode_data); 138 139#endif /* __i386__ */ 140#endif /* _SETUP */ |
141#else 142#define RESERVE_BRK(name,sz) \ 143 .pushsection .brk_reservation,"aw",@nobits; \ 144.brk.name: \ 1451: .skip sz; \ 146 .size .brk.name,.-1b; \ 147 .popsection |
|
117#endif /* __ASSEMBLY__ */ 118#endif /* __KERNEL__ */ 119 120#endif /* _ASM_X86_SETUP_H */ | 148#endif /* __ASSEMBLY__ */ 149#endif /* __KERNEL__ */ 150 151#endif /* _ASM_X86_SETUP_H */ |