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;
}
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 = {
--
2.11.0
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>
--
Thanks.
-- Max
© 2016 - 2025 Red Hat, Inc.