Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 297151
b: refs/heads/master
c: fb03cb6
h: refs/heads/master
i:
  297149: a1363a3
  297147: 3a3a458
  297143: 7c556f9
  297135: 5d6310a
  297119: 61458c0
  297087: 5cf3a84
v: v3
  • Loading branch information
Takuya Yoshikawa authored and Avi Kivity committed Mar 8, 2012
1 parent c568a08 commit 622af67
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9eed0735ca6a5cf386a4998ad4b6d52d1e29353f
refs/heads/master: fb03cb6f44236f4bef62a0dda8e025ff5ca51417
3 changes: 1 addition & 2 deletions trunk/arch/x86/kvm/mmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -688,8 +688,7 @@ static struct kvm_lpage_info *lpage_info_slot(gfn_t gfn,
{
unsigned long idx;

idx = (gfn >> KVM_HPAGE_GFN_SHIFT(level)) -
(slot->base_gfn >> KVM_HPAGE_GFN_SHIFT(level));
idx = gfn_to_index(gfn, slot->base_gfn, level);
return &slot->lpage_info[level - 2][idx];
}

Expand Down
7 changes: 7 additions & 0 deletions trunk/include/linux/kvm_host.h
Original file line number Diff line number Diff line change
Expand Up @@ -681,6 +681,13 @@ static inline int memslot_id(struct kvm *kvm, gfn_t gfn)
return gfn_to_memslot(kvm, gfn)->id;
}

static inline gfn_t gfn_to_index(gfn_t gfn, gfn_t base_gfn, int level)
{
/* KVM_HPAGE_GFN_SHIFT(PT_PAGE_TABLE_LEVEL) must be 0. */
return (gfn >> KVM_HPAGE_GFN_SHIFT(level)) -
(base_gfn >> KVM_HPAGE_GFN_SHIFT(level));
}

static inline unsigned long gfn_to_hva_memslot(struct kvm_memory_slot *slot,
gfn_t gfn)
{
Expand Down
7 changes: 1 addition & 6 deletions trunk/virt/kvm/kvm_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -784,15 +784,10 @@ int __kvm_set_memory_region(struct kvm *kvm,
int lpages;
int level = i + 2;

/* Avoid unused variable warning if no large pages */
(void)level;

if (new.lpage_info[i])
continue;

lpages = 1 + ((base_gfn + npages - 1)
>> KVM_HPAGE_GFN_SHIFT(level));
lpages -= base_gfn >> KVM_HPAGE_GFN_SHIFT(level);
lpages = gfn_to_index(base_gfn + npages - 1, base_gfn, level) + 1;

new.lpage_info[i] = vzalloc(lpages * sizeof(*new.lpage_info[i]));

Expand Down

0 comments on commit 622af67

Please sign in to comment.