Re: Unifying x86_64 / Xen init paths and reading hardware_subarch early

From: Borislav Petkov
Date: Sat Jan 16 2016 - 04:10:19 EST


On Fri, Jan 15, 2016 at 05:39:05PM -0800, Luis R. Rodriguez wrote:
> On Fri, Jan 15, 2016 at 4:43 PM, Luis R. Rodriguez <mcgrof@xxxxxxxx> wrote:
> >> for (i = 0; i < sizeof(boot_params); i += 4096)
> >> early_make_pgtable((unsigned long)params + i);
> >
> > I'll give this a shot.
>
> Thanks again for this! It seems to let this boot now! But it does not
> seem to provided the right value. If I use the qemu debug patch as I
> listed before to set this to 5 for kvm, and boot it doesn't come up.
> This can be tested with the qemu debug patch + this debug kernel patch
> which prints it out and resets it from what it finds early.
>
> If you comment out the boot_params.hdr.hardware_subarch =
> my_hardware_subarch; assignment we get the right value from the
> copy_bootdata() work. I use my_hardware_subarch just as a quick hack
> to test and cache the value early code gets but that I can't print
> early on.

You can always do stupid debug loops:

while (subarch == <expected_value>)
rep_nop();

and when your guest stops booting and gdb points you here, then you know
what's going on. You can then dump interesting stuff too from gdb.

--
Regards/Gruss,
Boris.

SUSE Linux GmbH, GF: Felix ImendÃrffer, Jane Smithard, Graham Norton, HRB 21284 (AG NÃrnberg)
--