root/include/linux/kvm_types.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 
   3 #ifndef __KVM_TYPES_H__
   4 #define __KVM_TYPES_H__
   5 
   6 struct kvm;
   7 struct kvm_async_pf;
   8 struct kvm_device_ops;
   9 struct kvm_interrupt;
  10 struct kvm_irq_routing_table;
  11 struct kvm_memory_slot;
  12 struct kvm_one_reg;
  13 struct kvm_run;
  14 struct kvm_userspace_memory_region;
  15 struct kvm_vcpu;
  16 struct kvm_vcpu_init;
  17 struct kvm_memslots;
  18 
  19 enum kvm_mr_change;
  20 
  21 #include <linux/types.h>
  22 
  23 /*
  24  * Address types:
  25  *
  26  *  gva - guest virtual address
  27  *  gpa - guest physical address
  28  *  gfn - guest frame number
  29  *  hva - host virtual address
  30  *  hpa - host physical address
  31  *  hfn - host frame number
  32  */
  33 
  34 typedef unsigned long  gva_t;
  35 typedef u64            gpa_t;
  36 typedef u64            gfn_t;
  37 
  38 typedef unsigned long  hva_t;
  39 typedef u64            hpa_t;
  40 typedef u64            hfn_t;
  41 
  42 typedef hfn_t kvm_pfn_t;
  43 
  44 struct gfn_to_hva_cache {
  45         u64 generation;
  46         gpa_t gpa;
  47         unsigned long hva;
  48         unsigned long len;
  49         struct kvm_memory_slot *memslot;
  50 };
  51 
  52 struct gfn_to_pfn_cache {
  53         u64 generation;
  54         gfn_t gfn;
  55         kvm_pfn_t pfn;
  56         bool dirty;
  57 };
  58 
  59 #endif /* __KVM_TYPES_H__ */

/* [<][>][^][v][top][bottom][index][help] */