Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into...
[deliverable/linux.git] / arch / x86 / include / asm / setup.h
CommitLineData
1965aae3
PA
1#ifndef _ASM_X86_SETUP_H
2#define _ASM_X86_SETUP_H
ef685298
TG
3
4#define COMMAND_LINE_SIZE 2048
5
746ef0cd 6#ifndef __ASSEMBLY__
2785c8d0
GC
7
8/* Interrupt control for vSMPowered x86_64 systems */
9void vsmp_init(void);
10
3b33553b
IM
11#ifdef CONFIG_X86_VISWS
12extern void visws_early_detect(void);
5548ed11 13extern int is_visws_box(void);
3b33553b
IM
14#else
15static inline void visws_early_detect(void) { }
5548ed11 16static inline int is_visws_box(void) { return 0; }
3b33553b
IM
17#endif
18
19/*
20 * Any setup quirks to be performed?
21 */
64898a8b
YL
22struct mpc_config_processor;
23struct mpc_config_bus;
24struct mp_config_oemtable;
3c9cb6de 25struct x86_quirks {
63b5d7af 26 int (*arch_pre_time_init)(void);
3c9cb6de
YL
27 int (*arch_time_init)(void);
28 int (*arch_pre_intr_init)(void);
29 int (*arch_intr_init)(void);
30 int (*arch_trap_init)(void);
31 char * (*arch_memory_setup)(void);
32 int (*mach_get_smp_config)(unsigned int early);
33 int (*mach_find_smp_config)(unsigned int reserve);
64898a8b
YL
34
35 int *mpc_record;
36 int (*mpc_apic_id)(struct mpc_config_processor *m);
37 void (*mpc_oem_bus_info)(struct mpc_config_bus *m, char *name);
38 void (*mpc_oem_pci_bus)(struct mpc_config_bus *m);
39 void (*smp_read_mpc_oem)(struct mp_config_oemtable *oemtable,
40 unsigned short oemsize);
a4dbc34d 41 int (*setup_ioapic_ids)(void);
3c9cb6de
YL
42};
43
44extern struct x86_quirks *x86_quirks;
5314d48e 45extern unsigned long saved_video_mode;
3b33553b 46
746ef0cd
GOC
47#ifndef CONFIG_PARAVIRT
48#define paravirt_post_allocator_init() do {} while (0)
49#endif
50#endif /* __ASSEMBLY__ */
51
96a388de 52#ifdef __KERNEL__
ef685298
TG
53
54#ifdef __i386__
55
56#include <linux/pfn.h>
57/*
58 * Reserved space for vmalloc and iomap - defined in asm/page.h
59 */
60#define MAXMEM_PFN PFN_DOWN(MAXMEM)
61#define MAX_NONPAE_PFN (1 << 20)
62
fa76dab9
PA
63#endif /* __i386__ */
64
65#define PARAM_SIZE 4096 /* sizeof(struct boot_params) */
ef685298 66
ef685298 67#define OLD_CL_MAGIC 0xA33F
fa76dab9 68#define OLD_CL_ADDRESS 0x020 /* Relative to real mode data */
ef685298
TG
69#define NEW_CL_POINTER 0x228 /* Relative to real mode data */
70
ef685298
TG
71#ifndef __ASSEMBLY__
72#include <asm/bootparam.h>
73
fa76dab9
PA
74#ifndef _SETUP
75
ef685298
TG
76/*
77 * This is set up by the setup-routine at boot-time
78 */
79extern struct boot_params boot_params;
80
ef685298
TG
81/*
82 * Do NOT EVER look at the BIOS memory size location.
83 * It does not work on many machines.
84 */
85#define LOWMEMSIZE() (0x9f000)
86
95a71a45
YL
87#ifdef __i386__
88
f0d43100 89void __init i386_start_kernel(void);
a9c1182f 90extern void probe_roms(void);
746ef0cd 91
f0d43100
YL
92extern unsigned long init_pg_tables_start;
93extern unsigned long init_pg_tables_end;
ef685298 94
102e3b8d 95#else
5b09b287 96void __init x86_64_init_pda(void);
102e3b8d 97void __init x86_64_start_kernel(char *real_mode);
f97013fd
JF
98void __init x86_64_start_reservations(char *real_mode_data);
99
ef685298 100#endif /* __i386__ */
fa76dab9 101#endif /* _SETUP */
ef685298
TG
102#endif /* __ASSEMBLY__ */
103#endif /* __KERNEL__ */
104
1965aae3 105#endif /* _ASM_X86_SETUP_H */
This page took 0.232529 seconds and 5 git commands to generate.