From: "Jarkko Sakkinen" <jarkko@kernel.org>
To: "Ross Philipson" <ross.philipson@oracle.com>,
<linux-kernel@vger.kernel.org>, <x86@kernel.org>,
<linux-integrity@vger.kernel.org>, <linux-doc@vger.kernel.org>,
<linux-crypto@vger.kernel.org>, <kexec@lists.infradead.org>,
<linux-efi@vger.kernel.org>, <iommu@lists.linux-foundation.org>
Cc: <dpsmith@apertussolutions.com>, <tglx@linutronix.de>,
<mingo@redhat.com>, <bp@alien8.de>, <hpa@zytor.com>,
<dave.hansen@linux.intel.com>, <ardb@kernel.org>,
<mjg59@srcf.ucam.org>, <James.Bottomley@hansenpartnership.com>,
<peterhuewe@gmx.de>, <jgg@ziepe.ca>, <luto@amacapital.net>,
<nivedita@alum.mit.edu>, <herbert@gondor.apana.org.au>,
<davem@davemloft.net>, <corbet@lwn.net>, <ebiederm@xmission.com>,
<dwmw2@infradead.org>, <baolu.lu@linux.intel.com>,
<kanth.ghatraju@oracle.com>, <andrew.cooper3@citrix.com>,
<trenchboot-devel@googlegroups.com>
Subject: Re: [PATCH v9 10/19] x86: Secure Launch SMP bringup support
Date: Tue, 04 Jun 2024 23:05:34 +0300 [thread overview]
Message-ID: <D1RI46IG5GSA.17H7M0DIQGRQ0@kernel.org> (raw)
In-Reply-To: <20240531010331.134441-11-ross.philipson@oracle.com>
On Fri May 31, 2024 at 4:03 AM EEST, Ross Philipson wrote:
> On Intel, the APs are left in a well documented state after TXT performs
> the late launch. Specifically they cannot have #INIT asserted on them so
> a standard startup via INIT/SIPI/SIPI cannot be performed. Instead the
> early SL stub code uses MONITOR and MWAIT to park the APs. The realmode/init.c
> code updates the jump address for the waiting APs with the location of the
> Secure Launch entry point in the RM piggy after it is loaded and fixed up.
> As the APs are woken up by writing the monitor, the APs jump to the Secure
> Launch entry point in the RM piggy which mimics what the real mode code would
> do then jumps to the standard RM piggy protected mode entry point.
>
> Signed-off-by: Ross Philipson <ross.philipson@oracle.com>
> ---
> arch/x86/include/asm/realmode.h | 3 ++
> arch/x86/kernel/smpboot.c | 58 +++++++++++++++++++++++++++-
> arch/x86/realmode/init.c | 3 ++
> arch/x86/realmode/rm/header.S | 3 ++
> arch/x86/realmode/rm/trampoline_64.S | 32 +++++++++++++++
> 5 files changed, 97 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/include/asm/realmode.h b/arch/x86/include/asm/realmode.h
> index 87e5482acd0d..339b48e2543d 100644
> --- a/arch/x86/include/asm/realmode.h
> +++ b/arch/x86/include/asm/realmode.h
> @@ -38,6 +38,9 @@ struct real_mode_header {
> #ifdef CONFIG_X86_64
> u32 machine_real_restart_seg;
> #endif
> +#ifdef CONFIG_SECURE_LAUNCH
> + u32 sl_trampoline_start32;
> +#endif
> };
>
> /* This must match data at realmode/rm/trampoline_{32,64}.S */
> diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
> index 0c35207320cb..adb521221d6c 100644
> --- a/arch/x86/kernel/smpboot.c
> +++ b/arch/x86/kernel/smpboot.c
> @@ -60,6 +60,7 @@
> #include <linux/stackprotector.h>
> #include <linux/cpuhotplug.h>
> #include <linux/mc146818rtc.h>
> +#include <linux/slaunch.h>
>
> #include <asm/acpi.h>
> #include <asm/cacheinfo.h>
> @@ -868,6 +869,56 @@ int common_cpu_up(unsigned int cpu, struct task_struct *idle)
> return 0;
> }
>
> +#ifdef CONFIG_SECURE_LAUNCH
> +
> +static bool slaunch_is_txt_launch(void)
> +{
> + if ((slaunch_get_flags() & (SL_FLAG_ACTIVE|SL_FLAG_ARCH_TXT)) ==
> + (SL_FLAG_ACTIVE | SL_FLAG_ARCH_TXT))
> + return true;
> +
> + return false;
> +}
static inline bool slaunch_is_txt_launch(void)
{
u32 mask = SL_FLAG_ACTIVE | SL_FLAG_ARCH_TXT;
return slaunch_get_flags() & mask == mask;
}
> +
> +/*
> + * TXT AP startup is quite different than normal. The APs cannot have #INIT
> + * asserted on them or receive SIPIs. The early Secure Launch code has parked
> + * the APs using monitor/mwait. This will wake the APs by writing the monitor
> + * and have them jump to the protected mode code in the rmpiggy where the rest
> + * of the SMP boot of the AP will proceed normally.
> + */
> +static void slaunch_wakeup_cpu_from_txt(int cpu, int apicid)
> +{
> + struct sl_ap_wake_info *ap_wake_info;
> + struct sl_ap_stack_and_monitor *stack_monitor = NULL;
struct sl_ap_stack_and_monitor *stack_monitor; /* note: no initialization */
struct sl_ap_wake_info *ap_wake_info;
> +
> + ap_wake_info = slaunch_get_ap_wake_info();
> +
> + stack_monitor = (struct sl_ap_stack_and_monitor *)__va(ap_wake_info->ap_wake_block +
> + ap_wake_info->ap_stacks_offset);
> +
> + for (unsigned int i = TXT_MAX_CPUS - 1; i >= 0; i--) {
> + if (stack_monitor[i].apicid == apicid) {
> + /* Write the monitor */
I'd remove this comment.
> + stack_monitor[i].monitor = 1;
> + break;
> + }
> + }
> +}
> +
> +#else
> +
> +static inline bool slaunch_is_txt_launch(void)
> +{
> + return false;
> +}
> +
> +static inline void slaunch_wakeup_cpu_from_txt(int cpu, int apicid)
> +{
> +}
> +
> +#endif /* !CONFIG_SECURE_LAUNCH */
> +
> /*
> * NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad
> * (ie clustered apic addressing mode), this is a LOGICAL apic ID.
> @@ -877,7 +928,7 @@ int common_cpu_up(unsigned int cpu, struct task_struct *idle)
> static int do_boot_cpu(u32 apicid, int cpu, struct task_struct *idle)
> {
> unsigned long start_ip = real_mode_header->trampoline_start;
> - int ret;
> + int ret = 0;
>
> #ifdef CONFIG_X86_64
> /* If 64-bit wakeup method exists, use the 64-bit mode trampoline IP */
> @@ -922,12 +973,15 @@ static int do_boot_cpu(u32 apicid, int cpu, struct task_struct *idle)
>
> /*
> * Wake up a CPU in difference cases:
> + * - Intel TXT DRTM launch uses its own method to wake the APs
> * - Use a method from the APIC driver if one defined, with wakeup
> * straight to 64-bit mode preferred over wakeup to RM.
> * Otherwise,
> * - Use an INIT boot APIC message
> */
> - if (apic->wakeup_secondary_cpu_64)
> + if (slaunch_is_txt_launch())
> + slaunch_wakeup_cpu_from_txt(cpu, apicid);
> + else if (apic->wakeup_secondary_cpu_64)
> ret = apic->wakeup_secondary_cpu_64(apicid, start_ip);
> else if (apic->wakeup_secondary_cpu)
> ret = apic->wakeup_secondary_cpu(apicid, start_ip);
> diff --git a/arch/x86/realmode/init.c b/arch/x86/realmode/init.c
> index f9bc444a3064..d95776cb30d3 100644
> --- a/arch/x86/realmode/init.c
> +++ b/arch/x86/realmode/init.c
> @@ -4,6 +4,7 @@
> #include <linux/memblock.h>
> #include <linux/cc_platform.h>
> #include <linux/pgtable.h>
> +#include <linux/slaunch.h>
>
> #include <asm/set_memory.h>
> #include <asm/realmode.h>
> @@ -210,6 +211,8 @@ void __init init_real_mode(void)
>
> setup_real_mode();
> set_real_mode_permissions();
> +
> + slaunch_fixup_jump_vector();
> }
>
> static int __init do_init_real_mode(void)
> diff --git a/arch/x86/realmode/rm/header.S b/arch/x86/realmode/rm/header.S
> index 2eb62be6d256..3b5cbcbbfc90 100644
> --- a/arch/x86/realmode/rm/header.S
> +++ b/arch/x86/realmode/rm/header.S
> @@ -37,6 +37,9 @@ SYM_DATA_START(real_mode_header)
> #ifdef CONFIG_X86_64
> .long __KERNEL32_CS
> #endif
> +#ifdef CONFIG_SECURE_LAUNCH
> + .long pa_sl_trampoline_start32
> +#endif
> SYM_DATA_END(real_mode_header)
>
> /* End signature, used to verify integrity */
> diff --git a/arch/x86/realmode/rm/trampoline_64.S b/arch/x86/realmode/rm/trampoline_64.S
> index 14d9c7daf90f..b0ce6205d7ea 100644
> --- a/arch/x86/realmode/rm/trampoline_64.S
> +++ b/arch/x86/realmode/rm/trampoline_64.S
> @@ -122,6 +122,38 @@ SYM_CODE_END(sev_es_trampoline_start)
>
> .section ".text32","ax"
> .code32
> +#ifdef CONFIG_SECURE_LAUNCH
> + .balign 4
> +SYM_CODE_START(sl_trampoline_start32)
> + /*
> + * The early secure launch stub AP wakeup code has taken care of all
> + * the vagaries of launching out of TXT. This bit just mimics what the
> + * 16b entry code does and jumps off to the real startup_32.
> + */
> + cli
> + wbinvd
> +
> + /*
> + * The %ebx provided is not terribly useful since it is the physical
> + * address of tb_trampoline_start and not the base of the image.
> + * Use pa_real_mode_base, which is fixed up, to get a run time
> + * base register to use for offsets to location that do not have
> + * pa_ symbols.
> + */
> + movl $pa_real_mode_base, %ebx
> +
> + LOCK_AND_LOAD_REALMODE_ESP lock_pa=1
> +
> + lgdt tr_gdt(%ebx)
> + lidt tr_idt(%ebx)
> +
> + movw $__KERNEL_DS, %dx # Data segment descriptor
> +
> + /* Jump to where the 16b code would have jumped */
> + ljmpl $__KERNEL32_CS, $pa_startup_32
> +SYM_CODE_END(sl_trampoline_start32)
> +#endif
> +
> .balign 4
> SYM_CODE_START(startup_32)
> movl %edx, %ss
BR, Jarkko
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: "Jarkko Sakkinen" <jarkko@kernel.org>
To: "Ross Philipson" <ross.philipson@oracle.com>,
<linux-kernel@vger.kernel.org>, <x86@kernel.org>,
<linux-integrity@vger.kernel.org>, <linux-doc@vger.kernel.org>,
<linux-crypto@vger.kernel.org>, <kexec@lists.infradead.org>,
<linux-efi@vger.kernel.org>, <iommu@lists.linux-foundation.org>
Cc: <dpsmith@apertussolutions.com>, <tglx@linutronix.de>,
<mingo@redhat.com>, <bp@alien8.de>, <hpa@zytor.com>,
<dave.hansen@linux.intel.com>, <ardb@kernel.org>,
<mjg59@srcf.ucam.org>, <James.Bottomley@hansenpartnership.com>,
<peterhuewe@gmx.de>, <jgg@ziepe.ca>, <luto@amacapital.net>,
<nivedita@alum.mit.edu>, <herbert@gondor.apana.org.au>,
<davem@davemloft.net>, <corbet@lwn.net>, <ebiederm@xmission.com>,
<dwmw2@infradead.org>, <baolu.lu@linux.intel.com>,
<kanth.ghatraju@oracle.com>, <andrew.cooper3@citrix.com>,
<trenchboot-devel@googlegroups.com>
Subject: Re: [PATCH v9 10/19] x86: Secure Launch SMP bringup support
Date: Tue, 04 Jun 2024 23:05:34 +0300 [thread overview]
Message-ID: <D1RI46IG5GSA.17H7M0DIQGRQ0@kernel.org> (raw)
In-Reply-To: <20240531010331.134441-11-ross.philipson@oracle.com>
On Fri May 31, 2024 at 4:03 AM EEST, Ross Philipson wrote:
> On Intel, the APs are left in a well documented state after TXT performs
> the late launch. Specifically they cannot have #INIT asserted on them so
> a standard startup via INIT/SIPI/SIPI cannot be performed. Instead the
> early SL stub code uses MONITOR and MWAIT to park the APs. The realmode/init.c
> code updates the jump address for the waiting APs with the location of the
> Secure Launch entry point in the RM piggy after it is loaded and fixed up.
> As the APs are woken up by writing the monitor, the APs jump to the Secure
> Launch entry point in the RM piggy which mimics what the real mode code would
> do then jumps to the standard RM piggy protected mode entry point.
>
> Signed-off-by: Ross Philipson <ross.philipson@oracle.com>
> ---
> arch/x86/include/asm/realmode.h | 3 ++
> arch/x86/kernel/smpboot.c | 58 +++++++++++++++++++++++++++-
> arch/x86/realmode/init.c | 3 ++
> arch/x86/realmode/rm/header.S | 3 ++
> arch/x86/realmode/rm/trampoline_64.S | 32 +++++++++++++++
> 5 files changed, 97 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/include/asm/realmode.h b/arch/x86/include/asm/realmode.h
> index 87e5482acd0d..339b48e2543d 100644
> --- a/arch/x86/include/asm/realmode.h
> +++ b/arch/x86/include/asm/realmode.h
> @@ -38,6 +38,9 @@ struct real_mode_header {
> #ifdef CONFIG_X86_64
> u32 machine_real_restart_seg;
> #endif
> +#ifdef CONFIG_SECURE_LAUNCH
> + u32 sl_trampoline_start32;
> +#endif
> };
>
> /* This must match data at realmode/rm/trampoline_{32,64}.S */
> diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
> index 0c35207320cb..adb521221d6c 100644
> --- a/arch/x86/kernel/smpboot.c
> +++ b/arch/x86/kernel/smpboot.c
> @@ -60,6 +60,7 @@
> #include <linux/stackprotector.h>
> #include <linux/cpuhotplug.h>
> #include <linux/mc146818rtc.h>
> +#include <linux/slaunch.h>
>
> #include <asm/acpi.h>
> #include <asm/cacheinfo.h>
> @@ -868,6 +869,56 @@ int common_cpu_up(unsigned int cpu, struct task_struct *idle)
> return 0;
> }
>
> +#ifdef CONFIG_SECURE_LAUNCH
> +
> +static bool slaunch_is_txt_launch(void)
> +{
> + if ((slaunch_get_flags() & (SL_FLAG_ACTIVE|SL_FLAG_ARCH_TXT)) ==
> + (SL_FLAG_ACTIVE | SL_FLAG_ARCH_TXT))
> + return true;
> +
> + return false;
> +}
static inline bool slaunch_is_txt_launch(void)
{
u32 mask = SL_FLAG_ACTIVE | SL_FLAG_ARCH_TXT;
return slaunch_get_flags() & mask == mask;
}
> +
> +/*
> + * TXT AP startup is quite different than normal. The APs cannot have #INIT
> + * asserted on them or receive SIPIs. The early Secure Launch code has parked
> + * the APs using monitor/mwait. This will wake the APs by writing the monitor
> + * and have them jump to the protected mode code in the rmpiggy where the rest
> + * of the SMP boot of the AP will proceed normally.
> + */
> +static void slaunch_wakeup_cpu_from_txt(int cpu, int apicid)
> +{
> + struct sl_ap_wake_info *ap_wake_info;
> + struct sl_ap_stack_and_monitor *stack_monitor = NULL;
struct sl_ap_stack_and_monitor *stack_monitor; /* note: no initialization */
struct sl_ap_wake_info *ap_wake_info;
> +
> + ap_wake_info = slaunch_get_ap_wake_info();
> +
> + stack_monitor = (struct sl_ap_stack_and_monitor *)__va(ap_wake_info->ap_wake_block +
> + ap_wake_info->ap_stacks_offset);
> +
> + for (unsigned int i = TXT_MAX_CPUS - 1; i >= 0; i--) {
> + if (stack_monitor[i].apicid == apicid) {
> + /* Write the monitor */
I'd remove this comment.
> + stack_monitor[i].monitor = 1;
> + break;
> + }
> + }
> +}
> +
> +#else
> +
> +static inline bool slaunch_is_txt_launch(void)
> +{
> + return false;
> +}
> +
> +static inline void slaunch_wakeup_cpu_from_txt(int cpu, int apicid)
> +{
> +}
> +
> +#endif /* !CONFIG_SECURE_LAUNCH */
> +
> /*
> * NOTE - on most systems this is a PHYSICAL apic ID, but on multiquad
> * (ie clustered apic addressing mode), this is a LOGICAL apic ID.
> @@ -877,7 +928,7 @@ int common_cpu_up(unsigned int cpu, struct task_struct *idle)
> static int do_boot_cpu(u32 apicid, int cpu, struct task_struct *idle)
> {
> unsigned long start_ip = real_mode_header->trampoline_start;
> - int ret;
> + int ret = 0;
>
> #ifdef CONFIG_X86_64
> /* If 64-bit wakeup method exists, use the 64-bit mode trampoline IP */
> @@ -922,12 +973,15 @@ static int do_boot_cpu(u32 apicid, int cpu, struct task_struct *idle)
>
> /*
> * Wake up a CPU in difference cases:
> + * - Intel TXT DRTM launch uses its own method to wake the APs
> * - Use a method from the APIC driver if one defined, with wakeup
> * straight to 64-bit mode preferred over wakeup to RM.
> * Otherwise,
> * - Use an INIT boot APIC message
> */
> - if (apic->wakeup_secondary_cpu_64)
> + if (slaunch_is_txt_launch())
> + slaunch_wakeup_cpu_from_txt(cpu, apicid);
> + else if (apic->wakeup_secondary_cpu_64)
> ret = apic->wakeup_secondary_cpu_64(apicid, start_ip);
> else if (apic->wakeup_secondary_cpu)
> ret = apic->wakeup_secondary_cpu(apicid, start_ip);
> diff --git a/arch/x86/realmode/init.c b/arch/x86/realmode/init.c
> index f9bc444a3064..d95776cb30d3 100644
> --- a/arch/x86/realmode/init.c
> +++ b/arch/x86/realmode/init.c
> @@ -4,6 +4,7 @@
> #include <linux/memblock.h>
> #include <linux/cc_platform.h>
> #include <linux/pgtable.h>
> +#include <linux/slaunch.h>
>
> #include <asm/set_memory.h>
> #include <asm/realmode.h>
> @@ -210,6 +211,8 @@ void __init init_real_mode(void)
>
> setup_real_mode();
> set_real_mode_permissions();
> +
> + slaunch_fixup_jump_vector();
> }
>
> static int __init do_init_real_mode(void)
> diff --git a/arch/x86/realmode/rm/header.S b/arch/x86/realmode/rm/header.S
> index 2eb62be6d256..3b5cbcbbfc90 100644
> --- a/arch/x86/realmode/rm/header.S
> +++ b/arch/x86/realmode/rm/header.S
> @@ -37,6 +37,9 @@ SYM_DATA_START(real_mode_header)
> #ifdef CONFIG_X86_64
> .long __KERNEL32_CS
> #endif
> +#ifdef CONFIG_SECURE_LAUNCH
> + .long pa_sl_trampoline_start32
> +#endif
> SYM_DATA_END(real_mode_header)
>
> /* End signature, used to verify integrity */
> diff --git a/arch/x86/realmode/rm/trampoline_64.S b/arch/x86/realmode/rm/trampoline_64.S
> index 14d9c7daf90f..b0ce6205d7ea 100644
> --- a/arch/x86/realmode/rm/trampoline_64.S
> +++ b/arch/x86/realmode/rm/trampoline_64.S
> @@ -122,6 +122,38 @@ SYM_CODE_END(sev_es_trampoline_start)
>
> .section ".text32","ax"
> .code32
> +#ifdef CONFIG_SECURE_LAUNCH
> + .balign 4
> +SYM_CODE_START(sl_trampoline_start32)
> + /*
> + * The early secure launch stub AP wakeup code has taken care of all
> + * the vagaries of launching out of TXT. This bit just mimics what the
> + * 16b entry code does and jumps off to the real startup_32.
> + */
> + cli
> + wbinvd
> +
> + /*
> + * The %ebx provided is not terribly useful since it is the physical
> + * address of tb_trampoline_start and not the base of the image.
> + * Use pa_real_mode_base, which is fixed up, to get a run time
> + * base register to use for offsets to location that do not have
> + * pa_ symbols.
> + */
> + movl $pa_real_mode_base, %ebx
> +
> + LOCK_AND_LOAD_REALMODE_ESP lock_pa=1
> +
> + lgdt tr_gdt(%ebx)
> + lidt tr_idt(%ebx)
> +
> + movw $__KERNEL_DS, %dx # Data segment descriptor
> +
> + /* Jump to where the 16b code would have jumped */
> + ljmpl $__KERNEL32_CS, $pa_startup_32
> +SYM_CODE_END(sl_trampoline_start32)
> +#endif
> +
> .balign 4
> SYM_CODE_START(startup_32)
> movl %edx, %ss
BR, Jarkko
next prev parent reply other threads:[~2024-06-04 20:05 UTC|newest]
Thread overview: 217+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-31 1:03 [PATCH v9 00/19] x86: Trenchboot secure dynamic launch Linux kernel support Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-05-31 1:03 ` [PATCH v9 01/19] x86/boot: Place kernel_info at a fixed offset Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-06-04 18:18 ` Jarkko Sakkinen
2024-06-04 18:18 ` Jarkko Sakkinen
2024-06-04 20:28 ` ross.philipson
2024-06-04 20:28 ` ross.philipson
2024-05-31 1:03 ` [PATCH v9 02/19] Documentation/x86: Secure Launch kernel documentation Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-05-31 1:03 ` [PATCH v9 03/19] x86: Secure Launch Kconfig Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-05-31 1:03 ` [PATCH v9 04/19] x86: Secure Launch Resource Table header file Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-06-04 18:21 ` Jarkko Sakkinen
2024-06-04 18:21 ` Jarkko Sakkinen
2024-06-04 20:31 ` ross.philipson
2024-06-04 20:31 ` ross.philipson
2024-06-04 22:36 ` Jarkko Sakkinen
2024-06-04 22:36 ` Jarkko Sakkinen
2024-06-04 23:00 ` ross.philipson
2024-06-04 23:00 ` ross.philipson
2024-06-05 0:22 ` Jarkko Sakkinen
2024-06-05 0:22 ` Jarkko Sakkinen
2024-06-05 0:27 ` Jarkko Sakkinen
2024-06-05 0:27 ` Jarkko Sakkinen
2024-06-05 2:33 ` ross.philipson
2024-06-05 2:33 ` ross.philipson
2024-06-05 4:04 ` Jarkko Sakkinen
2024-06-05 4:04 ` Jarkko Sakkinen
2024-06-05 19:03 ` ross.philipson
2024-06-05 19:03 ` ross.philipson
2024-06-06 6:02 ` Jarkko Sakkinen
2024-06-06 6:02 ` Jarkko Sakkinen
2024-06-06 16:49 ` ross.philipson
2024-06-06 16:49 ` ross.philipson
2024-06-20 0:18 ` Jarkko Sakkinen
2024-06-20 0:18 ` Jarkko Sakkinen
2024-06-20 16:55 ` ross.philipson
2024-06-20 16:55 ` ross.philipson
2024-05-31 1:03 ` [PATCH v9 05/19] x86: Secure Launch main " Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-06-04 18:24 ` Jarkko Sakkinen
2024-06-04 18:24 ` Jarkko Sakkinen
2024-06-04 20:52 ` ross.philipson
2024-06-04 20:52 ` ross.philipson
2024-05-31 1:03 ` [PATCH v9 06/19] x86: Add early SHA-1 support for Secure Launch early measurements Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-05-31 2:16 ` Eric Biggers
2024-05-31 2:16 ` Eric Biggers
2024-05-31 13:54 ` Eric W. Biederman
2024-05-31 13:54 ` Eric W. Biederman
2024-08-15 17:38 ` Daniel P. Smith
2024-08-15 17:38 ` Daniel P. Smith
2024-08-15 19:10 ` Thomas Gleixner
2024-08-15 19:10 ` Thomas Gleixner
2024-08-16 10:42 ` Jarkko Sakkinen
2024-08-16 10:42 ` Jarkko Sakkinen
2024-08-16 11:01 ` Andrew Cooper
2024-08-16 11:01 ` Andrew Cooper
2024-08-16 11:22 ` Jarkko Sakkinen
2024-08-16 11:22 ` Jarkko Sakkinen
2024-08-16 18:41 ` Matthew Garrett
2024-08-16 18:41 ` Matthew Garrett
2024-08-19 18:05 ` Jarkko Sakkinen
2024-08-19 18:05 ` Jarkko Sakkinen
2024-08-19 18:24 ` Matthew Garrett
2024-08-19 18:24 ` Matthew Garrett
2024-08-20 15:26 ` Jarkko Sakkinen
2024-08-20 15:26 ` Jarkko Sakkinen
2024-08-22 18:29 ` Daniel P. Smith
2024-08-22 18:29 ` Daniel P. Smith
2026-02-20 15:35 ` Ard Biesheuvel
2026-02-23 23:08 ` Andrew Cooper
2026-02-24 8:25 ` Ard Biesheuvel
2024-08-29 3:17 ` Andy Lutomirski
2024-08-29 3:17 ` Andy Lutomirski
2024-08-29 3:25 ` Matthew Garrett
2024-08-29 3:25 ` Matthew Garrett
2024-08-29 17:26 ` Andy Lutomirski
2024-08-29 17:26 ` Andy Lutomirski
2024-09-05 1:01 ` Daniel P. Smith
2024-09-05 1:01 ` Daniel P. Smith
2024-09-13 0:34 ` Daniel P. Smith
2024-09-13 0:34 ` Daniel P. Smith
2024-09-14 3:57 ` Andy Lutomirski
2024-09-14 3:57 ` Andy Lutomirski
2024-09-21 18:36 ` Daniel P. Smith
2024-09-21 18:36 ` Daniel P. Smith
2024-09-21 22:40 ` Andy Lutomirski
2024-09-21 22:40 ` Andy Lutomirski
2024-11-02 14:53 ` Daniel P. Smith
2024-11-02 14:53 ` Daniel P. Smith
2024-11-02 16:04 ` James Bottomley
2024-11-02 16:04 ` James Bottomley
2024-11-15 1:17 ` Daniel P. Smith
2024-11-18 18:43 ` Andy Lutomirski
2024-11-18 18:50 ` Andy Lutomirski
2024-11-18 19:12 ` James Bottomley
2024-11-18 20:02 ` Andy Lutomirski
2024-11-21 20:11 ` ross.philipson
2024-11-21 20:54 ` Andy Lutomirski
2024-11-21 22:42 ` Andy Lutomirski
2024-11-22 23:37 ` ross.philipson
2024-12-12 19:56 ` Daniel P. Smith
2024-12-12 22:30 ` Andy Lutomirski
2024-12-14 2:56 ` Daniel P. Smith
2024-05-31 16:18 ` ross.philipson
2024-05-31 16:18 ` ross.philipson
2024-08-27 18:14 ` Eric Biggers
2024-08-27 18:14 ` Eric Biggers
2024-08-28 20:14 ` ross.philipson
2024-08-28 20:14 ` ross.philipson
2024-08-28 23:13 ` Eric Biggers
2024-08-28 23:13 ` Eric Biggers
2024-06-04 18:52 ` Jarkko Sakkinen
2024-06-04 18:52 ` Jarkko Sakkinen
2024-06-04 21:02 ` ross.philipson
2024-06-04 21:02 ` ross.philipson
2024-06-04 22:40 ` Jarkko Sakkinen
2024-06-04 22:40 ` Jarkko Sakkinen
2024-05-31 1:03 ` [PATCH v9 07/19] x86: Add early SHA-256 " Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-05-31 1:03 ` [PATCH v9 08/19] x86: Secure Launch kernel early boot stub Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-05-31 11:00 ` Ard Biesheuvel
2024-05-31 11:00 ` Ard Biesheuvel
2024-05-31 13:33 ` Ard Biesheuvel
2024-05-31 13:33 ` Ard Biesheuvel
2024-05-31 14:04 ` Ard Biesheuvel
2024-05-31 14:04 ` Ard Biesheuvel
2024-05-31 16:13 ` Ard Biesheuvel
2024-05-31 16:13 ` Ard Biesheuvel
2024-06-04 17:31 ` ross.philipson
2024-06-04 17:31 ` ross.philipson
2024-06-04 17:24 ` ross.philipson
2024-06-04 17:24 ` ross.philipson
2024-06-04 17:27 ` Ard Biesheuvel
2024-06-04 17:27 ` Ard Biesheuvel
2024-06-04 17:33 ` ross.philipson
2024-06-04 17:33 ` ross.philipson
2024-06-04 20:54 ` Ard Biesheuvel
2024-06-04 20:54 ` Ard Biesheuvel
2024-06-04 21:12 ` ross.philipson
2024-06-04 21:12 ` ross.philipson
2024-06-04 17:14 ` ross.philipson
2024-06-04 17:14 ` ross.philipson
2024-06-04 19:56 ` Jarkko Sakkinen
2024-06-04 19:56 ` Jarkko Sakkinen
2024-06-04 21:09 ` ross.philipson
2024-06-04 21:09 ` ross.philipson
2024-06-04 22:43 ` Jarkko Sakkinen
2024-06-04 22:43 ` Jarkko Sakkinen
2024-05-31 1:03 ` [PATCH v9 09/19] x86: Secure Launch kernel late " Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-06-04 19:58 ` Jarkko Sakkinen
2024-06-04 19:58 ` Jarkko Sakkinen
2024-06-04 21:16 ` ross.philipson
2024-06-04 21:16 ` ross.philipson
2024-06-04 22:45 ` Jarkko Sakkinen
2024-06-04 22:45 ` Jarkko Sakkinen
2024-06-04 19:59 ` Jarkko Sakkinen
2024-06-04 19:59 ` Jarkko Sakkinen
2024-06-04 21:17 ` ross.philipson
2024-06-04 21:17 ` ross.philipson
2024-08-12 19:02 ` ross.philipson
2024-08-12 19:02 ` ross.philipson
2024-08-15 18:35 ` Jarkko Sakkinen
2024-08-15 18:35 ` Jarkko Sakkinen
2024-05-31 1:03 ` [PATCH v9 10/19] x86: Secure Launch SMP bringup support Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-06-04 20:05 ` Jarkko Sakkinen [this message]
2024-06-04 20:05 ` Jarkko Sakkinen
2024-06-04 21:47 ` ross.philipson
2024-06-04 21:47 ` ross.philipson
2024-06-04 22:46 ` Jarkko Sakkinen
2024-06-04 22:46 ` Jarkko Sakkinen
2024-05-31 1:03 ` [PATCH v9 11/19] kexec: Secure Launch kexec SEXIT support Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-05-31 1:03 ` [PATCH v9 12/19] reboot: Secure Launch SEXIT support on reboot paths Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-05-31 1:03 ` [PATCH v9 13/19] tpm: Protect against locality counter underflow Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-06-04 20:12 ` Jarkko Sakkinen
2024-06-04 20:12 ` Jarkko Sakkinen
2024-08-15 18:52 ` Daniel P. Smith
2024-08-15 18:52 ` Daniel P. Smith
2024-05-31 1:03 ` [PATCH v9 14/19] tpm: Ensure tpm is in known state at startup Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-06-04 20:14 ` Jarkko Sakkinen
2024-06-04 20:14 ` Jarkko Sakkinen
2024-08-15 19:24 ` Daniel P. Smith
2024-08-15 19:24 ` Daniel P. Smith
2024-05-31 1:03 ` [PATCH v9 15/19] tpm: Make locality requests return consistent values Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-05-31 1:03 ` [PATCH v9 16/19] tpm: Add ability to set the preferred locality the TPM chip uses Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-06-04 20:27 ` Jarkko Sakkinen
2024-06-04 20:27 ` Jarkko Sakkinen
2024-06-04 22:14 ` ross.philipson
2024-06-04 22:14 ` ross.philipson
2024-06-04 22:50 ` Jarkko Sakkinen
2024-06-04 22:50 ` Jarkko Sakkinen
2024-06-04 23:04 ` ross.philipson
2024-06-04 23:04 ` ross.philipson
2024-05-31 1:03 ` [PATCH v9 17/19] tpm: Add sysfs interface to allow setting and querying the preferred locality Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-06-04 20:27 ` Jarkko Sakkinen
2024-06-04 20:27 ` Jarkko Sakkinen
2024-05-31 1:03 ` [PATCH v9 18/19] x86: Secure Launch late initcall platform module Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-05-31 1:03 ` [PATCH v9 19/19] x86: EFI stub DRTM launch support for Secure Launch Ross Philipson
2024-05-31 1:03 ` Ross Philipson
2024-05-31 11:09 ` Ard Biesheuvel
2024-05-31 11:09 ` Ard Biesheuvel
2024-06-04 17:22 ` ross.philipson
2024-06-04 17:22 ` ross.philipson
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=D1RI46IG5GSA.17H7M0DIQGRQ0@kernel.org \
--to=jarkko@kernel.org \
--cc=James.Bottomley@hansenpartnership.com \
--cc=andrew.cooper3@citrix.com \
--cc=ardb@kernel.org \
--cc=baolu.lu@linux.intel.com \
--cc=bp@alien8.de \
--cc=corbet@lwn.net \
--cc=dave.hansen@linux.intel.com \
--cc=davem@davemloft.net \
--cc=dpsmith@apertussolutions.com \
--cc=dwmw2@infradead.org \
--cc=ebiederm@xmission.com \
--cc=herbert@gondor.apana.org.au \
--cc=hpa@zytor.com \
--cc=iommu@lists.linux-foundation.org \
--cc=jgg@ziepe.ca \
--cc=kanth.ghatraju@oracle.com \
--cc=kexec@lists.infradead.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=mingo@redhat.com \
--cc=mjg59@srcf.ucam.org \
--cc=nivedita@alum.mit.edu \
--cc=peterhuewe@gmx.de \
--cc=ross.philipson@oracle.com \
--cc=tglx@linutronix.de \
--cc=trenchboot-devel@googlegroups.com \
--cc=x86@kernel.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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.