[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [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@xxxxxxxxxx>
> > ---
> >  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

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.