cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

hvm_op.h (1549B)


      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
     12struct xen_hvm_param {
     13    domid_t  domid;    /* IN */
     14    uint32_t index;    /* IN */
     15    uint64_t value;    /* IN/OUT */
     16};
     17DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_param);
     18
     19/* Hint from PV drivers for pagetable destruction. */
     20#define HVMOP_pagetable_dying       9
     21struct 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};
     27typedef struct xen_hvm_pagetable_dying xen_hvm_pagetable_dying_t;
     28DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_pagetable_dying_t);
     29 
     30enum 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. */
     38struct 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};
     47DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_get_mem_type);
     48
     49#endif /* __XEN_PUBLIC_HVM_HVM_OP_H__ */