aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/kvm.h6
-rw-r--r--include/linux/kvm_host.h7
2 files changed, 6 insertions, 7 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h
index 2de335d7f63e..d808694673f9 100644
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@ -106,7 +106,8 @@ struct kvm_userspace_memory_region {
106 * other bits are reserved for kvm internal use which are defined in 106 * other bits are reserved for kvm internal use which are defined in
107 * include/linux/kvm_host.h. 107 * include/linux/kvm_host.h.
108 */ 108 */
109#define KVM_MEM_LOG_DIRTY_PAGES 1UL 109#define KVM_MEM_LOG_DIRTY_PAGES (1UL << 0)
110#define KVM_MEM_READONLY (1UL << 1)
110 111
111/* for KVM_IRQ_LINE */ 112/* for KVM_IRQ_LINE */
112struct kvm_irq_level { 113struct kvm_irq_level {
@@ -621,6 +622,9 @@ struct kvm_ppc_smmu_info {
621#define KVM_CAP_PPC_GET_SMMU_INFO 78 622#define KVM_CAP_PPC_GET_SMMU_INFO 78
622#define KVM_CAP_S390_COW 79 623#define KVM_CAP_S390_COW 79
623#define KVM_CAP_PPC_ALLOC_HTAB 80 624#define KVM_CAP_PPC_ALLOC_HTAB 80
625#ifdef __KVM_HAVE_READONLY_MEM
626#define KVM_CAP_READONLY_MEM 81
627#endif
624 628
625#ifdef KVM_CAP_IRQ_ROUTING 629#ifdef KVM_CAP_IRQ_ROUTING
626 630
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index a913ac709a9d..5972c9845ddb 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -465,6 +465,7 @@ int gfn_to_page_many_atomic(struct kvm *kvm, gfn_t gfn, struct page **pages,
465 465
466struct page *gfn_to_page(struct kvm *kvm, gfn_t gfn); 466struct page *gfn_to_page(struct kvm *kvm, gfn_t gfn);
467unsigned long gfn_to_hva(struct kvm *kvm, gfn_t gfn); 467unsigned long gfn_to_hva(struct kvm *kvm, gfn_t gfn);
468unsigned long gfn_to_hva_memslot(struct kvm_memory_slot *slot, gfn_t gfn);
468void kvm_release_page_clean(struct page *page); 469void kvm_release_page_clean(struct page *page);
469void kvm_release_page_dirty(struct page *page); 470void kvm_release_page_dirty(struct page *page);
470void kvm_set_page_dirty(struct page *page); 471void kvm_set_page_dirty(struct page *page);
@@ -792,12 +793,6 @@ hva_to_gfn_memslot(unsigned long hva, struct kvm_memory_slot *slot)
792 return slot->base_gfn + gfn_offset; 793 return slot->base_gfn + gfn_offset;
793} 794}
794 795
795static inline unsigned long gfn_to_hva_memslot(struct kvm_memory_slot *slot,
796 gfn_t gfn)
797{
798 return slot->userspace_addr + (gfn - slot->base_gfn) * PAGE_SIZE;
799}
800
801static inline gpa_t gfn_to_gpa(gfn_t gfn) 796static inline gpa_t gfn_to_gpa(gfn_t gfn)
802{ 797{
803 return (gpa_t)gfn << PAGE_SHIFT; 798 return (gpa_t)gfn << PAGE_SHIFT;