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

Re: [Xen-devel] EFI GetNextVariableName crashes when running under Xen, but not under Linux. efi-rs=0 works. No memmap issues

>>> On 27.01.15 at 19:20, <konrad.wilk@xxxxxxxxxx> wrote:
> On Tue, Jan 27, 2015 at 04:17:05PM +0000, Jan Beulich wrote:
>> Again - apart from mapping the range, did you also make sure it
>> didn't get passed to the allocator (and hence couldn't have got
>> overwritten)?
> Yes, see patch:

Oh, sorry, I must have not looked closely enough.

> Also see attached of the code with what Linux sees and what Xen sees
> (Linux first).

Indeed this

  8b:   44 38 2d c2 10 00 00    cmp    %r13b,0x10c2(%rip)        # 0x115 [01 01 
00 00 00 00 00 00][00 01 00 00 00 00 00 00
  92:   75 12                   jne    0xa6

causes the code in question to be skipped under Linux.

> I am thinking that the firmware is under the assumption
> that if SetVirtualAddressMap is not called then you MUST be still
> before ExitBootServices has been called. Going to verify that by
> implementing an GetNextVariableName before calling ExitBootServices)

Not sure how exactly you envision to do this, but I'm having a hard
time seeing how this would prove anything, in particular because
calling runtime services functions prior to exiting boot services must
be possible anyway.

And iirc you had already tried calling the function prior to doing much
else (namely, prior to loading Dom0), and it still crashed? Did you
investigate when the memory type of that region changes (in an
earlier mail you said dmem from the EFI shell reported it as Boot
Services, albeit it's not fully clear what that tagging is supposed to
be telling us)?


Xen-devel mailing list



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