Skip to content

[FEATURE] Improve Device Fidelity Beyond Current Xilinx PCIe Core Limitations #613

@omaralmasoud

Description

@omaralmasoud

📋 Feature Request

Improve Device Fidelity Beyond Current Xilinx PCIe Core Limitations

Background

While testing device cloning with a Realtek RTL8111/8168 donor device, I noticed that basic identity cloning works well (VID/DID, subsystem IDs, revision IDs, class code, etc.), but there appear to be several areas where the generated endpoint behavior differs from the original hardware.

From my investigation, these differences seem related to limitations imposed by the Xilinx PCIe Core itself rather than the PCILeechFWGenerator collection process.

Areas of Interest

Potential fidelity limitations include:

  • Xilinx PCIe Core overriding or generating some PCI configuration space fields.
  • BAR behavior not matching the donor device exactly.
  • PCIe capability structures partially generated by the Xilinx PCIe IP.
  • Link capability and link status behavior differing from the donor hardware.
  • Power management related registers and state transitions differing from the donor.
  • Internal device-specific register behavior not matching the original device.
  • EEPROM / firmware specific behavior not being replicated.
  • MSI/MSI-X implementation differences depending on the underlying PCIe IP.

Question

What is currently considered the practical fidelity limit when using the standard Xilinx PCIe Core?

For example:

  • Which PCI configuration fields can be fully overridden?
  • Which fields are controlled by the Xilinx PCIe IP and cannot be modified?
  • Which capabilities can be cloned accurately?
  • Are there plans to improve capability-level fidelity in future releases?
  • Is a higher-fidelity mode planned that would patch or emulate additional PCIe configuration registers generated by the Xilinx core?

Goal

The objective is not necessarily perfect hardware emulation, but understanding:

  1. Current fidelity limitations.
  2. Which limitations originate from Xilinx PCIe IP.
  3. What improvements are realistically achievable inside PCILeechFWGenerator.

Any documentation, roadmap information, or recommended approaches for improving donor fidelity would be greatly appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions