Extending boot protocol & bzImage for paravirt_ops

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

 



Well, it seems to be about time to have this conversation again.

A rough overview of the previous thread and requirements is:

   1. bzImage would not be a bare ELF file, but it would contain an ELF
      header+file within it
   2. We need some way to add extra ELF notes into that ELF file
   3. We use a "paravirtualized" bootloader type, with some other field
      to determine which hypervisor we're dealing with
   4. We need to extend the boot info structure to include a pointer to
      some other hypervisor-specific information
   5. When started at the 32-bit entrypoint, bzImage expects:
         1. 32-bit mode
         2. running in any ring (and ring implies nothing about the
            environment)
         3. all segment registers are loaded with flat 4G segments
         4. there may or may not be a valid GDT (segment registers must
            not be reloaded until GDT is explicitly set up)
         5. interrupts disabled
         6. paging may or may not be enabled; if enabled, it has 1:1
            mappings where the ELF file's Phdrs say they should be
   6. When bzImage starts the kernel-proper, it works out how to choose
      the appropriate boot path based on the boot info structure in %esi

How much of this already exists?  Is there enough to start prototyping with?

What was the problem with ELF bzImage?  Is it confirmed to be
problematic, or just suspected?  Could we end up using a plain ELF file
(which would be easiest for me, since I think the existing ELF domain
builder could pretty much deal with that as-is).

    J
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/virtualization

[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux