[SRU] Update OpenSBI to 1.1
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
opensbi (Ubuntu) |
Fix Released
|
Undecided
|
Heinrich Schuchardt | ||
Jammy |
Fix Released
|
Undecided
|
Unassigned |
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.
Changed in opensbi (Ubuntu): | |
assignee: | nobody → Heinrich Schuchardt (xypron) |
tags: | added: foundations-todo |
summary: |
- [SRU] Copy OpenSBI 1.1 to Jammy + [SRU] Copy OpenSBI 1.1 to Jammy and Kinetic |
description: | updated |
summary: |
- [SRU] Copy OpenSBI 1.1 to Jammy and Kinetic + [SRU] Update OpenSBI to 1.1 |
description: | updated |
description: | updated |
tags: |
added: verification-done verification-done-jammy removed: verification-needed verification-needed-jammy |
Changed in opensbi (Ubuntu): | |
status: | In Progress → Fix Released |
tags: | removed: foundations-todo |
The attachment "opensbi_ 1.0-3ubuntu1. .1.1-1ubuntu0. 22.04.1. debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.
[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]