Re: Can't boot as Xen dom0 due to commit fe055896
From: Boris Ostrovsky
Date: Thu Dec 15 2016 - 14:35:24 EST
On 12/15/2016 02:23 PM, Borislav Petkov wrote:
> On Thu, Dec 15, 2016 at 02:08:50PM -0500, Boris Ostrovsky wrote:
>> This fixes my PV boot problem. I am still failing to boot HVM, will
>> need to look at this some more.
> No, no more stabbing in the dark and no more brown paper bags.
This fixes a bug that has nothing to do with Xen.
We are calling find_proper_container(..., &eq_id) and determine result
based on eq_id not being zero. If find_proper_container() doesn't find
anything it will not modify eq_id and so you get back whatever you
passed in.
What the patch that I sent does is no different from how
apply_microcode_early_amd() makes the call to find_proper_container.
The fact that I am having problems with HVM may or may not have
anything to do with microcode. I don't know yet but it's separate from
save_microcode_in_initrd_amd() patch. I am pretty sure about that
because unlike PV it is failing in early boot code.
-boris
>
> Please check whether CPUID(4) works that early in any xen guest and
> let's add that check to a function which does something like:
>
> bool loader_disabled(void)
> {
> if (running_on_a_xen_guest)
> return true;
>
> if (check_loader_disabled_bsp())
> return true;
>
> if (!have_cpuid_p())
> return true;
>
> return false;
>
> }
>
> and call that at the entry points and be done with it.
>
> Or if there's some other clean method to detect I'm running on a xen
> guest.
>
> Thanks.
>