|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC] [Draft Design v2] ACPI/IORT Support in Xen.
On 11/14/2017 6:53 PM, Julien Grall wrote: Hi Manish, Hey Julien, On 08/11/17 14:38, Manish Jaggi wrote:ACPI/IORT Support in Xen. -------------------------- Draft 2 Revision History: Changes since v1- - Modified IORT Parsing data structures. - Added RID->StreamID and RID->DeviceID map as per Andre's suggestion. - Added reference code which can be read along with this document. - Removed domctl for DomU, it would be covered in PCI-PT design. Introduction: ------------- I had sent out patch series [0] to hide smmu from Dom0 IORT. This document is a rework of the series as it: (a) extends scope by adding parsing of IORT table once and storing it in in-memory data structures, which can then be used for querying. This would eliminate the need to parse complete iort table multiple times. (b) Generation of IORT for domains be independent using a set of helper routines. Index -------- 1. What is IORT. What are its components ? 2. Current Support in Xen 3. IORT for Dom0 4. IORT for DomU 5. Parsing of IORT in Xen 6. Generation of IORT 7. Implementation Phases 8. References 1. IORT Structure ? --------------------------------------------IORT refers to Input Output remapping table. It is essentially used to find information about the IO topology (PCIRC-SMMU-ITS) and relationships betweendevices. A general structure of IORT [1]:It has nodes for PCI RC, SMMU, ITS and Platform devices. Using an IORT tablerelationship between RID -> StreamID -> DeviceId can be obtained.Which device is behind which SMMU and which interrupt controller, topologyis described in IORT Table. Some PCI RC may be not behind an SMMU, and directly map RID->DeviceID. RID is a requester ID in PCI context, StreamID is the ID of the device in SMMU context, DeviceID is the ID programmed in ITS.Each iort_node contains an ID map array to translate one ID into another. ok, I will rephrase it. It came from review comments on my previous IORT SMMU hiding patch. Andre suggested that Platform Nodes are needed.It is proposed in this document to parse iort once and use the informationto translate RID without traversing IORT again and again. Also Xen prepares an IORT table for dom0 based on host IORT. For DomU IORT table proposed only in case of device passthrough. 3. IORT for Dom0 -----------------IORT for Dom0 is based on host iort. Few nodes could be removed or modified.For instance - Host SMMU nodes should not be present as Xen should only touch it.- platform nodes (named components) may be controlled by xen command line.I am not sure where does this example come from? As I said, there are no plan to support Platform Device passthrough with ACPI. A better example here would removing PMCG. After some brainstorming with Julien we found two problems: 1) This only covers RC nodes, but not "named components" (platform devices), which we will need. ... From: https://www.mail-archive.com/xen-devel@xxxxxxxxxxxxx/msg123434.html 4. IORT for DomU -----------------IORT for DomU should be generated by toolstack. IORT table is only presentin case of device passthrough. At a minimum domU IORT should include a single PCIRC and ITS Group. Similar PCIRC can be added in DSDT.The exact structure of DomU IORT would be covered along with PCI PT design.5. Parsing of IORT in Xen --------------------------IORT nodes can be saved in structures so that IORT table parsing can be done once and is reused by all xen subsystems like ITS / SMMU etc, domain creation. Oh yes, it only describes the code flow. Cheers, _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |