lkml.org 
[lkml]   [2012]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 03/11] xen: Introduce architecture independent data for kexec/kdump
On Fri, Sep 28, 2012 at 12:10:17PM -0400, Konrad Rzeszutek Wilk wrote:
> On Thu, Sep 27, 2012 at 08:06:30PM +0200, Daniel Kiper wrote:
> > Introduce architecture independent constants and structures
>
> Don't you mean 'dependent constants'?

Right.

> > required by Xen kexec/kdump implementation.
> >
> > Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
> > ---
> > include/xen/interface/xen.h | 33 +++++++++++++++++++++++++++++++++
> > 1 files changed, 33 insertions(+), 0 deletions(-)
> >
> > diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
> > index 0801468..ac19f9e 100644
> > --- a/include/xen/interface/xen.h
> > +++ b/include/xen/interface/xen.h
> > @@ -58,6 +58,7 @@
> > #define __HYPERVISOR_event_channel_op 32
> > #define __HYPERVISOR_physdev_op 33
> > #define __HYPERVISOR_hvm_op 34
> > +#define __HYPERVISOR_kexec_op 37
> > #define __HYPERVISOR_tmem_op 38
> >
> > /* Architecture-specific hypercall definitions. */
> > @@ -232,7 +233,39 @@ DEFINE_GUEST_HANDLE_STRUCT(mmuext_op);
> > #define VMASST_TYPE_pae_extended_cr3 3
> > #define MAX_VMASST_TYPE 3
> >
> > +/*
> > + * Commands to HYPERVISOR_kexec_op().
> > + */
> > +#define KEXEC_CMD_kexec 0
> > +#define KEXEC_CMD_kexec_load 1
> > +#define KEXEC_CMD_kexec_unload 2
> > +#define KEXEC_CMD_kexec_get_range 3
> > +
> > +/*
> > + * Memory ranges for kdump (utilized by HYPERVISOR_kexec_op()).
> > + */
> > +#define KEXEC_RANGE_MA_CRASH 0
> > +#define KEXEC_RANGE_MA_XEN 1
> > +#define KEXEC_RANGE_MA_CPU 2
> > +#define KEXEC_RANGE_MA_XENHEAP 3
> > +#define KEXEC_RANGE_MA_BOOT_PARAM 4
> > +#define KEXEC_RANGE_MA_EFI_MEMMAP 5
> > +#define KEXEC_RANGE_MA_VMCOREINFO 6
> > +
> > #ifndef __ASSEMBLY__
> > +struct xen_kexec_exec {
> > + int type;
> > +};
> > +
> > +struct xen_kexec_range {
> > + int range;
> > + int nr;
> > + unsigned long size;
> > + unsigned long start;
> > +};
>
> Might want to include an little blurb saying what we expect
> in case of running a 32-bit domain on a 64-bit hypervisor
> where the start might be past 4GB?

This is not true. All needed pages used by i386 relocate kernel
code are always below 4 GiB.

Daniel


\
 
 \ /
  Last update: 2012-10-01 16:21    [W:0.508 / U:0.848 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site