Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1296360
| Path | csiph.com!au2pb.net!2.us.feeder.erje.net!feeder.erje.net!1.eu.feeder.erje.net!feeder2.usenet.farm!eternal-september.org!feeder.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Al Viro <viro@ZenIV.linux.org.uk> |
| Newsgroups | linux.kernel |
| Subject | [POC][PATCH 24/83] ppc: keep ->hpt_virt as a pointer |
| Date | Tue, 22 Dec 2015 01:10:03 +0100 |
| Message-ID | <qIiGD-50N-29@gated-at.bofh.it> (permalink) |
| References | <qIing-4Eb-3@gated-at.bofh.it> |
| X-Original-To | linux-kernel@vger.kernel.org |
| X-Mailer | git-send-email 1.7.7.6 |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 100 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | Linus Torvalds <torvalds@linux-foundation.org> |
| X-Original-Date | Mon, 21 Dec 2015 23:46:57 +0000 |
| X-Original-Message-ID | <1450741676-5865-24-git-send-email-viro@ZenIV.linux.org.uk> |
| X-Original-References | <20151221234615.GW20997@ZenIV.linux.org.uk> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1296360 |
Show key headers only | View raw
From: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
arch/powerpc/include/asm/kvm_host.h | 2 +-
arch/powerpc/kvm/book3s_64_mmu_hv.c | 19 ++++++++++---------
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h
index cfa758c..224d71e 100644
--- a/arch/powerpc/include/asm/kvm_host.h
+++ b/arch/powerpc/include/asm/kvm_host.h
@@ -223,7 +223,7 @@ struct kvm_arch_memory_slot {
struct kvm_arch {
unsigned int lpid;
#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
- unsigned long hpt_virt;
+ void *hpt_virt;
struct revmap_entry *revmap;
unsigned int host_lpid;
unsigned long host_lpcr;
diff --git a/arch/powerpc/kvm/book3s_64_mmu_hv.c b/arch/powerpc/kvm/book3s_64_mmu_hv.c
index e398fdc..3dd6f8e 100644
--- a/arch/powerpc/kvm/book3s_64_mmu_hv.c
+++ b/arch/powerpc/kvm/book3s_64_mmu_hv.c
@@ -50,7 +50,7 @@ static void kvmppc_rmap_reset(struct kvm *kvm);
long kvmppc_alloc_hpt(struct kvm *kvm, u32 *htab_orderp)
{
- unsigned long hpt = 0;
+ void *hpt = NULL;
struct revmap_entry *rev;
struct page *page = NULL;
long order = KVM_DEFAULT_HPT_ORDER;
@@ -64,16 +64,17 @@ long kvmppc_alloc_hpt(struct kvm *kvm, u32 *htab_orderp)
kvm->arch.hpt_cma_alloc = 0;
page = kvm_alloc_hpt(1ul << (order - PAGE_SHIFT));
if (page) {
- hpt = (unsigned long)pfn_to_kaddr(page_to_pfn(page));
- memset((void *)hpt, 0, (1ul << order));
+ hpt = pfn_to_kaddr(page_to_pfn(page));
+ memset(hpt, 0, (1ul << order));
kvm->arch.hpt_cma_alloc = 1;
}
/* Lastly try successively smaller sizes from the page allocator */
/* Only do this if userspace didn't specify a size via ioctl */
while (!hpt && order > PPC_MIN_HPT_ORDER && !htab_orderp) {
- hpt = __get_free_pages(GFP_KERNEL|__GFP_ZERO|__GFP_REPEAT|
- __GFP_NOWARN, order - PAGE_SHIFT);
+ hpt = (void *)__get_free_pages(GFP_KERNEL|__GFP_ZERO|
+ __GFP_REPEAT| __GFP_NOWARN,
+ order - PAGE_SHIFT);
if (!hpt)
--order;
}
@@ -97,7 +98,7 @@ long kvmppc_alloc_hpt(struct kvm *kvm, u32 *htab_orderp)
kvm->arch.revmap = rev;
kvm->arch.sdr1 = __pa(hpt) | (order - 18);
- pr_info("KVM guest htab at %lx (order %ld), LPID %x\n",
+ pr_info("KVM guest htab at %p (order %ld), LPID %x\n",
hpt, order, kvm->arch.lpid);
if (htab_orderp)
@@ -108,7 +109,7 @@ long kvmppc_alloc_hpt(struct kvm *kvm, u32 *htab_orderp)
if (kvm->arch.hpt_cma_alloc)
kvm_release_hpt(page, 1 << (order - PAGE_SHIFT));
else
- free_pages((void *)hpt, order - PAGE_SHIFT);
+ free_pages(hpt, order - PAGE_SHIFT);
return -ENOMEM;
}
@@ -130,7 +131,7 @@ long kvmppc_alloc_reset_hpt(struct kvm *kvm, u32 *htab_orderp)
if (kvm->arch.hpt_virt) {
order = kvm->arch.hpt_order;
/* Set the entire HPT to 0, i.e. invalid HPTEs */
- memset((void *)kvm->arch.hpt_virt, 0, 1ul << order);
+ memset(kvm->arch.hpt_virt, 0, 1ul << order);
/*
* Reset all the reverse-mapping chains for all memslots
*/
@@ -156,7 +157,7 @@ void kvmppc_free_hpt(struct kvm *kvm)
kvm_release_hpt(virt_to_page(kvm->arch.hpt_virt),
1 << (kvm->arch.hpt_order - PAGE_SHIFT));
else
- free_pages((void *)kvm->arch.hpt_virt,
+ free_pages(kvm->arch.hpt_virt,
kvm->arch.hpt_order - PAGE_SHIFT);
}
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
[POC][PATCH 24/83] ppc: keep ->hpt_virt as a pointer Al Viro <viro@ZenIV.linux.org.uk> - 2015-12-22 01:10 +0100
csiph-web