blob: 10b297b1881a784209999cec874c4c7a61991e7c [file] [log] [blame]
Thomas Gleixner57844a82009-08-19 14:48:38 +02001#ifndef _ASM_X86_PLATFORM_H
2#define _ASM_X86_PLATFORM_H
3
4/**
Thomas Gleixnerf4848472009-08-20 12:05:01 +02005 * struct x86_init_mpparse - platform specific mpparse ops
6 * @mpc_record: platform specific mpc record accounting
7 */
8struct x86_init_mpparse {
9 void (*mpc_record)(unsigned int mode);
10};
11
12/**
Thomas Gleixnerf7cf5a52009-08-19 14:43:56 +020013 * struct x86_init_resources - platform specific resource related ops
14 * @probe_roms: probe BIOS roms
Thomas Gleixner8fee6972009-08-19 14:55:50 +020015 * @reserve_resources: reserve the standard resources for the
16 * platform
Thomas Gleixner816c25e2009-08-19 14:36:27 +020017 * @reserve_ebda_region: reserve the extended bios data area
Thomas Gleixner6b18ae32009-08-20 10:19:54 +020018 * @memory_setup: platform specific memory setup
Thomas Gleixnerf7cf5a52009-08-19 14:43:56 +020019 *
20 */
21struct x86_init_resources {
22 void (*probe_roms)(void);
Thomas Gleixner8fee6972009-08-19 14:55:50 +020023 void (*reserve_resources)(void);
Thomas Gleixner816c25e2009-08-19 14:36:27 +020024 void (*reserve_ebda_region)(void);
Thomas Gleixner6b18ae32009-08-20 10:19:54 +020025 char *(*memory_setup)(void);
Thomas Gleixnerf7cf5a52009-08-19 14:43:56 +020026};
27
28/**
Thomas Gleixner57844a82009-08-19 14:48:38 +020029 * struct x86_init_ops - functions for platform specific setup
30 *
31 */
32struct x86_init_ops {
Thomas Gleixnerf4848472009-08-20 12:05:01 +020033 struct x86_init_resources resources;
34 struct x86_init_mpparse mpparse;
Thomas Gleixner57844a82009-08-19 14:48:38 +020035};
36
37extern struct x86_init_ops x86_init;
38
39extern void x86_init_noop(void);
Thomas Gleixnerf4848472009-08-20 12:05:01 +020040extern void x86_init_uint_noop(unsigned int unused);
Thomas Gleixner57844a82009-08-19 14:48:38 +020041
42#endif