Re: EFI zboot on LoongArch [was: LoongArch: Add efistub booting support]

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

 




在 2022/8/17 17:09, Huacai Chen 写道:
> Hi, Ard,
> 
> On Wed, Aug 17, 2022 at 4:36 PM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote:
>>
>> On Wed, 17 Aug 2022 at 09:59, Xi Ruoyao <xry111@xxxxxxxxxxx> wrote:
>>>
>>> On Wed, 2022-08-17 at 09:49 +0200, Ard Biesheuvel wrote:
>>>
>>>>>>>>
>>>> I am trying to port the generic EFI zboot support to LoongArch, but I
>>>> am running into a problem:
>>>>
>>>> The zboot EFI image consists of
>>>>
>>>> zImage.o, created with objcopy -O binary
>>>> zboot-header.o, created using the assembler
>>>> libstub.a, created as usual
>>>>
>>>> This results in errors such as
>>>> arch/loongarch/boot/zboot-header.o: can't link different ABI object.
>>>> failed to merge target specific data of file
>>>> arch/loongarch/boot/zboot-header.o
>>>>
>>>> which I think is caused by the fact that objcopy does not set the LP64
>>>> soft float flags on the ELF object it creates.
>>>>
>>>> Do you see any way around this limitation?
>>>
>>> Update to Binutils-2.39
>>> (https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=83c5f3a)
>>>
>>
>> Thanks, that worked. I can now build the LoongArch EFI stub and the
>> zboot decompressor.
>>
>> Unfortunately, while the normal EFI stub kernel boots ok in QEMU/edk2,
>> the zboot one crashes with
>>
>> CRMD   0xB0
>> PRMD   0x4
>> ECFG  0x800
>> ESTAT   0x40000
>> ERA    0x17B87719C
>> BADV    0x17C634000
>> BADI 0x381031A5
>> PC 0x00017B87719C
>>
>> or
>>
>> CRMD   0xB0
>> PRMD   0x4
>> ECFG  0x800
>> ESTAT   0x40000
>> ERA    0x17B138D10
>> BADV    0x17C3CC000
>> BADI 0x294000F7
>> PC 0x00017B138D10

>From the ESTAT 0x40000, it seems that it is writing unallocated
memory in efi stage with address 0x17C3CC000 or 0x17C634000.

regards
bibo,mao

> 
> Bibo is a key developer of QEMU/EDK2, maybe he can give some help.
> 
> Huacai




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux