[lkml]   [2007]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patches] [PATCH] [21/22] x86_64: Extend bzImage protocol for relocatable bzImage
    Eric W. Biederman wrote:
    > I have several ideas on how we can make this work but first I have to
    > ask what is it that you are trying to accomplish?

    The requirements are:

    1. the domain builder needs to get various information about the
    guest kernel by inspecting its ELF notes
    2. we start the kernel in 32-bit mode with paging enabled, in ring 1
    3. the guest kernel needs various pieces of runtime information from
    the hypervisor about its runtime environment

    At the moment we just load a bare vmlinux kernel with a xen-specific
    entrypoint, so 1 and 2 are easy. 3 is achieved by having the domain
    builder start the kernel with %esi pointing to a Xen info structure
    which tells the kernel what it needs to know.

    That works OK for a kernel which is compiled to run under Xen and can't
    run in any other environment, but now that we can generate a single
    kernel which can run in any number of different environments, its
    unfortunate that we still need multiple variants of the kernel image.

    Clearly the Xen domain builder needs to be extended to deal with a
    bzImage format kernel directly, so we can use the same actual kernel
    image for native and Xen booting. Since we're changing the domain
    builder anyway, I can change the details of how it works so long as the
    3 requirements can still be met.

    So, I have no problem in also building a boot protocol info structure,
    and passing that in %esi, so long as I can store a pointer to the
    Xen-specific info as well. Some info will be duplicated, like the
    initrd location, but that's OK.

    I'd already reserved a Xen bootloader ID specifically with this in mind;
    all I really need is a place where I can stash the pointer.

    I think I'd prefer to have the domain builder decompress/relocate the
    kernel from the bzImage and start it directly, rather than have it
    decompress/relocate itself, but I'm not really set on that. It depends
    on how well it can deal with having paging enabled and being in ring 1.
    Looks like it might just be a matter of starting up with "enough" memory

    So the biggest unknown is where to put the Xen ELF notes.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2007-04-30 20:53    [W:0.021 / U:114.180 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site