Re: [PATCH v8 06/13] x86/apic: Mark the apic_intr_mode extern for sanity check cleanup

From: Baoquan He
Date: Wed Sep 06 2017 - 04:03:22 EST


On 09/06/17 at 01:41pm, Dou Liyang wrote:
> Hi Baoquan,
>
> At 09/06/2017 01:26 PM, Baoquan He wrote:
> [...]
> diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
> index 4f63afc..9f8479c 100644
> --- a/arch/x86/kernel/smpboot.c
> +++ b/arch/x86/kernel/smpboot.c
> @@ -1260,8 +1260,10 @@ static void __init smp_get_logical_apicid(void)
> }
>
> /*
> - * Prepare for SMP bootup. The MP table or ACPI has been read
> - * earlier. Just do some sanity checking here and enable APIC mode.
> + * Prepare for SMP bootup.
> + *
> + * @max_cpus: configured maximum number of CPUs
> + * It don't be used, but other arch also have this hook, so keep it.

Yeah, makes sense. Above words can be reconsidered.

> */
> void __init native_smp_prepare_cpus(unsigned int max_cpus)
> {
>
> Thanks,
> dou.
> > >
> > > static noinline void __init kernel_init_freeable(void)
> > > {
> > > ...
> > > smp_prepare_cpus(setup_max_cpus);
> > > ...
> > > }
> > >
> > > >
> > > > apic_intr_mode_init();
> > > >
> > > > - switch (smp_sanity_check(max_cpus)) {
> > > > - case SMP_NO_CONFIG:
> > > > - disable_smp();
> > > > - return;
> > > > - case SMP_NO_APIC:
> > > > + smp_sanity_check();
> > > > +
> > > > + switch (apic_intr_mode) {
> > > > + case APIC_PIC:
> > > > + case APIC_VIRTUAL_WIRE_NO_CONFIG:
> > > > disable_smp();
> > > > return;
> > > > - case SMP_FORCE_UP:
> > > > + case APIC_SYMMETRIC_IO_NO_ROUTING:
> > > > disable_smp();
> > > > /* Setup local timer */
> > > > x86_init.timers.setup_percpu_clockev();
> > > > return;
> > > > - case SMP_OK:
> > > > + case APIC_VIRTUAL_WIRE:
> > > > + case APIC_SYMMETRIC_IO:
> > > > break;
> > > > }
> > > >
> > > > --
> > > > 2.5.5
> > > >
> > > >
> > > >
> >
> >
> >
>
>