31 Mar, 2009

1 commit


17 Dec, 2008

1 commit


16 Jul, 2008

1 commit


25 Jun, 2008

3 commits

  • Xen has a pte update function which will update a pte while preserving
    its accessed and dirty bits. This means that ptep_modify_prot_start() can be
    implemented as a simple read of the pte value. The hardware may
    update the pte in the meantime, but ptep_modify_prot_commit() updates it while
    preserving any changes that may have happened in the meantime.

    The updates in ptep_modify_prot_commit() are batched if we're currently in lazy
    mmu mode.

    The mmu_update hypercall can take a batch of updates to perform, but
    this code doesn't make particular use of that feature, in favour of
    using generic multicall batching to get them all into the hypervisor.

    The net effect of this is that each mprotect pte update turns from two
    expensive trap-and-emulate faults into they hypervisor into a single
    hypercall whose cost is amortized in a batched multicall.

    Signed-off-by: Jeremy Fitzhardinge
    Acked-by: Linus Torvalds
    Acked-by: Hugh Dickins
    Signed-off-by: Ingo Molnar

    Jeremy Fitzhardinge
     
  • Conflicts:

    arch/x86/xen/enlighten.c
    arch/x86/xen/mmu.c

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • This patch updates the xen guest to use the pvclock structs
    and helper functions.

    Signed-off-by: Gerd Hoffmann
    Acked-by: Jeremy Fitzhardinge
    Signed-off-by: Avi Kivity

    Gerd Hoffmann
     

02 Jun, 2008

1 commit


27 May, 2008

3 commits

  • Add xen handles realted definitions for xen memory which ia64/xen needs.
    Pointer argumsnts for ia64/xen hypercall are passed in pseudo physical
    address (guest physical address) so that it is required to convert
    guest kernel virtual address into pseudo physical address.
    The xen guest handle represents such arguments.

    Signed-off-by: Isaku Yamahata
    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Thomas Gleixner

    Isaku Yamahata
     
  • The pvfb backend indicates dynamic mode support by creating node
    feature_resize with a non-zero value in its xenstore directory.
    xen-fbfront sends a resize notification event on mode change. Fully
    backwards compatible both ways.

    Framebuffer size and initial resolution can be controlled through
    kernel parameter xen_fbfront.video. The backend enforces a separate
    size limit, which it advertises in node videoram in its xenstore
    directory.

    xen-kbdfront gets the maximum screen resolution from nodes width and
    height in the backend's xenstore directory instead of hardcoding it.

    Additional goodie: support for larger framebuffers (512M on a 64-bit
    system with 4K pages).

    Changing the number of bits per pixels dynamically is not supported,
    yet.

    Ported from
    http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/92f7b3144f41
    http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/bfc040135633

    Signed-off-by: Pat Campbell
    Signed-off-by: Markus Armbruster
    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Thomas Gleixner

    Markus Armbruster
     
  • Add z-axis motion to pointer events. Backward compatible, because
    there's space for the z-axis in union xenkbd_in_event, and old
    backends zero it.

    Derived from
    http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/57dfe0098000
    http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/1edfea26a2a9
    http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/c3ff0b26f664

    Signed-off-by: Pat Campbell
    Signed-off-by: Markus Armbruster
    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Thomas Gleixner

    Markus Armbruster
     

25 Apr, 2008

9 commits

  • The balloon driver allows memory to be dynamically added or removed from the domain,
    in order to allow host memory to be balanced between multiple domains.

    This patch introduces the Xen balloon driver, though it currently only
    allows a domain to be shrunk from its initial size (and re-grown back to
    that size). A later patch will add the ability to grow a domain beyond
    its initial size.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Jeremy Fitzhardinge
     
  • This is a pair of Xen para-virtual frontend device drivers:
    drivers/video/xen-fbfront.c provides a framebuffer, and
    drivers/input/xen-kbdfront provides keyboard and mouse.

    The backends run in dom0 user space.

    The two drivers are not in two separate patches, because the
    intermediate step (one driver, not the other) is somewhat problematic:
    the backend in dom0 needs both drivers, and will refuse to complete
    device initialization unless they're both present.

    Signed-off-by: Markus Armbruster

    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Markus Armbruster
     
  • Frontends are expected to write their protocol ABI to xenstore. Since
    the protocol ABI defaults to the backend's native ABI, things work
    fine without that as long as the frontend's native ABI is identical to
    the backend's native ABI. This is not the case for xen-blkfront
    running 32-on-64, because its ABI differs between 32 and 64 bit, and
    thus needs this fix.

    Based on http://xenbits.xensource.com/xen-unstable.hg?rev/c545932a18f3
    and http://xenbits.xensource.com/xen-unstable.hg?rev/ffe52263b430 by
    Gerd Hoffmann

    Signed-off-by: Markus Armbruster
    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Markus Armbruster
     
  • On xen/ia64 and xen/powerpc hypercall arguments are passed by pseudo
    physical address (guest physical address) so that it's necessary to
    convert from virtual address into pseudo physical address. The frame
    work is called xencomm.
    Import arch generic part of xencomm.

    Signed-off-by: Isaku Yamahata
    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Isaku Yamahata
     
  • Add xen handles realted definitions for xen vcpu which ia64/xen needs.
    Pointer argumsnts for ia64/xen hypercall are passed in pseudo physical
    address (guest physical address) so that it is required to convert
    guest kernel virtual address into pseudo physical address.
    The xen guest handle represents such arguments.

    Signed-off-by: Isaku Yamahata
    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Isaku Yamahata
     
  • Add xen handles realted definitions for grant table which ia64/xen
    needs.
    Pointer argumsnts for ia64/xen hypercall are passed in pseudo physical
    address (guest physical address) so that it is required to convert
    guest kernel virtual address into pseudo physical address right before
    issuing hypercall.
    The xen guest handle represents such arguments.
    Define necessary handles and helper functions.

    Signed-off-by: Isaku Yamahata
    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Isaku Yamahata
     
  • Add xen VIRQ numbers defined for arch specific use.
    ia64/xen domU uses VIRQ_ARCH_0 for virtual itc timer.
    Although all those constants aren't used yet by ia64
    at this moment, add all arch specific VIRQ numbers.

    Signed-off-by: Isaku Yamahata
    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Isaku Yamahata
     
  • Add xen hypercall numbers defined for arch specific use.
    ia64/xen domU uses __HYPERVISOR_arch_1 to manipulate paravirtualized
    IOSAPIC. Although all those constants aren't used yet by IA64 at this
    moment, add all arch specific hypercall numbers.

    Signed-off-by: Isaku Yamahata
    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Isaku Yamahata
     
  • Signed-off-by: Jeremy Fitzhardinge

    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Jeremy Fitzhardinge
     

17 Oct, 2007

1 commit


18 Jul, 2007

3 commits

  • An experimental patch for Xen allows guests to place their vcpu_info
    structs anywhere. We try to use this to place the vcpu_info into the
    PDA, which allows direct access.

    If this works, then switch to using direct access operations for
    irq_enable, disable, save_fl and restore_fl.

    Signed-off-by: Jeremy Fitzhardinge
    Cc: Chris Wright
    Cc: Keir Fraser

    Jeremy Fitzhardinge
     
  • Add Xen 'grant table' driver which allows granting of access to
    selected local memory pages by other virtual machines and,
    symmetrically, the mapping of remote memory pages which other virtual
    machines have granted access to.

    This driver is a prerequisite for many of the Xen virtual device
    drivers, which grant the 'device driver domain' restricted and
    temporary access to only those memory pages that are currently
    involved in I/O operations.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Ian Pratt
    Signed-off-by: Christian Limpach
    Signed-off-by: Chris Wright

    Jeremy Fitzhardinge
     
  • Add Xen interface header files. These are taken fairly directly from
    the Xen tree, but somewhat rearranged to suit the kernel's conventions.

    Define macros and inline functions for doing hypercalls into the
    hypervisor.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Ian Pratt
    Signed-off-by: Christian Limpach
    Signed-off-by: Chris Wright

    Jeremy Fitzhardinge