KVM: introduce KVM_MEM_SLOTS_NUM macro
Introduce KVM_MEM_SLOTS_NUM macro to instead of KVM_MEMORY_SLOTS + KVM_PRIVATE_MEM_SLOTS Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
committed by
Avi Kivity
parent
ff227392cd
commit
93a5cef07d
@@ -31,6 +31,8 @@
|
|||||||
#define KVM_MEMORY_SLOTS 32
|
#define KVM_MEMORY_SLOTS 32
|
||||||
/* memory slots that does not exposed to userspace */
|
/* memory slots that does not exposed to userspace */
|
||||||
#define KVM_PRIVATE_MEM_SLOTS 4
|
#define KVM_PRIVATE_MEM_SLOTS 4
|
||||||
|
#define KVM_MEM_SLOTS_NUM (KVM_MEMORY_SLOTS + KVM_PRIVATE_MEM_SLOTS)
|
||||||
|
|
||||||
#define KVM_MMIO_SIZE 16
|
#define KVM_MMIO_SIZE 16
|
||||||
|
|
||||||
#define KVM_PIO_PAGE_OFFSET 1
|
#define KVM_PIO_PAGE_OFFSET 1
|
||||||
@@ -228,7 +230,7 @@ struct kvm_mmu_page {
|
|||||||
* One bit set per slot which has memory
|
* One bit set per slot which has memory
|
||||||
* in this shadow page.
|
* in this shadow page.
|
||||||
*/
|
*/
|
||||||
DECLARE_BITMAP(slot_bitmap, KVM_MEMORY_SLOTS + KVM_PRIVATE_MEM_SLOTS);
|
DECLARE_BITMAP(slot_bitmap, KVM_MEM_SLOTS_NUM);
|
||||||
bool unsync;
|
bool unsync;
|
||||||
int root_count; /* Currently serving as active root */
|
int root_count; /* Currently serving as active root */
|
||||||
unsigned int unsync_children;
|
unsigned int unsync_children;
|
||||||
|
@@ -1349,7 +1349,7 @@ static struct kvm_mmu_page *kvm_mmu_alloc_page(struct kvm_vcpu *vcpu,
|
|||||||
PAGE_SIZE);
|
PAGE_SIZE);
|
||||||
set_page_private(virt_to_page(sp->spt), (unsigned long)sp);
|
set_page_private(virt_to_page(sp->spt), (unsigned long)sp);
|
||||||
list_add(&sp->link, &vcpu->kvm->arch.active_mmu_pages);
|
list_add(&sp->link, &vcpu->kvm->arch.active_mmu_pages);
|
||||||
bitmap_zero(sp->slot_bitmap, KVM_MEMORY_SLOTS + KVM_PRIVATE_MEM_SLOTS);
|
bitmap_zero(sp->slot_bitmap, KVM_MEM_SLOTS_NUM);
|
||||||
sp->parent_ptes = 0;
|
sp->parent_ptes = 0;
|
||||||
mmu_page_add_parent_pte(vcpu, sp, parent_pte);
|
mmu_page_add_parent_pte(vcpu, sp, parent_pte);
|
||||||
kvm_mod_used_mmu_pages(vcpu->kvm, +1);
|
kvm_mod_used_mmu_pages(vcpu->kvm, +1);
|
||||||
|
@@ -227,11 +227,14 @@ struct kvm_irq_routing_table {};
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef KVM_MEM_SLOTS_NUM
|
||||||
|
#define KVM_MEM_SLOTS_NUM (KVM_MEMORY_SLOTS + KVM_PRIVATE_MEM_SLOTS)
|
||||||
|
#endif
|
||||||
|
|
||||||
struct kvm_memslots {
|
struct kvm_memslots {
|
||||||
int nmemslots;
|
int nmemslots;
|
||||||
u64 generation;
|
u64 generation;
|
||||||
struct kvm_memory_slot memslots[KVM_MEMORY_SLOTS +
|
struct kvm_memory_slot memslots[KVM_MEM_SLOTS_NUM];
|
||||||
KVM_PRIVATE_MEM_SLOTS];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct kvm {
|
struct kvm {
|
||||||
|
@@ -663,7 +663,7 @@ int __kvm_set_memory_region(struct kvm *kvm,
|
|||||||
(void __user *)(unsigned long)mem->userspace_addr,
|
(void __user *)(unsigned long)mem->userspace_addr,
|
||||||
mem->memory_size)))
|
mem->memory_size)))
|
||||||
goto out;
|
goto out;
|
||||||
if (mem->slot >= KVM_MEMORY_SLOTS + KVM_PRIVATE_MEM_SLOTS)
|
if (mem->slot >= KVM_MEM_SLOTS_NUM)
|
||||||
goto out;
|
goto out;
|
||||||
if (mem->guest_phys_addr + mem->memory_size < mem->guest_phys_addr)
|
if (mem->guest_phys_addr + mem->memory_size < mem->guest_phys_addr)
|
||||||
goto out;
|
goto out;
|
||||||
|
Reference in New Issue
Block a user