diff options
author | Gavin Shan <gwshan@linux.vnet.ibm.com> | 2015-09-24 17:27:17 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2015-10-08 15:34:44 +1100 |
commit | 0c1cbc1667754037be40b1405ba30645598fe711 (patch) | |
tree | 84c89a6e9898c6a3b24299b93c48fc632fa36f30 /external | |
parent | 37a74a4d1b0badee5b971a676b09bbf18ff816a4 (diff) | |
download | skiboot-0c1cbc1667754037be40b1405ba30645598fe711.zip skiboot-0c1cbc1667754037be40b1405ba30645598fe711.tar.gz skiboot-0c1cbc1667754037be40b1405ba30645598fe711.tar.bz2 |
PCI: Introduce config register filter
We have to provide the emulated result for PCI config register
access on some devices to eleminate the gap between hardware and
software. One example would be the 0x28 (prefetchable memory window
upper 32-bits) of the root complex on Naples isn't writable. Linux
kernel relies on that to detect 64-bits window successfully.
This introduces config register filter to PCI device to eleminate
above gap. Each PCI device maintains a list of filters, which are
populated when the PCI device is initialized. When PCI config space
is accessed, the filter is searched to override the result from user
(write) or hardware (read) if necessary.
Reported-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
Suggested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Tested-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'external')
0 files changed, 0 insertions, 0 deletions