Signed-off-by: Michael Ellerman <mich...@ellerman.id.au>
---
 tools/kvm/powerpc/cpu_info.c |    7 -------
 tools/kvm/powerpc/cpu_info.h |    2 --
 tools/kvm/powerpc/kvm.c      |    7 ++++---
 3 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/tools/kvm/powerpc/cpu_info.c b/tools/kvm/powerpc/cpu_info.c
index 1cfb50d..82a9d4f 100644
--- a/tools/kvm/powerpc/cpu_info.c
+++ b/tools/kvm/powerpc/cpu_info.c
@@ -23,13 +23,8 @@
 
 /* POWER7 */
 
-/* POWER7 has 1T segments, so advertise these */
-static u32 power7_segment_sizes_prop[] = {0x1c, 0x28, 0xffffffff, 0xffffffff};
-
 static struct cpu_info cpu_power7_info = {
        .name = "POWER7",
-       .segment_sizes_prop = power7_segment_sizes_prop,
-       .segment_sizes_prop_len = sizeof(power7_segment_sizes_prop),
        .slb_size = 32,
        .tb_freq = 512000000,
        .d_bsize = 128,
@@ -44,8 +39,6 @@ static struct cpu_info cpu_power7_info = {
 
 static struct cpu_info cpu_970_info = {
        .name = "G5",
-       .segment_sizes_prop = NULL /* no segment sizes prop, use defaults */,
-       .segment_sizes_prop_len = 0,
        .slb_size = 0,
        .tb_freq = 33333333,
        .d_bsize = 128,
diff --git a/tools/kvm/powerpc/cpu_info.h b/tools/kvm/powerpc/cpu_info.h
index 9da6afe..00b9436b 100644
--- a/tools/kvm/powerpc/cpu_info.h
+++ b/tools/kvm/powerpc/cpu_info.h
@@ -19,8 +19,6 @@
 
 struct cpu_info {
        const char      *name;
-       u32             *segment_sizes_prop;
-       u32             segment_sizes_prop_len;
        u32             slb_size;
        u32             tb_freq; /* timebase frequency */
        u32             d_bsize; /* d-cache block size */
diff --git a/tools/kvm/powerpc/kvm.c b/tools/kvm/powerpc/kvm.c
index 293812a..8353355 100644
--- a/tools/kvm/powerpc/kvm.c
+++ b/tools/kvm/powerpc/kvm.c
@@ -299,6 +299,7 @@ static void setup_fdt(struct kvm *kvm)
        u8              staging_fdt[FDT_MAX_SIZE];
        struct cpu_info *cpu_info = find_cpu_info(kvm);
        struct fdt_prop segment_page_sizes;
+       u32 segment_sizes_1T[] = {0x1c, 0x28, 0xffffffff, 0xffffffff};
 
        /* Generate an appropriate DT at kvm->fdt_gra */
        void *fdt_dest = guest_flat_to_host(kvm, kvm->fdt_gra);
@@ -424,10 +425,10 @@ static void setup_fdt(struct kvm *kvm)
                                          segment_page_sizes.value,
                                          segment_page_sizes.size));
 
-               if (cpu_info->segment_sizes_prop)
+               if (cpu_info->mmu_info.flags & KVM_PPC_1T_SEGMENTS)
                        _FDT(fdt_property(fdt, "ibm,processor-segment-sizes",
-                                         cpu_info->segment_sizes_prop,
-                                         cpu_info->segment_sizes_prop_len));
+                                         segment_sizes_1T, 
sizeof(segment_sizes_1T)));
+
                /* VSX / DFP options: */
                if (cpu_info->flags & CPUINFO_FLAG_VMX)
                        _FDT(fdt_property_cell(fdt, "ibm,vmx",
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to