Hello Andreas,

The fix in EDK II is enough to solve the reported problem.

It might still make sense to change QEMU upstream but that is beyond the
scope of this bug report.

Best regards

Heinrich

** Changed in: qemu (Ubuntu)
       Status: New => Invalid

** Changed in: qemu (Ubuntu Noble)
       Status: New => Invalid

** Changed in: qemu (Ubuntu Oracular)
       Status: New => Invalid

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-meta-riscv in Ubuntu.
https://bugs.launchpad.net/bugs/2077731

Title:
  [SRU] riscv64 EDK 2 crashes in KVM based emulation

Status in edk2 package in Ubuntu:
  Fix Released
Status in linux-meta-riscv package in Ubuntu:
  Invalid
Status in qemu package in Ubuntu:
  Invalid
Status in edk2 source package in Noble:
  Fix Released
Status in linux-meta-riscv source package in Noble:
  Invalid
Status in qemu source package in Noble:
  Invalid
Status in edk2 source package in Oracular:
  Fix Released
Status in linux-meta-riscv source package in Oracular:
  Invalid
Status in qemu source package in Oracular:
  Invalid

Bug description:
  [ Impact ]

  When running EDK2 as payload for QEMU using KVM a crash occurs in the
  VM:

  $ qemu-system-riscv64   -M virt,acpi=off -accel kvm -m 4096   -nographic   
-drive if=pflash,format=raw,unit=0,file=RISCV_VIRT_CODE.fd,readonly=on   -drive 
if=pflash,format=raw,unit=1,file=RISCV_VIRT_VARS.fd
  !!!! RISCV64 Exception Type - 0000000000000002(EXCEPT_RISCV_ILLEGAL_INST) !!!!
       t0 = 0x00000000083FFFB28        t1 = 0x00000000083238BC8
       t2 = 0x00000000000000000        t3 = 0x00000000000000000
       t4 = 0x00000000000000000        t5 = 0x00000000000000000
       t6 = 0x00000000000000000        s0 = 0x00000000083FFFBC0
       s1 = 0x00000000000000000        s2 = 0x00000000000000000
       s3 = 0x00000000000000000        s4 = 0x00000000000000000
       s5 = 0x00000000000000000        s6 = 0x00000000000000000
       s7 = 0x00000000000000000        s8 = 0x00000000000000000
       s9 = 0x00000000000000000       s10 = 0x00000000000000000
      s11 = 0x00000000000000000        a0 = 0x0000000017E1DDD10
       a1 = 0x00000000000000021        a2 = 0x0000000017E1B1A80
       a3 = 0x00000000000000032        a4 = 0x00000000000000021
       a5 = 0x00000000000000021        a6 = 0x000000000832391E0
       a7 = 0x00000000083FFFA64      zero = 0x00000000000000000
       ra = 0x0000000017E0AFA08        sp = 0x00000000000000004
       gp = 0x00000000000000000        tp = 0x00000000000000000
     sepc = 0x0000000017E0B0824   sstatus = 0x00000000200000120
    stval = 0x000000000D20787D3
  QEMU: Terminated

  
  [ Test Plan ]

  To reproduce the issue:

  Run RISC-V virtual machine as described in
  https://wiki.ubuntu.com/RISC-V/QEMU.

  sudo apt-get update
  sudo apt-get install qemu-efi-riscv64 qemu-system-misc
  cp /usr/share/qemu-efi-riscv64/RISCV_VIRT_*.fd .
  qemu-system-riscv64 \
    -M virt,acpi=off -accel tcg -m 1024 \
    -nographic \
    -drive if=pflash,format=raw,unit=0,file=RISCV_VIRT_CODE.fd,readonly=on \
    -drive if=pflash,format=raw,unit=1,file=RISCV_VIRT_VARS.fd
  # In the EFI shell
  reset -s
  sudo modprobe kvm
  sudo qemu-system-riscv64 \
    -M virt,acpi=off -accel kvm -m 1024 \
    -nographic \
    -drive if=pflash,format=raw,unit=0,file=RISCV_VIRT_CODE.fd,readonly=on \
    -drive if=pflash,format=raw,unit=1,file=RISCV_VIRT_VARS.fd
  # A crash occurs
  # RISCV64 Exception Type - 0000000000000002(EXCEPT_RISCV_ILLEGAL_INST)
  # Terminate emulation with <CTRL+A><x>

  [ Where problems could occur ]

  The change that has been merged into upstream EDK II with merge
  request https://github.com/tianocore/edk2/pull/6210 only influences
  the state of the floating point unit.

  If the patch were incorrect, it could result in a failure to boot.

  [ Other Info ]

  n/a

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/edk2/+bug/2077731/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to