Message ID | ac9e5c1e3b571f0286a2ebcd955abfd7be5d7ac7.1487829585.git.sam.bobroff@au1.ibm.com |
---|---|
State | New |
Headers | show |
On Thu, Feb 23, 2017 at 05:00:03PM +1100, Sam Bobroff wrote: > In the next patch, spapr_fixup_cpu_dt() will need to call > spapr_populate_pa_features() so move it's definition up without making > any other changes. s/it's/its/ > > Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com> > --- > hw/ppc/spapr.c | 86 +++++++++++++++++++++++++++++----------------------------- > 1 file changed, 43 insertions(+), 43 deletions(-) > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > index dfee0f685f..0c0782b558 100644 > --- a/hw/ppc/spapr.c > +++ b/hw/ppc/spapr.c > @@ -194,6 +194,49 @@ static int spapr_fixup_cpu_numa_dt(void *fdt, int offset, CPUState *cs) > return ret; > } > > +/* Populate the "ibm,pa-features" property */ > +static void spapr_populate_pa_features(CPUPPCState *env, void *fdt, int offset) > +{ > + uint8_t pa_features_206[] = { 6, 0, > + 0xf6, 0x1f, 0xc7, 0x00, 0x80, 0xc0 }; > + uint8_t pa_features_207[] = { 24, 0, > + 0xf6, 0x1f, 0xc7, 0xc0, 0x80, 0xf0, > + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, > + 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, > + 0x80, 0x00, 0x80, 0x00, 0x00, 0x00 }; > + uint8_t *pa_features; > + size_t pa_size; > + > + switch (POWERPC_MMU_VER(env->mmu_model)) { > + case POWERPC_MMU_VER_2_06: > + pa_features = pa_features_206; > + pa_size = sizeof(pa_features_206); > + break; > + case POWERPC_MMU_VER_2_07: > + pa_features = pa_features_207; > + pa_size = sizeof(pa_features_207); > + break; > + default: > + return; > + } > + > + if (env->ci_large_pages) { > + /* > + * Note: we keep CI large pages off by default because a 64K capable > + * guest provisioned with large pages might otherwise try to map a qemu > + * framebuffer (or other kind of memory mapped PCI BAR) using 64K pages > + * even if that qemu runs on a 4k host. > + * We dd this bit back here if we are confident this is not an issue > + */ > + pa_features[3] |= 0x20; > + } > + if (kvmppc_has_cap_htm() && pa_size > 24) { > + pa_features[24] |= 0x80; /* Transactional memory support */ > + } > + > + _FDT((fdt_setprop(fdt, offset, "ibm,pa-features", pa_features, pa_size))); > +} > + > static int spapr_fixup_cpu_dt(void *fdt, sPAPRMachineState *spapr) > { > int ret = 0, offset, cpus_offset; > @@ -346,49 +389,6 @@ static int spapr_populate_memory(sPAPRMachineState *spapr, void *fdt) > return 0; > } > > -/* Populate the "ibm,pa-features" property */ > -static void spapr_populate_pa_features(CPUPPCState *env, void *fdt, int offset) > -{ > - uint8_t pa_features_206[] = { 6, 0, > - 0xf6, 0x1f, 0xc7, 0x00, 0x80, 0xc0 }; > - uint8_t pa_features_207[] = { 24, 0, > - 0xf6, 0x1f, 0xc7, 0xc0, 0x80, 0xf0, > - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, > - 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, > - 0x80, 0x00, 0x80, 0x00, 0x00, 0x00 }; > - uint8_t *pa_features; > - size_t pa_size; > - > - switch (POWERPC_MMU_VER(env->mmu_model)) { > - case POWERPC_MMU_VER_2_06: > - pa_features = pa_features_206; > - pa_size = sizeof(pa_features_206); > - break; > - case POWERPC_MMU_VER_2_07: > - pa_features = pa_features_207; > - pa_size = sizeof(pa_features_207); > - break; > - default: > - return; > - } > - > - if (env->ci_large_pages) { > - /* > - * Note: we keep CI large pages off by default because a 64K capable > - * guest provisioned with large pages might otherwise try to map a qemu > - * framebuffer (or other kind of memory mapped PCI BAR) using 64K pages > - * even if that qemu runs on a 4k host. > - * We dd this bit back here if we are confident this is not an issue > - */ > - pa_features[3] |= 0x20; > - } > - if (kvmppc_has_cap_htm() && pa_size > 24) { > - pa_features[24] |= 0x80; /* Transactional memory support */ > - } > - > - _FDT((fdt_setprop(fdt, offset, "ibm,pa-features", pa_features, pa_size))); > -} > - > static void spapr_populate_cpu_dt(CPUState *cs, void *fdt, int offset, > sPAPRMachineState *spapr) > {
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index dfee0f685f..0c0782b558 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -194,6 +194,49 @@ static int spapr_fixup_cpu_numa_dt(void *fdt, int offset, CPUState *cs) return ret; } +/* Populate the "ibm,pa-features" property */ +static void spapr_populate_pa_features(CPUPPCState *env, void *fdt, int offset) +{ + uint8_t pa_features_206[] = { 6, 0, + 0xf6, 0x1f, 0xc7, 0x00, 0x80, 0xc0 }; + uint8_t pa_features_207[] = { 24, 0, + 0xf6, 0x1f, 0xc7, 0xc0, 0x80, 0xf0, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x00, 0x00 }; + uint8_t *pa_features; + size_t pa_size; + + switch (POWERPC_MMU_VER(env->mmu_model)) { + case POWERPC_MMU_VER_2_06: + pa_features = pa_features_206; + pa_size = sizeof(pa_features_206); + break; + case POWERPC_MMU_VER_2_07: + pa_features = pa_features_207; + pa_size = sizeof(pa_features_207); + break; + default: + return; + } + + if (env->ci_large_pages) { + /* + * Note: we keep CI large pages off by default because a 64K capable + * guest provisioned with large pages might otherwise try to map a qemu + * framebuffer (or other kind of memory mapped PCI BAR) using 64K pages + * even if that qemu runs on a 4k host. + * We dd this bit back here if we are confident this is not an issue + */ + pa_features[3] |= 0x20; + } + if (kvmppc_has_cap_htm() && pa_size > 24) { + pa_features[24] |= 0x80; /* Transactional memory support */ + } + + _FDT((fdt_setprop(fdt, offset, "ibm,pa-features", pa_features, pa_size))); +} + static int spapr_fixup_cpu_dt(void *fdt, sPAPRMachineState *spapr) { int ret = 0, offset, cpus_offset; @@ -346,49 +389,6 @@ static int spapr_populate_memory(sPAPRMachineState *spapr, void *fdt) return 0; } -/* Populate the "ibm,pa-features" property */ -static void spapr_populate_pa_features(CPUPPCState *env, void *fdt, int offset) -{ - uint8_t pa_features_206[] = { 6, 0, - 0xf6, 0x1f, 0xc7, 0x00, 0x80, 0xc0 }; - uint8_t pa_features_207[] = { 24, 0, - 0xf6, 0x1f, 0xc7, 0xc0, 0x80, 0xf0, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, - 0x80, 0x00, 0x80, 0x00, 0x00, 0x00 }; - uint8_t *pa_features; - size_t pa_size; - - switch (POWERPC_MMU_VER(env->mmu_model)) { - case POWERPC_MMU_VER_2_06: - pa_features = pa_features_206; - pa_size = sizeof(pa_features_206); - break; - case POWERPC_MMU_VER_2_07: - pa_features = pa_features_207; - pa_size = sizeof(pa_features_207); - break; - default: - return; - } - - if (env->ci_large_pages) { - /* - * Note: we keep CI large pages off by default because a 64K capable - * guest provisioned with large pages might otherwise try to map a qemu - * framebuffer (or other kind of memory mapped PCI BAR) using 64K pages - * even if that qemu runs on a 4k host. - * We dd this bit back here if we are confident this is not an issue - */ - pa_features[3] |= 0x20; - } - if (kvmppc_has_cap_htm() && pa_size > 24) { - pa_features[24] |= 0x80; /* Transactional memory support */ - } - - _FDT((fdt_setprop(fdt, offset, "ibm,pa-features", pa_features, pa_size))); -} - static void spapr_populate_cpu_dt(CPUState *cs, void *fdt, int offset, sPAPRMachineState *spapr) {
In the next patch, spapr_fixup_cpu_dt() will need to call spapr_populate_pa_features() so move it's definition up without making any other changes. Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com> --- hw/ppc/spapr.c | 86 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 43 insertions(+), 43 deletions(-)