[Bug 1995261] Re: [SRU] Update OpenSBI to 1.1

Heinrich Schuchardt 1995261 at bugs.launchpad.net
Fri Nov 18 21:01:08 UTC 2022


** Description changed:

  [ Impact ]
  
  We support boards with the Allwinner D1 SoC on Ubuntu Jammy.
  
  Up to now we have officially launched a 22.04.1 image for the Nezha D1
  board but with 22.04.2 we should also support the LicheeRV which is
  supported by 22.10.
  
  The Allwinner D1 SoC does not implement the fence.tso instruction. This
  leads into crashes in programs like clang (cf. LP #1995080).
  
  OpenSBI 1.1 provides an emulation of the instruction. But that emulation
  is broken in that results in an endless loop due to not incrementing the
  programm counter. This has been fixed in Lunar with LP #1995860.
  
  The change for Kinetic is just adding the upstream patch fixing the
  endless loop.
  
  For Jammy the change is an version upgrade plus the patch.
  
  [ Test plan ]
  
- * Test running Ubuntu 22.04 on QEMU.
- * Use a rebuilt U-Boot to boot the Nezha D1.
+ * Rebuild current u-boot package in ppa against new OpenSBI and Test running Ubuntu 22.04 on QEMU and on SiFive Hifive Unmatched with this U-Boot.
+ * Use a rebuilt u-boot-nezha package to boot the Nezha D1.
  * Run clang --verson on all mentioned platforms (This was the command the demonstrated the problem.)
  * Run apt-get update, apt-get install, and executed an application.
  * Run snap install and execute an application.
  
  [ Where problems could occur ]
  
  OpenSBI is only used directly when running a RISC-V emulation in QEMU.
  
  For all real hardware we OpenSBI is build into U-Boot SPL. So getting
  OpenSBI onto the Nezha board will require a rebuild of U-Boot.
  
  Theoretically upgrading OpenSBI could
  
  * stop RISC-V boards from booting
  * cause failures when the operating system calls into OpenSBI
  * cause failures when OpenSBI emulates missing instructions.
  
  [ Other Info ]
  
  Upgrading to the same OpenSBI 1.1 that we use in Kinetic and Lunar
  instead of applying selected patches to 22.04 is easier to maintain in
  the long time.
  
  OpenSBI 1.1 is the first release that is based on an officially approved
  version of the RISC-V SBI specification.

** Description changed:

  [ Impact ]
  
  We support boards with the Allwinner D1 SoC on Ubuntu Jammy.
  
  Up to now we have officially launched a 22.04.1 image for the Nezha D1
  board but with 22.04.2 we should also support the LicheeRV which is
  supported by 22.10.
  
  The Allwinner D1 SoC does not implement the fence.tso instruction. This
  leads into crashes in programs like clang (cf. LP #1995080).
  
  OpenSBI 1.1 provides an emulation of the instruction. But that emulation
  is broken in that results in an endless loop due to not incrementing the
  programm counter. This has been fixed in Lunar with LP #1995860.
  
  The change for Kinetic is just adding the upstream patch fixing the
  endless loop.
  
  For Jammy the change is an version upgrade plus the patch.
  
  [ Test plan ]
  
- * Rebuild current u-boot package in ppa against new OpenSBI and Test running Ubuntu 22.04 on QEMU and on SiFive Hifive Unmatched with this U-Boot.
+ * Rebuild current u-boot package in ppa against new OpenSBI and test running Ubuntu 22.04 on QEMU and on SiFive Hifive Unmatched with this U-Boot.
  * Use a rebuilt u-boot-nezha package to boot the Nezha D1.
- * Run clang --verson on all mentioned platforms (This was the command the demonstrated the problem.)
+ * Run clang --version on all mentioned platforms (This was the command the demonstrated the problem.)
  * Run apt-get update, apt-get install, and executed an application.
  * Run snap install and execute an application.
  
  [ Where problems could occur ]
  
  OpenSBI is only used directly when running a RISC-V emulation in QEMU.
  
  For all real hardware we OpenSBI is build into U-Boot SPL. So getting
  OpenSBI onto the Nezha board will require a rebuild of U-Boot.
  
  Theoretically upgrading OpenSBI could
  
  * stop RISC-V boards from booting
  * cause failures when the operating system calls into OpenSBI
  * cause failures when OpenSBI emulates missing instructions.
  
  [ Other Info ]
  
  Upgrading to the same OpenSBI 1.1 that we use in Kinetic and Lunar
  instead of applying selected patches to 22.04 is easier to maintain in
  the long time.
  
  OpenSBI 1.1 is the first release that is based on an officially approved
  version of the RISC-V SBI specification.

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1995261

Title:
  [SRU] Update OpenSBI to 1.1

Status in opensbi package in Ubuntu:
  In Progress
Status in opensbi source package in Jammy:
  Fix Committed

Bug description:
  [ Impact ]

  We support boards with the Allwinner D1 SoC on Ubuntu Jammy.

  Up to now we have officially launched a 22.04.1 image for the Nezha D1
  board but with 22.04.2 we should also support the LicheeRV which is
  supported by 22.10.

  The Allwinner D1 SoC does not implement the fence.tso instruction.
  This leads into crashes in programs like clang (cf. LP #1995080).

  OpenSBI 1.1 provides an emulation of the instruction. But that
  emulation is broken in that results in an endless loop due to not
  incrementing the programm counter. This has been fixed in Lunar with
  LP #1995860.

  The change for Kinetic is just adding the upstream patch fixing the
  endless loop.

  For Jammy the change is an version upgrade plus the patch.

  [ Test plan ]

  * Rebuild current u-boot package in ppa against new OpenSBI and test running Ubuntu 22.04 on QEMU and on SiFive Hifive Unmatched with this U-Boot.
  * Use a rebuilt u-boot-nezha package to boot the Nezha D1.
  * Run clang --version on all mentioned platforms (This was the command the demonstrated the problem.)
  * Run apt-get update, apt-get install, and executed an application.
  * Run snap install and execute an application.

  [ Where problems could occur ]

  OpenSBI is only used directly when running a RISC-V emulation in QEMU.

  For all real hardware we OpenSBI is build into U-Boot SPL. So getting
  OpenSBI onto the Nezha board will require a rebuild of U-Boot.

  Theoretically upgrading OpenSBI could

  * stop RISC-V boards from booting
  * cause failures when the operating system calls into OpenSBI
  * cause failures when OpenSBI emulates missing instructions.

  [ Other Info ]

  Upgrading to the same OpenSBI 1.1 that we use in Kinetic and Lunar
  instead of applying selected patches to 22.04 is easier to maintain in
  the long time.

  OpenSBI 1.1 is the first release that is based on an officially
  approved version of the RISC-V SBI specification.

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





More information about the Ubuntu-sponsors mailing list