From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965444AbdKGQes (ORCPT ); Tue, 7 Nov 2017 11:34:48 -0500 Received: from foss.arm.com ([217.140.101.70]:51934 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758127AbdKGQeI (ORCPT ); Tue, 7 Nov 2017 11:34:08 -0500 Subject: Re: [PATCH v5 23/26] KVM: arm/arm64: GICv4: Prevent a VM using GICv4 from being saved To: Auger Eric , linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Mark Rutland , Andre Przywara , Shameerali Kolothum Thodi , Christoffer Dall , Shanker Donthineni References: <20171027142855.21584-1-marc.zyngier@arm.com> <20171027142855.21584-24-marc.zyngier@arm.com> <1f75a11a-41c3-71b8-6abf-4aa2962e348e@redhat.com> <9c1e1c92-e0fa-737f-63ab-a335b93af6da@arm.com> <77d479e5-98f9-9081-a3a6-87bef1009775@redhat.com> From: Marc Zyngier Organization: ARM Ltd Message-ID: <33f4de5f-004e-6b92-d4f6-651e536dc697@arm.com> Date: Tue, 7 Nov 2017 16:34:04 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <77d479e5-98f9-9081-a3a6-87bef1009775@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Language: en-GB Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 07/11/17 16:12, Auger Eric wrote: > Hi Marc, > > On 07/11/2017 16:38, Marc Zyngier wrote: >> On 07/11/17 15:24, Auger Eric wrote: >>> Hi Marc, >>> >>> Hi Marc, >>> On 27/10/2017 16:28, Marc Zyngier wrote: >>>> The GICv4 architecture doesn't make it easy for save/restore to >>>> work, as it doesn't give any guarantee that the pending state >>>> is written into the pending table. >>> >>> I don't understand where does the limitation exactly come from. Can't we >>> use the GICR_VPENDBASER table data? >> You can't. None of the tables that are written by either the ITS or the >> redistributors are architected. All you know is that there is one bit >> per vLPI, but that's it (you don't even know which one is which). > Oh I thought the redistributor config and pending tables were fully > specified (6.1.2 and 6.1.3 of the spec), except the 1kB of the pending > table. The property table is definitely architected. It is a lot less clear for the pending table. The main issue is that you cannot really know when the various bits have actually been flushed all the way from the redistributor caches to memory to be introspected. Yes, it sucks. Thanks, M. -- Jazz is not dead. It just smells funny...