Re: 4.8.2 not booting in 32-bit VM without I/O-APIC

From: Borislav Petkov
Date: Sat Oct 29 2016 - 06:19:57 EST


On Fri, Oct 28, 2016 at 09:34:53PM +0200, Thomas Gleixner wrote:
> Right. That mapping setup is an utter trainwreck as we do it from multiple
> places, but there is no reason why we can't move it before the call to
> prefill_possible_map().

> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
> index bbfbca5fea0c..b59fdba3cbdf 100644
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -1221,11 +1221,13 @@ void __init setup_arch(char **cmdline_p)
> */
> get_smp_config();
>
> + /* Make sure apic is mapped before prefill_possible_map() */
> + init_apic_mappings();
> +
> prefill_possible_map();
>
> init_cpu_to_node();
>
> - init_apic_mappings();
> io_apic_init_mappings();
>
> kvm_guest_init();

FWIW, I got another user's confirmation that this works with his
virtual box:

https://bugzilla.suse.com/show_bug.cgi?id=1006417#c32
https://bugzilla.suse.com/show_bug.cgi?id=1006417#c33

Thanks.

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.