[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] EFI Xen unstable crashes on Dell E6410 when calling efi_get_time.

On 22/10/14 15:15, Jan Beulich wrote:
>>>> On 22.10.14 at 13:01, <andrew.cooper3@xxxxxxxxxx> wrote:
>> On 22/10/14 11:22, Jan Beulich wrote:
>>>>>> On 22.10.14 at 11:45, <andrew.cooper3@xxxxxxxxxx> wrote:
>>>> For EFI calls, we run on the efi pagetables, not the idle pagetables, so
>>>> I am not surprised that the assertion has failed.  I suspect that the
>>>> pagefault hander for hypervisor faults needs to become wise to the fact
>>>> that we may receive a fault when calling into the firmware.  As all the
>>>> efi pagetables are xenheap pages, there is nothing conceptually wrong
>>>> with using map_domain_page() to do the walk.
>>> I'm not sure it's worth taking care of this special case. But yes, if
>>> we really want to, extending the condition to also consider
>>> efi_l4_pgtable would seem the right thing to do.
>> I think being able to do a pagetable walk from an EFI fault would be
>> useful, even if only to aid debugging.  In this case, a non-debug build
>> would successfully perform the walk.
>> I have had a quick go, but it is rather hard to get the efi_l4_pgtable
>> symbol available to use in domain_page.c without some gross extern'ing. 
>> It would be a nice fix if anyone has sufficient tuits.
> I'll take a look, but likely only next week.
> Jan

The root cause is that the efi additions appear to be strictly linked in
on the side, rather than being recompiled.

As a result, you can't reference efi_l4_pgtable in non-efi code without
breaking the non-efi build, and there is no CONFIG_EFI or equivalent as
domain_page.c isn't recompiled.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.