~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/xen/interface/hvm/hvm_op.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: MIT */
  2 
  3 #ifndef __XEN_PUBLIC_HVM_HVM_OP_H__
  4 #define __XEN_PUBLIC_HVM_HVM_OP_H__
  5 
  6 #include <xen/interface/xen.h>
  7 
  8 /* Get/set subcommands: the second argument of the hypercall is a
  9  * pointer to a xen_hvm_param struct. */
 10 #define HVMOP_set_param           0
 11 #define HVMOP_get_param           1
 12 struct xen_hvm_param {
 13     domid_t  domid;    /* IN */
 14     uint32_t index;    /* IN */
 15     uint64_t value;    /* IN/OUT */
 16 };
 17 DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_param);
 18 
 19 /* Hint from PV drivers for pagetable destruction. */
 20 #define HVMOP_pagetable_dying       9
 21 struct xen_hvm_pagetable_dying {
 22     /* Domain with a pagetable about to be destroyed. */
 23     domid_t  domid;
 24     /* guest physical address of the toplevel pagetable dying */
 25     aligned_u64 gpa;
 26 };
 27 typedef struct xen_hvm_pagetable_dying xen_hvm_pagetable_dying_t;
 28 DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_pagetable_dying_t);
 29  
 30 enum hvmmem_type_t {
 31     HVMMEM_ram_rw,             /* Normal read/write guest RAM */
 32     HVMMEM_ram_ro,             /* Read-only; writes are discarded */
 33     HVMMEM_mmio_dm,            /* Reads and write go to the device model */
 34 };
 35 
 36 #define HVMOP_get_mem_type    15
 37 /* Return hvmmem_type_t for the specified pfn. */
 38 struct xen_hvm_get_mem_type {
 39     /* Domain to be queried. */
 40     domid_t domid;
 41     /* OUT variable. */
 42     uint16_t mem_type;
 43     uint16_t pad[2]; /* align next field on 8-byte boundary */
 44     /* IN variable. */
 45     uint64_t pfn;
 46 };
 47 DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_get_mem_type);
 48 
 49 #if defined(__i386__) || defined(__x86_64__)
 50 
 51 /*
 52  * HVMOP_set_evtchn_upcall_vector: Set a <vector> that should be used for event
 53  *                                 channel upcalls on the specified <vcpu>. If set,
 54  *                                 this vector will be used in preference to the
 55  *                                 domain global callback via (see
 56  *                                 HVM_PARAM_CALLBACK_IRQ).
 57  */
 58 #define HVMOP_set_evtchn_upcall_vector 23
 59 struct xen_hvm_evtchn_upcall_vector {
 60     uint32_t vcpu;
 61     uint8_t vector;
 62 };
 63 typedef struct xen_hvm_evtchn_upcall_vector xen_hvm_evtchn_upcall_vector_t;
 64 DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_evtchn_upcall_vector_t);
 65 
 66 #endif /* defined(__i386__) || defined(__x86_64__) */
 67 
 68 #endif /* __XEN_PUBLIC_HVM_HVM_OP_H__ */
 69 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php