[U-Boot] [PULL] efi patch queue 2018-07-10

Alexander Graf agraf at suse.de
Tue Jul 10 21:06:59 UTC 2018



On 10.07.18 23:04, Alexander Graf wrote:
> 
> 
> On 10.07.18 22:55, Tom Rini wrote:
>> On Tue, Jul 10, 2018 at 06:06:56PM +0200, Alexander Graf wrote:
>>
>>> Hi Tom,
>>>
>>> This is my current patch queue for efi.  Please pull.
>>>
>>> Alex
>>>
>>>
>>> The following changes since commit 495c70f9dfad1a5428ec84b52e8667ea4760ecd6:
>>>
>>>   net: designware: Add reset ctrl to driver (2018-07-09 15:28:28 -0400)
>>>
>>> are available in the git repository at:
>>>
>>>   git://github.com/agraf/u-boot.git tags/signed-efi-next
>>>
>>> for you to fetch changes up to e2c6ec921b5a37ac96aba34731c972dfee9943b0:
>>>
>>>   MAINTAINERS: assign lib/charset.c (2018-07-10 18:01:08 +0200)
>>>
>>
>> NAK, this totally breaks qemu-x86_64:
>> Building current source for 1 boards (1 thread, 16 jobs per thread)
>>     1    0    0 /1      qemu-x86_64
>> +u-boot-test-flash qemu-x86_64 na
>> ===================================== test session starts =====================================
>> platform linux2 -- Python 2.7.12, pytest-2.8.7, py-1.4.31, pluggy-0.3.1
>> rootdir: /, inifile:
>> collected 127 items
>> +u-boot-test-reset qemu-x86_64 na
>> warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5]
>>
>> U-Boot SPL 2018.07-00106-gdbe7256f0d42 (Jul 10 2018 - 16:54:23 -0400)
>> CPU: x86_64, vendor AMD, device 663h
>> Trying to boot from SPI
>> Jumping to 64-bit U-Boot: Note many features are missing
>>  No serial driver found
>> ^C
> 
> That was the breakage that I reported to Bin earlier as well. Let me
> bisect ...

I think I have an idea ;)

ab1340bf15c9ad7d1a7edbe51ec93c45e11c5c2c is the first bad commit
commit ab1340bf15c9ad7d1a7edbe51ec93c45e11c5c2c
Author: Alexander Graf <agraf at suse.de>
Date:   Tue Jun 12 07:48:37 2018 +0200

    efi_loader: Rename sections to allow for implicit data

    Some times gcc may generate data that is then used within code that may
    be part of an efi runtime section. That data could be jump tables,
    constants or strings.

    In order to make sure we catch these, we need to ensure that gcc emits
    them into a section that we can relocate together with all the other
    efi runtime bits. This only works if the -ffunction-sections and
    -fdata-sections flags are passed and the efi runtime functions are
    in a section that starts with ".text".

    Up to now we had all efi runtime bits in sections that did not
    interfere with the normal section naming scheme, but this forces
    us to do so. Hence we need to move the efi_loader text/data/rodata
    sections before the global *(.text*) catch-all section.

    With this patch in place, we should hopefully have an easier time
    to extend the efi runtime functionality in the future.

    Signed-off-by: Alexander Graf <agraf at suse.de>


More information about the U-Boot mailing list