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.

Reply via email to