[PATCH v5 01/75] KVM: SVM: Add GHCB definitions

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Extend the vmcb_safe_area with SEV-ES fields and add a new 'struct ghcb' which will be used for guest-hypervisor communication. Signed-off-by: Tom Lendacky Signed-off-by: Joerg Roedel --- arch/x86/include/asm/svm.h | 45 +- arch/x86/kvm/s

[PATCH 2/2] libnvdimm/security: ensure sysfs poll thread woke up and fetch updated attr

2020-07-24 Thread Jane Chu
commit 7d988097c546 ("acpi/nfit, libnvdimm/security: Add security DSM overwrite support") adds a sysfs_notify_dirent() to wake up userspace poll thread when the "overwrite" operation has completed. But the notification is issued before the internal dimm security state and flags have been updated,

[PATCH v5 03/75] KVM: SVM: Use __packed shorthand

2020-07-24 Thread Joerg Roedel
From: Borislav Petkov Use the shorthand to make it more readable. No functional changes. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/svm.h | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/x86/include/asm/svm.h b/arch/x86/include/asm/svm.h inde

[PATCH v5 12/75] x86/boot/compressed/64: Add IDT Infrastructure

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Add code needed to setup an IDT in the early pre-decompression boot-code. The IDT is loaded first in startup_64, which is after EfiExitBootServices() has been called, and later reloaded when the kernel image has been relocated to the end of the decompression area. This allows

[PATCH v5 05/75] x86/traps: Move pf error codes to

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Move the definition of the x86 page-fault error code bits to the new header file asm/trap_pf.h. This makes it easier to include them into pre-decompression boot code. No functional changes. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/trap_pf.h | 24 +

[PATCH v5 16/75] x86/boot/compressed/64: Don't pre-map memory in KASLR code

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel With the page-fault handler in place the identity mapping can be built on-demand. So remove the code which manually creates the mappings and unexport/remove the functions used for it. Signed-off-by: Joerg Roedel Reviewed-by: Kees Cook --- arch/x86/boot/compressed/ident_map_

[PATCH v5 17/75] x86/boot/compressed/64: Change add_identity_map() to take start and end

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Changing the function to take start and end as parameters instead of start and size simplifies the callers, which don't need to calculate the size if they already have start and end. Signed-off-by: Joerg Roedel Reviewed-by: Kees Cook --- arch/x86/boot/compressed/ident_map_6

[PATCH v5 04/75] x86/cpufeatures: Add SEV-ES CPU feature

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Add CPU feature detection for Secure Encrypted Virtualization with Encrypted State. This feature enhances SEV by also encrypting the guest register state, making it in-accessible to the hypervisor. Signed-off-by: Tom Lendacky Signed-off-by: Joerg Roedel --- arch/x86/include

[PATCH v5 08/75] x86/umip: Factor out instruction decoding

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Factor out the code used to decode an instruction with the correct address and operand sizes to a helper function. No functional changes. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/insn-eval.h | 2 ++ arch/x86/kernel/umip.c | 23 +--- arch/x

[PATCH v5 13/75] x86/boot/compressed/64: Rename kaslr_64.c to ident_map_64.c

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel The file contains only code related to identity mapped page-tables. Rename the file and compile it always in. Signed-off-by: Joerg Roedel Reviewed-by: Kees Cook --- arch/x86/boot/compressed/Makefile | 2 +- arch/x86/boot/compressed/{kaslr_64.c => ident

[PATCH v5 19/75] x86/boot/compressed/64: Call set_sev_encryption_mask earlier

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Call set_sev_encryption_mask() while still on the stage 1 #VC-handler, because the stage 2 handler needs our own page-tables to be set up, to which calling set_sev_encryption_mask() is a prerequisite. Signed-off-by: Joerg Roedel --- arch/x86/boot/compressed/head_64.S |

[PATCH v5 18/75] x86/boot/compressed/64: Add stage1 #VC handler

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Add the first handler for #VC exceptions. At stage 1 there is no GHCB yet becaue the kernel might still be running on the EFI page table. The stage 1 handler is limited to the MSR based protocol to talk to the hypervisor and can only support CPUID exit-codes, but that is enoug

[PATCH v5 09/75] x86/insn: Add insn_get_modrm_reg_off()

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Add a function to the instruction decoder which returns the pt_regs offset of the register specified in the reg field of the modrm byte. Signed-off-by: Joerg Roedel Acked-by: Masami Hiramatsu --- arch/x86/include/asm/insn-eval.h | 1 + arch/x86/lib/insn-eval.c | 23

[PATCH v5 06/75] x86/insn: Make inat-tables.c suitable for pre-decompression code

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel The inat-tables.c file has some arrays in it that contain pointers to other arrays. These pointers need to be relocated when the kernel image is moved to a different location. The pre-decompression boot-code has no support for applying ELF relocations, so initialize these arra

[PATCH v5 24/75] x86/sev-es: Add support for handling IOIO exceptions

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Add support for decoding and handling #VC exceptions for IOIO events. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapted code to #VC handling framework ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel --- arch/x86/boot/compressed/sev-es.c | 32 + arch/x

[PATCH v5 28/75] x86/idt: Split idt_data setup out of set_intr_gate()

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel The code to setup idt_data is needed for early exception handling, but set_intr_gate() can't be used that early because it has pv-ops in its code path, which don't work that early. Split out the idt_data initialization part from set_intr_gate() so that it can be used separatly

[PATCH v5 22/75] x86/boot/compressed/64: Setup GHCB Based VC Exception handler

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Install an exception handler for #VC exception that uses a GHCB. Also add the infrastructure for handling different exit-codes by decoding the instruction that caused the exception and error handling. Signed-off-by: Joerg Roedel --- arch/x86/Kconfig

[PATCH v5 4/4] clk: qcom: lpass: Add support for LPASS clock controller for SC7180

2020-07-24 Thread Taniya Das
The Low Power Audio subsystem clocks are required for Audio client to be able to request for the clocks and power domains. Signed-off-by: Taniya Das --- drivers/clk/qcom/Kconfig | 9 + drivers/clk/qcom/Makefile | 1 + drivers/clk/qcom/lpasscorecc-sc7180.c | 477 +

[PATCH v5 27/75] x86/idt: Move IDT to data segment

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel With SEV-ES, exception handling is needed very early, even before the kernel has cleared the bss segment. In order to prevent clearing the currently used IDT, move the IDT to the data segment. Signed-off-by: Joerg Roedel Reviewed-by: Kees Cook --- arch/x86/kernel/idt.c | 2

[PATCH 1/2] libnvdimm/security: 'security' attr never show 'overwrite' state

2020-07-24 Thread Jane Chu
Since commit d78c620a2e82 ("libnvdimm/security: Introduce a 'frozen' attribute"), when issue # ndctl sanitize-dimm nmem0 --overwrite then immediately check the 'security' attribute, # cat /sys/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0012:00/ndbus0/nmem0/security unlocked Actually the attribute stays

[PATCH v5 26/75] x86/sev-es: Add CPUID handling to #VC handler

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Handle #VC exceptions caused by CPUID instructions. These happen in early boot code when the KASLR code checks for RDTSC. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to #VC handling framework ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel --- arch/x86

[PATCH v5 3/4] clk: qcom: gcc: Add support for GCC LPASS clock for SC7180

2020-07-24 Thread Taniya Das
Add the GCC lpass clock which is required to access the LPASS core clocks. Signed-off-by: Taniya Das --- drivers/clk/qcom/gcc-sc7180.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/drivers/clk/qcom/gcc-sc7180.c b/drivers/clk/qcom/gcc-sc7180.c index ca4383e..8d3b161 100644 -

[PATCH v5 15/75] x86/boot/compressed/64: Always switch to own page-table

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel When booted through startup_64 the kernel keeps running on the EFI page-table until the KASLR code sets up its own page-table. Without KASLR the pre-decompression boot code never switches off the EFI page-table. Change that by unconditionally switching to a kernel controlled pa

[PATCH v5 0/4] clk: qcom: Support for Low Power Audio Clocks on SC7180

2020-07-24 Thread Taniya Das
[v5] * Replace tabs with space in the documentation binding. * Remove .name from parent_data. [v4] * Fix minor comments in the documentation binding. [v3] * Update the clock-name to iface instead of gcc_lpass_sway. * Update the documentation with the reg descriptions and use maxItems. [v2

[PATCH v5 21/75] x86/boot/compressed/64: Add set_page_en/decrypted() helpers

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel The functions are needed to map the GHCB for SEV-ES guests. The GHCB is used for communication with the hypervisor, so its content must not be encrypted. After the GHCB is not needed anymore it must be mapped encrypted again so that the running kernel image can safely re-use th

[PATCH v5 39/75] x86/sev-es: Print SEV-ES info into kernel log

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Refactor the message printed to the kernel log which indicates whether SEV or SME is active to print a list of enabled encryption features. This will scale better in the future when more memory encryption features might be added. Also add SEV-ES to the list of features. Signed

[PATCH v5 35/75] x86/head/64: Load IDT earlier

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Load the IDT right after switching to virtual addresses in head_64.S so that the kernel can handle #VC exceptions. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/setup.h | 3 +++ arch/x86/kernel/head64.c | 3 +++ arch/x86/kernel/head_64.S| 5 + arch/x86/

[PATCH v5 20/75] x86/boot/compressed/64: Check return value of kernel_ident_mapping_init()

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel The function can fail to create an identity mapping, check for that and bail out if it happens. Signed-off-by: Joerg Roedel --- arch/x86/boot/compressed/ident_map_64.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/x86/boot/compressed/ident_m

[PATCH v5 29/75] x86/head/64: Install startup GDT

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Handling exceptions during boot requires a working GDT. The kernel GDT can't be used on the direct mapping, so load a startup GDT and setup segments. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/setup.h | 1 + arch/x86/kernel/head64.c | 33 ++

[PATCH v5 23/75] x86/boot/compressed/64: Unmap GHCB page before booting the kernel

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Force a page-fault on any further accesses to the GHCB page when they shouldn't happen anymore. This will catch the bugs where a #VC exception is raised when no one is expected anymore. Signed-off-by: Joerg Roedel --- arch/x86/boot/compressed/ident_map_64.c | 17

Re: [PATCH v4 00/13] "Task_isolation" mode

2020-07-24 Thread Thomas Gleixner
Alex, Alex Belits writes: > On Thu, 2020-07-23 at 23:44 +0200, Thomas Gleixner wrote: >> 1) That inline function can be put out of line by the compiler and >> placed into the regular text section which makes it subject to >> instrumentation >> >> 2) That inline function invokes local_i

[PATCH v5 40/75] x86/sev-es: Compile early handler code into kernel image

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Setup sev-es.c and include the code from the pre-decompression stage to also build it into the image of the running kernel. Temporarily add __maybe_unused annotations to avoid build warnings until the functions get used. Signed-off-by: Joerg Roedel --- arch/x86/kernel/Makefi

[PATCH v5 2/4] dt-bindings: clock: Add YAML schemas for LPASS clocks on SC7180

2020-07-24 Thread Taniya Das
The LPASS(Low Power Audio Subsystem) clock provider have a bunch of generic properties that are needed in a device tree. Also add clock ids for GCC LPASS and LPASS Core clock IDs for LPASS client to request for the clocks. Signed-off-by: Taniya Das --- .../bindings/clock/qcom,sc7180-lpasscorecc.

[PATCH v5 38/75] x86/sev-es: Add SEV-ES Feature Detection

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Add the sev_es_active function for checking whether SEV-ES is enabled. Also cache the value of MSR_AMD64_SEV at boot to speed up the feature checking in the running code. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/mem_encrypt.h | 3 +++ arch/x86/include/asm/msr-ind

[PATCH v5 30/75] x86/head/64: Setup MSR_GS_BASE before calling into C code

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel When stack-protector is enabled a valid GS_BASE is needed before calling any C code function, because the stack canary is loaded from per-cpu data. Signed-off-by: Joerg Roedel --- arch/x86/kernel/head64.c | 7 +++ arch/x86/kernel/head_64.S | 8 2 files changed,

[PATCH v5 1/4] clk: qcom: gdsc: Add support to enable retention of GSDCR

2020-07-24 Thread Taniya Das
Add support for the RETAIN_FF_ENABLE feature which enables the usage of retention registers. These registers maintain their state after disabling and re-enabling a GDSC. Signed-off-by: Taniya Das --- drivers/clk/qcom/gdsc.c | 12 drivers/clk/qcom/gdsc.h | 1 + 2 files changed, 13 i

[PATCH v5 32/75] x86/head/64: Load segment registers earlier

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Make sure segments are properly set up before setting up an IDT and doing anything that might cause a #VC exception. This is later needed for early exception handling. Signed-off-by: Joerg Roedel --- arch/x86/kernel/head_64.S | 52 +++ 1 f

[PATCH v5 45/75] x86/sev-es: Adjust #VC IST Stack on entering NMI handler

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel When an NMI hits in the #VC handler entry code before it switched to another stack, any subsequent #VC exception in the NMI code-path will overwrite the interrupted #VC handlers stack. Make sure this doesn't happen by explicitly adjusting the #VC IST entry in the NMI handler

[PATCH v5 41/75] x86/sev-es: Setup early #VC handler

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Setup an early handler for #VC exceptions. There is no GHCB mapped yet, so just re-use the vc_no_ghcb_handler. It can only handle CPUID exit-codes, but that should be enough to get the kernel through verify_cpu() and __startup_64() until it runs on virtual addresses. Signed-of

[PATCH v5 34/75] x86/head/64: Make fixup_pointer() static inline

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Also move it to a header file so that it can be used in the idt code to setup the early IDT. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/setup.h | 10 ++ arch/x86/kernel/head64.c | 5 - 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a

[PATCH v5 49/75] x86/sev-es: Wire up existing #VC exit-code handlers

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Re-use the handlers for CPUID and IOIO caused #VC exceptions in the early boot handler. Signed-off-by: Joerg Roedel --- arch/x86/kernel/sev-es-shared.c | 7 +++ arch/x86/kernel/sev-es.c| 6 ++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/arc

[PATCH v5 46/75] x86/dumpstack/64: Add noinstr version of get_stack_info()

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel The get_stack_info functionality is needed in the entry code for the #VC exception handler. Provide a version of it in the .text.noinstr section which can be called safely from there. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/stacktrace.h | 2 ++ arch/x86/kernel/

[PATCH v5 47/75] x86/entry/64: Add entry code for #VC handler

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel The #VC handler needs special entry code because: 1. It runs on an IST stack 2. It needs to be able to handle nested #VC exceptions To make this work the entry code is implemented to pretend it doesn't use an IST stack. When entered from user-mode or early SY

Re: [PATCH V7 08/14] perf/x86/intel: Generic support for hardware TopDown metrics

2020-07-24 Thread Liang, Kan
On 7/24/2020 11:27 AM, pet...@infradead.org wrote: On Fri, Jul 24, 2020 at 03:19:06PM +0200, pet...@infradead.org wrote: On Thu, Jul 23, 2020 at 10:11:11AM -0700, kan.li...@linux.intel.com wrote: @@ -3375,6 +3428,72 @@ static int intel_pmu_hw_config(struct perf_event *event) if (even

[PATCH v5 31/75] x86/head/64: Load GDT after switch to virtual addresses

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Load the GDT right after switching to virtual addresses to make sure there is a defined GDT for exception handling. Signed-off-by: Joerg Roedel --- arch/x86/kernel/head_64.S | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/x86/kernel/

[PATCH v5 43/75] x86/sev-es: Setup per-cpu GHCBs for the runtime handler

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky The runtime handler needs a GHCB per CPU. Set them up and map them unencrypted. Signed-off-by: Tom Lendacky Signed-off-by: Joerg Roedel --- arch/x86/include/asm/mem_encrypt.h | 2 ++ arch/x86/kernel/sev-es.c | 56 +- arch/x86/kernel/tr

[PATCH v5 53/75] x86/sev-es: Handle MSR events

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Implement a handler for #VC exceptions caused by RDMSR/WRMSR instructions. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to #VC handling infrastructure ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel --- arch/x86/kernel/sev-es.c | 28

[PATCH v5 58/75] x86/sev-es: Handle INVD Events

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Implement a handler for #VC exceptions caused by INVD instructions. Since Linux should never use INVD, just mark it as unsupported. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to #VC handling infrastructure ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel

[PATCH v5 52/75] x86/sev-es: Handle MMIO String Instructions

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Add handling for emulation the MOVS instruction on MMIO regions, as done by the memcpy_toio() and memcpy_fromio() functions. Signed-off-by: Joerg Roedel --- arch/x86/kernel/sev-es.c | 77 1 file changed, 77 insertions(+) diff --git a

Re: [PATCH] PCI/P2PDMA: Add AMD Zen 2 root complex to the list of allowed bridges

2020-07-24 Thread Alex Deucher
On Thu, Jul 23, 2020 at 4:18 PM Alex Deucher wrote: > > On Thu, Jul 23, 2020 at 4:11 PM Logan Gunthorpe wrote: > > > > > > > > On 2020-07-23 1:57 p.m., Bjorn Helgaas wrote: > > > [+cc Andrew, Armen, hpa] > > > > > > On Thu, Jul 23, 2020 at 02:01:17PM -0400, Alex Deucher wrote: > > >> On Thu, Jul

Re: [PATCH v4 4/4] clk: qcom: lpass: Add support for LPASS clock controller for SC7180

2020-07-24 Thread Taniya Das
Hi Stephen, Thanks for the review. On 7/21/2020 1:18 PM, Stephen Boyd wrote: Quoting Taniya Das (2020-07-14 23:36:50) diff --git a/drivers/clk/qcom/lpasscorecc-sc7180.c b/drivers/clk/qcom/lpasscorecc-sc7180.c +static struct clk_alpha_pll lpass_lpaaudio_dig_pll = { + .offset = 0x1000,

[PATCH v5 36/75] x86/head/64: Move early exception dispatch to C code

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Move the assembly coded dispatch between page-faults and all other exceptions to C code to make it easier to maintain and extend. Also change the return-type of early_make_pgtable() to bool and make it static. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/pgtable.h |

[PATCH v5 50/75] x86/sev-es: Handle instruction fetches from user-space

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel When a #VC exception is triggered by user-space the instruction decoder needs to read the instruction bytes from user addresses. Enhance vc_decode_insn() to safely fetch kernel and user instructions. Signed-off-by: Joerg Roedel --- arch/x86/kernel/sev-es.c | 31

[PATCH v5 56/75] x86/sev-es: Handle RDTSC(P) Events

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Implement a handler for #VC exceptions caused by RDTSC and RDTSCP instructions. Also make it available in the pre-decompression stage because the KASLR code used RDTSC/RDTSCP to gather entropy and some hypervisors intercept these instructions. Signed-off-by: Tom Lendacky [ jr

[PATCH v5 37/75] x86/head/64: Set CR4.FSGSBASE early

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Early exception handling will use rd/wrgsbase in paranoid_entry/exit. Enable the feature to avoid #UD exceptions on boot APs. Signed-off-by: Joerg Roedel --- arch/x86/kernel/head_64.S | 7 +++ 1 file changed, 7 insertions(+) diff --git a/arch/x86/kernel/head_64.S b/arch

[PATCH v5 55/75] x86/sev-es: Handle WBINVD Events

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Implement a handler for #VC exceptions caused by WBINVD instructions. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to #VC handling framework ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel --- arch/x86/kernel/sev-es.c | 9 + 1 file changed, 9 in

Re: [PATCH v2] mfd: syscon: Use a unique name with regmap_config

2020-07-24 Thread Lee Jones
On Mon, 24 Feb 2020, Lee Jones wrote: > On Mon, 27 Jan 2020, Suman Anna wrote: > > > The DT node full name is currently being used in regmap_config > > which in turn is used to create the regmap debugfs directories. > > This name however is not guaranteed to be unique and the regmap > > debugfs r

[PATCH v5 48/75] x86/sev-es: Add Runtime #VC Exception Handler

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Add the handlers for #VC exceptions invoked at runtime. Signed-off-by: Tom Lendacky Signed-off-by: Joerg Roedel --- arch/x86/include/asm/idtentry.h | 5 + arch/x86/kernel/idt.c | 11 +- arch/x86/kernel/sev-es.c| 242 +++- 3 f

[PATCH v5 33/75] x86/head/64: Switch to initial stack earlier

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Make sure there is a stack once the kernel runs from virual addresses. At this stage any secondary CPU which boots will have lost its stack because the kernel switched to a new page-table which does not map the real-mode stack anymore. This is needed for handling early #VC exc

[PATCH v5 62/75] x86/sev-es: Handle #AC Events

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Implement a handler for #VC exceptions caused by #AC exceptions. The #AC exception is just forwarded to do_alignment_check() and not pushed down to the hypervisor, as requested by the SEV-ES GHCB Standardization Specification. Signed-off-by: Joerg Roedel --- arch/x86/kernel/

Re: [PATCH] lib: kunit: Convert test_sort to KUnit test

2020-07-24 Thread kernel test robot
Hi Vitor, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on d43c7fb05765152d4d4a39a8ef957c4ea14d8847] url: https://github.com/0day-ci/linux/commits/Vitor-Massaru-Iha/lib-kunit-Convert-test_sort-to-KUnit-test/20200723-081244 base:d43c7fb05765152d4d4a39a8ef

[PATCH v5 61/75] x86/sev-es: Handle VMMCALL Events

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Implement a handler for #VC exceptions caused by VMMCALL instructions. This patch is only a starting point, VMMCALL emulation under SEV-ES needs further hypervisor-specific changes to provide additional state. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to #VC handli

[PATCH v5 59/75] x86/sev-es: Handle MONITOR/MONITORX Events

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Implement a handler for #VC exceptions caused by MONITOR and MONITORX instructions. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to #VC handling infrastructure ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel --- arch/x86/kernel/sev-es.c | 13 +++

[PATCH v5 44/75] x86/sev-es: Allocate and Map IST stack for #VC handler

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Allocate and map an IST stack and an additional fall-back stack for the #VC handler. The memory for the stacks is allocated only when SEV-ES is active. The #VC handler needs to use an IST stack because it could be raised from kernel space with unsafe stack, e.g. in the SYSCAL

[PATCH v5 75/75] x86/sev-es: Check required CPU features for SEV-ES

2020-07-24 Thread Joerg Roedel
From: Martin Radev Make sure the machine supports RDRAND, otherwise there is no trusted source of of randomness in the system. To also check this in the pre-decompression stage, make has_cpuflag not depend on CONFIG_RANDOMIZE_BASE anymore. Signed-off-by: Martin Radev Signed-off-by: Joerg Roede

[PATCH v5 66/75] x86/vmware: Add VMware specific handling for VMMCALL under SEV-ES

2020-07-24 Thread Joerg Roedel
From: Doug Covelli Add VMware specific handling for #VC faults caused by VMMCALL instructions. Signed-off-by: Doug Covelli Signed-off-by: Tom Lendacky [ jroe...@suse.de: - Adapt to different paravirt interface ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel --- arch/x86/kernel/c

[PATCH v5 67/75] x86/realmode: Add SEV-ES specific trampoline entry point

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel The code at the trampoline entry point is executed in real-mode. In real-mode #VC exceptions can't be handled, so anything that might cause such an exception must be avoided. In the standard trampoline entry code this is the WBINVD instruction and the call to verify_cpu(), whi

[PATCH v5 42/75] x86/sev-es: Setup GHCB based boot #VC handler

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Add the infrastructure to handle #VC exceptions when the kernel runs on virtual addresses and has a GHCB mapped. This handler will be used until the runtime #VC handler takes over. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/segment.h | 2 +- arch/x86/include/asm

[PATCH v5 65/75] x86/kvm: Add KVM specific VMMCALL handling under SEV-ES

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Implement the callbacks to copy the processor state required by KVM to the GHCB. Signed-off-by: Tom Lendacky [ jroe...@suse.de: - Split out of a larger patch - Adapt to different callback functions ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roede

[PATCH v5 51/75] x86/sev-es: Handle MMIO events

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Add handler for VC exceptions caused by MMIO intercepts. These intercepts come along as nested page faults on pages with reserved bits set. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to VC handling framework ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roed

[PATCH v5 64/75] x86/paravirt: Allow hypervisor specific VMMCALL handling under SEV-ES

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Add two new paravirt callbacks to provide hypervisor specific processor state in the GHCB and to copy state from the hypervisor back to the processor. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/x86_init.h | 16 +++- arch/x86/kernel/sev-es.c| 12

[PATCH v5 69/75] x86/smpboot: Setup TSS for starting AP

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Set up the TSS for starting APs before they are kicked. This allows the APs to use IST in early exception handling. Also load the TSS early if the TSS entry in the GDT is present. This makes sure a TSS is only loaded when it has been set up. Signed-off-by: Joerg Roedel ---

[PATCH v5 72/75] x86/sev-es: Support CPU offline/online

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Add a play_dead handler when running under SEV-ES. This is needed because the hypervisor can't deliver an SIPI request to restart the AP. Instead the kernel has to issue a VMGEXIT to halt the VCPU until the hypervisor wakes it up again. Signed-off-by: Joerg Roedel --- arch/x

[PATCH v5 63/75] x86/sev-es: Handle #DB Events

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Handle #VC exceptions caused by #DB exceptions in the guest. Those must be handled outside of instrumentation_begin()/end() so that the handler will not be raised recursivly. Handle them by calling the kernels debug exception handler. Signed-off-by: Joerg Roedel --- arch/x8

[PATCH v5 73/75] x86/sev-es: Handle NMI State

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel When running under SEV-ES the kernel has to tell the hypervisor when to open the NMI window again after an NMI was injected. This is done with an NMI-complete message to the hypervisor. Add code to the kernels NMI handler to send this message right at the beginning of do_nmi()

[PATCH v5 68/75] x86/realmode: Setup AP jump table

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky As part of the GHCB specification, the booting of APs under SEV-ES requires an AP jump table when transitioning from one layer of code to another (e.g. when going from UEFI to the OS). As a result, each layer that parks an AP must provide the physical address of an AP jump tabl

[PATCH v5 74/75] x86/efi: Add GHCB mappings when SEV-ES is active

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Calling down to EFI runtime services can result in the firmware performing VMGEXIT calls. The firmware is likely to use the GHCB of the OS (e.g., for setting EFI variables), so each GHCB in the system needs to be identity mapped in the EFI page tables, as unencrypted, to avoid

[PATCH v5 60/75] x86/sev-es: Handle MWAIT/MWAITX Events

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Implement a handler for #VC exceptions caused by MWAIT and MWAITX instructions. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to #VC handling infrastructure ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel --- arch/x86/kernel/sev-es.c | 10 ++ 1 f

[PATCH v5 57/75] x86/sev-es: Handle RDPMC Events

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Implement a handler for #VC exceptions caused by RDPMC instructions. Signed-off-by: Tom Lendacky [ jroe...@suse.de: Adapt to #VC handling infrastructure ] Co-developed-by: Joerg Roedel Signed-off-by: Joerg Roedel --- arch/x86/kernel/sev-es.c | 22 ++ 1

[PATCH v5 70/75] x86/head/64: Don't call verify_cpu() on starting APs

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel The APs are not ready to handle exceptions when verify_cpu() is called in secondary_startup_64. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/realmode.h | 1 + arch/x86/kernel/head_64.S | 12 arch/x86/realmode/init.c| 6 ++ 3 files cha

[PATCH v5 71/75] x86/head/64: Rename start_cpu0

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel For SEV-ES this entry point will be used for restarting APs after they have been offlined. Remove the '0' from the name to reflect that. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/cpu.h | 2 +- arch/x86/kernel/head_32.S | 4 ++-- arch/x86/kernel/head_64.S | 6 +++

[PATCH v5 54/75] x86/sev-es: Handle DR7 read/write events

2020-07-24 Thread Joerg Roedel
From: Tom Lendacky Add code to handle #VC exceptions on DR7 register reads and writes. This is needed early because show_regs() reads DR7 to print it out. Under SEV-ES there is currently no support for saving/restoring the DRx registers, but software expects to be able to write to the DR7 regist

[PATCH v5 25/75] x86/fpu: Move xgetbv()/xsetbv() into separate header

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel The xgetbv() function is needed in pre-decompression boot code, but asm/fpu/internal.h can't be included there directly. Doing so opens the door to include-hell due to various include-magic in boot/compressed/misc.h. Avoid that by moving xgetbv()/xsetbv() to a separate header

[PATCH v5 00/75] x86: SEV-ES Guest Support

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Hi, here is a rebased version of the latest SEV-ES patches. They are now based on latest tip/master instead of upstream Linux and include the necessary changes. Changes to v4 are in particular: - Moved early IDT setup code to idt.c, because the idt_descr an

[PATCH v5 02/75] KVM: SVM: Add GHCB Accessor functions

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Building a correct GHCB for the hypervisor requires setting valid bits in the GHCB. Simplify that process by providing accessor functions to set values and to update the valid bitmap. Signed-off-by: Joerg Roedel --- arch/x86/include/asm/svm.h | 61 +++

[PATCH v5 14/75] x86/boot/compressed/64: Add page-fault handler

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Install a page-fault handler to add an identity mapping to addresses not yet mapped. Also do some checking whether the error code is sane. This makes non SEV-ES machines use the exception handling infrastructure in the pre-decompressions boot code too, making it less likely to

[PATCH v5 10/75] x86/insn: Add insn_has_rep_prefix() helper

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel Add a function to check whether an instruction has a REP prefix. Signed-off-by: Joerg Roedel Reviewed-by: Masami Hiramatsu --- arch/x86/include/asm/insn-eval.h | 1 + arch/x86/lib/insn-eval.c | 24 2 files changed, 25 insertions(+) diff --

[PATCH v5 11/75] x86/boot/compressed/64: Disable red-zone usage

2020-07-24 Thread Joerg Roedel
From: Joerg Roedel The x86-64 ABI defines a red-zone on the stack: The 128-byte area beyond the location pointed to by %rsp is considered to be reserved and shall not be modified by signal or interrupt handlers. Therefore, functions may use this area for temporary data that is not needed

[PATCH v2] dt-bindings: sound: convert Everest ES8316 binding to yaml

2020-07-24 Thread Katsuhiro Suzuki
This patch converts Everest Semiconductor ES8316 low power audio CODEC binding to DT schema. Signed-off-by: Katsuhiro Suzuki --- Changes in v2: - Change maintainers from Mark to Daniel and me --- .../bindings/sound/everest,es8316.txt | 23 - .../bindings/sound/everest,es8316.

[PATCH] MAINTAINERS: Add linux-mips mailing list to JZ47xx entries

2020-07-24 Thread Krzysztof Kozlowski
The entries for JZ47xx SoCs and its drivers lacked MIPS mailing list. Only MTD NAND driver pointed linux-mtd. Add linux-mips so the relevant patches will get attention of MIPS developers. Signed-off-by: Krzysztof Kozlowski --- MAINTAINERS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/M

Re: [PATCH] PCI/P2PDMA: Add AMD Zen 2 root complex to the list of allowed bridges

2020-07-24 Thread Logan Gunthorpe
[+cc Jonathan] On 2020-07-24 9:06 a.m., Bjorn Helgaas wrote: > On Thu, Jul 23, 2020 at 02:10:52PM -0600, Logan Gunthorpe wrote: >> On 2020-07-23 1:57 p.m., Bjorn Helgaas wrote: >>> On Thu, Jul 23, 2020 at 02:01:17PM -0400, Alex Deucher wrote: On Thu, Jul 23, 2020 at 1:43 PM Logan Gunthorpe

Re: [PATCH v3 2/2] soc: mediatek: add mtk-devapc driver

2020-07-24 Thread Chun-Kuang Hu
Hi, Neal: Neal Liu 於 2020年7月24日 週五 下午2:55寫道: > > Hi Chun-Kuang, > > On Fri, 2020-07-24 at 00:32 +0800, Chun-Kuang Hu wrote: > > Hi, Neal: > > > > Neal Liu 於 2020年7月23日 週四 下午2:11寫道: > > > > > > Hi Chun-Kuang, > > > > > > On Wed, 2020-07-22 at 22:25 +0800, Chun-Kuang Hu wrote: > > > > Hi, Neal: >

[RESEND PATCHv1] fpga: stratix10-soc: make FPGA task un-interruptible

2020-07-24 Thread richard . gong
From: Richard Gong When CTRL+C occurs during the process of FPGA reconfiguration, the FPGA reconfiguration process stops and the user can't perform a new FPGA reconfiguration properly. Set FPGA task to be not interruptible so that the user can properly perform FPGA reconfiguration after CTRL+C e

Re: [PATCH v3 2/2] mtd: rawnand: ingenic: Limit MTD_NAND_JZ4780 to architecture only

2020-07-24 Thread Krzysztof Kozlowski
On Fri, Jul 24, 2020 at 05:50:06PM +0200, Paul Cercueil wrote: > > > Le ven. 24 juil. 2020 à 17:33, Krzysztof Kozlowski a écrit > : > > On Fri, 24 Jul 2020 at 17:19, Paul Cercueil > > wrote: > > > > > > Hi Krzysztof, > > > > > > > > > Le ven. 24 juil. 2020 à 16:54, Krzysztof Kozlowski > >

Re: [PATCH v2] usb: typec: tcpm: Migrate workqueue to RT priority for processing events

2020-07-24 Thread Guenter Roeck
On 7/23/20 7:05 PM, Badhri Jagan Sridharan wrote: > "tReceiverResponse 15 ms Section 6.6.2 > The receiver of a Message requiring a response Shall respond > within tReceiverResponse in order to ensure that the > sender’s SenderResponseTimer does not expire." > > When the cpu complex is busy running

Re: [PATCH] dt-bindings: sound: convert Everest ES8316 binding to yaml

2020-07-24 Thread Katsuhiro Suzuki
Hello Rob, Thank you for review. On 2020/07/24 6:26, Rob Herring wrote: On Thu, Jul 23, 2020 at 03:07:28AM +0900, Katsuhiro Suzuki wrote: This patch converts Everest Semiconductor ES8316 low power audio CODEC binding to DT schema. Signed-off-by: Katsuhiro Suzuki --- .../bindings/sound/ever

Re: [PATCH v3 2/2] mtd: rawnand: ingenic: Limit MTD_NAND_JZ4780 to architecture only

2020-07-24 Thread Paul Cercueil
Le ven. 24 juil. 2020 à 17:33, Krzysztof Kozlowski a écrit : On Fri, 24 Jul 2020 at 17:19, Paul Cercueil wrote: Hi Krzysztof, Le ven. 24 juil. 2020 à 16:54, Krzysztof Kozlowski a écrit : > Enabling the MTD_NAND_JZ4780 driver makes sense only for specific > hardware - the Ingenic

Re: [PATCH v2 4/4] xen: add helpers to allocate unpopulated memory

2020-07-24 Thread kernel test robot
Hi Roger, Thank you for the patch! Yet something to improve: [auto build test ERROR on xen-tip/linux-next] [also build test ERROR on linus/master v5.8-rc6 next-20200724] [cannot apply to linux/master] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting

Re: [PATCH bpf-next v6 1/7] bpf: Renames to prepare for generalizing sk_storage.

2020-07-24 Thread KP Singh
On 24.07.20 07:31, Martin KaFai Lau wrote: > On Thu, Jul 23, 2020 at 01:50:26PM +0200, KP Singh wrote: >> From: KP Singh >> >> A purely mechanical change to split the renaming from the actual >> generalization. >> >> Flags/consts: >> >> SK_STORAGE_CREATE_FLAG_MASKBPF_LOCAL_STORAGE_CRE

[RESEND PATCHv1] MAINTAINERS: altera: change maintainer for Altera drivers

2020-07-24 Thread richard . gong
From: Richard Gong Thor is moving to a new position and I will take over the maintainership. Add myself as maintainer for 3 Altera drivers below: 1. Altera I2C driver 2. Altera System Manager driver 3. Altera System Resource driver Signed-off-by: Richard Gong Acked-by: Thor Thayer --- MAINTAI

<    2   3   4   5   6   7   8   9   10   11   >