#
aa73be70 |
| 09-Dec-2011 |
Matt Evans <matt@ozlabs.org> |
kvm tools: Endian-sanitise pci.h and PCI device setup
vesa, pci-shmem and virtio-pci devices need to set up config space with little-endian conversions (as config space is LE). The pci_config_addre
kvm tools: Endian-sanitise pci.h and PCI device setup
vesa, pci-shmem and virtio-pci devices need to set up config space with little-endian conversions (as config space is LE). The pci_config_address bitfield also needs to be reversed when building on BE systems.
Signed-off-by: Matt Evans <matt@ozlabs.org> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
657ee18b |
| 06-Dec-2011 |
Matt Evans <matt@ozlabs.org> |
kvm tools: Fix virtio-pci endian bug when reading VIRTIO_PCI_QUEUE_NUM
The field size is currently wrong, read into a 32bit word instead of 16. This casues trouble when BE.
Acked-by: Asias He <asi
kvm tools: Fix virtio-pci endian bug when reading VIRTIO_PCI_QUEUE_NUM
The field size is currently wrong, read into a 32bit word instead of 16. This casues trouble when BE.
Acked-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Matt Evans <matt@ozlabs.org> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
1382aba0 |
| 06-Dec-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Ninja out support for VIRTIO_F_FEATURES_HIGH
Rusty has just removed it out of the spec. Since we probably the only ones who implemented support for it, we should remove it out of our code
kvm tools: Ninja out support for VIRTIO_F_FEATURES_HIGH
Rusty has just removed it out of the spec. Since we probably the only ones who implemented support for it, we should remove it out of our code as well.
There is no issue with breaking anything since nothing else worked with it, so it's fully backwards compatible.
Cc: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
263b80e8 |
| 16-Nov-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Add optional callbacks for VQs
This patch adds optional callbacks which get called when the VQ gets assigned an eventfd for notifications, and when it gets assigned with a GSI.
This allo
kvm tools: Add optional callbacks for VQs
This patch adds optional callbacks which get called when the VQ gets assigned an eventfd for notifications, and when it gets assigned with a GSI.
This allows the device to pass the eventfds to 3rd parties which can use them to notify and get notifications regarding the VQ.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
13f9a438 |
| 11-Nov-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Fix parameter to virtio device features config
Commit ef10d0b ("kvm tools: Add abstract virtio transport layer") config updates by passing wrong argument to set_config(), this patch fixes
kvm tools: Fix parameter to virtio device features config
Commit ef10d0b ("kvm tools: Add abstract virtio transport layer") config updates by passing wrong argument to set_config(), this patch fixes it.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
1c47ce69 |
| 09-Nov-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Add abstract virtio transport layer
Since virtio-mmio was introduced in 3.2, virtio-pci isn't the only transport layer between the kernel and virtio devices.
This patch adds an abstract
kvm tools: Add abstract virtio transport layer
Since virtio-mmio was introduced in 3.2, virtio-pci isn't the only transport layer between the kernel and virtio devices.
This patch adds an abstract virtio-transport layer which allows to easily use different transports while making it transparent to the device.
This is the first step in adding virtio-mmio support.
Cc: Pawel Moll <pawel.moll@arm.com> Cc: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
14bba8a0 |
| 27-Oct-2011 |
Asias He <asias.hejun@gmail.com> |
kvm tools: Fix MSI-X table size set up
We at most have VIRTIO_PCI_MAX_VQ entries for virt queue, VIRTIO_PCI_MAX_CONFIG entries for config.
To quote the PCI spec:
System software reads this fie
kvm tools: Fix MSI-X table size set up
We at most have VIRTIO_PCI_MAX_VQ entries for virt queue, VIRTIO_PCI_MAX_CONFIG entries for config.
To quote the PCI spec:
System software reads this field to determine the MSI-X Table Size N, which is encoded as N-1. For example, a returned value of "00000000011" indicates a table size of 4.
So, we should set table size to
VIRTIO_PCI_MAX_VQ + VIRTIO_PCI_MAX_CONFIG - 1
not
VIRTIO_PCI_MAX_VQ + VIRTIO_PCI_MAX_CONFIG
Acked-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
507e02d8 |
| 27-Oct-2011 |
Asias He <asias.hejun@gmail.com> |
kvm tools: Set correct virtio pci device class code
All the virtio pci device is set to class code 0x010000, this is wrong. This patch sets the correct class code and makes lspci report correct clas
kvm tools: Set correct virtio pci device class code
All the virtio pci device is set to class code 0x010000, this is wrong. This patch sets the correct class code and makes lspci report correct class type. For example, the net device:
Before: $ lspci 00:03.0 SCSI storage controller: Red Hat, Inc Virtio network device
After: $ lspci 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
Acked-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
1de74957 |
| 24-Oct-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Simplify msi message handling
This patch simplifies passing around msi messages by using 'struct kvm_irq_routing_msi' for storing of msi messages instead of passing all msi parameters aro
kvm tools: Simplify msi message handling
This patch simplifies passing around msi messages by using 'struct kvm_irq_routing_msi' for storing of msi messages instead of passing all msi parameters around.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
a36eca7b |
| 19-Sep-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Fix INTx handling
Since we didn't raise the ISR INTx interrupts were sometimes ignored by the guest. This caused hangs on boot when starting a guest without MSIX support.
Signed-off-by:
kvm tools: Fix INTx handling
Since we didn't raise the ISR INTx interrupts were sometimes ignored by the guest. This caused hangs on boot when starting a guest without MSIX support.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
show more ...
|
#
d6d239be |
| 18-Sep-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Use correct subsys id in virtio-pci
Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
|
#
95d13a52 |
| 29-Aug-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Add ivshmem device
The patch adds an ivshmem device which can be used to share memory between guests on the same host.
This implementation is lacking inter-guest communication which shou
kvm tools: Add ivshmem device
The patch adds an ivshmem device which can be used to share memory between guests on the same host.
This implementation is lacking inter-guest communication which should be implemented later once information regarding the client-server protocol is gathered, though infrastructure used to add and remove clients already exists in the patch (but isn't used anywhere).
Patch is based on David Evansky's shmem device.
Original-patch-by: David Evensky <evensky@sandia.gov> Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
06f48103 |
| 23-Aug-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: MSI-X fixes
Several fixes in this patch:
* Don't ignore function level and per-vector masking. We're not supposed to signal when masked and not doing so will improve performance a bit (i
kvm tools: MSI-X fixes
Several fixes in this patch:
* Don't ignore function level and per-vector masking. We're not supposed to signal when masked and not doing so will improve performance a bit (in addition to behaving correctly).
* Implement the missing PBA array. 'lspci -vv' will now show the correct output: Capabilities: [40] MSI-X: Enable+ Count=5 Masked- Vector table: BAR=1 offset=00000000 PBA: BAR=3 offset=00000000
* Checking whether MSI-X is enabled or not is done by probing the corresponding bit within the PCI header instead of trying to track the status ourselves.
* Fallback to INTx if MSI-X isn't enabled.
* Use correct max size for MSI-X table.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
1599d724 |
| 24-Aug-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Move ioeventfd registration to virtio-pci
This patch removed ioeventfd registration from devices and moves it to a single place in virtio-pci layer.
Signed-off-by: Sasha Levin <levinsash
kvm tools: Move ioeventfd registration to virtio-pci
This patch removed ioeventfd registration from devices and moves it to a single place in virtio-pci layer.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
36f5dc91 |
| 22-Aug-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Separate virtio-pci layer
This patch builds a virtio-pci layer which can be used by virtio devices as a layer to interact with virtio-pci. The purpose of the patch is to separate the comm
kvm tools: Separate virtio-pci layer
This patch builds a virtio-pci layer which can be used by virtio devices as a layer to interact with virtio-pci. The purpose of the patch is to separate the common virtio-pci layer from being replicated in all virtio devices.
The new layer provides a callback interface to receive information about virtio events.
This allows us to share the entire functionality of virtio-pci throughout all virtio devices, for example - we don't need to implement MSI-X for each device and can just do it once for virtio-pci.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|