在 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