Message ID | 20181121122910.20631-1-jcmvbkbc@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] target/xtensa: xtfpga: provide default memory sizes | expand |
On 21/11/18 13:29, Max Filippov wrote: > Provide default RAM sizes for all XTFPGA boards, so that when started > without -m option they do the right thing. > > Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> > --- > Changes v1->v2: > - fix memory sizes for ml605 and kc705 with MMU > > hw/xtensa/xtfpga.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c > index b3161de32093..f9d41c5d1875 100644 > --- a/hw/xtensa/xtfpga.c > +++ b/hw/xtensa/xtfpga.c > @@ -568,6 +568,7 @@ static void xtfpga_lx60_class_init(ObjectClass *oc, void *data) > mc->init = xtfpga_lx60_init; > mc->max_cpus = 4; > mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE; > + mc->default_ram_size = 64 * MiB; > } > > static const TypeInfo xtfpga_lx60_type = { > @@ -584,6 +585,7 @@ static void xtfpga_lx60_nommu_class_init(ObjectClass *oc, void *data) > mc->init = xtfpga_lx60_nommu_init; > mc->max_cpus = 4; > mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE; > + mc->default_ram_size = 64 * MiB; > } > > static const TypeInfo xtfpga_lx60_nommu_type = { > @@ -600,6 +602,7 @@ static void xtfpga_lx200_class_init(ObjectClass *oc, void *data) > mc->init = xtfpga_lx200_init; > mc->max_cpus = 4; > mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE; > + mc->default_ram_size = 96 * MiB; > } > > static const TypeInfo xtfpga_lx200_type = { > @@ -616,6 +619,7 @@ static void xtfpga_lx200_nommu_class_init(ObjectClass *oc, void *data) > mc->init = xtfpga_lx200_nommu_init; > mc->max_cpus = 4; > mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE; > + mc->default_ram_size = 96 * MiB; > } > > static const TypeInfo xtfpga_lx200_nommu_type = { > @@ -632,6 +636,7 @@ static void xtfpga_ml605_class_init(ObjectClass *oc, void *data) > mc->init = xtfpga_ml605_init; > mc->max_cpus = 4; > mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE; > + mc->default_ram_size = 384 * MiB; Hmm this is now correct but I feel we are hidding information to further reviewers/developers. Without reading your v1 comment and looking at the new code I'd wonder why 384 and not 512. What about adding a definition such: #define XTENSA_CPU_MMU_RESERVED_IO_SIZE (128 * MiB) Then use: mc->default_ram_size = 512 * MiB - XTENSA_CPU_MMU_RESERVED_IO_SIZE; > } > > static const TypeInfo xtfpga_ml605_type = { > @@ -648,6 +653,7 @@ static void xtfpga_ml605_nommu_class_init(ObjectClass *oc, void *data) > mc->init = xtfpga_ml605_nommu_init; > mc->max_cpus = 4; > mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE; > + mc->default_ram_size = 256 * MiB; > } > > static const TypeInfo xtfpga_ml605_nommu_type = { > @@ -664,6 +670,7 @@ static void xtfpga_kc705_class_init(ObjectClass *oc, void *data) > mc->init = xtfpga_kc705_init; > mc->max_cpus = 4; > mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE; > + mc->default_ram_size = 896 * MiB; Ditto: mc->default_ram_size = 1 * GiB - XTENSA_CPU_MMU_RESERVED_IO_SIZE; > } > > static const TypeInfo xtfpga_kc705_type = { > @@ -680,6 +687,7 @@ static void xtfpga_kc705_nommu_class_init(ObjectClass *oc, void *data) > mc->init = xtfpga_kc705_nommu_init; > mc->max_cpus = 4; > mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE; > + mc->default_ram_size = 256 * MiB; > } > > static const TypeInfo xtfpga_kc705_nommu_type = { > If this patch goes thru your tree and you agree with the suggested changes, then you can directly add: Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Regards, Phil.
On Wed, Nov 21, 2018 at 10:34 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > > static const TypeInfo xtfpga_lx200_nommu_type = { > > @@ -632,6 +636,7 @@ static void xtfpga_ml605_class_init(ObjectClass *oc, void *data) > > mc->init = xtfpga_ml605_init; > > mc->max_cpus = 4; > > mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE; > > + mc->default_ram_size = 384 * MiB; > > Hmm this is now correct but I feel we are hiding information to further > reviewers/developers. Without reading your v1 comment and looking at the > new code I'd wonder why 384 and not 512. > > What about adding a definition such: > > #define XTENSA_CPU_MMU_RESERVED_IO_SIZE (128 * MiB) > > Then use: > > mc->default_ram_size = 512 * MiB - XTENSA_CPU_MMU_RESERVED_IO_SIZE; I'm not sure what's the reason that 128MB are reserved, and I'm sure it's not a property of the CPU, but rather how it's wired to the board. I'll call it XTFPGA_MMU_RESERVED_MEMORY_SIZE in the v3. > If this patch goes thru your tree and you agree with the suggested > changes, then you can directly add: > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c index b3161de32093..f9d41c5d1875 100644 --- a/hw/xtensa/xtfpga.c +++ b/hw/xtensa/xtfpga.c @@ -568,6 +568,7 @@ static void xtfpga_lx60_class_init(ObjectClass *oc, void *data) mc->init = xtfpga_lx60_init; mc->max_cpus = 4; mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE; + mc->default_ram_size = 64 * MiB; } static const TypeInfo xtfpga_lx60_type = { @@ -584,6 +585,7 @@ static void xtfpga_lx60_nommu_class_init(ObjectClass *oc, void *data) mc->init = xtfpga_lx60_nommu_init; mc->max_cpus = 4; mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE; + mc->default_ram_size = 64 * MiB; } static const TypeInfo xtfpga_lx60_nommu_type = { @@ -600,6 +602,7 @@ static void xtfpga_lx200_class_init(ObjectClass *oc, void *data) mc->init = xtfpga_lx200_init; mc->max_cpus = 4; mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE; + mc->default_ram_size = 96 * MiB; } static const TypeInfo xtfpga_lx200_type = { @@ -616,6 +619,7 @@ static void xtfpga_lx200_nommu_class_init(ObjectClass *oc, void *data) mc->init = xtfpga_lx200_nommu_init; mc->max_cpus = 4; mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE; + mc->default_ram_size = 96 * MiB; } static const TypeInfo xtfpga_lx200_nommu_type = { @@ -632,6 +636,7 @@ static void xtfpga_ml605_class_init(ObjectClass *oc, void *data) mc->init = xtfpga_ml605_init; mc->max_cpus = 4; mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE; + mc->default_ram_size = 384 * MiB; } static const TypeInfo xtfpga_ml605_type = { @@ -648,6 +653,7 @@ static void xtfpga_ml605_nommu_class_init(ObjectClass *oc, void *data) mc->init = xtfpga_ml605_nommu_init; mc->max_cpus = 4; mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE; + mc->default_ram_size = 256 * MiB; } static const TypeInfo xtfpga_ml605_nommu_type = { @@ -664,6 +670,7 @@ static void xtfpga_kc705_class_init(ObjectClass *oc, void *data) mc->init = xtfpga_kc705_init; mc->max_cpus = 4; mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE; + mc->default_ram_size = 896 * MiB; } static const TypeInfo xtfpga_kc705_type = { @@ -680,6 +687,7 @@ static void xtfpga_kc705_nommu_class_init(ObjectClass *oc, void *data) mc->init = xtfpga_kc705_nommu_init; mc->max_cpus = 4; mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE; + mc->default_ram_size = 256 * MiB; } static const TypeInfo xtfpga_kc705_nommu_type = {
Provide default RAM sizes for all XTFPGA boards, so that when started without -m option they do the right thing. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> --- Changes v1->v2: - fix memory sizes for ml605 and kc705 with MMU hw/xtensa/xtfpga.c | 8 ++++++++ 1 file changed, 8 insertions(+)