> >   static void ctx_tbl_walk(struct seq_file *m, struct intel_iommu *iommu, 
> > u16
> bus)
> >   {
> >     struct context_entry *context;
> > -   u16 devfn;
> > +   u16 devfn, pasid_dir_size;
> > +   u64 pasid_dir_ptr;
> >
> >     for (devfn = 0; devfn < 256; devfn++) {
> >             struct tbl_walk tbl_wlk = {0};
> >
> > +           /*
> > +            * Scalable mode root entry points to upper context table and
> > +            * lower context table. Each scalable mode context table has
> > +            * 128 context entries where as legacy mode context table has
> > +            * 256 context entries. So for scalable mode, devfn > 127 is
> > +            * invalid. But, iommu_context_addr() inherently handles this by
> 
> This comment is a bit misleading. :-)
> 
> devfn > 127 is also valid for scalable mode. The context entries for former 
> 128
> devices are in the lower scalable-mode context-table, while the latter 128
> devices in upper scalable-mode context-table.
> This has been handled in iommu_context_addr(), so the caller don't need to
> worry about this.

Yes.. that makes sense. Will correct it in V2.

Regards,
Sai
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to