[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20121001133409.GG2942@host-192-168-1-59.local.net-space.pl>
Date: Mon, 1 Oct 2012 15:34:09 +0200
From: Daniel Kiper <daniel.kiper@...cle.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
Cc: andrew.cooper3@...rix.com, jbeulich@...e.com,
linux-kernel@...r.kernel.org, xen-devel@...ts.xensource.com
Subject: Re: [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@...cle.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists