QEMU occurs an Error when testing my DIY UEFI aarch64 kernel:Synchronous Exception at 0x00000000E46CCEAC
Host environment
- Operating system: Fedora
- OS/kernel version: 40
- Architecture: x64
- QEMU flavor: qemu-system-aarch64
- QEMU version: 9.0.0
- QEMU command line:(using the libvirt and virt-manager,I can't find out where is the gdb switch for virt-manager)
- /usr/bin/swtpm socket --ctrl type=unixio,path=/run/libvirt/qemu/swtpm/4-vm-aarch64-swtpm.sock,mode=0600 --tpmstate dir=/var/lib/libvirt/swtpm/ef4ab4e4-e9fd-4bde-9c6a-d7541e5906c5/tpm2,mode=0600 --log file=/var/log/swtpm/libvirt/qemu/vm-aarch64-swtpm.log --terminate --tpm2
2024-06-07 01:35:17.953+0000: starting up libvirt version: 10.2.0, package: 2.fc40 (Unknown, 2024-04-06-19:53:51, ), qemu version: 9.0.0qemu-9.0.0-1.fc40, kernel: 6.8.11-300.fc40.x86_64, hostname: fedora.localdomain
LC_ALL=C
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
USER=root
HOME=/var/lib/libvirt/qemu/domain-4-vm-aarch64
XDG_DATA_HOME=/var/lib/libvirt/qemu/domain-4-vm-aarch64/.local/share
XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain-4-vm-aarch64/.cache
XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain-4-vm-aarch64/.config
/usr/bin/qemu-system-aarch64
-name guest=vm-aarch64,debug-threads=on
-S
-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain-4-vm-aarch64/master-key.aes"}'
-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.qcow2","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}'
-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"qcow2","file":"libvirt-pflash0-storage"}'
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/vm-aarch64_VARS.qcow2","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}'
-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"qcow2","file":"libvirt-pflash1-storage"}'
-machine virt-9.0,usb=off,gic-version=2,dump-guest-core=off,memory-backend=mach-virt.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,acpi=on
-accel tcg
-cpu cortex-a57
-m size=4194304k
-object '{"qom-type":"memory-backend-ram","id":"mach-virt.ram","size":4294967296}'
-overcommit mem-lock=off
-smp 4,sockets=4,cores=1,threads=1
-uuid ef4ab4e4-e9fd-4bde-9c6a-d7541e5906c5
-no-user-config
-nodefaults
-chardev socket,id=charmonitor,fd=29,server=on,wait=off
-mon chardev=charmonitor,id=monitor,mode=control
-rtc base=utc
-no-shutdown
-boot strict=on
-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}'
-device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}'
-device '{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}'
-device '{"driver":"pcie-root-port","port":11,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x3"}'
-device '{"driver":"pcie-root-port","port":12,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x1.0x4"}'
-device '{"driver":"pcie-root-port","port":13,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x1.0x5"}'
-device '{"driver":"pcie-root-port","port":14,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x1.0x6"}'
-device '{"driver":"pcie-root-port","port":15,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x1.0x7"}'
-device '{"driver":"pcie-root-port","port":16,"chassis":9,"id":"pci.9","bus":"pcie.0","multifunction":true,"addr":"0x2"}'
-device '{"driver":"pcie-root-port","port":17,"chassis":10,"id":"pci.10","bus":"pcie.0","addr":"0x2.0x1"}'
-device '{"driver":"pcie-root-port","port":18,"chassis":11,"id":"pci.11","bus":"pcie.0","addr":"0x2.0x2"}'
-device '{"driver":"pcie-root-port","port":19,"chassis":12,"id":"pci.12","bus":"pcie.0","addr":"0x2.0x3"}'
-device '{"driver":"pcie-root-port","port":20,"chassis":13,"id":"pci.13","bus":"pcie.0","addr":"0x2.0x4"}'
-device '{"driver":"pcie-root-port","port":21,"chassis":14,"id":"pci.14","bus":"pcie.0","addr":"0x2.0x5"}'
-device '{"driver":"qemu-xhci","p2":15,"p3":15,"id":"usb","bus":"pci.2","addr":"0x0"}'
-device '{"driver":"virtio-scsi-pci","id":"scsi0","bus":"pci.3","addr":"0x0"}'
-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.4","addr":"0x0"}'
-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/vm-aarch64.img","node-name":"libvirt-2-storage","read-only":false}'
-device '{"driver":"virtio-blk-pci","bus":"pci.5","addr":"0x0","drive":"libvirt-2-storage","id":"virtio-disk0","bootindex":1}'
-blockdev '{"driver":"file","filename":"/home/tydq/下载/cdimageaarch64.iso","node-name":"libvirt-1-storage","read-only":true}'
-device '{"driver":"scsi-cd","bus":"scsi0.0","channel":0,"scsi-id":0,"lun":0,"device_id":"drive-scsi0-0-0-0","drive":"libvirt-1-storage","id":"scsi0-0-0-0","bootindex":2}'
-netdev '{"type":"tap","fd":"30","id":"hostnet0"}'
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:4e:f8:fa","bus":"pci.1","addr":"0x0"}'
-chardev pty,id=charserial0
-serial chardev:charserial0
-chardev socket,id=charchannel0,fd=28,server=on,wait=off
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}'
-chardev socket,id=chrtpm,path=/run/libvirt/qemu/swtpm/4-vm-aarch64-swtpm.sock
-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm
-device '{"driver":"tpm-tis-device","tpmdev":"tpm-tpm0","id":"tpm0"}'
-device '{"driver":"usb-kbd","id":"input0","bus":"usb.0","port":"1"}'
-device '{"driver":"usb-tablet","id":"input1","bus":"usb.0","port":"2"}'
-audiodev '{"id":"audio1","driver":"spice"}'
-spice port=5900,addr=127.0.0.1,disable-ticketing=on,image-compression=off,seamless-migration=on
-device '{"driver":"virtio-gpu-pci","id":"video0","max_outputs":1,"bus":"pci.6","addr":"0x0"}'
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny
-msg timestamp=on
Emulated/Virtualized environment
- Operating system: my DIY kernel(TYDQ System,which source code is on githubUEFIPascalOS)
- OS/kernel version: 0.0.1
- Architecture: aarch64(arm64)
Description of problem
Shows Synchronous Exception at 0x00000000E46CCEAC and the program halts.
Steps to reproduce
1.Download the UEFIPascalOS on github. 2.run the bash buildaarch64.sh to build the kernel iso. 3.Go through the installer guide and enter the kernel. 4.Enter the account's name and password and press enter,now you can got an error that shows Synchronous Exception at 0x00000000E46CCEAC
Additional information
(no logs,stack traces was shown for the error because logs and stack traces are not exists.)
screenshots:
If I create two accounts,it will halt on sentence "Welcome to TYDQ System!" and give me Synchronous Exception at other numbers.
If I change the memory in virt-machine,the Synchronous Exception showing number will be changed.
Edited by Yi Kai Chen