mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-21 06:58:36 -07:00
>From what I read PCI has 32 transactions, PCI Express devices can handle
256 with Extended tag enabled (spec mentions also larger values but I
lack PCIe knowledge).
QEMU leaves 'Extended tag field' with 0 as value:
Capabilities: [e0] Express (v1) Root Complex Integrated Endpoint, IntMsgNum 0
DevCap: MaxPayload 128 bytes, PhantFunc 0
ExtTag- RBE+ FLReset- TEE-IO-
SBSA ACS has test 824 which checks for PCIe device capabilities. BSA
specification [1] (SBSA is on top of BSA) in section F.3.2 lists
expected values for Device Capabilities Register:
Device Capabilities Register Requirement
Role based error reporting RCEC and RCiEP: Hardwired to 1
Endpoint L0s acceptable latency RCEC and RCiEP: Hardwired to 0
L1 acceptable latency RCEC and RCiEP: Hardwired to 0
Captured slot power limit scale RCEC and RCiEP: Hardwired to 0
Captured slot power limit value RCEC and RCiEP: Hardwired to 0
Max payload size value must be compliant with PCIe spec
Phantom functions RCEC and RCiEP: Recommendation is to
hardwire this bit to 0.
Extended tag field Hardwired to 1
1. https://developer.arm.com/documentation/den0094/c/
This change enables Extended tag field. All versioned platforms should
have it disabled for older versions (tested with Arm/virt).
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Message-Id: <20241023113820.486017-1-marcin.juszkiewicz@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
||
|---|---|---|
| .. | ||
| bus.c | ||
| clock-vmstate.c | ||
| clock.c | ||
| cpu-common.c | ||
| cpu-sysemu.c | ||
| fw-path-provider.c | ||
| generic-loader.c | ||
| gpio.c | ||
| guest-loader.c | ||
| guest-loader.h | ||
| hotplug.c | ||
| irq.c | ||
| Kconfig | ||
| loader-fit.c | ||
| loader.c | ||
| machine-hmp-cmds.c | ||
| machine-qmp-cmds.c | ||
| machine-smp.c | ||
| machine.c | ||
| meson.build | ||
| nmi.c | ||
| null-machine.c | ||
| numa.c | ||
| or-irq.c | ||
| platform-bus.c | ||
| ptimer.c | ||
| qdev-clock.c | ||
| qdev-fw.c | ||
| qdev-hotplug.c | ||
| qdev-prop-internal.h | ||
| qdev-properties-system.c | ||
| qdev-properties.c | ||
| qdev.c | ||
| register.c | ||
| reset.c | ||
| resetcontainer.c | ||
| resettable.c | ||
| split-irq.c | ||
| stream.c | ||
| sysbus-fdt.c | ||
| sysbus.c | ||
| trace-events | ||
| trace.h | ||
| uboot_image.h | ||
| vm-change-state-handler.c | ||
| vmstate-if.c | ||