From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37368) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WPXKH-0000YU-UT for qemu-devel@nongnu.org; Mon, 17 Mar 2014 09:11:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WPXKD-00062a-0F for qemu-devel@nongnu.org; Mon, 17 Mar 2014 09:11:33 -0400 Received: from mail-wi0-f182.google.com ([209.85.212.182]:38207) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WPXKC-00062O-QV for qemu-devel@nongnu.org; Mon, 17 Mar 2014 09:11:28 -0400 Received: by mail-wi0-f182.google.com with SMTP id d1so2121199wiv.3 for ; Mon, 17 Mar 2014 06:11:28 -0700 (PDT) MIME-Version: 1.0 Sender: peter.crosthwaite@petalogix.com In-Reply-To: References: <1394134385-1727-1-git-send-email-peter.maydell@linaro.org> <1394134385-1727-12-git-send-email-peter.maydell@linaro.org> Date: Mon, 17 Mar 2014 23:11:27 +1000 Message-ID: From: Peter Crosthwaite Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [Qemu-devel] [PATCH v4 11/21] target-arm: Don't mention PMU in debug feature register List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Rob Herring , Patch Tracking , Michael Matz , Claudio Fontana , "qemu-devel@nongnu.org Developers" , Alexander Graf , Will Newton , Dirk Mueller , Laurent Desnogues , =?ISO-8859-1?Q?Alex_Benn=E9e?= , "kvmarm@lists.cs.columbia.edu" , Christoffer Dall , Richard Henderson On Mon, Mar 17, 2014 at 10:58 PM, Peter Maydell wrote: > On 17 March 2014 05:13, Peter Crosthwaite wrote: >> On Fri, Mar 7, 2014 at 5:32 AM, Peter Maydell wrote: >>> Suppress the ID_AA64DFR0_EL1 PMUVer field, even if the CPU specific >>> value claims that it exists. QEMU doesn't currently implement it, >>> and not advertising it prevents the guest from trying to use it >>> and getting UNDEFs on unimplemented registers. >>> >>> Signed-off-by: Peter Maydell >> >> Reviewed-by: Peter Crosthwaite >> >>> --- >>> This is arguably a hack, but otherwise Linux tries to prod >>> half a dozen PMU sysregs. >> >> Not really. I think sane self-identification trumps dummy feature >> advertising. Although there is a consistency argument to be made, as >> to whether you should also wipe-out any other features advertised by >> this register and friends (e.g. should TraceVer be set?). > > The lack of consistency is what makes it a hack :-) Generally > QEMU takes the approach of "report what the h/w reports even > if we don't implement it all"; "report what we provide even > if that's not the same values as h/w" would be a different > approach, but if we wanted that we'd need to do it consistently. I think there is an argument to decide it case by case .. > Still I think pragmatism wins out here. > In cases where QEMU can validly nop the feature in question (like caches etc.) then faking up to match real HW is cool. But if a guest can take a feature advertisment then if() on it to bang on non-existant hardware causing bus errors or exceptions then I think we should remove the advertisements even if it is a deviation from real hw register state. Supporting a good guest that has self identificaton correct seems more worthwhile than support a guest that somehow requires a feature advertisment without actually using the feature. Regards, Peter > thanks > -- PMM >