** Description changed:

+ [ 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
+      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 a Noble RISC-V virtual machine as described in
+ 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
+   -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
+   -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>
  
- ProblemType: Bug
- DistroRelease: Ubuntu 24.04
- Package: qemu-efi-riscv64 2024.02-2
- ProcVersionSignature: Ubuntu 6.8.0-31.31.1-generic 6.8.1
- Uname: Linux 6.8.0-31-generic riscv64
- ApportVersion: 2.28.1-0ubuntu2
- Architecture: riscv64
- CasperMD5CheckResult: unknown
- CloudArchitecture: riscv64
- CloudBuildName: server
- CloudID: nocloud
- CloudName: unknown
- CloudPlatform: nocloud
- CloudSerial: 20240423
- CloudSubPlatform: seed-dir (/var/lib/cloud/seed/nocloud-net)
- Date: Fri Aug 23 13:10:55 2024
- Dependencies:
-  
- PackageArchitecture: all
- ProcEnviron:
-  LANG=C.UTF-8
-  PATH=(custom, no user)
-  SHELL=/bin/bash
-  TERM=vt220
- SourcePackage: edk2
- UpgradeStatus: No upgrade log present (probably fresh install)
+ [ 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

-- 
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:
  New
Status in linux-meta-riscv package in Ubuntu:
  Invalid
Status in qemu package in Ubuntu:
  New
Status in edk2 source package in Noble:
  New
Status in linux-meta-riscv source package in Noble:
  Invalid
Status in qemu source package in Noble:
  New
Status in edk2 source package in Oracular:
  New
Status in linux-meta-riscv source package in Oracular:
  Invalid
Status in qemu source package in Oracular:
  New

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