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

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

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ 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.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/xen/interface/hvm/hvm_op.h (Version linux-6.12-rc7) and /include/xen/interface/hvm/hvm_op.h (Version linux-4.18.20)


  1 /* SPDX-License-Identifier: MIT */             !!   1 /*
                                                   >>   2  * Permission is hereby granted, free of charge, to any person obtaining a copy
                                                   >>   3  * of this software and associated documentation files (the "Software"), to
                                                   >>   4  * deal in the Software without restriction, including without limitation the
                                                   >>   5  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
                                                   >>   6  * sell copies of the Software, and to permit persons to whom the Software is
                                                   >>   7  * furnished to do so, subject to the following conditions:
                                                   >>   8  *
                                                   >>   9  * The above copyright notice and this permission notice shall be included in
                                                   >>  10  * all copies or substantial portions of the Software.
                                                   >>  11  *
                                                   >>  12  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
                                                   >>  13  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
                                                   >>  14  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
                                                   >>  15  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
                                                   >>  16  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
                                                   >>  17  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
                                                   >>  18  * DEALINGS IN THE SOFTWARE.
                                                   >>  19  */
  2                                                    20 
  3 #ifndef __XEN_PUBLIC_HVM_HVM_OP_H__                21 #ifndef __XEN_PUBLIC_HVM_HVM_OP_H__
  4 #define __XEN_PUBLIC_HVM_HVM_OP_H__                22 #define __XEN_PUBLIC_HVM_HVM_OP_H__
  5                                                    23 
  6 #include <xen/interface/xen.h>                 << 
  7                                                << 
  8 /* Get/set subcommands: the second argument of     24 /* Get/set subcommands: the second argument of the hypercall is a
  9  * pointer to a xen_hvm_param struct. */           25  * pointer to a xen_hvm_param struct. */
 10 #define HVMOP_set_param           0                26 #define HVMOP_set_param           0
 11 #define HVMOP_get_param           1                27 #define HVMOP_get_param           1
 12 struct xen_hvm_param {                             28 struct xen_hvm_param {
 13     domid_t  domid;    /* IN */                    29     domid_t  domid;    /* IN */
 14     uint32_t index;    /* IN */                    30     uint32_t index;    /* IN */
 15     uint64_t value;    /* IN/OUT */                31     uint64_t value;    /* IN/OUT */
 16 };                                                 32 };
 17 DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_param);         33 DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_param);
 18                                                    34 
 19 /* Hint from PV drivers for pagetable destruct     35 /* Hint from PV drivers for pagetable destruction. */
 20 #define HVMOP_pagetable_dying       9              36 #define HVMOP_pagetable_dying       9
 21 struct xen_hvm_pagetable_dying {                   37 struct xen_hvm_pagetable_dying {
 22     /* Domain with a pagetable about to be des     38     /* Domain with a pagetable about to be destroyed. */
 23     domid_t  domid;                                39     domid_t  domid;
 24     /* guest physical address of the toplevel      40     /* guest physical address of the toplevel pagetable dying */
 25     aligned_u64 gpa;                               41     aligned_u64 gpa;
 26 };                                                 42 };
 27 typedef struct xen_hvm_pagetable_dying xen_hvm     43 typedef struct xen_hvm_pagetable_dying xen_hvm_pagetable_dying_t;
 28 DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_pagetable_d     44 DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_pagetable_dying_t);
 29                                                    45  
 30 enum hvmmem_type_t {                               46 enum hvmmem_type_t {
 31     HVMMEM_ram_rw,             /* Normal read/     47     HVMMEM_ram_rw,             /* Normal read/write guest RAM */
 32     HVMMEM_ram_ro,             /* Read-only; w     48     HVMMEM_ram_ro,             /* Read-only; writes are discarded */
 33     HVMMEM_mmio_dm,            /* Reads and wr     49     HVMMEM_mmio_dm,            /* Reads and write go to the device model */
 34 };                                                 50 };
 35                                                    51 
 36 #define HVMOP_get_mem_type    15                   52 #define HVMOP_get_mem_type    15
 37 /* Return hvmmem_type_t for the specified pfn.     53 /* Return hvmmem_type_t for the specified pfn. */
 38 struct xen_hvm_get_mem_type {                      54 struct xen_hvm_get_mem_type {
 39     /* Domain to be queried. */                    55     /* Domain to be queried. */
 40     domid_t domid;                                 56     domid_t domid;
 41     /* OUT variable. */                            57     /* OUT variable. */
 42     uint16_t mem_type;                             58     uint16_t mem_type;
 43     uint16_t pad[2]; /* align next field on 8-     59     uint16_t pad[2]; /* align next field on 8-byte boundary */
 44     /* IN variable. */                             60     /* IN variable. */
 45     uint64_t pfn;                                  61     uint64_t pfn;
 46 };                                                 62 };
 47 DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_get_mem_typ     63 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 <vect << 
 53  *                                 channel upc << 
 54  *                                 this vector << 
 55  *                                 domain glob << 
 56  *                                 HVM_PARAM_C << 
 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 xe << 
 64 DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_evtchn_upca << 
 65                                                << 
 66 #endif /* defined(__i386__) || defined(__x86_6 << 
 67                                                    64 
 68 #endif /* __XEN_PUBLIC_HVM_HVM_OP_H__ */           65 #endif /* __XEN_PUBLIC_HVM_HVM_OP_H__ */
 69                                                    66 

~ [ 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