Recent

Author Topic: My program occurs a suspious error in QEMU AArch64 virtual machine  (Read 2622 times)

TYDQ

  • Full Member
  • ***
  • Posts: 176
These days I have developed a bare metal program for the AArch64 program.However,I have met the error called Synchronous Exception when using QEMU Aarch64 virtual machine for testing my bare metal program,I just want to turn the screen to yellow with this bare metal program.I have refered to the website Stack Overflow and I cannot find where the error occurs.Therefore,I push the question to our forum.
This is the error I have encountered:
Synchronous Exception at 0x000000013E3BC50C
PC 0x00013E3BC50C
PC 0x00013E3BC4C0
PC 0x00013E3BC6DC
PC 0x00013E3BCAD4
PC 0x00013E3B9598
PC 0x00013E3B97F0
PC 0x00004769B2C0 (0x000047694000+0x000072C0) [ 1] DxeCore.dll
PC 0x00013EE6EECC (0x00013EE68000+0x00006ECC) [ 2] BdsDxe.dll
PC 0x00013EE70CF0 (0x00013EE68000+0x00008CF0) [ 2] BdsDxe.dll
PC 0x00004769DFF8 (0x000047694000+0x00009FF8) [ 3] DxeCore.dll
[ 1] /builddir/build/BUILD/edk2-20241117-build/edk2-0f3867fa6ef0/Build/ArmVirtQemu-AARCH64/DEBUG_GCC5/AARCH64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll
[ 2] /builddir/build/BUILD/edk2-20241117-build/edk2-0f3867fa6ef0/Build/ArmVirtQemu-AARCH64/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/BdsDxe/BdsDxe/DEBUG/BdsDxe.dll
[ 3] /builddir/build/BUILD/edk2-20241117-build/edk2-0f3867fa6ef0/Build/ArmVirtQemu-AARCH64/DEBUG_GCC5/AARCH64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll

  X0 0x000FFFFFFFFD000C   X1 0x00000000BFF94000   X2 0x0000000000000000   X3 0x01900000BFAE412C
  X4 0x0000000000000000   X5 0x0000000000000000   X6 0x000FFFFFFFFD000B   X7 0x6369767265532074
  X8 0x7275746552207365   X9 0x687469772064656E  X10 0x6369767265532074  X11 0x7275746552207365
 X12 0x687469772064656E  X13 0x6572756C69614620  X14 0x00004769FB2C0000  X15 0x0000476930200000
 X16 0x000000013F048290  X17 0x00000000FFC984B5  X18 0x0000000000000000  X19 0x000000013E3D9518
 X20 0x0000000000000001  X21 0x0000000000000001  X22 0x0000000017E4A902  X23 0x000000000FE2A905
 X24 0x0000000003E1AA04  X25 0x000000013E3D9518  X26 0x00000000476BBE78  X27 0x000000013EE7D7E5
 X28 0x000000013EA05844   FP 0x0000000047693900   LR 0x000000013E3BC4C0 

  V0 0x0000000000000000 0000000000000000   V1 0x2C31406567646972 622D6963702F6666
  V2 0x6C656E6E6168632F 3040697363732F36   V3 0x4000000000000000 0000000000000000
  V4 0x0000000000000000 0000000000000000   V5 0x4010040140100401 4010040140100401
  V6 0x0000000040000000 0000000040000000   V7 0x0000000000000000 0000000000000000
  V8 0x0000000000000000 0000000000000000   V9 0x0000000000000000 0000000000000000
 V10 0x0000000000000000 0000000000000000  V11 0x0000000000000000 0000000000000000
 V12 0x0000000000000000 0000000000000000  V13 0x0000000000000000 0000000000000000
 V14 0x0000000000000000 0000000000000000  V15 0x0000000000000000 0000000000000000
 V16 0x0000000000000000 0000000000000000  V17 0x0000000000000000 0000000000000000
 V18 0x0000000000000000 0000000000000000  V19 0x0000000000000000 0000000000000000
 V20 0x0000000000000000 0000000000000000  V21 0x0000000000000000 0000000000000000
 V22 0x0000000000000000 0000000000000000  V23 0x0000000000000000 0000000000000000
 V24 0x0000000000000000 0000000000000000  V25 0x0000000000000000 0000000000000000
 V26 0x0000000000000000 0000000000000000  V27 0x0000000000000000 0000000000000000
 V28 0x0000000000000000 0000000000000000  V29 0x0000000000000000 0000000000000000
 V30 0x00000000476938E0 00000000476938E0  V31 0xFFFFFF80FFFFFFC8 00000000476938A0

  SP 0x00000000476938F0  ELR 0x000000013E3BC50C  SPSR 0x80000205  FPSR 0x00000000
 ESR 0x96000004          FAR 0x01900000BFAE4113

 ESR : EC 0x25  IL 0x1  ISS 0x00000004

Data abort: Translation fault, zeroth level

Stack dump:
  00000476937F0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
  0000047693810: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
  0000047693830: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
  0000047693850: 0000000000000000 0000000000000000 0000000047693890 000000004769EDB4
  0000047693870: 00000000476938E0 000000004769FDFC 0000000000000004 0000000000000001
  0000047693890: 000000013E3DB018 000000000FE2A905 0000000000000001 0000000017E4A902
  00000476938B0: 0000000000000001 0000000000000001 0000000000000001 000000013E3D9518
  00000476938D0: 0000000047693950 000000013E3BB994 0000000000000000 0000000000000000
> 00000476938F0: 0000000000000000 0000000000000000 0000000047693910 000000013E3BC6DC
  0000047693910: 0000000047693960 000000013E3BCAD4 000000013E3DB018 000000013E3DB018
  0000047693930: 0000000000000001 000000013EE7F994 0000000000000001 0000000000000000
  0000047693950: 0000000000020518 0000000000000001 0000000047693990 000000013E3B9598
  0000047693970: 0000000000000000 0000000000000000 000000004401AF08 000000004401AF08
  0000047693990: 0000000047693A50 000000013E3B97F0 0000000000000000 0000000000000728
  00000476939B0: 000000000000004F 0000000000000000 0000000000000000 00000000FF728000
  00000476939D0: 000000000000000F 00000000BFF94000 000000003FDCA000 0000000000000000


Synchronous Exception at 0x000000013E3BC50C
ASSERT [ArmCpuDxe] DefaultExceptionHandler.c(340): ((BOOLEAN)(0==1))
This is my program developed by me below,if you want to solve my problem,you should look this below:
My problematic program is in https://github.com/TYDQSoft/UEFIPascalOS.

AlexTP

  • Hero Member
  • *****
  • Posts: 2696
    • UVviewsoft
Re: My program occurs a suspious error in QEMU AArch64 virtual machine
« Reply #1 on: December 28, 2024, 08:09:57 am »
aarch64 has hard-float and soft-float flavours (not sure here). Maybe your flavour is not equal to CPU type.

Edit:
I am wrong, it is ARM (32bit) who has hard-float.
« Last Edit: December 28, 2024, 08:28:44 am by AlexTP »

TYDQ

  • Full Member
  • ***
  • Posts: 176
Re: My program occurs a suspious error in QEMU AArch64 virtual machine
« Reply #2 on: December 28, 2024, 08:40:02 am »
aarch64 has hard-float and soft-float flavours (not sure here). Maybe your flavour is not equal to CPU type.

Edit:
I am wrong, it is ARM (32bit) who has hard-float.
However,if the flavours is not equal to CPU type,it will not executed after the UEFI core loaded the PE image file.Can you solve my problem?
(AArch64 PE image can be executed,but during executing process the error occurs)

 

TinyPortal © 2005-2018