[PATCH v7 7/8] [DO NOT MERGE] x86/kexec: Add int3 in kexec path for testing
Ingo Molnar
mingo at kernel.org
Thu Mar 13 03:44:41 PDT 2025
* David Woodhouse <dwmw2 at infradead.org> wrote:
> From: David Woodhouse <dwmw at amazon.co.uk>
>
> Signed-off-by: David Woodhouse <dwmw at amazon.co.uk>
> ---
> arch/x86/kernel/relocate_kernel_64.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/relocate_kernel_64.S b/arch/x86/kernel/relocate_kernel_64.S
> index 17d41e6e1a4b..2b7fc59af373 100644
> --- a/arch/x86/kernel/relocate_kernel_64.S
> +++ b/arch/x86/kernel/relocate_kernel_64.S
> @@ -158,7 +158,7 @@ SYM_CODE_START_LOCAL_NOALIGN(identity_mapped)
> lidt (%rsp)
> addq $10, %rsp
>
> - //int3
> + int3
So this is all boot-serialized functionality with no SMP concerns
whatsoever, right?
If yes then we could use something like this:
static int exception_selftest = 1;
and add the INT3 point:
int3
.globl after_int3
after_int3:
And do this in the early exception handler:
...
if (exception_selftest) {
exception_selftest = 0;
print_something_warm_and_fuzzy();
IRET-to-after_int3;
}
...
... regular exception path ...
... but all in assembly or so ;-)
This would make it reasonably certain that the most complex bits of
this new debuging code are in working order, all the time.
Thanks,
Ingo
More information about the kexec
mailing list