06 Jan, 2014

1 commit

  • Which is a PV guest with auto page translation enabled
    and with vector callback. It is a cross between PVHVM and PV.

    The Xen side defines PVH as (from docs/misc/pvh-readme.txt,
    with modifications):

    "* the guest uses auto translate:
    - p2m is managed by Xen
    - pagetables are owned by the guest
    - mmu_update hypercall not available
    * it uses event callback and not vlapic emulation,
    * IDT is native, so set_trap_table hcall is also N/A for a PVH guest.

    For a full list of hcalls supported for PVH, see pvh_hypercall64_table
    in arch/x86/hvm/hvm.c in xen. From the ABI prespective, it's mostly a
    PV guest with auto translate, although it does use hvm_op for setting
    callback vector."

    Also we use the PV cpuid, albeit we can use the HVM (native) cpuid.
    However, we do have a fair bit of filtering in the xen_cpuid and
    we can piggyback on that until the hypervisor/toolstack filters
    the appropiate cpuids. Once that is done we can swap over to
    use the native one.

    We setup a Kconfig entry that is disabled by default and
    cannot be enabled.

    Note that on ARM the concept of PVH is non-existent. As Ian
    put it: "an ARM guest is neither PV nor HVM nor PVHVM.
    It's a bit like PVH but is different also (it's further towards
    the H end of the spectrum than even PVH).". As such these
    options (PVHVM, PVH) are never enabled nor seen on ARM
    compilations.

    Signed-off-by: Mukesh Rathor
    Signed-off-by: Konrad Rzeszutek Wilk

    Mukesh Rathor
     

04 Oct, 2012

1 commit

  • Since commit commit 4c071ee5268f7234c3d084b6093bebccc28cdcba ("arm:
    initial Xen support") PV on HVM guests can be xen_initial_domain.
    However PV on HVM guests might have an unitialized xen_start_info, so
    check before accessing its fields.

    Signed-off-by: Stefano Stabellini
    Acked-by: Ian Campbell
    Reported-by: Konrad Rzeszutek Wilk
    Signed-off-by: Konrad Rzeszutek Wilk

    Stefano Stabellini
     

14 Sep, 2012

1 commit

  • - Basic hypervisor.h and interface.h definitions.
    - Skeleton enlighten.c, set xen_start_info to an empty struct.
    - Make xen_initial_domain dependent on the SIF_PRIVILIGED_BIT.

    The new code only compiles when CONFIG_XEN is set, that is going to be
    added to arch/arm/Kconfig in patch #11 "xen/arm: introduce CONFIG_XEN on
    ARM".

    Changes in v3:

    - improve comments.

    Signed-off-by: Stefano Stabellini
    Acked-by: Konrad Rzeszutek Wilk

    Stefano Stabellini
     

05 Nov, 2009

1 commit