• Jeremy Fitzhardinge's avatar
    xen: Core Xen implementation · 5ead97c8
    Jeremy Fitzhardinge authored
    This patch is a rollup of all the core pieces of the Xen
    implementation, including:
     - booting and setup
     - pagetable setup
     - privileged instructions
     - segmentation
     - interrupt flags
     - upcalls
     - multicall batching
    
    BOOTING AND SETUP
    
    The vmlinux image is decorated with ELF notes which tell the Xen
    domain builder what the kernel's requirements are; the domain builder
    then constructs the address space accordingly and starts the kernel.
    
    Xen has its own entrypoint for the kernel (contained in an ELF note).
    The ELF notes are set up by xen-head.S, which is included into head.S.
    In principle it could be linked separately, but it seems to provoke
    lots of binutils bugs.
    
    Because the domain builder starts the kernel in a fairly sane state
    (32-bit protected mode, paging enabled, flat segments set up), there's
    not a lot of setup needed before starting the kernel proper.  The main
    steps are:
      1. Install the Xen paravirt_ops, which is simply a matter of a
         structure assignment.
     ...
    5ead97c8
features.h 463 Bytes