Kexec Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/7] x86/kexec: Add exception handling for relocate_kernel
@ 2024-11-03  5:35 David Woodhouse
  2024-11-03  5:35 ` [RFC PATCH 1/7] x86/kexec: Clean up and document register use in relocate_kernel_64.S David Woodhouse
                   ` (6 more replies)
  0 siblings, 7 replies; 33+ messages in thread
From: David Woodhouse @ 2024-11-03  5:35 UTC (permalink / raw)
  To: kexec
  Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
	H. Peter Anvin, David Woodhouse, Kirill A. Shutemov, Kai Huang,
	Nikolay Borisov, linux-kernel, Simon Horman

Page faults in relocate_kernel() are extremely painful to debug. Provide a
basic exception handler which will just dump the exception information and
registers to a serial port.

It's disabled by default and has to be enabled with #define DEBUG.

While I was at it, I also stopped swap_pages from actually swapping pages
in the case of a plain kexec without preserve_context. Unless I'm missing
something, that's just a pointless waste of time.

David Woodhouse (7):
      x86/kexec: Clean up and document register use in relocate_kernel_64.S
      x86/kexec: Use named labels in swap_pages in relocate_kernel_64.S
      x86/kexec: Only swap pages for preserve_context mode
      x86/kexec: Debugging support: load a GDT
      x86/kexec: Debugging support: Load an IDT and basic exception entry points
      x86/kexec: Debugging support: Dump registers on exception

 arch/x86/kernel/relocate_kernel_64.S | 265 ++++++++++++++++++++++++++++++++---
 1 file changed, 246 insertions(+), 19 deletions(-)


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2024-11-14  7:41 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-03  5:35 [RFC PATCH 0/7] x86/kexec: Add exception handling for relocate_kernel David Woodhouse
2024-11-03  5:35 ` [RFC PATCH 1/7] x86/kexec: Clean up and document register use in relocate_kernel_64.S David Woodhouse
2024-11-05 10:00   ` Huang, Kai
2024-11-05 20:17     ` David Woodhouse
2024-11-03  5:35 ` [RFC PATCH 2/7] x86/kexec: Use named labels in swap_pages " David Woodhouse
2024-11-05 10:01   ` Huang, Kai
2024-11-03  5:35 ` [RFC PATCH 3/7] x86/kexec: Only swap pages for preserve_context mode David Woodhouse
2024-11-03  5:35 ` [RFC PATCH 4/7] x86/kexec: Debugging support: load a GDT David Woodhouse
2024-11-03  5:35 ` [RFC PATCH 5/7] x86/kexec: Debugging support: Load an IDT and basic exception entry points David Woodhouse
2024-11-03  5:35 ` [RFC PATCH 6/7] x86/kexec: Debugging support: Dump registers on exception David Woodhouse
2024-11-05 20:38   ` Woodhouse, David
2024-11-05 20:50     ` H. Peter Anvin
2024-11-05 21:29       ` David Woodhouse
2024-11-05 22:08         ` H. Peter Anvin
2024-11-05 21:37     ` H. Peter Anvin
2024-11-05 21:58       ` H. Peter Anvin
2024-11-05 22:27         ` H. Peter Anvin
2024-11-05 22:57           ` H. Peter Anvin
2024-11-14  7:40         ` Andy Shevchenko
2024-11-06  2:43       ` David Woodhouse
2024-11-06  2:47         ` H. Peter Anvin
2024-11-06  3:07           ` David Woodhouse
2024-11-08  5:21           ` David Woodhouse
2024-11-08  5:22             ` [RFC PATCH 1/2] x86/kexec: Use linker script for relocate_kernel page layout David Woodhouse
2024-11-08  5:22               ` [RFC PATCH 2/2] x86/kexec: Add data section to relocate_kernel David Woodhouse
2024-11-08  5:35                 ` David Woodhouse
2024-11-08 11:26                 ` H. Peter Anvin
2024-11-08 12:29                   ` David Woodhouse
2024-11-12  8:44                   ` David Woodhouse
2024-11-12 10:14                     ` Peter Zijlstra
2024-11-12 10:45                       ` David Woodhouse
2024-11-14  1:46                         ` jpoimboe
2024-11-03  5:35 ` [RFC PATCH 7/7] [DO NOT MERGE] x86/kexec: enable DEBUG David Woodhouse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox