grub-devel
[Top][All Lists]
Advanced

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

Re: Error in creating the EFI image for Grub2


From: Adhyas Avasthi
Subject: Re: Error in creating the EFI image for Grub2
Date: Sat, 13 Nov 2010 15:17:08 -0800

Yep, I think the issue is in calling efi_call_4 which calls efi_wrap_4
for my build environment. This traps with kvm enabled, but does not
trap with kvm disabled. This probably has something to do with the
calling convention when kvm is enabled vs when it is disabled.

I would have assumed that on kvm enabled, the instructions get
executed directly on the host CPU. Not sure how that affects the
calling convention behavior for EFI. Note that I am building my EFI as
well using gcc on Linux, and not on Windows, if that makes any
difference.

Thanks,
Adhyas

On Sat, Nov 13, 2010 at 10:40 AM, Adhyas Avasthi <address@hidden> wrote:
> Thanks for that Colin. It worked for me.
>
> I think I am close to root-causing the issue, I am facing in the VM.
> Basically, after making this call from grub_efi_allocate_pages in file
> kern/efi/mm.c, I never really return and get an x64 exception. My
> guess is that this may have something to do with either the calling
> convention we are using, or a mess up of the efi_system_table and
> efi_image_header parameters passed to the loader itself.
>
> status = efi_call_4 (b->allocate_pages, type, GRUB_EFI_LOADER_DATA,
> pages, &address);
>
> Debugging further to see where the issue may lie. Any pointers to help
> are most welcome.
>
> PS: The funny part is that I don't see this issue if I start the VM
> with -no-kvm option. I have no idea why, but at this point I don't
> really care for the no-kvm option.
>
> Thanks,
> Adhyas
>



-- 
Adhyas
********************************************************************
Two types have compatible type if their types are the same.
    — ANSI C Standard, 3.1.2.6.
********************************************************************



reply via email to

[Prev in Thread] Current Thread [Next in Thread]