From nobody Mon Feb 9 03:13:33 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1588240131; cv=none; d=zohomail.com; s=zohoarc; b=PZ1OrxWBh3Zx+BROMVp26agOWGlF01Zmqha/CQflVP+lhNG9I4lyTaIvCo2h+Wl/rLXJEczgp+Prbx+TYyYfkrPYmxenun3cAKS3j1gs0B3vN9W6oBI1BaQmy2r5u5QHW8xvDzhbreXDD9iQlhqkXg7GVkjDHWqmajQca1yI3Og= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588240131; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=fhQQ8QBSLPwSkt9wL8aI6TPILnPxIljSnPQDzSYdRYE=; b=MXD6ELd/NfuC2Gm7TdxB18UhEaSp08axlijkLQjur4RWKeY+/5oA2n6cMR1ow2LvthEejxnYOaxPBs9WWbXNB/P5Dti1amSgnHSVAvPpWWXKOCs9V//gcR5ZKwd9dcKk9Hc/5asqmwLGS34pxZZfROXTLro7xdUpBsAyyMJEFJg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1588240131877830.068838023875; Thu, 30 Apr 2020 02:48:51 -0700 (PDT) Received: from localhost ([::1]:48628 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jU5oI-0004RZ-Hx for importer@patchew.org; Thu, 30 Apr 2020 05:48:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48850) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jU5l4-00069O-Gi for qemu-devel@nongnu.org; Thu, 30 Apr 2020 05:45:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jU5l2-0003nC-Qd for qemu-devel@nongnu.org; Thu, 30 Apr 2020 05:45:30 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:33584 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jU5l2-0003lr-8h for qemu-devel@nongnu.org; Thu, 30 Apr 2020 05:45:28 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-32-aYgTwB6rNyqYqeajakgoyw-1; Thu, 30 Apr 2020 05:45:25 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B7B1519200C0; Thu, 30 Apr 2020 09:45:23 +0000 (UTC) Received: from localhost (ovpn-112-226.ams2.redhat.com [10.36.112.226]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 54CDB5EDE2; Thu, 30 Apr 2020 09:45:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588239927; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fhQQ8QBSLPwSkt9wL8aI6TPILnPxIljSnPQDzSYdRYE=; b=dIrAYwE/iZJiwzF4ZjeYWzweAkMEXIzmvqLmu/Okp/AAeukiQ2Ftg6U1QTf3YblriPlEj/ xrwjnr9TEZelyE/Vo/XuasvtXJGqPrm0khpakg0YTAlLHeOvp4re0G7ivqsqq9sjwuXP1R Juqf3ZN3ZFfFd2twSqGX/Ocn8lN9cXU= X-MC-Unique: aYgTwB6rNyqYqeajakgoyw-1 From: Cornelia Huck To: Peter Maydell Subject: [PULL 07/20] s390x: protvirt: KVM intercept changes Date: Thu, 30 Apr 2020 11:44:32 +0200 Message-Id: <20200430094445.25943-8-cohuck@redhat.com> In-Reply-To: <20200430094445.25943-1-cohuck@redhat.com> References: <20200430094445.25943-1-cohuck@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=cohuck@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/04/30 01:04:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Received-From: 205.139.110.61 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Janosch Frank , David Hildenbrand , Cornelia Huck , qemu-devel@nongnu.org, Christian Borntraeger , qemu-s390x@nongnu.org, Claudio Imbrenda Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Janosch Frank Protected VMs no longer intercept with code 4 for an instruction interception. Instead they have codes 104 and 108 for protected instruction interception and protected instruction notification respectively. The 104 mirrors the 4 interception. The 108 is a notification interception to let KVM and QEMU know that something changed and we need to update tracking information or perform specific tasks. It's currently taken for the following instructions: * spx (To inform about the changed prefix location) * sclp (On incorrect SCCB values, so we can inject a IRQ) * sigp (All but "stop and store status") * diag308 (Subcodes 0/1) Of these exits only sclp errors, state changing sigps and diag308 will reach QEMU. QEMU will do its parts of the job, while the ultravisor has done the instruction part of the job. Signed-off-by: Janosch Frank Reviewed-by: David Hildenbrand Reviewed-by: Christian Borntraeger Reviewed-by: Claudio Imbrenda Reviewed-by: Cornelia Huck Message-Id: <20200319131921.2367-7-frankja@linux.ibm.com> Signed-off-by: Cornelia Huck --- target/s390x/kvm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c index b2b14bde2b25..1988809ec2e7 100644 --- a/target/s390x/kvm.c +++ b/target/s390x/kvm.c @@ -115,6 +115,8 @@ #define ICPT_CPU_STOP 0x28 #define ICPT_OPEREXC 0x2c #define ICPT_IO 0x40 +#define ICPT_PV_INSTR 0x68 +#define ICPT_PV_INSTR_NOTIFICATION 0x6c =20 #define NR_LOCAL_IRQS 32 /* @@ -1698,6 +1700,8 @@ static int handle_intercept(S390CPU *cpu) (long)cs->kvm_run->psw_addr); switch (icpt_code) { case ICPT_INSTRUCTION: + case ICPT_PV_INSTR: + case ICPT_PV_INSTR_NOTIFICATION: r =3D handle_instruction(cpu, run); break; case ICPT_PROGRAM: --=20 2.21.1