Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752240AbbEGRli (ORCPT ); Thu, 7 May 2015 13:41:38 -0400 Received: from mga11.intel.com ([192.55.52.93]:62260 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752206AbbEGRlc (ORCPT ); Thu, 7 May 2015 13:41:32 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,384,1427785200"; d="scan'208";a="722360740" Subject: [PATCH 12/12] x86, pkeys: Documentation To: dave@sr71.net Cc: linux-kernel@vger.kernel.org, x86@kernel.org From: Dave Hansen Date: Thu, 07 May 2015 10:41:36 -0700 References: <20150507174132.34AF8FAF@viggo.jf.intel.com> In-Reply-To: <20150507174132.34AF8FAF@viggo.jf.intel.com> Message-Id: <20150507174136.B2297B84@viggo.jf.intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1624 Lines: 39 --- b/Documentation/x86/protection-keys.txt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff -puN /dev/null Documentation/x86/protection-keys.txt --- /dev/null 2015-05-06 22:34:35.845652580 -0700 +++ b/Documentation/x86/protection-keys.txt 2015-05-07 10:31:45.360366611 -0700 @@ -0,0 +1,22 @@ +Memory Protection Keys for Userspace (PKU aka PKEYs) is a CPU +feature which will be found in future Intel CPUs. The work here +was done with the aid of simulators. + +Memory Protection Keys provides a mechanism for enforcing +page-based protections, but without requiring modification of the +page tables when an application changes protection domains. It +works by dedicating 4 previously ignored bits in each page table +entry to a “protection key”, giving 16 possible keys. + +There is also a new user-accessible register (PKRU) with two +separate bits (Access Disable and Write Disable) for each key. +Being a CPU register, PKRU is inherently thread-local, +potentially giving each thread a different set of protections +from every other thread. + +There are two new instructions (RDPKRU/WRPKRU) for reading and +writing to the new register. The feature is only available in +64-bit mode, even though there is theoretically space in the PAE +PTEs. These permissions are enforced on data access only and +have no effect on instruction fetches. + _ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/