[Qemu-devel] [PATCH] target/xtensa: xtfpga: provide default memory sizes

Max Filippov posted 1 patch 5 years, 5 months ago
Test asan passed
Test checkpatch passed
Test docker-quick@centos7 passed
Test docker-mingw@fedora passed
Test docker-clang@ubuntu passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20181120203811.18406-1-jcmvbkbc@gmail.com
There is a newer version of this series
hw/xtensa/xtfpga.c | 8 ++++++++
1 file changed, 8 insertions(+)
[Qemu-devel] [PATCH] target/xtensa: xtfpga: provide default memory sizes
Posted by Max Filippov 5 years, 5 months ago
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;
 }
 
 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 = {
-- 
2.11.0


Re: [Qemu-devel] [PATCH] target/xtensa: xtfpga: provide default memory sizes
Posted by Philippe Mathieu-Daudé 5 years, 5 months ago
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.

Re: [Qemu-devel] [PATCH] target/xtensa: xtfpga: provide default memory sizes
Posted by Max Filippov 5 years, 5 months ago
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.

-- 
Thanks.
-- Max

Re: [Qemu-devel] [PATCH] target/xtensa: xtfpga: provide default memory sizes
Posted by Philippe Mathieu-Daudé 5 years, 5 months ago
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.