Received: by 10.192.165.156 with SMTP id m28csp1432179imm; Wed, 18 Apr 2018 09:31:36 -0700 (PDT) X-Google-Smtp-Source: AIpwx49eXVadhIDHC/6AJE3mo46EiFC9OzCzb6F/Xasw1oP+MI6eh0yxY2SZD1YjFJl9fGCYzFVn X-Received: by 10.98.178.208 with SMTP id z77mr2420263pfl.122.1524069096040; Wed, 18 Apr 2018 09:31:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524069096; cv=none; d=google.com; s=arc-20160816; b=KTRWsvvh6cmnK2sSPuNMFxbxwC64Yr+FFLfk2IEF7kdSGhmgXt78xuCvAtsRL2BULE /Nc8VRJ5+hCwaHAwMQtoMyCkc0/DHmjDWtnVh3Hz7bX/4eBXeSQQ0GWSW6Ws7WPRytk+ fgjjGKV3Bun+k9Na/E5FcQsKGGTfO9e346tTbuLQLsCra+fY0a6G8/rYa2v99AF8jilx VEwe8f5RMt4Xjwuy0DIZNxb3qqRBX8DWjJp0MXRiKIK7bkjxcLycedwAKScZDozi0vB4 RLI5/jgS848gO0zOAITp0sTCemCBUPDrLmz2014/1LPZwqmXmUUVGhNZCqNz7mL5SRYh GqAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=zz9tZc/YhCNPqv4ToUVnn3NhqbvAxLDiNDL2UCdMhtY=; b=UxQvoBDoxH/eNJku4oxl4vjHua8sae2NBipSVuvZSfYmBQppN+G7D3ZpjIbDHFHIBx 4hvAf7lv+hh/cKSm+aw5F4PPCV0RAyDx+iXpO4/8xwt5Lf+t7qqYtRj86N3I70eqmNZe k39g5qc46RB2Kt2Q2RmIqLa9+wErsr0uc8C/OjBdEvFH+vEnSoBbBXkVLyKr6+CM8lLa cgqwCO5xiVdsgETD88jlk38aL/Z+gi34MRq9xp8RsNmRfNB+0oYQD9lnm9zgFRG8z4Hl Xy9hyEStzCX3ELY9tAqA4fOvj+2/dzbB52yBknnSjHrOep0kdhGRK0QnrLoCd9nK6HDv 00uw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=hXftYhtO; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p6si1394291pfk.357.2018.04.18.09.31.20; Wed, 18 Apr 2018 09:31:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=hXftYhtO; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752698AbeDRQaL (ORCPT + 99 others); Wed, 18 Apr 2018 12:30:11 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:57314 "EHLO aserp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751714AbeDRQaH (ORCPT ); Wed, 18 Apr 2018 12:30:07 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w3IGPfj5100620; Wed, 18 Apr 2018 16:30:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id; s=corp-2017-10-26; bh=zz9tZc/YhCNPqv4ToUVnn3NhqbvAxLDiNDL2UCdMhtY=; b=hXftYhtO1gMtf26bWxnARVqlRc/y/h4CBZ9M/ad5XSHxc3mxasttZHCcAEtMTghxguFf kxug1sl3ufOibW2Iv4HLgp9UQ7vvlw9TRJbFb0a1ccnE6O9CabjaWAm9pgHkqQPmRGAu /bA2sCEbqW8GChDYMFhv8ERqESZx5fl7JYM7/ZIUdSaJGuSGqF1e0kga7Nade20cBUWh C8vpcNUEQ64plPMxwDh6tB7jrqswfxnHhwide61r0CgynAEoy8XER4sPJ7BZBzXyAQVC cqxoxcryWHtCyL+ZXBRPaTFntfAxWAq14oHeS/u1FDL2DhUt2KaPyU7fupIgPlytEZZ3 /Q== Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by aserp2120.oracle.com with ESMTP id 2hdrxnbjpf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 18 Apr 2018 16:30:00 +0000 Received: from brm-t84-02.us.oracle.com (brm-t84-02.us.oracle.com [10.80.150.81]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w3IGTxfK004640; Wed, 18 Apr 2018 16:29:59 GMT From: Tom Hromatka To: davem@davemloft.net Cc: sparclinux@vger.kernel.org, arnd@arndb.de, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, tom.hromatka@oracle.com, shuah@kernel.org, linux-kselftest@vger.kernel.org, allen.pais@oracle.com, khalid.aziz@oracle.com, shannon.nelson@oracle.com, anthony.yznaga@oracle.com Subject: [PATCH 0/2] sparc64: Add privileged ADI driver Date: Wed, 18 Apr 2018 10:29:56 -0600 Message-Id: <20180418162958.442909-1-tom.hromatka@oracle.com> X-Mailer: git-send-email 2.15.0 X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8867 signatures=668698 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=453 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1804180148 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ADI is a feature supported on SPARC M7 and newer processors to allow hardware to catch rogue accesses to memory. ADI is supported for data fetches only and not instruction fetches. An app can enable ADI on its data pages, set version tags on them and use versioned addresses to access the data pages. Upper bits of the address contain the version tag. On M7 processors, upper four bits (bits 63-60) contain the version tag. If a rogue app attempts to access ADI enabled data pages, its access is blocked and processor generates an exception. Please see Documentation/sparc/adi.txt for further details. This patchset implements a char driver to read/write ADI versions from privileged user space processes. Intended consumers are makedumpfile and crash. Tom Hromatka (2): char: sparc64: Add privileged ADI driver selftests: sparc64: char: Selftest for privileged ADI driver drivers/char/Kconfig | 12 + drivers/char/Makefile | 1 + drivers/char/adi.c | 262 ++++++++ tools/testing/selftests/Makefile | 1 + tools/testing/selftests/sparc64/Makefile | 52 ++ tools/testing/selftests/sparc64/drivers/.gitignore | 1 + tools/testing/selftests/sparc64/drivers/Makefile | 13 + tools/testing/selftests/sparc64/drivers/adi-test.c | 727 +++++++++++++++++++++ 8 files changed, 1069 insertions(+) create mode 100644 drivers/char/adi.c create mode 100644 tools/testing/selftests/sparc64/Makefile create mode 100644 tools/testing/selftests/sparc64/drivers/.gitignore create mode 100644 tools/testing/selftests/sparc64/drivers/Makefile create mode 100644 tools/testing/selftests/sparc64/drivers/adi-test.c -- 2.15.0