x86: Move percpu clockevents setup to x86_init_ops

paravirt overrides the setup of the default apic timers as per cpu
timers. Moorestown needs to override that as well.

Move it to x86_init_ops setup and create a separate x86_cpuinit struct
which holds the function for the secondary evtl. hotplugabble CPUs.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
Thomas Gleixner 2009-08-19 12:35:53 +02:00
parent f1d7062a23
commit 736decac64
11 changed files with 42 additions and 28 deletions

View file

@ -78,6 +78,15 @@ struct x86_init_paging {
void (*pagetable_setup_done)(pgd_t *base);
};
/**
* struct x86_init_timers - platform specific timer setup
* @setup_perpcu_clockev: set up the per cpu clock event device for the
* boot cpu
*/
struct x86_init_timers {
void (*setup_percpu_clockev)(void);
};
/**
* struct x86_init_ops - functions for platform specific setup
*
@ -88,9 +97,19 @@ struct x86_init_ops {
struct x86_init_irqs irqs;
struct x86_init_oem oem;
struct x86_init_paging paging;
struct x86_init_timers timers;
};
/**
* struct x86_cpuinit_ops - platform specific cpu hotplug setups
* @setup_percpu_clockev: set up the per cpu clock event device
*/
struct x86_cpuinit_ops {
void (*setup_percpu_clockev)(void);
};
extern struct x86_init_ops x86_init;
extern struct x86_cpuinit_ops x86_cpuinit;
extern void x86_init_noop(void);
extern void x86_init_uint_noop(unsigned int unused);