It implements essentially the same logic. The one difference is it sets
MAP_NORESERVE when using anonymous mmap, but I think that is OK.

Reword the comment about hugetblfs, we are no longer required to use
hugepages to back the guest.

Signed-off-by: Michael Ellerman <mich...@ellerman.id.au>
---
 tools/kvm/powerpc/kvm.c |   20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/tools/kvm/powerpc/kvm.c b/tools/kvm/powerpc/kvm.c
index cbc0d8f..0d8a9da 100644
--- a/tools/kvm/powerpc/kvm.c
+++ b/tools/kvm/powerpc/kvm.c
@@ -97,20 +97,12 @@ void kvm__arch_init(struct kvm *kvm, const char 
*hugetlbfs_path, u64 ram_size)
 
        kvm->ram_size           = ram_size;
 
-       /*
-        * Currently, HV-mode PPC64 SPAPR requires that we map from hugetlfs.
-        * Allow a 'default' option to assist.
-        * PR-mode does not require this.
-        */
-       if (hugetlbfs_path) {
-               if (!strcmp(hugetlbfs_path, "default"))
-                       hugetlbfs_path = HUGETLBFS_PATH;
-               kvm->ram_start = mmap_hugetlbfs(hugetlbfs_path, kvm->ram_size);
-       } else {
-               kvm->ram_start = mmap(0, kvm->ram_size, PROT_READ | PROT_WRITE,
-                                     MAP_ANON | MAP_PRIVATE,
-                                     -1, 0);
-       }
+       /* Map "default" hugetblfs path to the standard 16M mount point */
+       if (hugetlbfs_path && !strcmp(hugetlbfs_path, "default"))
+               hugetlbfs_path = HUGETLBFS_PATH;
+
+       kvm->ram_start = mmap_anon_or_hugetlbfs(hugetlbfs_path, kvm->ram_size);
+
        if (kvm->ram_start == MAP_FAILED)
                die("Couldn't map %lld bytes for RAM (%d)\n",
                    kvm->ram_size, errno);
-- 
1.7.9.5

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

Reply via email to