microsoft / microsoft/openvmm

Consolidate cfg gate blocks in chipset device construction

Open
#3,540 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
1.9k
Forks
238
Avg merge
1d 15h
Merged PRs (30d)
100

Description

During the i440bx host PCI bridge resourcification (#3331), reviewer feedback noted that the growing number of individual #[cfg(guest_arch = "x86_64")] blocks in chipset device construction code could be consolidated into fewer, larger blocks to reduce visual noise and improve readability.

This is a cleanup/refactor task — no behavioral change expected.

Areas to review
  • vmm_core/vmotherboard/src/base_chipset.rs — device deps construction
  • openvmm/openvmm_core/src/worker/dispatch.rs — device handle emission
  • openhcl/underhill_core/src/worker.rs — OpenHCL device construction
Context

As more x86-only devices get resourcified (ISA DMA, CMOS RTC, PIT, PIIX4, i440BX), each adds its own cfg gate. Merging adjacent gates into consolidated blocks would be cleaner.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the device construction code in vmm_core/vmotherboard/src/base_chipset.rs, openvmm/openvmm_core/src/worker/dispatch.rs, and openhcl/underhill_core/src/worker.rs. Start by comparing the adjacent #[cfg(guest_arch = "x86_64")] blocks in each area. Consolidate compatible gates while preserving the existing device dependencies and handles; done means cleaner grouping with no behavioral changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.