xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH v3 06/11] x86/xen: Add i386 kexec/kdump implementation
@ 2012-12-27 23:23 Daniel Kiper
  2012-12-27 23:37 ` H. Peter Anvin
  0 siblings, 1 reply; 6+ messages in thread
From: Daniel Kiper @ 2012-12-27 23:23 UTC (permalink / raw)
  To: hpa
  Cc: xen-devel, konrad.wilk, andrew.cooper3, x86, kexec, linux-kernel,
	virtualization, mingo, ebiederm, jbeulich, maxim.uvarov, tglx,
	vgoyal

> On 12/26/2012 06:18 PM, Daniel Kiper wrote:
> > Add i386 kexec/kdump implementation.
> >
> > v2 - suggestions/fixes:
> >     - allocate transition page table pages below 4 GiB
> >       (suggested by Jan Beulich).
>
> Why?

Sadly all addresses are passed via unsigned long
variable to kexec hypercall.

Daniel

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [PATCH v3 00/11] xen: Initial kexec/kdump implementation
@ 2012-12-27  2:18 Daniel Kiper
  2012-12-27  2:18 ` [PATCH v3 01/11] kexec: introduce kexec firmware support Daniel Kiper
  0 siblings, 1 reply; 6+ messages in thread
From: Daniel Kiper @ 2012-12-27  2:18 UTC (permalink / raw)
  To: andrew.cooper3-Sxgqhf6Nn4DQT0dZR+AlfA,
	ebiederm-aS9lmoZGLiVWk0Htik3J/w, hpa-YMNOUZJC4hwAvxtiuMwx3w,
	jbeulich-IBi9RG/b67k, konrad.wilk-QHcLZuEGTsvQT0dZR+AlfA,
	maxim.uvarov-QHcLZuEGTsvQT0dZR+AlfA, mingo-H+wXaHxf7aLQT0dZR+AlfA,
	tglx-hfZtesqFncYOwBW4kG4KsQ, vgoyal-H+wXaHxf7aLQT0dZR+AlfA,
	x86-DgEjT+Ai2ygdnm+yROfE0A,
	kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	xen-devel-GuqFBffKawuULHF6PoxzQEEOCMrvLtNR


Hi,

This set of patches contains initial kexec/kdump implementation for Xen v3.
Currently only dom0 is supported, however, almost all infrustructure
required for domU support is ready.

Jan Beulich suggested to merge Xen x86 assembler code with baremetal x86 code.
This could simplify and reduce a bit size of kernel code. However, this solution
requires some changes in baremetal x86 code. First of all code which establishes
transition page table should be moved back from machine_kexec_$(BITS).c to
relocate_kernel_$(BITS).S. Another important thing which should be changed in that
case is format of page_list array. Xen kexec hypercall requires to alternate physical
addresses with virtual ones. These and other required stuff have not been done in that
version because I am not sure that solution will be accepted by kexec/kdump maintainers.
I hope that this email spark discussion about that topic.

Daniel

 arch/x86/Kconfig                     |    3 +
 arch/x86/include/asm/kexec.h         |   10 +-
 arch/x86/include/asm/xen/hypercall.h |    6 +
 arch/x86/include/asm/xen/kexec.h     |   79 ++++
 arch/x86/kernel/machine_kexec_64.c   |   12 +-
 arch/x86/kernel/vmlinux.lds.S        |    7 +-
 arch/x86/xen/Kconfig                 |    1 +
 arch/x86/xen/Makefile                |    3 +
 arch/x86/xen/enlighten.c             |   11 +
 arch/x86/xen/kexec.c                 |  150 +++++++
 arch/x86/xen/machine_kexec_32.c      |  226 +++++++++++
 arch/x86/xen/machine_kexec_64.c      |  318 +++++++++++++++
 arch/x86/xen/relocate_kernel_32.S    |  323 +++++++++++++++
 arch/x86/xen/relocate_kernel_64.S    |  309 ++++++++++++++
 drivers/xen/sys-hypervisor.c         |   42 ++-
 include/linux/kexec.h                |   26 ++-
 include/xen/interface/xen.h          |   33 ++
 kernel/Makefile                      |    1 +
 kernel/kexec-firmware.c              |  743 ++++++++++++++++++++++++++++++++++
 kernel/kexec.c                       |   46 ++-
 20 files changed, 2331 insertions(+), 18 deletions(-)

Daniel Kiper (11):
      kexec: introduce kexec firmware support
      x86/kexec: Add extra pointers to transition page table PGD, PUD, PMD and PTE
      xen: Introduce architecture independent data for kexec/kdump
      x86/xen: Introduce architecture dependent data for kexec/kdump
      x86/xen: Register resources required by kexec-tools
      x86/xen: Add i386 kexec/kdump implementation
      x86/xen: Add x86_64 kexec/kdump implementation
      x86/xen: Add kexec/kdump Kconfig and makefile rules
      x86/xen/enlighten: Add init and crash kexec/kdump hooks
      drivers/xen: Export vmcoreinfo through sysfs
      x86: Add Xen kexec control code size check to linker script

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

end of thread, other threads:[~2013-01-02 14:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-27 23:23 [PATCH v3 06/11] x86/xen: Add i386 kexec/kdump implementation Daniel Kiper
2012-12-27 23:37 ` H. Peter Anvin
2012-12-28  3:16   ` Eric W. Biederman
2013-01-02 14:43     ` [Xen-devel] " Ian Campbell
  -- strict thread matches above, loose matches on Subject: below --
2012-12-27  2:18 [PATCH v3 00/11] xen: Initial " Daniel Kiper
2012-12-27  2:18 ` [PATCH v3 01/11] kexec: introduce kexec firmware support Daniel Kiper
2012-12-27  2:18   ` [PATCH v3 02/11] x86/kexec: Add extra pointers to transition page table PGD, PUD, PMD and PTE Daniel Kiper
2012-12-27  2:18     ` [PATCH v3 03/11] xen: Introduce architecture independent data for kexec/kdump Daniel Kiper
2012-12-27  2:18       ` [PATCH v3 04/11] x86/xen: Introduce architecture dependent " Daniel Kiper
2012-12-27  2:18         ` [PATCH v3 05/11] x86/xen: Register resources required by kexec-tools Daniel Kiper
     [not found]           ` <1356574740-6806-6-git-send-email-daniel.kiper-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2012-12-27  2:18             ` [PATCH v3 06/11] x86/xen: Add i386 kexec/kdump implementation Daniel Kiper
2012-12-27  4:00               ` H. Peter Anvin

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).