From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52184) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZysMJ-0008Px-IB for qemu-devel@nongnu.org; Tue, 17 Nov 2015 21:20:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZysMI-0002N8-Ke for qemu-devel@nongnu.org; Tue, 17 Nov 2015 21:20:31 -0500 Received: from mga02.intel.com ([134.134.136.20]:5101) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZysMI-0002Mp-Ee for qemu-devel@nongnu.org; Tue, 17 Nov 2015 21:20:30 -0500 From: Huaitong Han Date: Wed, 18 Nov 2015 10:20:14 +0800 Message-Id: <1447813217-10532-1-git-send-email-huaitong.han@intel.com> Subject: [Qemu-devel] [PATCH v3 0/3] target-i386: add memory protection-key support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: pbonzini@redhat.com, rth@twiddle.net, afaerber@suse.de, ehabkost@redhat.com Cc: Huaitong Han , qemu-devel@nongnu.org, kvm@vger.kernel.org Changes in v3: *Fix cpuid_7_0_ecx_feature_name error. Changes in v2: *Fix memcpy error for xsave state. *Fix TCG_7_0_ECX_FEATURES to 0. *Make subjects more readable. The protection-key feature provides an additional mechanism by which IA-32e paging controls access to usermode addresses. Hardware support for protection keys for user pages is enumerated with CPUID feature flag CPUID.7.0.ECX[3]:PKU. Software support is CPUID.7.0.ECX[4]:OSPKE with the setting of CR4.PKE(bit 22). The PKRU register is XSAVE-managed state CPUID.D.0.EAX[9], the size of XSAVE state component for PKRU is 8 bytes, the offset is 0xa80. The specification of Protection Keys can be found at SDM (4.6.2, volume 3) http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf. Huaitong Han (3): target-i386: add pkeys support for cpuid handling target-i386: add pkeys support for xsave state handling target-i386: add pkeys support for vm migration target-i386/cpu.c | 23 ++++++++++++++++++++++- target-i386/cpu.h | 7 +++++++ target-i386/kvm.c | 3 +++ target-i386/machine.c | 23 +++++++++++++++++++++++ 4 files changed, 55 insertions(+), 1 deletion(-) -- 2.4.3