Re: [PATCH 03/11] xen: Introduce architecture independent data forkexec/kdump

From: Konrad Rzeszutek Wilk
Date: Fri Sep 28 2012 - 12:01:57 EST


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'?

> 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?

> +
> +extern unsigned long xen_vmcoreinfo_maddr;
> +extern unsigned long xen_vmcoreinfo_max_size;
>
> typedef uint16_t domid_t;
>
> --
> 1.5.6.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/