iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH 1/1] iommu: add a dma remap fault reason.
       [not found] ` <1362537797-6034-1-git-send-email-zhen-hual-VXdhtT5mjnY@public.gmane.org>
@ 2013-03-07 18:31   ` Don Dutile
       [not found]     ` <5138DCE9.1010204-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Don Dutile @ 2013-03-07 18:31 UTC (permalink / raw)
  To: Li, Zhen-Hua, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
  Cc: Hannes Reinecke, Suresh Siddha,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Ingo Molnar

cc-ing the upstream iommu-list

On 03/05/2013 09:43 PM, Li, Zhen-Hua wrote:
> The number of dma fault reasons in intel's document are from 1 to 0xD, but in dmar.c I cannot find fault reason 0xD.
>
> In this document:
> Intel Virtualization Technology for Directed I/O Architecture Specification
> http://download.intel.com/technology/computing/vptech/Intel(r)_VT_for_Direct_IO.pdf
>
> Chapter 4. Support For Device-IOTLBs
>
> Table 6. Unsuccessful Translated Requests
>
> There is fault reason for 0xD not listed in kernel:
>      Present context-entry used to process translation request
>      specifies blocking of Translation Requests (Translation Type (T)
>      field value not equal to 01b).
>
> So I think 0xD should be added.
>
> Signed-off-by: Li, Zhen-Hua<zhen-hual-VXdhtT5mjnY@public.gmane.org>
> ---
>   drivers/iommu/dmar.c |    1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
> index dc7e478..e5cdaf8 100644
> --- a/drivers/iommu/dmar.c
> +++ b/drivers/iommu/dmar.c
> @@ -1083,6 +1083,7 @@ static const char *dma_remap_fault_reasons[] =
>   	"non-zero reserved fields in RTP",
>   	"non-zero reserved fields in CTP",
>   	"non-zero reserved fields in PTE",
> +	"PCE for translation request specifies blocking",
>   };
>
>   static const char *irq_remap_fault_reasons[] =

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 1/1] iommu: add a dma remap fault reason.
       [not found]     ` <5138DCE9.1010204-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2013-03-07 21:36       ` Don Dutile
  0 siblings, 0 replies; 2+ messages in thread
From: Don Dutile @ 2013-03-07 21:36 UTC (permalink / raw)
  To: Li, Zhen-Hua, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
  Cc: Ingo Molnar, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Hannes Reinecke,
	Suresh Siddha

On 03/07/2013 01:31 PM, Don Dutile wrote:
> cc-ing the upstream iommu-list
>
> On 03/05/2013 09:43 PM, Li, Zhen-Hua wrote:
>> The number of dma fault reasons in intel's document are from 1 to 0xD, but in dmar.c I cannot find fault reason 0xD.
>>
>> In this document:
>> Intel Virtualization Technology for Directed I/O Architecture Specification
>> http://download.intel.com/technology/computing/vptech/Intel(r)_VT_for_Direct_IO.pdf
>>
>> Chapter 4. Support For Device-IOTLBs
>>
>> Table 6. Unsuccessful Translated Requests
>>
>> There is fault reason for 0xD not listed in kernel:
>> Present context-entry used to process translation request
>> specifies blocking of Translation Requests (Translation Type (T)
>> field value not equal to 01b).
>>
>> So I think 0xD should be added.
>>
>> Signed-off-by: Li, Zhen-Hua<zhen-hual-VXdhtT5mjnY@public.gmane.org>
>> ---
>> drivers/iommu/dmar.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
>> index dc7e478..e5cdaf8 100644
>> --- a/drivers/iommu/dmar.c
>> +++ b/drivers/iommu/dmar.c
>> @@ -1083,6 +1083,7 @@ static const char *dma_remap_fault_reasons[] =
>> "non-zero reserved fields in RTP",
>> "non-zero reserved fields in CTP",
>> "non-zero reserved fields in PTE",
>> + "PCE for translation request specifies blocking",
>> };
>>
>> static const char *irq_remap_fault_reasons[] =
>

Yes, the multiple tables, some short, some long, duplicating error codes,
and in this case, putting it out of order, helped this case!

btw -- Suresh not at intel any longer (email bounces)

So, patch looks good to me. Although, I don't know of any code that
actually sets a translation to 'block translation'.... but
for completeness, rest of code does range checking & sizing such
that it's doing the right thing.
The only other thing I can surmize from the dmar.c file is if one
of these faults occurred, an 'unknown error' would have been outputted.

cheers.. Don
> _______________________________________________
> iommu mailing list
> iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
> https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-03-07 21:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1362537797-6034-1-git-send-email-zhen-hual@hp.com>
     [not found] ` <1362537797-6034-1-git-send-email-zhen-hual-VXdhtT5mjnY@public.gmane.org>
2013-03-07 18:31   ` [PATCH 1/1] iommu: add a dma remap fault reason Don Dutile
     [not found]     ` <5138DCE9.1010204-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2013-03-07 21:36       ` Don Dutile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).