From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Huth Subject: Re: [kvm-unit-tests PATCH v3 11/17] powerpc/ppc64: add hcall support and putchar Date: Mon, 15 Feb 2016 09:58:56 +0100 Message-ID: <56C19350.3010507@redhat.com> References: <1455380910-30604-1-git-send-email-drjones@redhat.com> <1455380910-30604-12-git-send-email-drjones@redhat.com> <20160214232954.GJ2732@voom.fritz.box> <20160215085406.5u5344qpaoixnjod@hawk.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, dgibson@redhat.com, agraf@suse.de, lvivier@redhat.com, pbonzini@redhat.com To: Andrew Jones , David Gibson Return-path: Received: from mx1.redhat.com ([209.132.183.28]:43105 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752650AbcBOI7D (ORCPT ); Mon, 15 Feb 2016 03:59:03 -0500 In-Reply-To: <20160215085406.5u5344qpaoixnjod@hawk.localdomain> Sender: kvm-owner@vger.kernel.org List-ID: On 15.02.2016 09:54, Andrew Jones wrote: > On Mon, Feb 15, 2016 at 10:29:54AM +1100, David Gibson wrote: >> On Sat, Feb 13, 2016 at 05:28:24PM +0100, Andrew Jones wrote: >>> +bool hcall_have_broken_sc1(void) >>> +{ >>> + register unsigned long r3 asm("r3") = H_SET_DABR; >>> + register unsigned long r4 asm("r4") = 0; >>> + >>> + asm volatile("sc 1" >>> + : "=r" (r3) >>> + : "r" (r3), "r" (r4) >>> + : "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"); >>> + >>> + return !(r3 == H_SUCCESS || r3 == (unsigned long)H_HARDWARE); >> >> It might be safer to explicitly check for H_PRIVILEGE, which is what >> you'll get in the case of a broken sc 1 under nested virtualization. >> That way you won't get false positives if H_SET_DABR ever gets any new >> error codes it can return. > > Will do. Thanks. Should we consider a SLOF patch too? (As I stole this > condition from there, see check_broken_sc1 in lib/libhvcall/brokensc1.c) Yes, I think it should be fixed there, too. Thomas