Re: [Qemu-devel] [PATCH] intel-iommu: Check IOAPIC's Trigger Mode against the one in IRTE

2016-09-28 Thread Wu, Feng


> -Original Message-
> From: Peter Xu [mailto:pet...@redhat.com]
> Sent: Wednesday, September 28, 2016 6:35 PM
> To: Paolo Bonzini 
> Cc: Wu, Feng ; qemu-devel@nongnu.org; Michael S.
> Tsirkin 
> Subject: Re: [PATCH] intel-iommu: Check IOAPIC's Trigger Mode against the one
> in IRTE
> 
> On Wed, Sep 28, 2016 at 12:21:37PM +0200, Paolo Bonzini wrote:
> >
> >
> > On 28/09/2016 12:05, Wu, Feng wrote:
> > > Hi Paolo,
> > >
> > >
> > >> -Original Message-
> > >> From: Wu, Feng
> > >> Sent: Thursday, September 22, 2016 12:12 AM
> > >> To: qemu-devel@nongnu.org
> > >> Cc: pbonz...@redhat.com; Wu, Feng 
> > >> Subject: [PATCH] intel-iommu: Check IOAPIC's Trigger Mode against the
> one in
> > >> IRTE
> > >>
> > >> The Trigger Mode field of IOAPIC must match the Trigger Mode in
> > >> the IRTE according to VT-d Spec 5.1.5.1.
> > >
> > > Any comments about this patch? Thanks a lot!
> >
> > Hi, I am not the maintainer of the IOMMU emulation code.  CCing mst and
> > Peter.
> 
> I've provided my r-b already. :)

Okay, thanks to you guys!

Thanks,
Feng

> 
> -- peterx


Re: [Qemu-devel] [PATCH] intel-iommu: Check IOAPIC's Trigger Mode against the one in IRTE

2016-09-28 Thread Peter Xu
On Wed, Sep 28, 2016 at 12:21:37PM +0200, Paolo Bonzini wrote:
> 
> 
> On 28/09/2016 12:05, Wu, Feng wrote:
> > Hi Paolo,
> > 
> > 
> >> -Original Message-
> >> From: Wu, Feng
> >> Sent: Thursday, September 22, 2016 12:12 AM
> >> To: qemu-devel@nongnu.org
> >> Cc: pbonz...@redhat.com; Wu, Feng 
> >> Subject: [PATCH] intel-iommu: Check IOAPIC's Trigger Mode against the one 
> >> in
> >> IRTE
> >>
> >> The Trigger Mode field of IOAPIC must match the Trigger Mode in
> >> the IRTE according to VT-d Spec 5.1.5.1.
> > 
> > Any comments about this patch? Thanks a lot!
> 
> Hi, I am not the maintainer of the IOMMU emulation code.  CCing mst and
> Peter.

I've provided my r-b already. :)

-- peterx



Re: [Qemu-devel] [PATCH] intel-iommu: Check IOAPIC's Trigger Mode against the one in IRTE

2016-09-28 Thread Paolo Bonzini


On 28/09/2016 12:05, Wu, Feng wrote:
> Hi Paolo,
> 
> 
>> -Original Message-
>> From: Wu, Feng
>> Sent: Thursday, September 22, 2016 12:12 AM
>> To: qemu-devel@nongnu.org
>> Cc: pbonz...@redhat.com; Wu, Feng 
>> Subject: [PATCH] intel-iommu: Check IOAPIC's Trigger Mode against the one in
>> IRTE
>>
>> The Trigger Mode field of IOAPIC must match the Trigger Mode in
>> the IRTE according to VT-d Spec 5.1.5.1.
> 
> Any comments about this patch? Thanks a lot!

Hi, I am not the maintainer of the IOMMU emulation code.  CCing mst and
Peter.

Thanks,

Paolo

>> Signed-off-by: Feng Wu 
>> ---
>>  hw/i386/intel_iommu.c | 12 
>>  1 file changed, 12 insertions(+)
>>
>> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
>> index 28c31a2..f32ad5c 100644
>> --- a/hw/i386/intel_iommu.c
>> +++ b/hw/i386/intel_iommu.c
>> @@ -27,6 +27,7 @@
>>  #include "hw/pci/pci.h"
>>  #include "hw/pci/pci_bus.h"
>>  #include "hw/i386/pc.h"
>> +#include "hw/i386/apic-msidef.h"
>>  #include "hw/boards.h"
>>  #include "hw/i386/x86-iommu.h"
>>  #include "hw/pci-host/q35.h"
>> @@ -2203,6 +2204,8 @@ static int vtd_interrupt_remap_msi(IntelIOMMUState
>> *iommu,
>>  }
>>  } else {
>>  uint8_t vector = origin->data & 0xff;
>> +uint8_t trigger_mode = (origin->data >> MSI_DATA_TRIGGER_SHIFT) & 
>> 0x1;
>> +
>>  VTD_DPRINTF(IR, "received IOAPIC interrupt");
>>  /* IOAPIC entry vector should be aligned with IRTE vector
>>   * (see vt-d spec 5.1.5.1). */
>> @@ -2211,6 +2214,15 @@ static int
>> vtd_interrupt_remap_msi(IntelIOMMUState *iommu,
>>  "entry: %d, IRTE: %d, index: %d",
>>  vector, irq.vector, index);
>>  }
>> +
>> +/* The Trigger Mode field must match the Trigger Mode in the IRTE.
>> + * (see vt-d spec 5.1.5.1). */
>> +if (trigger_mode != irq.trigger_mode) {
>> +VTD_DPRINTF(GENERAL, "IOAPIC trigger mode inconsistent: "
>> +"entry: %u, IRTE: %u, index: %d",
>> +trigger_mode, irq.trigger_mode, index);
>> +}
>> +
>>  }
>>
>>  /*
>> --
>> 1.9.1
> 



Re: [Qemu-devel] [PATCH] intel-iommu: Check IOAPIC's Trigger Mode against the one in IRTE

2016-09-28 Thread Wu, Feng
Hi Paolo,


> -Original Message-
> From: Wu, Feng
> Sent: Thursday, September 22, 2016 12:12 AM
> To: qemu-devel@nongnu.org
> Cc: pbonz...@redhat.com; Wu, Feng 
> Subject: [PATCH] intel-iommu: Check IOAPIC's Trigger Mode against the one in
> IRTE
> 
> The Trigger Mode field of IOAPIC must match the Trigger Mode in
> the IRTE according to VT-d Spec 5.1.5.1.

Any comments about this patch? Thanks a lot!

Thanks,
Feng

> 
> Signed-off-by: Feng Wu 
> ---
>  hw/i386/intel_iommu.c | 12 
>  1 file changed, 12 insertions(+)
> 
> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
> index 28c31a2..f32ad5c 100644
> --- a/hw/i386/intel_iommu.c
> +++ b/hw/i386/intel_iommu.c
> @@ -27,6 +27,7 @@
>  #include "hw/pci/pci.h"
>  #include "hw/pci/pci_bus.h"
>  #include "hw/i386/pc.h"
> +#include "hw/i386/apic-msidef.h"
>  #include "hw/boards.h"
>  #include "hw/i386/x86-iommu.h"
>  #include "hw/pci-host/q35.h"
> @@ -2203,6 +2204,8 @@ static int vtd_interrupt_remap_msi(IntelIOMMUState
> *iommu,
>  }
>  } else {
>  uint8_t vector = origin->data & 0xff;
> +uint8_t trigger_mode = (origin->data >> MSI_DATA_TRIGGER_SHIFT) & 
> 0x1;
> +
>  VTD_DPRINTF(IR, "received IOAPIC interrupt");
>  /* IOAPIC entry vector should be aligned with IRTE vector
>   * (see vt-d spec 5.1.5.1). */
> @@ -2211,6 +2214,15 @@ static int
> vtd_interrupt_remap_msi(IntelIOMMUState *iommu,
>  "entry: %d, IRTE: %d, index: %d",
>  vector, irq.vector, index);
>  }
> +
> +/* The Trigger Mode field must match the Trigger Mode in the IRTE.
> + * (see vt-d spec 5.1.5.1). */
> +if (trigger_mode != irq.trigger_mode) {
> +VTD_DPRINTF(GENERAL, "IOAPIC trigger mode inconsistent: "
> +"entry: %u, IRTE: %u, index: %d",
> +trigger_mode, irq.trigger_mode, index);
> +}
> +
>  }
> 
>  /*
> --
> 1.9.1




Re: [Qemu-devel] [PATCH] intel-iommu: Check IOAPIC's Trigger Mode against the one in IRTE

2016-09-20 Thread Wu, Feng


> -Original Message-
> From: Peter Xu [mailto:pet...@redhat.com]
> Sent: Wednesday, September 21, 2016 2:12 PM
> To: Wu, Feng 
> Cc: qemu-devel@nongnu.org; pbonz...@redhat.com
> Subject: Re: [Qemu-devel] [PATCH] intel-iommu: Check IOAPIC's Trigger Mode
> against the one in IRTE
> 
> On Wed, Sep 21, 2016 at 05:54:40AM +, Wu, Feng wrote:
> >
> >
> > > -Original Message-
> > > From: Peter Xu [mailto:pet...@redhat.com]
> > > Sent: Wednesday, September 21, 2016 1:45 PM
> > > To: Wu, Feng 
> > > Cc: qemu-devel@nongnu.org; pbonz...@redhat.com
> > > Subject: Re: [Qemu-devel] [PATCH] intel-iommu: Check IOAPIC's Trigger
> Mode
> > > against the one in IRTE
> > >
> > > On Thu, Sep 22, 2016 at 12:12:17AM +0800, Feng Wu wrote:
> > > > The Trigger Mode field of IOAPIC must match the Trigger Mode in
> > > > the IRTE according to VT-d Spec 5.1.5.1.
> > > >
> > > > Signed-off-by: Feng Wu 
> > >
> > > Reviewed-by: Peter Xu 
> > >
> > > Could I ask why we want this now? I know that both vector and trigger
> > > mode should not be aligned in current kernel.
> >
> > Oh, I don't aware of this. I was just looking at the code and found seems
> > the Spec says we need to check it. So I added the check. :)
> 
> Yeah, that's good enough a reason. :-)

Thanks for your review :)

Thanks,
Feng

> 
> -- peterx


Re: [Qemu-devel] [PATCH] intel-iommu: Check IOAPIC's Trigger Mode against the one in IRTE

2016-09-20 Thread Peter Xu
On Wed, Sep 21, 2016 at 05:54:40AM +, Wu, Feng wrote:
> 
> 
> > -Original Message-
> > From: Peter Xu [mailto:pet...@redhat.com]
> > Sent: Wednesday, September 21, 2016 1:45 PM
> > To: Wu, Feng 
> > Cc: qemu-devel@nongnu.org; pbonz...@redhat.com
> > Subject: Re: [Qemu-devel] [PATCH] intel-iommu: Check IOAPIC's Trigger Mode
> > against the one in IRTE
> > 
> > On Thu, Sep 22, 2016 at 12:12:17AM +0800, Feng Wu wrote:
> > > The Trigger Mode field of IOAPIC must match the Trigger Mode in
> > > the IRTE according to VT-d Spec 5.1.5.1.
> > >
> > > Signed-off-by: Feng Wu 
> > 
> > Reviewed-by: Peter Xu 
> > 
> > Could I ask why we want this now? I know that both vector and trigger
> > mode should not be aligned in current kernel. 
> 
> Oh, I don't aware of this. I was just looking at the code and found seems
> the Spec says we need to check it. So I added the check. :)

Yeah, that's good enough a reason. :-)

-- peterx



Re: [Qemu-devel] [PATCH] intel-iommu: Check IOAPIC's Trigger Mode against the one in IRTE

2016-09-20 Thread Wu, Feng


> -Original Message-
> From: Peter Xu [mailto:pet...@redhat.com]
> Sent: Wednesday, September 21, 2016 1:45 PM
> To: Wu, Feng 
> Cc: qemu-devel@nongnu.org; pbonz...@redhat.com
> Subject: Re: [Qemu-devel] [PATCH] intel-iommu: Check IOAPIC's Trigger Mode
> against the one in IRTE
> 
> On Thu, Sep 22, 2016 at 12:12:17AM +0800, Feng Wu wrote:
> > The Trigger Mode field of IOAPIC must match the Trigger Mode in
> > the IRTE according to VT-d Spec 5.1.5.1.
> >
> > Signed-off-by: Feng Wu 
> 
> Reviewed-by: Peter Xu 
> 
> Could I ask why we want this now? I know that both vector and trigger
> mode should not be aligned in current kernel. 

Oh, I don't aware of this. I was just looking at the code and found seems
the Spec says we need to check it. So I added the check. :)

Thanks,
Feng

> However haven't go
> deeper yet.
> 
> Thanks,
> 
> -- peterx


Re: [Qemu-devel] [PATCH] intel-iommu: Check IOAPIC's Trigger Mode against the one in IRTE

2016-09-20 Thread Peter Xu
On Thu, Sep 22, 2016 at 12:12:17AM +0800, Feng Wu wrote:
> The Trigger Mode field of IOAPIC must match the Trigger Mode in
> the IRTE according to VT-d Spec 5.1.5.1.
> 
> Signed-off-by: Feng Wu 

Reviewed-by: Peter Xu 

Could I ask why we want this now? I know that both vector and trigger
mode should not be aligned in current kernel. However haven't go
deeper yet.

Thanks,

-- peterx