linux/tools
Rusty Russell 59eba788db lguest: support backdoor window.
The VIRTIO_PCI_CAP_PCI_CFG in the PCI virtio 1.0 spec allows access to
the BAR registers without mapping them.  This is a compulsory feature,
and we implement it here.

There are some subtleties involving access widths which we should
note:

4.1.4.7.1 Device Requirements: PCI configuration access capability

...
   Upon detecting driver write access to pci_cfg_data, the device MUST
   execute a write access at offset cap.offset at BAR selected by
   cap.bar using the first cap.length bytes from pci_cfg_data.

   Upon detecting driver read access to pci_cfg_data, the device MUST
   execute a read access of length cap.length at offset cap.offset at
   BAR selected by cap.bar and store the first cap.length bytes in
   pci_cfg_data.

So, for a write, we copy into the pci_cfg_data window, then write from
there out to the BAR.  This works correctly if cap.length != width of
write.  Similarly, for a read, we read into window from the BAR then
read the value from there.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-02-11 16:47:43 +10:30
..
cgroup
firewire
hv tools: hv: ignore ENOBUFS and ENOMEM in the KVP daemon 2014-11-26 19:01:12 -08:00
include tools: Remove bitops/hweight usage of bits in tools/perf 2015-01-16 17:49:29 -03:00
lguest lguest: support backdoor window. 2015-02-11 16:47:43 +10:30
lib perf tools: Fix statfs.f_type data type mismatch build error with uclibc 2015-01-16 17:49:29 -03:00
net tools: bpf_jit_disasm: increase image buffer size 2014-05-16 16:44:08 -04:00
nfsd
perf perf tools powerpc: Use dwfl_report_elf() instead of offline. 2015-01-16 17:49:30 -03:00
power tools / cpupower: Fix no idle state information return value 2014-12-19 23:01:12 +01:00
scripts tools lib traceevent: Add global QUIET_CC_FPIC build output 2013-12-19 16:18:10 -03:00
testing selftests/vm: fix link error for transhuge-stress test 2015-01-08 09:01:00 -07:00
thermal/tmon calloc/xcalloc: Fix argument order 2014-12-09 10:06:29 -03:00
time tools: add script to test udelay 2014-07-23 10:16:38 -07:00
usb USB patches for 3.19-rc1 2014-12-14 14:57:16 -08:00
virtio tools/virtio: add virtio 1.0 in vringh_test 2014-12-15 23:49:22 +02:00
vm mm/page_owner: keep track of page owners 2014-12-13 12:42:48 -08:00
Makefile tools/liblockdep: Build liblockdep from tools/Makefile 2014-05-08 13:34:45 -04:00