diff options
author | Gavin Shan <gwshan@linux.vnet.ibm.com> | 2016-08-11 12:12:37 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-09-02 15:27:39 +1000 |
commit | 85daa7f00c5001593f28eb0e975b94921f3cd023 (patch) | |
tree | a3ff8b15610c021c9851a1e0349e81bdd4e036c1 /include/npu.h | |
parent | b9801047a12c27d1d205ba5c250a9c399a9f8fd1 (diff) | |
download | skiboot-85daa7f00c5001593f28eb0e975b94921f3cd023.zip skiboot-85daa7f00c5001593f28eb0e975b94921f3cd023.tar.gz skiboot-85daa7f00c5001593f28eb0e975b94921f3cd023.tar.bz2 |
core/pci: Support virtual device
The NVLinks (v1 and v2 to be supported in future) are exposed to
Linux kernel by emulated PCI devices (aka PCI virtual devices).
Currently, the implementation is covered by NVLink driver (npu.c),
meaning npu2.c will have similar implementation though it will be
totally duplicated with that in npu.c.
This supports PCI virtual device in the generic layer so that it
can be shared by all NVLink drivers. The design is highlighted as:
* There are 3 config spaces for every PCI virtual device, corresponds
to the cached config space, readonly space, write-1-clear space.
* Reuse PCI config register filter mechanism to allow NVLink driver
to emulate the access to the designated config registers. The config
values are fetched from or written to the cached config space when
the config registers aren't covered by filter.
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Reviewed-by: Russell Currey <ruscur@russell.cc>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'include/npu.h')
0 files changed, 0 insertions, 0 deletions