diff options
author | Jamin Lin <jamin_lin@aspeedtech.com> | 2025-09-19 17:30:04 +0800 |
---|---|---|
committer | Cédric Le Goater <clg@redhat.com> | 2025-09-29 18:00:20 +0200 |
commit | 2af56518fa911b8370adaaabc8823bfbab303613 (patch) | |
tree | 465b236ddf11a7568a65d30ecb9d730e0e3b967c /scripts/qapi/parser.py | |
parent | cac2f082936de3c35c7b9c04fef4dc99b7af9898 (diff) | |
download | qemu-2af56518fa911b8370adaaabc8823bfbab303613.zip qemu-2af56518fa911b8370adaaabc8823bfbab303613.tar.gz qemu-2af56518fa911b8370adaaabc8823bfbab303613.tar.bz2 |
hw/pci-host/aspeed: Add AST2600 PCIe Root Port and make address configurable
Introduce an ASPEED PCIe Root Port and wire it under the RC. The root port
is modeled as TYPE_ASPEED_PCIE_ROOT_PORT (subclass of TYPE_PCIE_ROOT_PORT).
Key changes:
- Add TYPE_ASPEED_PCIE_ROOT_PORT (PCIESlot-based) with vendor/device IDs
and AER capability offset.
- Extend AspeedPCIERcState to embed a root_port instance and a
configurable rp_addr.
- Add "rp-addr" property to the RC to place the root port at a specific
devfn on the root bus.
- Set the root port's "chassis" property to ensure a unique chassis per RC.
- Extend AspeedPCIECfgClass with rc_rp_addr defaulting to PCI_DEVFN(8,0).
Rationale:
- AST2600 places the root port at 80:08.0 (bus 0x80, dev 8, fn 0).
- AST2700 must place the root port at 00:00.0, and it supports three RCs.
Each root port must therefore be uniquely identifiable; uses the
PCIe "chassis" ID for that.
- Providing a configurable "rp-addr" lets platforms select the correct
devfn per SoC family, while the "chassis" property ensures uniqueness
across multiple RC instances on AST2700.
Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20250919093017.338309-6-jamin_lin@aspeedtech.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Diffstat (limited to 'scripts/qapi/parser.py')
0 files changed, 0 insertions, 0 deletions