On Sunday 23 November 2008 18:10:47 Avi Kivity wrote:
> Sheng Yang wrote:
> > Prepared for kvm_arch_assigned_device_msi_dispatch().
> >
> > @@ -507,10 +507,17 @@ struct kvm_assigned_irq {
> >     __u32 guest_irq;
> >     __u32 flags;
> >     union {
> > +           struct {
> > +                   __u32 addr_lo;
> > +                   __u32 addr_hi;
>
> __u64 addr;
>
> ?

Here I followed the spec that distinguish the "Message Address" and "Message 
Upper address". And the native Linux structure:

struct msi_msg {
        u32     address_lo;     /* low 32 bits of msi message address */
        u32     address_hi;     /* high 32 bits of msi message address */
        u32     data;           /* 16 bits of msi message data */
};

For now, we needn't care about address_hi. I can only see address_hi used in 
hypertransport part... So I think keep it independence here is OK.

(In fact, PCI spec defined message data length is u64, but as you see, now 
msi_msg for whole Linux only have u32...)

-- 
regards
Yang, Sheng

>
> > +                   __u32 data;
> >
> >
> >
> > @@ -307,8 +308,11 @@ struct kvm_assigned_dev_kernel {
> >     int host_devfn;
> >     int host_irq;
> >     int guest_irq;
> > +   struct msi_msg guest_msi;
> >  #define KVM_ASSIGNED_DEV_GUEST_INTX        (1 << 0)
> > +#define KVM_ASSIGNED_DEV_GUEST_MSI (1 << 1)
> >  #define KVM_ASSIGNED_DEV_HOST_INTX (1 << 8)
> > +#define KVM_ASSIGNED_DEV_HOST_MSI  (1 << 9)
>
> Okay, I see the reason for non sequential assignment.

--
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

Reply via email to