x86_init.h 1.3 KB
Newer Older
1 2 3
#ifndef _ASM_X86_PLATFORM_H
#define _ASM_X86_PLATFORM_H

4
struct mpc_cpu;
5
struct mpc_table;
6

7 8 9
/**
 * struct x86_init_mpparse - platform specific mpparse ops
 * @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 15
 */
struct x86_init_mpparse {
	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 23
/**
 * struct x86_init_resources - platform specific resource related ops
 * @probe_roms:			probe BIOS roms
24 25
 * @reserve_resources:		reserve the standard resources for the
 *				platform
26
 * @reserve_ebda_region:	reserve the extended bios data area
27
 * @memory_setup:		platform specific memory setup
28 29 30 31
 *
 */
struct x86_init_resources {
	void (*probe_roms)(void);
32
	void (*reserve_resources)(void);
33
	void (*reserve_ebda_region)(void);
34
	char *(*memory_setup)(void);
35 36
};

37 38 39 40 41
/**
 * struct x86_init_ops - functions for platform specific setup
 *
 */
struct x86_init_ops {
42 43
	struct x86_init_resources	resources;
	struct x86_init_mpparse		mpparse;
44 45 46 47 48
};

extern struct x86_init_ops x86_init;

extern void x86_init_noop(void);
49
extern void x86_init_uint_noop(unsigned int unused);
50 51

#endif