From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jacob Pan Subject: bind pasid table API Date: Mon, 18 Sep 2017 20:45:16 -0700 Message-ID: <20170918204516.2f6beffb@jacob-builder> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Jean-Philippe Brucker Cc: jacob.jun.pan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, David Woodhouse List-Id: iommu@lists.linux-foundation.org Hi Jean and All, This is a follow-up on the LPC discussion we had last week. (https://linuxplumbersconf.org/2017/ocw/proposals/4748) My understanding is that the data structure below can satisfy the needs from Intel (pointer + size) and AMD (pointer only). But ARM pvIOMMU would need additional info to indicate the page table format. Could you share your idea of the right addition for ARM such that we can have a unified API? /** * PASID table data used to bind guest PASID table to the host IOMMU. This will * enable guest managed first level page tables. * @ptr: PASID table pointer * @size_order: number of bits supported in the guest PASID table, must be less * or equal than the host table size. */ struct pasid_table_info { __u64 ptr; __u64 size_order; }; Thanks, Jacob