Message ID | 20181120203811.18406-1-jcmvbkbc@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target/xtensa: xtfpga: provide default memory sizes | expand |
Hi Max, On 20/11/18 21:38, 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> > --- > hw/xtensa/xtfpga.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c > index b3161de32093..7c1421d5beb4 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 = 256 * MiB; Isn't it 512 MB for the ML605? > } > > 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; Ditto. > } > > 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 = 1 * GiB; > } > > 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 = { > Others looks OK. Regards, Phil.
Hi Philippe, thanks for your review. On Wed, Nov 21, 2018 at 4:00 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > On 20/11/18 21:38, Max Filippov 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 = 256 * MiB; > > Isn't it 512 MB for the ML605? There's 512MB on the board, but the Tensilica prototyping user's guide for the ML605 only documents 256MB in the memory map section. But now that you've mentioned it I recall that in reality both ML605 and KC705 had all onboard memory minus 128MB mapped for cores with MMU. > > } > > > > 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; > > Ditto. For noMMU cores there's only 256MB window available for the system memory, so it's capped at 256MB. I'll send an updated v2.
On 21/11/18 13:21, Max Filippov wrote: > Hi Philippe, > > thanks for your review. > > On Wed, Nov 21, 2018 at 4:00 AM Philippe Mathieu-Daudé > <philmd@redhat.com> wrote: >> On 20/11/18 21:38, Max Filippov 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 = 256 * MiB; >> >> Isn't it 512 MB for the ML605? > > There's 512MB on the board, but the Tensilica prototyping > user's guide for the ML605 only documents 256MB in the memory > map section. But now that you've mentioned it I recall that in reality > both ML605 and KC705 had all onboard memory minus 128MB > mapped for cores with MMU. > >>> } >>> >>> 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; >> >> Ditto. > > For noMMU cores there's only 256MB window available for > the system memory, so it's capped at 256MB. This totally makes sense. > > I'll send an updated v2. Thanks! Phil.
diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c index b3161de32093..7c1421d5beb4 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 = 256 * 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 = 1 * GiB; } 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> --- hw/xtensa/xtfpga.c | 8 ++++++++ 1 file changed, 8 insertions(+)