Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp940183ybz; Wed, 15 Apr 2020 23:01:48 -0700 (PDT) X-Google-Smtp-Source: APiQypJndpL+/SgCSJIS5utOa7BYRbekFmQsZ/azrR+179Qvj1nfLJ885ONRvDXxuANRMQJB80BG X-Received: by 2002:a17:906:c9ce:: with SMTP id hk14mr8024512ejb.314.1587016908491; Wed, 15 Apr 2020 23:01:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587016908; cv=none; d=google.com; s=arc-20160816; b=Jv9CalXFo0LPQ1GL4+WE6eLJ1+C2XgQ8svj5qRoJPD+2/DnKqcqapiPqDopREbQt0r UbtIGM2cxlPy5+iZwrPTXyoCY0wnXNqXSq8X+p7Rmg48hZJxb8TKbc1c5YjpBkhc212o C7Rt68i1ZEDjvC1KUW4q7QoSPc6XMsZOiQ4Y9Qb3OdyoEg/SdFoTOaR/4/1ePzxHILVG EXHJomStckKB2MAp/3Q3Ex6eqKqtIhhbu5Rn5+1V971Jpdib8pHEAvAOOFLX5AgbtAgb 6ANM4GEUIh1iKEbX6bgn4OBLsdLxckKQkZ8NPMXp4uEdDpCnP3ec/YQ7eFsnE05ugioX uVYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:references:in-reply-to:cc:to:from:subject; bh=BSec/jnLXm3IYSambFxg+exr629Ye0mMMmOW9QLLbzM=; b=OLkPxOoohh6dvEl0CJ45elYPKgAYf52owO+M8s8bqNgflnCsNQCrOHprR/YedWOL8G q29CtIm9d9wJpOyHGBKxGyxrOVfh7PGILiFqOEoELziCuM+bWbjDGn03NH9j30ioK+3U smbgcM0+dFI5S0RPeIFn7ihIcOFTyhuHtK6MJsX5+ol0d85S9z5JsTU+fvTivrUTRHSi IZ5vEL3sumqNTMrfh+XWtEqMOjNFOpQSC60CKorBb+IeYWgcGeeF9FqFc4KqJVwEkATo 9kOeGupBVNGMHZOwZFFVTvC8cEqesaxYJINA4VHUQ3+l//uC9qZOOedOcEl2Knzxb+Hl v9DA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p3si11711875edj.289.2020.04.15.23.01.24; Wed, 15 Apr 2020 23:01:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2407272AbgDPGAS (ORCPT + 99 others); Thu, 16 Apr 2020 02:00:18 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:23990 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2407021AbgDPGAO (ORCPT ); Thu, 16 Apr 2020 02:00:14 -0400 Received: from pps.filterd (m0098413.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 03G5k1SD143012; Thu, 16 Apr 2020 01:59:57 -0400 Received: from pps.reinject (localhost [127.0.0.1]) by mx0b-001b2d01.pphosted.com with ESMTP id 30ehg7g9nf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 16 Apr 2020 01:59:57 -0400 Received: from m0098413.ppops.net (m0098413.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 03G5l30I144635; Thu, 16 Apr 2020 01:59:56 -0400 Received: from ppma02wdc.us.ibm.com (aa.5b.37a9.ip4.static.sl-reverse.com [169.55.91.170]) by mx0b-001b2d01.pphosted.com with ESMTP id 30ehg7g9na-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 16 Apr 2020 01:59:56 -0400 Received: from pps.filterd (ppma02wdc.us.ibm.com [127.0.0.1]) by ppma02wdc.us.ibm.com (8.16.0.27/8.16.0.27) with SMTP id 03G5vBfc022616; Thu, 16 Apr 2020 05:59:56 GMT Received: from b03cxnp07028.gho.boulder.ibm.com (b03cxnp07028.gho.boulder.ibm.com [9.17.130.15]) by ppma02wdc.us.ibm.com with ESMTP id 30b5h6qx5p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 16 Apr 2020 05:59:56 +0000 Received: from b03ledav004.gho.boulder.ibm.com (b03ledav004.gho.boulder.ibm.com [9.17.130.235]) by b03cxnp07028.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 03G5xsm619005806 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 16 Apr 2020 05:59:55 GMT Received: from b03ledav004.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DB3387805C; Thu, 16 Apr 2020 05:59:54 +0000 (GMT) Received: from b03ledav004.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1D37B7805E; Thu, 16 Apr 2020 05:59:54 +0000 (GMT) Received: from [9.70.82.143] (unknown [9.70.82.143]) by b03ledav004.gho.boulder.ibm.com (Postfix) with ESMTP; Thu, 16 Apr 2020 05:59:54 +0000 (GMT) Subject: [PATCH v11 02/14] powerpc/vas: Define nx_fault_stamp in coprocessor_request_block From: Haren Myneni To: mpe@ellerman.id.au Cc: mikey@neuling.org, srikar@linux.vnet.ibm.com, frederic.barrat@fr.ibm.com, linux-kernel@vger.kernel.org, npiggin@gmail.com, hch@infradead.org, oohall@gmail.com, clg@kaod.org, herbert@gondor.apana.org.au, sukadev@linux.vnet.ibm.com, linuxppc-dev@lists.ozlabs.org, ajd@linux.ibm.com In-Reply-To: <1587016214.2275.1036.camel@hbabu-laptop> References: <1587016214.2275.1036.camel@hbabu-laptop> Content-Type: text/plain; charset="UTF-8" Date: Wed, 15 Apr 2020 22:59:29 -0700 Message-ID: <1587016769.2275.1048.camel@hbabu-laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138,18.0.676 definitions=2020-04-16_01:2020-04-14,2020-04-16 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=1 clxscore=1015 impostorscore=0 malwarescore=0 phishscore=0 mlxlogscore=887 mlxscore=0 spamscore=0 priorityscore=1501 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2004160029 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Kernel sets fault address and status in CRB for NX page fault on user space address after processing page fault. User space gets the signal and handles the fault mentioned in CRB by bringing the page in to memory and send NX request again. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Haren Myneni --- arch/powerpc/include/asm/icswx.h | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/include/asm/icswx.h b/arch/powerpc/include/asm/icswx.h index 9872f85..965b1f3 100644 --- a/arch/powerpc/include/asm/icswx.h +++ b/arch/powerpc/include/asm/icswx.h @@ -108,6 +108,17 @@ struct data_descriptor_entry { __be64 address; } __packed __aligned(DDE_ALIGN); +/* 4.3.2 NX-stamped Fault CRB */ + +#define NX_STAMP_ALIGN (0x10) + +struct nx_fault_stamp { + __be64 fault_storage_addr; + __be16 reserved; + __u8 flags; + __u8 fault_status; + __be32 pswid; +} __packed __aligned(NX_STAMP_ALIGN); /* Chapter 6.5.2 Coprocessor-Request Block (CRB) */ @@ -135,10 +146,15 @@ struct coprocessor_request_block { struct coprocessor_completion_block ccb; - u8 reserved[48]; + union { + struct nx_fault_stamp nx; + u8 reserved[16]; + } stamp; + + u8 reserved[32]; struct coprocessor_status_block csb; -} __packed __aligned(CRB_ALIGN); +} __packed; /* RFC02167 Initiate Coprocessor Instructions document -- 1.8.3.1