HomeFreeBSD

xen: implement the privcmd user-space device

Description

xen: implement the privcmd user-space device

This device is only attached to priviledged domains, and allows the
toolstack to interact with Xen. The two functions of the privcmd
interface is to allow the execution of hypercalls from user-space, and
the mapping of foreign domain memory.

Sponsored by: Citrix Systems R&D

i386/include/xen/hypercall.h:
amd64/include/xen/hypercall.h:

  • Introduce a function to make generic hypercalls into Xen.

xen/interface/xen.h:
xen/interface/memory.h:

  • Import the new hypercall XENMEM_add_to_physmap_range used by auto-translated guests to map memory from foreign domains.

dev/xen/privcmd/privcmd.c:

  • This device has the following functions:
    • Allow user-space applications to make hypercalls into Xen.
    • Allow user-space applications to map memory from foreign domains, this is accomplished using the newly introduced hypercall (XENMEM_add_to_physmap_range).

xen/privcmd.h:

  • Public ioctl interface for the privcmd device.

x86/xen/hvm.c:

  • Remove declaration of hypercall_page, now it's declared in hypercall.h.

conf/files:

  • Add the privcmd device to the build process.

Details

Provenance
roygerAuthored on
Parents
rS273475: xen: add a Xen to BSD error translation
Branches
Unknown
Tags
Unknown

Event Timeline