KVM question regarding use of __direct_map()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

KVM uses __direct_map() to setup EPT entries for gfn->pfn mappings.
Is it possible to map gfns of two different guest to same pfn using
this function?

I tried doing this but I get following messages,

[<ffffffff810b184a>] bad_page+0x117/0x130
[<ffffffff810b189c>] free_pages_check+0x39/0x56
[<ffffffff810b24bb>] free_hot_cold_page+0x3e/0x128
[<ffffffff810b264d>] free_hot_page+0x1d/0x21
[<ffffffff810b6372>] put_page+0x70/0x79
[<ffffffffa044c350>] kvm_release_pfn_clean+0x2c/0x31 [kvm]
[<ffffffffa0460fe4>] mmu_set_spte+0x26e/0x291 [kvm]
[<ffffffffa0462175>] __direct_map+0x9a/0x21a [kvm]
[<ffffffffa04658aa>] remap_spte+0xfe/0x12c [kvm]
[<ffffffffa0458062>] kvm_emulate_hypercall+0x2ad/0x662 [kvm]
[<ffffffffa0082d3a>] handle_vmcall+0x19/0x22 [kvm_intel]
[<ffffffffa00859a8>] vmx_handle_exit+0x5dc/0x605 [kvm_intel]
[<ffffffffa0083f36>] ? vmx_vcpu_run+0x3df/0x3ee [kvm_intel]
[<ffffffffa045aa6e>] kvm_arch_vcpu_ioctl_run+0xa8f/0xd1b [kvm]
[<ffffffffa045962a>] ? kvm_arch_vm_ioctl+0x864/0x8a0 [kvm]
[<ffffffffa04596ef>] ? kvm_arch_vcpu_load+0x89/0x139 [kvm]
[<ffffffffa044cf81>] kvm_vcpu_ioctl+0x10d/0x4d3 [kvm]
[<ffffffffa044dc89>] ? kvm_vm_ioctl+0x2f6/0x329 [kvm]
[<ffffffff811a9504>] ? file_has_perm+0xb4/0xc6
[<ffffffff810f24ef>] vfs_ioctl+0x2a/0x77
[<ffffffff810f2a46>] do_vfs_ioctl+0x492/0x4ca
[<ffffffff810f2ad5>] sys_ioctl+0x57/0x7a
[<ffffffff810e6e83>] ? sys_writev+0x5d/0x90
[<ffffffff8100bb6b>] system_call_fastpath+0x16/0x1b

here remap_spte is my function which calls __direct_map to map gfn of
guest2 to pfn mapped to gfn of guest 1.

I cannot understand what is going wrong.Could anyone please help me
with this by giving some pointers about where to I had gone wrong?

Thanks,
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux