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 */