On 2011-04-27 15:34, Michael S. Tsirkin wrote:
> On Sat, Apr 23, 2011 at 12:23:35PM +0200, Jan Kiszka wrote:
>> From: Jan Kiszka <[email protected]>
>>
>> This structure will be used for legacy MSI as well and will become part
>> of the KVM API.
>>
>> Signed-off-by: Jan Kiszka <[email protected]>
>
> I'd like KVMMSIMessage better. struct kvm_msi_message would be even
> better but oh well.
Yeah, QEMU naming convention is not designed for such use cases... Will
change it as you prefer.
>
>> ---
>> hw/msix.c | 10 +++++-----
>> hw/pci.h | 10 ++--------
>> kvm.h | 7 +++++++
>> 3 files changed, 14 insertions(+), 13 deletions(-)
>>
>> diff --git a/hw/msix.c b/hw/msix.c
>> index 8b68a6a..42870c5 100644
>> --- a/hw/msix.c
>> +++ b/hw/msix.c
>> @@ -51,7 +51,7 @@ int msix_supported;
>> static void kvm_msix_free(PCIDevice *dev)
>> {
>> int vector, changed = 0;
>> - struct kvm_msix_message *kmm;
>> + KVMMsiMessage *kmm;
>>
>> for (vector = 0; vector < dev->msix_entries_nr; ++vector) {
>> if (dev->msix_entry_used[vector]) {
>> @@ -66,7 +66,7 @@ static void kvm_msix_free(PCIDevice *dev)
>> }
>>
>> static void kvm_msix_message_from_vector(PCIDevice *dev, unsigned vector,
>> - struct kvm_msix_message *kmm)
>> + KVMMsiMessage *kmm)
>> {
>> uint8_t *table_entry = dev->msix_table_page + vector * MSIX_ENTRY_SIZE;
>>
>> @@ -78,7 +78,7 @@ static void kvm_msix_message_from_vector(PCIDevice *dev,
>> unsigned vector,
>> static void kvm_msix_update(PCIDevice *dev, int vector,
>> int was_masked, int is_masked)
>> {
>> - struct kvm_msix_message e = {}, *entry;
>> + KVMMsiMessage e = {}, *entry;
>> int mask_cleared = was_masked && !is_masked;
>> /* It is only legal to change an entry when it is masked. Therefore, it
>> is
>> * enough to update the routing in kernel when mask is being cleared. */
>> @@ -114,7 +114,7 @@ static void kvm_msix_update(PCIDevice *dev, int vector,
>>
>> static int kvm_msix_add(PCIDevice *dev, unsigned vector)
>> {
>> - struct kvm_msix_message *kmm = dev->msix_irq_entries + vector;
>> + KVMMsiMessage *kmm = dev->msix_irq_entries + vector;
>> int r;
>>
>> if (!kvm_has_gsi_routing()) {
>> @@ -147,7 +147,7 @@ static int kvm_msix_add(PCIDevice *dev, unsigned vector)
>>
>> static void kvm_msix_del(PCIDevice *dev, unsigned vector)
>> {
>> - struct kvm_msix_message *kmm;
>> + KVMMsiMessage *kmm;
>>
>> if (dev->msix_entry_used[vector]) {
>> return;
>> diff --git a/hw/pci.h b/hw/pci.h
>> index dd09494..dc5df17 100644
>> --- a/hw/pci.h
>> +++ b/hw/pci.h
>> @@ -5,6 +5,7 @@
>> #include "qobject.h"
>>
>> #include "qdev.h"
>> +#include "kvm.h"
>
> I put kvm_msix_message in pci.h to avoid having every pci device pull in kvm.h
> is anything wrong with that? Maybe just rename it to make it generic
> for msi and leave if where it is.
kvm.h shall provide kvm related types, not some unrelated header. That's
even more important with MSI support for non-PCI devices (aka HPET).
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html