/
SE_01_014 - QEMU query-cpu-model-expansion API

SE_01_014 - QEMU query-cpu-model-expansion API

About

QEMU provides several APIs to deal with CPU features/extension probing. One of them is called query-cpu-model-expansion. It is used by tooling such as libvirt to query  features/extensions of a given CPU model. It is also used to query if the CPU model supports a certain configuration, e.g. if the CPU supports enabling/disabling a set of extensions. Its most common use, at least as far as libvirt is concerned, is to determine virtual machine compatibility with a QEMU binary if the virtual machine was created in an older QEMU version or if  the virtual machine was migrated from another host.

Most architectures supports this API in QEMU. RISC-V does not, which is a considerable gap that we need to cover.

The implementation proposed in this work also includes some enhancements in the core code as well.

Project Scope and Timelines

The project will take place during the QEMU 8.2 development cycle.

Components and Repos

Upstream Qemu.

Stakeholders and Partners

Other QEMU for RISC-V contributors, including:

  • RISE
    • Daniel Henrique Barboza
  • External
    • Alistair Francis (QEMU for RISC-V maintainer)

Dependencies

No dependencies.

Measure of Success

An accepted and tested design and implementation by end of 2H23 (slated for merging).

RISE Requirements

None (not accounting any of existing engineering investment against RISE resources).

Status

The table below is rolled up to the Simulator WG status page Simulator/Emulator 2023 Priorities .


Development

COMPLETED


Development Timeline

2H23


Dependencies



Upstreaming

COMPLETED


Upstream Version


Target 8.2

Contacts





Related content

SE_01_011 - QEMU RVA22 profiles support
SE_01_011 - QEMU RVA22 profiles support
More like this
LK_03_006 - QEMU-KVM CPU feature integration
LK_03_006 - QEMU-KVM CPU feature integration
More like this
SE_01_001 - QEMU linux-user riscv_hwprobe syscall support
SE_01_001 - QEMU linux-user riscv_hwprobe syscall support
More like this
Simulator/Emulator 2023 Projects
Simulator/Emulator 2023 Projects
More like this
2024-1H - Kernel and Virtualization Priorities
2024-1H - Kernel and Virtualization Priorities
More like this
SE_02_004 - QEMU RVV performance enhancements
SE_02_004 - QEMU RVV performance enhancements
More like this