From: Tom Lendacky <thomas.lendacky-5C7GfCeVMHo@public.gmane.org> To: linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, kasan-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org, linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Cc: "Rik van Riel" <riel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>, "Radim Krčmář" <rkrcmar-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>, "Arnd Bergmann" <arnd-r2nGTMty4D4@public.gmane.org>, "Jonathan Corbet" <corbet-T1hC0tSOHrs@public.gmane.org>, "Matt Fleming" <matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>, "Joerg Roedel" <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>, "Konrad Rzeszutek Wilk" <konrad.wilk-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>, "Paolo Bonzini" <pbonzini-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>, "Larry Woodman" <lwoodman-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>, "Ingo Molnar" <mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>, "Borislav Petkov" <bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org>, "Andy Lutomirski" <luto-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>, "H. Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>, "Andrey Ryabinin" <aryabinin-5HdwGun5lf+gSpxsJD1C4w@public.gmane.org>, "Alexander Potapenko" <glider-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>, "Thomas Gleixner" <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>, "Dmitry Vyukov" <dvyukov-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org> Subject: [RFC PATCH v3 16/20] x86: Do not specify encrypted memory for video mappings Date: Wed, 9 Nov 2016 18:37:53 -0600 [thread overview] Message-ID: <20161110003753.3280.36113.stgit@tlendack-t1.amdoffice.net> (raw) In-Reply-To: <20161110003426.3280.2999.stgit-qCXWGYdRb2BnqfbPTmsdiZQ+2ll4COg0XqFh9Ls21Oc@public.gmane.org> Since video memory needs to be accessed unencrypted be sure that the memory encryption mask is not set for the video ranges. Signed-off-by: Tom Lendacky <thomas.lendacky-5C7GfCeVMHo@public.gmane.org> --- arch/x86/include/asm/vga.h | 13 +++++++++++++ drivers/gpu/drm/drm_gem.c | 2 ++ drivers/gpu/drm/drm_vm.c | 4 ++++ drivers/gpu/drm/ttm/ttm_bo_vm.c | 7 +++++-- drivers/gpu/drm/udl/udl_fb.c | 4 ++++ drivers/video/fbdev/core/fbmem.c | 12 ++++++++++++ 6 files changed, 40 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/vga.h b/arch/x86/include/asm/vga.h index c4b9dc2..7f944a4 100644 --- a/arch/x86/include/asm/vga.h +++ b/arch/x86/include/asm/vga.h @@ -7,12 +7,25 @@ #ifndef _ASM_X86_VGA_H #define _ASM_X86_VGA_H +#include <asm/mem_encrypt.h> + /* * On the PC, we can just recalculate addresses and then * access the videoram directly without any black magic. + * To support memory encryption however, we need to access + * the videoram as un-encrypted memory. */ +#ifdef CONFIG_AMD_MEM_ENCRYPT +#define VGA_MAP_MEM(x, s) \ +({ \ + unsigned long start = (unsigned long)phys_to_virt(x); \ + sme_set_mem_unenc((void *)start, s); \ + start; \ +}) +#else #define VGA_MAP_MEM(x, s) (unsigned long)phys_to_virt(x) +#endif #define vga_readb(x) (*(x)) #define vga_writeb(x, y) (*(y) = (x)) diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index 9134ae1..44f9563 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c @@ -36,6 +36,7 @@ #include <linux/pagemap.h> #include <linux/shmem_fs.h> #include <linux/dma-buf.h> +#include <linux/mem_encrypt.h> #include <drm/drmP.h> #include <drm/drm_vma_manager.h> #include <drm/drm_gem.h> @@ -928,6 +929,7 @@ int drm_gem_mmap_obj(struct drm_gem_object *obj, unsigned long obj_size, vma->vm_ops = dev->driver->gem_vm_ops; vma->vm_private_data = obj; vma->vm_page_prot = pgprot_writecombine(vm_get_page_prot(vma->vm_flags)); + pgprot_val(vma->vm_page_prot) &= ~sme_me_mask; /* Take a ref for this mapping of the object, so that the fault * handler can dereference the mmap offset's pointer to the object. diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c index caa4e4c..d04752c 100644 --- a/drivers/gpu/drm/drm_vm.c +++ b/drivers/gpu/drm/drm_vm.c @@ -40,6 +40,7 @@ #include <linux/efi.h> #include <linux/slab.h> #endif +#include <linux/mem_encrypt.h> #include <asm/pgtable.h> #include "drm_internal.h" #include "drm_legacy.h" @@ -58,6 +59,9 @@ static pgprot_t drm_io_prot(struct drm_local_map *map, { pgprot_t tmp = vm_get_page_prot(vma->vm_flags); + /* We don't want graphics memory to be mapped encrypted */ + pgprot_val(tmp) &= ~sme_me_mask; + #if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) if (map->type == _DRM_REGISTERS && !(map->flags & _DRM_WRITE_COMBINING)) tmp = pgprot_noncached(tmp); diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c index a6ed9d5..f5fbd53 100644 --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c @@ -39,6 +39,7 @@ #include <linux/rbtree.h> #include <linux/module.h> #include <linux/uaccess.h> +#include <linux/mem_encrypt.h> #define TTM_BO_VM_NUM_PREFAULT 16 @@ -218,9 +219,11 @@ static int ttm_bo_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf) * first page. */ for (i = 0; i < TTM_BO_VM_NUM_PREFAULT; ++i) { - if (bo->mem.bus.is_iomem) + if (bo->mem.bus.is_iomem) { + /* Iomem should not be marked encrypted */ + pgprot_val(cvma.vm_page_prot) &= ~sme_me_mask; pfn = ((bo->mem.bus.base + bo->mem.bus.offset) >> PAGE_SHIFT) + page_offset; - else { + } else { page = ttm->pages[page_offset]; if (unlikely(!page && i == 0)) { retval = VM_FAULT_OOM; diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c index 611b6b9..64212ca 100644 --- a/drivers/gpu/drm/udl/udl_fb.c +++ b/drivers/gpu/drm/udl/udl_fb.c @@ -14,6 +14,7 @@ #include <linux/slab.h> #include <linux/fb.h> #include <linux/dma-buf.h> +#include <linux/mem_encrypt.h> #include <drm/drmP.h> #include <drm/drm_crtc.h> @@ -169,6 +170,9 @@ static int udl_fb_mmap(struct fb_info *info, struct vm_area_struct *vma) pr_notice("mmap() framebuffer addr:%lu size:%lu\n", pos, size); + /* We don't want the framebuffer to be mapped encrypted */ + pgprot_val(vma->vm_page_prot) &= ~sme_me_mask; + while (size > 0) { page = vmalloc_to_pfn((void *)pos); if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 76c1ad9..ac51a5e 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -32,6 +32,7 @@ #include <linux/device.h> #include <linux/efi.h> #include <linux/fb.h> +#include <linux/mem_encrypt.h> #include <asm/fb.h> @@ -1405,6 +1406,12 @@ fb_mmap(struct file *file, struct vm_area_struct * vma) mutex_lock(&info->mm_lock); if (fb->fb_mmap) { int res; + + /* + * The framebuffer needs to be accessed un-encrypted, be sure + * SME protection is removed ahead of the call + */ + pgprot_val(vma->vm_page_prot) &= ~sme_me_mask; res = fb->fb_mmap(info, vma); mutex_unlock(&info->mm_lock); return res; @@ -1430,6 +1437,11 @@ fb_mmap(struct file *file, struct vm_area_struct * vma) mutex_unlock(&info->mm_lock); vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); + /* + * The framebuffer needs to be accessed un-encrypted, be sure + * SME protection is removed + */ + pgprot_val(vma->vm_page_prot) &= ~sme_me_mask; fb_pgprotect(file, vma, start); return vm_iomap_memory(vma, start, len);
WARNING: multiple messages have this Message-ID (diff)
From: Tom Lendacky <thomas.lendacky@amd.com> To: linux-arch@vger.kernel.org, linux-efi@vger.kernel.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-mm@kvack.org, iommu@lists.linux-foundation.org Cc: "Rik van Riel" <riel@redhat.com>, "Radim Krčmář" <rkrcmar@redhat.com>, "Arnd Bergmann" <arnd@arndb.de>, "Jonathan Corbet" <corbet@lwn.net>, "Matt Fleming" <matt@codeblueprint.co.uk>, "Joerg Roedel" <joro@8bytes.org>, "Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>, "Paolo Bonzini" <pbonzini@redhat.com>, "Larry Woodman" <lwoodman@redhat.com>, "Ingo Molnar" <mingo@redhat.com>, "Borislav Petkov" <bp@alien8.de>, "Andy Lutomirski" <luto@kernel.org>, "H. Peter Anvin" <hpa@zytor.com>, "Andrey Ryabinin" <aryabinin@virtuozzo.com>, "Alexander Potapenko" <glider@google.com>, "Thomas Gleixner" <tglx@linutronix.de>, "Dmitry Vyukov" <dvyukov@google.com> Subject: [RFC PATCH v3 16/20] x86: Do not specify encrypted memory for video mappings Date: Wed, 9 Nov 2016 18:37:53 -0600 [thread overview] Message-ID: <20161110003753.3280.36113.stgit@tlendack-t1.amdoffice.net> (raw) Message-ID: <20161110003753.AP7u_N7L3EGlrQsgE-OE0h6J8aTU4opBSDeadxaocUM@z> (raw) In-Reply-To: <20161110003426.3280.2999.stgit@tlendack-t1.amdoffice.net> Since video memory needs to be accessed unencrypted be sure that the memory encryption mask is not set for the video ranges. Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> --- arch/x86/include/asm/vga.h | 13 +++++++++++++ drivers/gpu/drm/drm_gem.c | 2 ++ drivers/gpu/drm/drm_vm.c | 4 ++++ drivers/gpu/drm/ttm/ttm_bo_vm.c | 7 +++++-- drivers/gpu/drm/udl/udl_fb.c | 4 ++++ drivers/video/fbdev/core/fbmem.c | 12 ++++++++++++ 6 files changed, 40 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/vga.h b/arch/x86/include/asm/vga.h index c4b9dc2..7f944a4 100644 --- a/arch/x86/include/asm/vga.h +++ b/arch/x86/include/asm/vga.h @@ -7,12 +7,25 @@ #ifndef _ASM_X86_VGA_H #define _ASM_X86_VGA_H +#include <asm/mem_encrypt.h> + /* * On the PC, we can just recalculate addresses and then * access the videoram directly without any black magic. + * To support memory encryption however, we need to access + * the videoram as un-encrypted memory. */ +#ifdef CONFIG_AMD_MEM_ENCRYPT +#define VGA_MAP_MEM(x, s) \ +({ \ + unsigned long start = (unsigned long)phys_to_virt(x); \ + sme_set_mem_unenc((void *)start, s); \ + start; \ +}) +#else #define VGA_MAP_MEM(x, s) (unsigned long)phys_to_virt(x) +#endif #define vga_readb(x) (*(x)) #define vga_writeb(x, y) (*(y) = (x)) diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index 9134ae1..44f9563 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c @@ -36,6 +36,7 @@ #include <linux/pagemap.h> #include <linux/shmem_fs.h> #include <linux/dma-buf.h> +#include <linux/mem_encrypt.h> #include <drm/drmP.h> #include <drm/drm_vma_manager.h> #include <drm/drm_gem.h> @@ -928,6 +929,7 @@ int drm_gem_mmap_obj(struct drm_gem_object *obj, unsigned long obj_size, vma->vm_ops = dev->driver->gem_vm_ops; vma->vm_private_data = obj; vma->vm_page_prot = pgprot_writecombine(vm_get_page_prot(vma->vm_flags)); + pgprot_val(vma->vm_page_prot) &= ~sme_me_mask; /* Take a ref for this mapping of the object, so that the fault * handler can dereference the mmap offset's pointer to the object. diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c index caa4e4c..d04752c 100644 --- a/drivers/gpu/drm/drm_vm.c +++ b/drivers/gpu/drm/drm_vm.c @@ -40,6 +40,7 @@ #include <linux/efi.h> #include <linux/slab.h> #endif +#include <linux/mem_encrypt.h> #include <asm/pgtable.h> #include "drm_internal.h" #include "drm_legacy.h" @@ -58,6 +59,9 @@ static pgprot_t drm_io_prot(struct drm_local_map *map, { pgprot_t tmp = vm_get_page_prot(vma->vm_flags); + /* We don't want graphics memory to be mapped encrypted */ + pgprot_val(tmp) &= ~sme_me_mask; + #if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) if (map->type == _DRM_REGISTERS && !(map->flags & _DRM_WRITE_COMBINING)) tmp = pgprot_noncached(tmp); diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c index a6ed9d5..f5fbd53 100644 --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c @@ -39,6 +39,7 @@ #include <linux/rbtree.h> #include <linux/module.h> #include <linux/uaccess.h> +#include <linux/mem_encrypt.h> #define TTM_BO_VM_NUM_PREFAULT 16 @@ -218,9 +219,11 @@ static int ttm_bo_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf) * first page. */ for (i = 0; i < TTM_BO_VM_NUM_PREFAULT; ++i) { - if (bo->mem.bus.is_iomem) + if (bo->mem.bus.is_iomem) { + /* Iomem should not be marked encrypted */ + pgprot_val(cvma.vm_page_prot) &= ~sme_me_mask; pfn = ((bo->mem.bus.base + bo->mem.bus.offset) >> PAGE_SHIFT) + page_offset; - else { + } else { page = ttm->pages[page_offset]; if (unlikely(!page && i == 0)) { retval = VM_FAULT_OOM; diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c index 611b6b9..64212ca 100644 --- a/drivers/gpu/drm/udl/udl_fb.c +++ b/drivers/gpu/drm/udl/udl_fb.c @@ -14,6 +14,7 @@ #include <linux/slab.h> #include <linux/fb.h> #include <linux/dma-buf.h> +#include <linux/mem_encrypt.h> #include <drm/drmP.h> #include <drm/drm_crtc.h> @@ -169,6 +170,9 @@ static int udl_fb_mmap(struct fb_info *info, struct vm_area_struct *vma) pr_notice("mmap() framebuffer addr:%lu size:%lu\n", pos, size); + /* We don't want the framebuffer to be mapped encrypted */ + pgprot_val(vma->vm_page_prot) &= ~sme_me_mask; + while (size > 0) { page = vmalloc_to_pfn((void *)pos); if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 76c1ad9..ac51a5e 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -32,6 +32,7 @@ #include <linux/device.h> #include <linux/efi.h> #include <linux/fb.h> +#include <linux/mem_encrypt.h> #include <asm/fb.h> @@ -1405,6 +1406,12 @@ fb_mmap(struct file *file, struct vm_area_struct * vma) mutex_lock(&info->mm_lock); if (fb->fb_mmap) { int res; + + /* + * The framebuffer needs to be accessed un-encrypted, be sure + * SME protection is removed ahead of the call + */ + pgprot_val(vma->vm_page_prot) &= ~sme_me_mask; res = fb->fb_mmap(info, vma); mutex_unlock(&info->mm_lock); return res; @@ -1430,6 +1437,11 @@ fb_mmap(struct file *file, struct vm_area_struct * vma) mutex_unlock(&info->mm_lock); vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); + /* + * The framebuffer needs to be accessed un-encrypted, be sure + * SME protection is removed + */ + pgprot_val(vma->vm_page_prot) &= ~sme_me_mask; fb_pgprotect(file, vma, start); return vm_iomap_memory(vma, start, len);
next prev parent reply other threads:[~2016-11-10 0:37 UTC|newest] Thread overview: 156+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-11-10 0:34 [RFC PATCH v3 00/20] x86: Secure Memory Encryption (AMD) Tom Lendacky 2016-11-10 0:34 ` Tom Lendacky 2016-11-10 0:34 ` [RFC PATCH v3 01/20] x86: Documentation for AMD Secure Memory Encryption (SME) Tom Lendacky 2016-11-10 0:34 ` Tom Lendacky 2016-11-10 10:51 ` Borislav Petkov 2016-11-10 10:51 ` Borislav Petkov 2016-11-14 17:15 ` Tom Lendacky 2016-11-14 17:15 ` Tom Lendacky 2016-11-10 0:34 ` [RFC PATCH v3 02/20] x86: Set the write-protect cache mode for full PAT support Tom Lendacky 2016-11-10 0:34 ` Tom Lendacky 2016-11-10 13:14 ` Borislav Petkov 2016-11-10 13:14 ` Borislav Petkov 2016-11-11 1:26 ` Kani, Toshimitsu 2016-11-11 1:26 ` Kani, Toshimitsu [not found] ` <1478827480.20881.142.camel-ZPxbGqLxI0U@public.gmane.org> 2016-11-14 16:51 ` Tom Lendacky 2016-11-14 16:51 ` Tom Lendacky 2016-11-10 0:35 ` [RFC PATCH v3 07/20] x86: Provide general kernel support for memory encryption Tom Lendacky 2016-11-10 0:35 ` Tom Lendacky 2016-11-10 0:36 ` [RFC PATCH v3 08/20] x86: Add support for early encryption/decryption of memory Tom Lendacky 2016-11-10 0:36 ` Tom Lendacky [not found] ` <20161110003610.3280.22043.stgit-qCXWGYdRb2BnqfbPTmsdiZQ+2ll4COg0XqFh9Ls21Oc@public.gmane.org> 2016-11-16 10:46 ` Borislav Petkov 2016-11-16 10:46 ` Borislav Petkov [not found] ` <20161116104656.qz5wp33zzyja373r-fF5Pk5pvG8Y@public.gmane.org> 2016-11-16 19:22 ` Tom Lendacky 2016-11-16 19:22 ` Tom Lendacky 2016-11-10 0:36 ` [RFC PATCH v3 09/20] x86: Insure that boot memory areas are mapped properly Tom Lendacky 2016-11-10 0:36 ` Tom Lendacky [not found] ` <20161110003620.3280.20613.stgit-qCXWGYdRb2BnqfbPTmsdiZQ+2ll4COg0XqFh9Ls21Oc@public.gmane.org> 2016-11-17 12:20 ` Borislav Petkov 2016-11-17 12:20 ` Borislav Petkov 2016-11-19 18:12 ` Tom Lendacky 2016-11-19 18:12 ` Tom Lendacky 2016-11-10 0:37 ` [RFC PATCH v3 13/20] x86: DMA support for memory encryption Tom Lendacky 2016-11-10 0:37 ` Tom Lendacky 2016-11-15 14:39 ` Radim Krčmář 2016-11-15 14:39 ` Radim Krčmář 2016-11-15 17:02 ` Tom Lendacky 2016-11-15 17:02 ` Tom Lendacky [not found] ` <d5ebd13d-1278-8714-3f03-8ee7f04a2b38-5C7GfCeVMHo@public.gmane.org> 2016-11-15 18:17 ` Radim Krčmář 2016-11-15 18:17 ` Radim Krčmář 2016-11-15 20:33 ` Tom Lendacky 2016-11-15 20:33 ` Tom Lendacky 2016-11-15 15:16 ` Michael S. Tsirkin 2016-11-15 15:16 ` Michael S. Tsirkin [not found] ` <20161115171443-mutt-send-email-mst-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> 2016-11-15 18:29 ` Tom Lendacky 2016-11-15 18:29 ` Tom Lendacky 2016-11-15 19:16 ` Michael S. Tsirkin 2016-11-15 19:16 ` Michael S. Tsirkin 2016-11-22 11:38 ` Borislav Petkov 2016-11-22 11:38 ` Borislav Petkov 2016-11-22 15:22 ` Michael S. Tsirkin 2016-11-22 15:22 ` Michael S. Tsirkin 2016-11-22 15:41 ` Borislav Petkov 2016-11-22 15:41 ` Borislav Petkov [not found] ` <20161122154137.z5vp3xcl5cpesuiz-fF5Pk5pvG8Y@public.gmane.org> 2016-11-22 20:41 ` Michael S. Tsirkin 2016-11-22 20:41 ` Michael S. Tsirkin 2016-11-10 0:37 ` [RFC PATCH v3 15/20] x86: Check for memory encryption on the APs Tom Lendacky 2016-11-10 0:37 ` Tom Lendacky 2016-11-22 19:25 ` Borislav Petkov 2016-11-22 19:25 ` Borislav Petkov [not found] ` <20161122192526.vg63jjhwsbjwex7i-fF5Pk5pvG8Y@public.gmane.org> 2016-11-29 18:00 ` Tom Lendacky 2016-11-29 18:00 ` Tom Lendacky [not found] ` <20161110003426.3280.2999.stgit-qCXWGYdRb2BnqfbPTmsdiZQ+2ll4COg0XqFh9Ls21Oc@public.gmane.org> 2016-11-10 0:34 ` [RFC PATCH v3 03/20] x86: Add the Secure Memory Encryption cpu feature Tom Lendacky 2016-11-10 0:34 ` Tom Lendacky 2016-11-11 11:53 ` Borislav Petkov 2016-11-11 11:53 ` Borislav Petkov 2016-11-10 0:35 ` [RFC PATCH v3 04/20] x86: Handle reduction in physical address size with SME Tom Lendacky 2016-11-10 0:35 ` Tom Lendacky [not found] ` <20161110003513.3280.12104.stgit-qCXWGYdRb2BnqfbPTmsdiZQ+2ll4COg0XqFh9Ls21Oc@public.gmane.org> 2016-11-15 12:10 ` Joerg Roedel 2016-11-15 12:10 ` Joerg Roedel 2016-11-15 12:14 ` Borislav Petkov 2016-11-15 12:14 ` Borislav Petkov 2016-11-15 14:40 ` Tom Lendacky 2016-11-15 14:40 ` Tom Lendacky [not found] ` <a4cc5b07-89e1-aaa0-1977-1de95883ba62-5C7GfCeVMHo@public.gmane.org> 2016-11-15 15:33 ` Borislav Petkov 2016-11-15 15:33 ` Borislav Petkov [not found] ` <20161115153338.a2cxmatnpqcgiaiy-fF5Pk5pvG8Y@public.gmane.org> 2016-11-15 16:06 ` Tom Lendacky 2016-11-15 16:06 ` Tom Lendacky 2016-11-15 16:33 ` Borislav Petkov 2016-11-15 16:33 ` Borislav Petkov 2016-11-15 17:08 ` Tom Lendacky 2016-11-15 17:08 ` Tom Lendacky [not found] ` <20161115121456.f4slpk4i2jl3e2ke-fF5Pk5pvG8Y@public.gmane.org> 2016-11-15 21:22 ` Tom Lendacky 2016-11-15 21:22 ` Tom Lendacky 2016-11-15 21:33 ` Borislav Petkov 2016-11-15 21:33 ` Borislav Petkov 2016-11-15 22:01 ` Tom Lendacky 2016-11-15 22:01 ` Tom Lendacky [not found] ` <20161115121035.GD24857-zLv9SwRftAIdnm+yROfE0A@public.gmane.org> 2016-11-15 14:32 ` Tom Lendacky 2016-11-15 14:32 ` Tom Lendacky 2016-11-10 0:35 ` [RFC PATCH v3 05/20] x86: Add Secure Memory Encryption (SME) support Tom Lendacky 2016-11-10 0:35 ` Tom Lendacky 2016-11-10 0:35 ` [RFC PATCH v3 06/20] x86: Add support to enable SME during early boot processing Tom Lendacky 2016-11-10 0:35 ` Tom Lendacky [not found] ` <20161110003543.3280.99623.stgit-qCXWGYdRb2BnqfbPTmsdiZQ+2ll4COg0XqFh9Ls21Oc@public.gmane.org> 2016-11-14 17:29 ` Borislav Petkov 2016-11-14 17:29 ` Borislav Petkov 2016-11-14 18:18 ` Tom Lendacky 2016-11-14 18:18 ` Tom Lendacky 2016-11-14 20:01 ` Borislav Petkov 2016-11-14 20:01 ` Borislav Petkov 2016-11-10 0:36 ` [RFC PATCH v3 10/20] Add support to access boot related data in the clear Tom Lendacky 2016-11-10 0:36 ` Tom Lendacky 2016-11-11 16:17 ` Kani, Toshimitsu 2016-11-11 16:17 ` Kani, Toshimitsu [not found] ` <1478880929.20881.148.camel-ZPxbGqLxI0U@public.gmane.org> 2016-11-14 16:24 ` Tom Lendacky 2016-11-14 16:24 ` Tom Lendacky 2016-11-17 15:55 ` Borislav Petkov 2016-11-17 15:55 ` Borislav Petkov [not found] ` <20161117155543.vg3domfqm3bhp4f7-fF5Pk5pvG8Y@public.gmane.org> 2016-11-19 18:33 ` Tom Lendacky 2016-11-19 18:33 ` Tom Lendacky 2016-11-20 23:04 ` Borislav Petkov 2016-11-20 23:04 ` Borislav Petkov [not found] ` <20161110003631.3280.73292.stgit-qCXWGYdRb2BnqfbPTmsdiZQ+2ll4COg0XqFh9Ls21Oc@public.gmane.org> 2016-12-07 13:19 ` Matt Fleming 2016-12-07 13:19 ` Matt Fleming 2016-12-09 14:26 ` Tom Lendacky 2016-12-09 14:26 ` Tom Lendacky 2016-11-10 0:36 ` [RFC PATCH v3 11/20] x86: Add support for changing memory encryption attribute Tom Lendacky 2016-11-10 0:36 ` Tom Lendacky [not found] ` <20161110003655.3280.57333.stgit-qCXWGYdRb2BnqfbPTmsdiZQ+2ll4COg0XqFh9Ls21Oc@public.gmane.org> 2016-11-17 17:39 ` Borislav Petkov 2016-11-17 17:39 ` Borislav Petkov 2016-11-19 18:48 ` Tom Lendacky 2016-11-19 18:48 ` Tom Lendacky [not found] ` <6f1a16e4-5a84-20c0-4bd3-3be5ed933800-5C7GfCeVMHo@public.gmane.org> 2016-11-21 8:27 ` Borislav Petkov 2016-11-21 8:27 ` Borislav Petkov 2016-11-10 0:37 ` [RFC PATCH v3 12/20] x86: Decrypt trampoline area if memory encryption is active Tom Lendacky 2016-11-10 0:37 ` Tom Lendacky [not found] ` <20161110003708.3280.29934.stgit-qCXWGYdRb2BnqfbPTmsdiZQ+2ll4COg0XqFh9Ls21Oc@public.gmane.org> 2016-11-17 18:09 ` Borislav Petkov 2016-11-17 18:09 ` Borislav Petkov 2016-11-19 18:50 ` Tom Lendacky 2016-11-19 18:50 ` Tom Lendacky 2016-11-10 0:37 ` [RFC PATCH v3 14/20] iommu/amd: Disable AMD IOMMU " Tom Lendacky 2016-11-10 0:37 ` Tom Lendacky 2016-11-14 16:32 ` Joerg Roedel 2016-11-14 16:32 ` Joerg Roedel 2016-11-14 16:48 ` Tom Lendacky 2016-11-14 16:48 ` Tom Lendacky 2016-11-10 0:37 ` Tom Lendacky [this message] 2016-11-10 0:37 ` [RFC PATCH v3 16/20] x86: Do not specify encrypted memory for video mappings Tom Lendacky 2016-11-10 0:38 ` [RFC PATCH v3 17/20] x86/kvm: Enable Secure Memory Encryption of nested page tables Tom Lendacky 2016-11-10 0:38 ` Tom Lendacky 2016-11-10 0:38 ` [RFC PATCH v3 18/20] x86: Access the setup data through debugfs un-encrypted Tom Lendacky 2016-11-10 0:38 ` Tom Lendacky 2016-11-10 0:38 ` [RFC PATCH v3 19/20] x86: Add support to make use of Secure Memory Encryption Tom Lendacky 2016-11-10 0:38 ` Tom Lendacky [not found] ` <20161110003826.3280.5546.stgit-qCXWGYdRb2BnqfbPTmsdiZQ+2ll4COg0XqFh9Ls21Oc@public.gmane.org> 2016-11-24 12:50 ` Borislav Petkov 2016-11-24 12:50 ` Borislav Petkov 2016-11-29 18:40 ` Tom Lendacky 2016-11-29 18:40 ` Tom Lendacky 2016-11-10 0:38 ` [RFC PATCH v3 20/20] " Tom Lendacky 2016-11-10 0:38 ` Tom Lendacky [not found] ` <20161110003838.3280.23327.stgit-qCXWGYdRb2BnqfbPTmsdiZQ+2ll4COg0XqFh9Ls21Oc@public.gmane.org> 2016-11-22 18:58 ` Borislav Petkov 2016-11-22 18:58 ` Borislav Petkov 2016-11-26 20:47 ` Borislav Petkov 2016-11-26 20:47 ` Borislav Petkov 2016-11-29 18:48 ` Tom Lendacky 2016-11-29 18:48 ` Tom Lendacky 2016-11-29 19:56 ` Borislav Petkov 2016-11-29 19:56 ` Borislav Petkov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20161110003753.3280.36113.stgit@tlendack-t1.amdoffice.net \ --to=thomas.lendacky-5c7gfcevmho@public.gmane.org \ --cc=arnd-r2nGTMty4D4@public.gmane.org \ --cc=aryabinin-5HdwGun5lf+gSpxsJD1C4w@public.gmane.org \ --cc=bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org \ --cc=corbet-T1hC0tSOHrs@public.gmane.org \ --cc=dvyukov-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \ --cc=glider-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \ --cc=hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org \ --cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \ --cc=joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org \ --cc=kasan-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \ --cc=konrad.wilk-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \ --cc=kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \ --cc=luto-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \ --cc=lwoodman-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org \ --cc=mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=pbonzini-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=riel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=rkrcmar-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \ --cc=x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).