x86: Move smp_read_mpc_oem to x86_init_ops.
[safe/jmp/linux-2.6] / arch / x86 / include / asm / x86_init.h
1 #ifndef _ASM_X86_PLATFORM_H
2 #define _ASM_X86_PLATFORM_H
3
4 struct mpc_cpu;
5 struct mpc_table;
6
7 /**
8  * struct x86_init_mpparse - platform specific mpparse ops
9  * @mpc_record:                 platform specific mpc record accounting
10  * @setup_ioapic_ids:           platform specific ioapic id override
11  * @mpc_apic_id:                platform specific mpc apic id assignment
12  * @smp_read_mpc_oem:           platform specific oem mpc table setup
13  */
14 struct x86_init_mpparse {
15         void (*mpc_record)(unsigned int mode);
16         void (*setup_ioapic_ids)(void);
17         int (*mpc_apic_id)(struct mpc_cpu *m);
18         void (*smp_read_mpc_oem)(struct mpc_table *mpc);
19 };
20
21 /**
22  * struct x86_init_resources - platform specific resource related ops
23  * @probe_roms:                 probe BIOS roms
24  * @reserve_resources:          reserve the standard resources for the
25  *                              platform
26  * @reserve_ebda_region:        reserve the extended bios data area
27  * @memory_setup:               platform specific memory setup
28  *
29  */
30 struct x86_init_resources {
31         void (*probe_roms)(void);
32         void (*reserve_resources)(void);
33         void (*reserve_ebda_region)(void);
34         char *(*memory_setup)(void);
35 };
36
37 /**
38  * struct x86_init_ops - functions for platform specific setup
39  *
40  */
41 struct x86_init_ops {
42         struct x86_init_resources       resources;
43         struct x86_init_mpparse         mpparse;
44 };
45
46 extern struct x86_init_ops x86_init;
47
48 extern void x86_init_noop(void);
49 extern void x86_init_uint_noop(unsigned int unused);
50
51 #endif