Commit | Line | Data |
---|---|---|
57844a8f TG |
1 | #ifndef _ASM_X86_PLATFORM_H |
2 | #define _ASM_X86_PLATFORM_H | |
3 | ||
52fdb568 | 4 | struct mpc_bus; |
fd6c6661 | 5 | struct mpc_cpu; |
72302142 | 6 | struct mpc_table; |
fd6c6661 | 7 | |
f4848472 TG |
8 | /** |
9 | * struct x86_init_mpparse - platform specific mpparse ops | |
10 | * @mpc_record: platform specific mpc record accounting | |
de934103 | 11 | * @setup_ioapic_ids: platform specific ioapic id override |
fd6c6661 | 12 | * @mpc_apic_id: platform specific mpc apic id assignment |
72302142 | 13 | * @smp_read_mpc_oem: platform specific oem mpc table setup |
52fdb568 | 14 | * @mpc_oem_pci_bus: platform specific pci bus setup (default NULL) |
90e1c696 | 15 | * @mpc_oem_bus_info: platform specific mpc bus info |
b3f1b617 TG |
16 | * @find_smp_config: find the smp configuration |
17 | * @get_smp_config: get the smp configuration | |
f4848472 TG |
18 | */ |
19 | struct x86_init_mpparse { | |
20 | void (*mpc_record)(unsigned int mode); | |
de934103 | 21 | void (*setup_ioapic_ids)(void); |
fd6c6661 | 22 | int (*mpc_apic_id)(struct mpc_cpu *m); |
72302142 | 23 | void (*smp_read_mpc_oem)(struct mpc_table *mpc); |
52fdb568 | 24 | void (*mpc_oem_pci_bus)(struct mpc_bus *m); |
90e1c696 | 25 | void (*mpc_oem_bus_info)(struct mpc_bus *m, char *name); |
b3f1b617 TG |
26 | void (*find_smp_config)(unsigned int reserve); |
27 | void (*get_smp_config)(unsigned int early); | |
f4848472 TG |
28 | }; |
29 | ||
f7cf5a5b TG |
30 | /** |
31 | * struct x86_init_resources - platform specific resource related ops | |
32 | * @probe_roms: probe BIOS roms | |
8fee697d TG |
33 | * @reserve_resources: reserve the standard resources for the |
34 | * platform | |
816c25e7 | 35 | * @reserve_ebda_region: reserve the extended bios data area |
6b18ae3e | 36 | * @memory_setup: platform specific memory setup |
f7cf5a5b TG |
37 | * |
38 | */ | |
39 | struct x86_init_resources { | |
40 | void (*probe_roms)(void); | |
8fee697d | 41 | void (*reserve_resources)(void); |
816c25e7 | 42 | void (*reserve_ebda_region)(void); |
6b18ae3e | 43 | char *(*memory_setup)(void); |
f7cf5a5b TG |
44 | }; |
45 | ||
57844a8f TG |
46 | /** |
47 | * struct x86_init_ops - functions for platform specific setup | |
48 | * | |
49 | */ | |
50 | struct x86_init_ops { | |
f4848472 TG |
51 | struct x86_init_resources resources; |
52 | struct x86_init_mpparse mpparse; | |
57844a8f TG |
53 | }; |
54 | ||
55 | extern struct x86_init_ops x86_init; | |
56 | ||
57 | extern void x86_init_noop(void); | |
f4848472 | 58 | extern void x86_init_uint_noop(unsigned int unused); |
57844a8f TG |
59 | |
60 | #endif |