Skip to content

[refactor] update ci terminal - #360

Merged
dallasxy merged 62 commits into
syswonder:devfrom
dallasxy:ci_hardware
Aug 12, 2026
Merged

dallasxy merged 62 commits into
syswonder:devfrom
dallasxy:ci_hardware

Conversation

@dallasxy

@dallasxy dallasxy commented Jul 15, 2026 •

Copy link
Copy Markdown
Collaborator

1. PCIe and rk3568 platform support

PCIe virtualization core

  • Improve PCI Bridge bus-number virtualization: add BridgeField::BusNumbers and ConfigValue::bridge_bus_reg, supporting per-byte and whole-register access for Primary/Secondary/Subordinate Bus numbers.
  • Extend set_vbdf with the domain bus range so bridge bus registers are initialized automatically during device discovery/assignment.
  • Optimize DWC ATU config access: reprogram the outbound ATU only when guest/host BDF remapping is required; select Cfg0/Cfg1 by cfg-window half; prefer device lookup by domain + BDF.
  • Run delayed PCI init at domain granularity (guest_pci_init_delay / virtual_pci_mmio_init_delay), and register MMIO passthrough for the DWC APB region.

rk3568 platform

  • Enable three DWC PCIe controllers (domain 0/1/2: fe260000 / fe270000 / fe280000), with matching ECAM, IO/MEM32/MEM64, ATU, and MSI IRQ config.
  • Extend root-zone memory maps and IRQ bitmaps accordingly; adjust passthrough devices to 0001:10/11 and 0002:20/21.
  • Enable pcie@fe260000 and pcie@fe280000 in the zone0 DTS, and add ethernet@fe010000 (GMAC1) with related phy/xpcs nodes.
  • Enable CONFIG_PCI_INIT_DELAY; fix U-Boot/TFTP boot parameters and the zone1 boot script; explicitly declare an empty pci_config in linux2.json.

2. Hardware test framework (Board CI)

  • Re-enable and complete aarch64/rk3568 board testing: serial console control, relay power cycling (board_power.sh), TFTP deployment, and automated U-Boot boot.
  • Extend ci_runner.py board-mode flow with new cases:
    • network: zone0 network connectivity check
    • lspci: verify expected PCIe BDFs (at least 4 devices)
  • Add helper scripts: board_scp.sh (stage zone1 artifacts), check_serial.sh (inner virtio-console check), and improvements to prepare.sh.
  • Refactor terminal.py (log collection, pattern wait, input flush) for more reliable serial interaction.
  • Jenkinsfile: deploy TFTP artifacts in board mode and run the runner with sudo; Makefile cp supports configurable TFTP_DIR and works when TERM is unset in CI.

@dallasxy
dallasxy force-pushed the ci_hardware branch 2 times, most recently from 4b102f2 to a76f54f Compare August 11, 2026 05:35
@dallasxy
dallasxy force-pushed the ci_hardware branch 5 times, most recently from 3a2c30f to 5e89424 Compare August 11, 2026 13:33
@dallasxy
dallasxy force-pushed the ci_hardware branch 5 times, most recently from da8e8aa to cdf208a Compare August 11, 2026 17:20
@dallasxy
dallasxy force-pushed the ci_hardware branch 4 times, most recently from c13b653 to 16fb1d6 Compare August 11, 2026 19:52
@dallasxy dallasxy changed the title Add rk3568 multi-PCIe support and board CI hardware tests update ci terminal Aug 12, 2026
@dallasxy dallasxy changed the title update ci terminal [refactor] update ci terminal Aug 12, 2026
@dallasxy
dallasxy merged commit 12afc44 into syswonder:dev Aug 12, 2026
25 checks passed
agicy pushed a commit that referenced this pull request Aug 24, 2026
agicy pushed a commit that referenced this pull request Aug 24, 2026
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.

3 participants