Hi Javier,

On 5 February 2018 at 01:07, Javier Santos Romo <[email protected]> wrote:
> Hi Simon,
>
> Thanks for your support. We just need a x64 bootloader because we are using a 
> 64-bit EFI. We understood, reading README.efi file from U-boot documentation 
> that we could use u-boot like an 64-bit payload. However, we don´t understand 
> why we get the memory map error. Anyway, we will consider other possibilities.

There is no need to use a 64-bit bootloader with UEFI. In fact the
U-Boot payload is specifically designed to jump from 64-bit to 32-bit
for running U-Boot. It also have native 64-bit kernel support so it
can load a 64-bit kernel.

I suggest you try it in 32-bit mode for now. That is how we use it
here. There is not a lot of benefit to using U-Boot in 64-bit mode,
but if you find something I'm interested to hear it.

If you hit a memory allocation problem in that case, please let us know.

[BTW it is best not to top-post on a mailing list]

Regards,
Simon

>
> Thanks a lot,
> BR
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> -----Mensaje original-----
> De: [email protected] [mailto:[email protected]] En nombre de Simon Glass
> Enviado el: domingo, 4 de febrero de 2018 14:41
> Para: Javier Santos Romo <[email protected]>
> CC: [email protected]; [email protected]; Juan Alfonso Reyes Ajenjo 
> <[email protected]>
> Asunto: Re: Uboot as x86_64 EFI payload
>
> Hi Javier,
>
> On 29 January 2018 at 09:36, Javier Santos Romo <[email protected]> wrote:
>
>> Hi,
>>
>> I am Juan Alfonso Reyes, a firmware engineer in GMV. Currently we are 
>> developing new boards based in Apollo Lake CPU.  We are trying to load uboot 
>> from UEFI. Using the default qemu-x86_efi_payload64_defconfig  we are 
>> getting “U-Boot EFI Payload 2002 No memory map” error code.
>>
>> As I can see in the code 2002 means (efi_stub.c):
>>
>>
>>
>> ret = boot->get_memory_map(&size, NULL, &key, &desc_size, &version);
>>
>>             if (ret != EFI_BUFFER_TOO_SMALL) {
>>
>>                         printhex2(BITS_PER_LONG);
>>
>>                         printhex2(ret);
>>
>>                         puts(" No memory map\n");
>>
>>                         while(1);
>>
>>                         return ret;
>>
>>             }
>>
>>
>>
>> 0x20   -> BITS_PER_LONG 32bits
>>
>> 0x02 -> EFI_INVALID_PARAMETER
>>
>>
>>
>> 32bits sounds weird for me, so I changed config to use CONFIG_X86_RUN_64BIT 
>> instead of CONFIG_X86_RUN_32BIT. I have changed it and I got a compilation 
>> error:
>
> Are you using 64-bit EFI or 32-bit?
>
> I think you was CONFIG_EFI_STUB_64BIT
>
> See doc/README.efi for some info about this. Note this this option makes the 
> stub run as a 64-bit EFI app, but U-Boot itself is still only 32-bit.
>
>>
>>
>>
>> In file included from include/common.h:53:0,
>>
>>                  from cmd/efi.c:8:
>>
>> cmd/efi.c: In function ‘do_efi_mem’:
>>
>> ./arch/x86/include/asm/global_data.h:117:12: error: ‘global_data_ptr’
>> undeclared (first use in this function)
>>
>> #define gd global_data_ptr
>>
>>
>>
>>
>>
>> I have surfed in the code and I have found this in
>> ./arch/x86/include/asm/global_data.h
>>
>>
>>
>> # if defined(CONFIG_EFI_APP) || CONFIG_IS_ENABLED(X86_64)
>>
>> /* TODO([email protected]): Consider using a fixed register for gd on
>> x86_64 */
>>
>> #define gd global_data_ptr
>>
>>
>>
>> What do you mean with “Consider using a fixed register for gd” ?Can you help 
>> us to make this work? Are we in the correct direction?
>
> This is for running U-Boot itself as a 64-bit app. This is not currently 
> supported as an EFI payload, only as a bar-metal U-Boot (not run from EFI).
>
> The meaning of the comment is that on 32-bit x86 we use the FS register to 
> store gd. See:
>
> #define gd      get_fs_gd_ptr()
>
> We could potentially make gd use a fixed x86 register on 64-bit x86 as well. 
> This comment is about considering that.
>
> Regards,
> Simon
>
>
>>
>>
>>
>> Thank you very much,
>>
>>
>>
>> Best regards,
>>
>> ________________________________
>>
>> Juan Alfonso Reyes Ajenjo
>> Ingeniero en Informatica / Computer Systems Engineer
>>
>> Ingeniero en Automática y Electrónica Industrial / Automation and
>> Industrial Electronics Engineer
>>
>> GMV
>> Juan de Herrera nº17
>> Boecillo
>> E-47151 Valladolid
>> Tel. +34 983 54 65 54
>> Fax +34 983 54 65 53
>> www.gmv.com
>>
>>
>>
>>
>>
>>
>>
>>
>> P Please consider the environment before printing this e-mail.
>>
>>
>> P Please consider the environment before printing this e-mail.
>
> What does this mean?
>
>>
>> ________________________________
>> This message including any attachments may contain confidential information, 
>> according to our Information Security Management System, and intended solely 
>> for a specific individual to whom they are addressed. Any unauthorised copy, 
>> disclosure or distribution of this message is strictly forbidden. If you 
>> have received this transmission in error, please notify the sender 
>> immediately and delete it. Thank you.
>> ________________________________
>> Este mensaje, y en su caso, cualquier fichero anexo al mismo, puede contener 
>> información clasificada por su emisor como confidencial en el marco de su 
>> Sistema de Gestión de Seguridad de la Información siendo para uso exclusivo 
>> del destinatario, quedando prohibida su divulgación copia o distribución a 
>> terceros sin la autorización expresa del remitente. Si Vd. ha recibido este 
>> mensaje erróneamente, se ruega lo notifique al remitente y proceda a su 
>> borrado. Gracias por su colaboración.
>> ________________________________
>> Esta mensagem, incluindo qualquer ficheiro anexo, pode conter informação 
>> confidencial, de acordo com nosso Sistema de Gestão de Segurança da 
>> Informação, sendo para uso exclusivo do destinatário e estando proibida a 
>> sua divulgação, cópia ou distribuição a terceiros sem autorização expressa 
>> do remetente da mesma. Se recebeu esta mensagem por engano, por favor avise 
>> de imediato o remetente e apague-a. Obrigado pela sua colaboração.
>> ________________________________
>
> Would you mind trimming your signature down for the mailing list?
>
> Regards,
> Simon
>
> P Please consider the environment before printing this e-mail.
>
> ______________________
> This message including any attachments may contain confidential
> information, according to our Information Security Management System,
>  and intended solely for a specific individual to whom they are addressed.
>  Any unauthorised copy, disclosure or distribution of this message
>  is strictly forbidden. If you have received this transmission in error,
>  please notify the sender immediately and delete it.
>
> ______________________
> Este mensaje, y en su caso, cualquier fichero anexo al mismo,
>  puede contener informacion clasificada por su emisor como confidencial
>  en el marco de su Sistema de Gestion de Seguridad de la
> Informacion siendo para uso exclusivo del destinatario, quedando
> prohibida su divulgacion copia o distribucion a terceros sin la
> autorizacion expresa del remitente. Si Vd. ha recibido este mensaje
>  erroneamente, se ruega lo notifique al remitente y proceda a su borrado.
> Gracias por su colaboracion.
>
> ______________________
>
_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to