lkml.org 
[lkml]   [2013]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [Xen-devel] [PATCH v3 00/11] xen: Initial kexec/kdump implementation
    On Mon, Jan 07, 2013 at 01:34:04PM +0100, Daniel Kiper wrote:
    > On Fri, Jan 04, 2013 at 02:11:46PM -0500, Konrad Rzeszutek Wilk wrote:
    > > On Fri, Jan 04, 2013 at 06:07:51PM +0100, Daniel Kiper wrote:
    > > > On Fri, Jan 04, 2013 at 02:41:17PM +0000, Jan Beulich wrote:
    > > > > >>> On 04.01.13 at 15:22, Daniel Kiper <daniel.kiper@oracle.com> wrote:
    > > > > > On Wed, Jan 02, 2013 at 11:26:43AM +0000, Andrew Cooper wrote:
    > > > > >> /sbin/kexec can load the "Xen" crash kernel itself by issuing
    > > > > >> hypercalls using /dev/xen/privcmd. This would remove the need for
    > > > > >> the dom0 kernel to distinguish between loading a crash kernel for
    > > > > >> itself and loading a kernel for Xen.
    > > > > >>
    > > > > >> Or is this just a silly idea complicating the matter?
    > > > > >
    > > > > > This is impossible with current Xen kexec/kdump interface.
    > > > >
    > > > > Why?
    > > >
    > > > Because current KEXEC_CMD_kexec_load does not load kernel
    > > > image and other things into Xen memory. It means that it
    > > > should live somewhere in dom0 Linux kernel memory.
    > >
    > > We could have a very simple hypercall which would have:
    > >
    > > struct fancy_new_hypercall {
    > > xen_pfn_t payload; // IN
    > > ssize_t len; // IN
    > > #define DATA (1<<1)
    > > #define DATA_EOF (1<<2)
    > > #define DATA_KERNEL (1<<3)
    > > #define DATA_RAMDISK (1<<4)
    > > unsigned int flags; // IN
    > > unsigned int status; // OUT
    > > };
    > >
    > > which would in a loop just iterate over the payloads and
    > > let the hypervisor stick it in the crashkernel space.
    > >
    > > This is all hand-waving of course. There probably would be a need
    > > to figure out how much space you have in the reserved Xen's
    > > 'crashkernel' memory region too.
    >
    > I think that new kexec hypercall function should mimics kexec syscall.
    > It means that all arguments passed to hypercall should have same types
    > if it is possible or if it is not possible then conversion should be done
    > in very easy way. Additionally, I think that one call of new hypercall
    > load function should load all needed thinks in right place and
    > return relevant status. Last but not least, new functionality should

    We are not restricted to just _one_ hypercall. And this loading
    thing could be similar to the micrcode hypercall - which just points
    to a virtual address along with the length - and says 'load me'.

    > be available through /dev/xen/privcmd or directly from kernel without
    > bigger effort.

    Perhaps we should have a email thread on xen-devel where we hash out
    some ideas. Eric, would you be OK included on this - it would make
    sense for this mechanism to be as future-proof as possible - and I am not
    sure what your plans for kexec are in the future?
    >
    > Daniel


    \
     
     \ /
      Last update: 2013-01-07 18:01    [W:3.430 / U:0.212 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site