This is a follow-up on https://groups.google.com/d/topic/jailhouse-dev/xIrkxRn1cOQ/discussion
This will enable Linux inmates with CONFIG_PCIEAER=y (default *is* y) not to barf when PCI devices are partitioned. Then, it will enable more PCI drivers to function well during device handover from root to inmates, when their .remove() functions may write to the PCIe capability (previously read-only). Next, it will suppress AER reporting on all functions being partitioned from root, since those reports would escalate to the root and jeopardize the freedom from interference (FFI) between cells. On top of that, we now adhere to a more spec-friendly function level reset (FLR) routine on functions being handed over, also checking if they support FLR altogether in the first place. The original code would attempt to reset functions with no checks, what could lead to unsupported requests on them. Those are PCI-level and will reach their root complex, again bringing down FFI. Finally, we noticed that FLR was being issued repeatedly, what seemed redundant, now fixed. Gustavo Lima Chaves (4): pci: change PCIe capability access flag to RW pci: suppress AER reporting for all functions on device handover pci: reset: follow more closely PCIe's spec for function-level reset pci: reset: only call reset (and issue FLR) on a function once Otavio Pontes (1): tools: config-create: support AER capability and make PCIe one RW hypervisor/control.c | 1 - hypervisor/include/jailhouse/pci.h | 20 ++++- hypervisor/pci.c | 151 ++++++++++++++++++++++++++++++++----- tools/jailhouse-config-create | 15 +++- 4 files changed, 166 insertions(+), 21 deletions(-) -- 2.14.3 -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
