[Bug 2111715] Re: On RISC-V check if hardware is RVA23 capable

Heinrich Schuchardt 2111715 at bugs.launchpad.net
Wed Jun 25 16:26:07 UTC 2025


** Also affects: ubuntu-release-upgrader (Ubuntu Plucky)
   Importance: Undecided
       Status: New

** Also affects: ubuntu-release-upgrader (Ubuntu Questing)
   Importance: Undecided
     Assignee: Heinrich Schuchardt (xypron)
       Status: Fix Released

** Also affects: ubuntu-release-upgrader (Ubuntu Noble)
   Importance: Undecided
       Status: New

** Changed in: ubuntu-release-upgrader (Ubuntu Plucky)
     Assignee: (unassigned) => Heinrich Schuchardt (xypron)

** Changed in: ubuntu-release-upgrader (Ubuntu Questing)
     Assignee: Heinrich Schuchardt (xypron) => (unassigned)

** Changed in: ubuntu-release-upgrader (Ubuntu Noble)
     Assignee: (unassigned) => Heinrich Schuchardt (xypron)

** Changed in: ubuntu-release-upgrader (Ubuntu Noble)
    Milestone: None => ubuntu-24.04.3

** Description changed:

  [ Impact ]
  
  For Ubuntu 25.10 release we plan to raise the required RISC-V ISA
  profile family to RVA23.
  
  The ubuntu-release-upgrader should stop upgrades beyond Ubuntu 24.04 on
  hardware that does not support the RVA23U64 profile. RVA23U64 [1] is the
  profile relevant for user space.
  
  As there is no upgrade path from Ubuntu 25.04 Plucky for RVA20 systems,
  we should also stop upgrading these RISC-V systems from Noble to Plucky.
+ Probably a warning is adequate here.
+ 
+ The Noble entry is only a placeholder for the 24.04.3 milestone. All
+ changes have to be done in the target releases (Questing, Noble).
  
  The Linux kernel exposes available extensions via /proc/cpuinfo field
  ISA and via the hwprobe system call [3]. Which extensions are exposed
  depends on the kernel revision. We are backporting a v6.14 kernel to
  Ubuntu 24.04. We have to restrict our check to those RVA23 extensions
  exposed by this kernel release.
  
  As the ubuntu-release-upgrader is implemented in Python we should use
  /proc/cpuinfo for the extension detection.
  
  [1]
  RVA23 Profiles, Version 1.0, 2024-10-17
  https://github.com/riscv/riscv-profiles/releases/download/rva23-rvb23-ratified/rva23-profile.pdf
  
- 
  [2]
  RISC-V Linux User ABI
  https://docs.kernel.org/arch/riscv/uabi.html
  
  [3]
  RISC-V Hardware Probing Interface
  https://docs.kernel.org/arch/riscv/hwprobe.html
- 
  
  [ Test Plan ]
  
  Test that Ubuntu 22.04 Jammy can be upgraded to Ubuntu 24.04 Noble on RVA20 hardware.
  Test that Ubuntu 24.04 Noble cannot be upgraded to Plucky or Questing on RVA20 hardware.
  Test that Ubuntu 25.04 Plucky cannot be upgraded to Questing on RVA20 hardware.
  Test that Ubuntu 24.04 Noble can be upgraded to Questing on a RVA23 virtual machine.
  Test that Ubuntu 24.04 Plucky can be upgraded to Questing on a RVA23 virtual machine.
  
  Test that Ubuntu 24.04 Plucky can be upgraded to Questing on an arm64
  virtual machine.
  
  QEMU 10.0 provides all RVA23U64 extensions.
  
- 
  [ Where problems could occur ]
  
  If incorrectly implemented, the upgrader might not correctly identify
  RVA20 and RVA23 systems and therefore might stop or allow upgrades in
  the wrong case.
  
  [ Other Info ]
  
  n/a

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubuntu-release-upgrader in
Ubuntu.
https://bugs.launchpad.net/bugs/2111715

Title:
  On RISC-V check if hardware is RVA23 capable

Status in ubuntu-release-upgrader package in Ubuntu:
  Fix Released
Status in ubuntu-release-upgrader source package in Noble:
  New
Status in ubuntu-release-upgrader source package in Plucky:
  New
Status in ubuntu-release-upgrader source package in Questing:
  Fix Released

Bug description:
  [ Impact ]

  For Ubuntu 25.10 release we plan to raise the required RISC-V ISA
  profile family to RVA23.

  The ubuntu-release-upgrader should stop upgrades beyond Ubuntu 24.04
  on hardware that does not support the RVA23U64 profile. RVA23U64 [1]
  is the profile relevant for user space.

  As there is no upgrade path from Ubuntu 25.04 Plucky for RVA20
  systems, we should also stop upgrading these RISC-V systems from Noble
  to Plucky. Probably a warning is adequate here.

  The Noble entry is only a placeholder for the 24.04.3 milestone. All
  changes have to be done in the target releases (Questing, Noble).

  The Linux kernel exposes available extensions via /proc/cpuinfo field
  ISA and via the hwprobe system call [3]. Which extensions are exposed
  depends on the kernel revision. We are backporting a v6.14 kernel to
  Ubuntu 24.04. We have to restrict our check to those RVA23 extensions
  exposed by this kernel release.

  As the ubuntu-release-upgrader is implemented in Python we should use
  /proc/cpuinfo for the extension detection.

  [1]
  RVA23 Profiles, Version 1.0, 2024-10-17
  https://github.com/riscv/riscv-profiles/releases/download/rva23-rvb23-ratified/rva23-profile.pdf

  [2]
  RISC-V Linux User ABI
  https://docs.kernel.org/arch/riscv/uabi.html

  [3]
  RISC-V Hardware Probing Interface
  https://docs.kernel.org/arch/riscv/hwprobe.html

  [ Test Plan ]

  Test that Ubuntu 22.04 Jammy can be upgraded to Ubuntu 24.04 Noble on RVA20 hardware.
  Test that Ubuntu 24.04 Noble cannot be upgraded to Plucky or Questing on RVA20 hardware.
  Test that Ubuntu 25.04 Plucky cannot be upgraded to Questing on RVA20 hardware.
  Test that Ubuntu 24.04 Noble can be upgraded to Questing on a RVA23 virtual machine.
  Test that Ubuntu 24.04 Plucky can be upgraded to Questing on a RVA23 virtual machine.

  Test that Ubuntu 24.04 Plucky can be upgraded to Questing on an arm64
  virtual machine.

  QEMU 10.0 provides all RVA23U64 extensions.

  [ Where problems could occur ]

  If incorrectly implemented, the upgrader might not correctly identify
  RVA20 and RVA23 systems and therefore might stop or allow upgrades in
  the wrong case.

  [ Other Info ]

  n/a

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/2111715/+subscriptions




More information about the foundations-bugs mailing list