From patchwork Mon May 8 11:54:47 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoffer Dall X-Patchwork-Id: 9716135 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4CC3660234 for ; Mon, 8 May 2017 11:55:39 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 34FC1223C7 for ; Mon, 8 May 2017 11:55:39 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 29E1D268AE; Mon, 8 May 2017 11:55:39 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B06AB223C7 for ; Mon, 8 May 2017 11:55:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=6PAnAG8G7//phggzdOHEuMqCk+fkXi0TbIGHj4Szeyw=; b=l4u76W4PgSzZgrZ07JVtAqreZq utYbhRR8e0WhZX22LwbXXGNSPTNNiLu93sufW68skTl7YnLa1Wwso5XSZcU9FX5jH1NAUavgx/PWP FvTxUVnWLHQtKvYeHL7BNyKydg6pytDwP41Ic6g8IPuyDmPnyHYmNu3lMFTfXVmkCdw3UwxQIRgPX Td60eL0YyRJ4mGKU4JmPIPG0+xznumoRcz+eiN6UDrUqQPmiUWLwuxM893zICwBxtqWAooTfUelfD BHG5MI8qNhCElDGu2t5iBYFAo+2ueQGE78bFMUNnuBUWAXQ1Ty3ln2W5EvsAJJnR011zsQo6xKQvY VRj0eZ/g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1d7hGM-0006fw-7G; Mon, 08 May 2017 11:55:38 +0000 Received: from mail-wm0-x233.google.com ([2a00:1450:400c:c09::233]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1d7hG7-0005CN-Go for linux-arm-kernel@lists.infradead.org; Mon, 08 May 2017 11:55:26 +0000 Received: by mail-wm0-x233.google.com with SMTP id u65so81765038wmu.1 for ; Mon, 08 May 2017 04:55:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=PlauqRM8qBcXL9iFYaZcPtsK+4SAm03mOTeegaBTMWY=; b=G/QFZLoXEmbqonc72qJcP8+8HYhtIRmXytKausAJ6qP671oCVyJpTLehEb9+Nv627z 20gqF2FbFDbUSIHpdiP5gciLzNfRgvHP9leIlimQnvEqbSiIp4bzOvy7wEa7X0iQLYjL 6UyaJ9nT3bx02riVQM28rgF2umQjOPLkZb1aw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=PlauqRM8qBcXL9iFYaZcPtsK+4SAm03mOTeegaBTMWY=; b=LkoD+9JYf9ZkkB+uvwBsTZsg2M/8S3Bq5Ca6DFWyQV5i1BXqfjz246BpLvFnKG1PGR +Bd107DmCLw5xie9l96dNBDqReTeZGiV+YBqgsVbjwoq11Plb8KmL/fkmppWIE/j885z BPNhmzZqWkiq/9eNAx8RMcFZ8B2IXuMKjEMVmgPwm1Lb663U5vSrN635NFMNVQzYaiDw 9x20EVLB/aGwyJ27zORuu07MGIGktavqoocni2CZzgMDFN47r4bHOcLoVZNZvSwumv+D 0lCWQ7gNJapU2IGLcqT8wKabSdjk44ITtmjm9C+PS7JDCHIZXoO2zixHjTifi8rGEZOZ oJpw== X-Gm-Message-State: AN3rC/6FrWU2w1iqmzX1yNogCF0Cu75UbhxAGxqoAyXqIL9szgYSZftl aUoIZ0ppl2gX9Tih9YVjNw== X-Received: by 10.80.146.51 with SMTP id i48mr21619586eda.48.1494244501660; Mon, 08 May 2017 04:55:01 -0700 (PDT) Received: from localhost.localdomain (xd93ddc2d.cust.hiper.dk. [217.61.220.45]) by smtp.gmail.com with ESMTPSA id k43sm3483411ede.1.2017.05.08.04.55.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 08 May 2017 04:55:01 -0700 (PDT) From: Christoffer Dall To: kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org Subject: [PATCH 1/8] KVM: arm/arm64: Clarification and relaxation to ITS save/restore ABI Date: Mon, 8 May 2017 13:54:47 +0200 Message-Id: <20170508115454.5075-2-cdall@linaro.org> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20170508115454.5075-1-cdall@linaro.org> References: <20170508115454.5075-1-cdall@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170508_045523_714684_90073C3D X-CRM114-Status: GOOD ( 15.46 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Marc Zyngier , Eric Auger , kvm@vger.kernel.org, Christoffer Dall MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Clarify what is meant by the save/restore ABI only supporting virtual physical interrupts. Relax the requirement of the order that the collection entries are written in and be clear that there is no particular ordering enforced. Some cosmetic changes in the capitalization of ID names to align with the GICv3 manual and remove the empty line in the bottom of the patch. Signed-off-by: Christoffer Dall Reviewed-by: Eric Auger --- Documentation/virtual/kvm/devices/arm-vgic-its.txt | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Documentation/virtual/kvm/devices/arm-vgic-its.txt b/Documentation/virtual/kvm/devices/arm-vgic-its.txt index ba132e9..d405242 100644 --- a/Documentation/virtual/kvm/devices/arm-vgic-its.txt +++ b/Documentation/virtual/kvm/devices/arm-vgic-its.txt @@ -110,12 +110,14 @@ Then vcpus can be started. ITS Table ABI REV0: ------------------- - Revision 0 of the ABI only supports physical LPIs. + Revision 0 of the ABI only supports the features of a virtual GICv3, and does + not support a virtual GICv4 with support for direct injection of virtual + interrupts for nested hypervisors. - The device table and ITT are indexed by the deviceid and eventid, - respectively. The collection table is not indexed by collectionid: - CTEs are written in the table in the order of collection creation. All - entries are 8 bytes. + The device table and ITT are indexed by the DeviceID and EventID, + respectively. The collection table is not indexed by CollectionID, and the + entries in the collection are listed in no particular order. + All entries are 8 bytes. Device Table Entry (DTE): @@ -126,10 +128,10 @@ Then vcpus can be started. - V indicates whether the entry is valid. If not, other fields are not meaningful. - next: equals to 0 if this entry is the last one; otherwise it - corresponds to the deviceid offset to the next DTE, capped by + corresponds to the DeviceID offset to the next DTE, capped by 2^14 -1. - ITT_addr matches bits [51:8] of the ITT address (256 Byte aligned). - - Size specifies the supported number of bits for the eventid, + - Size specifies the supported number of bits for the EventID, minus one Collection Table Entry (CTE): @@ -151,8 +153,7 @@ Then vcpus can be started. where: - next: equals to 0 if this entry is the last one; otherwise it corresponds - to the eventid offset to the next ITE capped by 2^16 -1. + to the EventID offset to the next ITE capped by 2^16 -1. - pINTID is the physical LPI ID; if zero, it means the entry is not valid and other fields are not meaningful. - ICID is the collection ID -