Skip to content

ci: enable KVM legacy xAPIC VMM test - #152

Merged
Pedro Henrique Penna (ppenna) merged 2 commits into
devfrom
fix-kvm-vcpu-apic-id
Sep 21, 2026
Merged

Pedro Henrique Penna (ppenna) merged 2 commits into
devfrom
fix-kvm-vcpu-apic-id

Conversation

@ppenna

Copy link
Copy Markdown
Contributor

Summary

Dependency

This PR depends on nanvix/openvmm#87. That change addresses KVM VCPU handles by APIC ID instead of mixing the KVM key space with logical VP indices.

openvmm_linux_x64_apicid_offset and the five Linux PCAT cases remain excluded by exact name.

Validation

OpenVMM source PR

  • Linux-musl check, clippy, and documentation passed
  • virt_kvm nextest: 25 passed, 2 hardware-dependent tests skipped
  • workspace formatting passed
  • exact legacy xAPIC VMM test passed four consecutive bare-metal KVM runs (1.265-1.349s)

NVX integration

  • source/submodule verification passed
  • 246 NVX tests passed with 1 expected skip
  • 4 host-inventory tests passed
  • Ruff and Pyright passed for Linux and Windows
  • complete KVM VMM lane: 57/57 passed in 36.134s
    • legacy xAPIC case: 1.522s
  • all 33 NVX KVM microVM scenarios passed

Related: #135

Enable x86_64_exclusive::openvmm_linux_x64_legacy_xapic and advance OpenVMM to the exact head of nanvix/openvmm#87.

Represent the remaining issue #135 KVM exclusions as anchored, fully qualified nextest selectors so removing the legacy xAPIC entry enables exactly one test without broadening PCAT or APIC-offset coverage.

The OpenVMM fix maps logical VP metadata to APIC-based KVM VCPU IDs for BSP and TSC-frequency paths, allowing sparse legacy xAPIC topologies to launch.

Related: #135

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The hardware-dependent change pins an open, currently blocked OpenVMM pull request and needs final human validation.

Review effort: Balanced
Findings: 1 Medium severity

Open (1)
What changed in this PR

Enables the legacy xAPIC OpenVMM test in KVM CI alongside the required OpenVMM revision.

Changes:

  • Uses anchored selectors for remaining KVM exclusions.
  • Removes the legacy xAPIC exclusion.
  • Updates filter configuration tests.
File Description
scripts/​test_nvx_tools.py Verifies KVM exclusion configuration.
scripts/​nvx_tools/​ci.py Defines exact KVM test exclusions and enables legacy xAPIC.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread scripts/test_nvx_tools.py
Check for the legacy xAPIC leaf name anywhere in the KVM filter so both anchored and historical substring exclusions fail the regression test.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings September 21, 2026 01:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The hardware-dependent integration pins an open, currently blocked upstream pull request and requires final human verification.

Review effort: Balanced
Findings: None

Resolved since last review (1)

@ppenna
Pedro Henrique Penna (ppenna) merged commit 46df421 into dev Sep 21, 2026
23 checks passed
@ppenna
Pedro Henrique Penna (ppenna) deleted the fix-kvm-vcpu-apic-id branch September 21, 2026 01:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants