[Qemu-devel] [PATCH for-2.12] hw/arm/bcm2836: Use the Cortex-A7 instead of Cortex-A15

Peter Maydell posted 1 patch 7 years, 7 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20180319110215.16755-1-peter.maydell@linaro.org
Test checkpatch passed
Test docker-build@min-glib passed
Test docker-mingw@fedora passed
Test docker-quick@centos6 passed
Test s390x passed
hw/arm/bcm2836.c | 2 +-
hw/arm/raspi.c   | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
[Qemu-devel] [PATCH for-2.12] hw/arm/bcm2836: Use the Cortex-A7 instead of Cortex-A15
Posted by Peter Maydell 7 years, 7 months ago
The BCM2836 uses a Cortex-A7, not a Cortex-A15. Update the device to
use the correct CPU.
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2836/QA7_rev3.4.pdf

When the BCM2836 was introduced (bad5623690b) the Cortex-A7 was not
available, so the very similar Cortex-A15 was used. Since dcf578ed8ce
we can model the correct core.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
This was originally done by a patch from Alistair:
http://lists.nongnu.org/archive/html/qemu-devel/2018-02/msg00311.html

The refactor of bcm2836 means the code is different, but I'm using
the same commit message.

Based-on: <20180313153458.26822-1-peter.maydell@linaro.org>

---
 hw/arm/bcm2836.c | 2 +-
 hw/arm/raspi.c   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c
index 25e74b67d9..8c1e707d9c 100644
--- a/hw/arm/bcm2836.c
+++ b/hw/arm/bcm2836.c
@@ -32,7 +32,7 @@ struct BCM283XInfo {
 static const BCM283XInfo bcm283x_socs[] = {
     {
         .name = TYPE_BCM2836,
-        .cpu_type = ARM_CPU_TYPE_NAME("cortex-a15"),
+        .cpu_type = ARM_CPU_TYPE_NAME("cortex-a7"),
         .clusterid = 0xf,
     },
     {
diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
index 06f1e08ca9..955a7c4e80 100644
--- a/hw/arm/raspi.c
+++ b/hw/arm/raspi.c
@@ -226,7 +226,7 @@ static void raspi2_machine_init(MachineClass *mc)
     mc->no_parallel = 1;
     mc->no_floppy = 1;
     mc->no_cdrom = 1;
-    mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a15");
+    mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a7");
     mc->max_cpus = BCM283X_NCPUS;
     mc->min_cpus = BCM283X_NCPUS;
     mc->default_cpus = BCM283X_NCPUS;
-- 
2.16.2


Re: [Qemu-devel] [PATCH for-2.12] hw/arm/bcm2836: Use the Cortex-A7 instead of Cortex-A15
Posted by Alistair Francis 7 years, 7 months ago
n Mon, Mar 19, 2018 at 9:02 PM, Peter Maydell <peter.maydell@linaro.org> wrote:
> The BCM2836 uses a Cortex-A7, not a Cortex-A15. Update the device to
> use the correct CPU.
> https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2836/QA7_rev3.4.pdf
>
> When the BCM2836 was introduced (bad5623690b) the Cortex-A7 was not
> available, so the very similar Cortex-A15 was used. Since dcf578ed8ce
> we can model the correct core.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Alistair Francis <alistair@alistair23.me>

Alistair

> ---
> This was originally done by a patch from Alistair:
> http://lists.nongnu.org/archive/html/qemu-devel/2018-02/msg00311.html
>
> The refactor of bcm2836 means the code is different, but I'm using
> the same commit message.
>
> Based-on: <20180313153458.26822-1-peter.maydell@linaro.org>
>
> ---
>  hw/arm/bcm2836.c | 2 +-
>  hw/arm/raspi.c   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c
> index 25e74b67d9..8c1e707d9c 100644
> --- a/hw/arm/bcm2836.c
> +++ b/hw/arm/bcm2836.c
> @@ -32,7 +32,7 @@ struct BCM283XInfo {
>  static const BCM283XInfo bcm283x_socs[] = {
>      {
>          .name = TYPE_BCM2836,
> -        .cpu_type = ARM_CPU_TYPE_NAME("cortex-a15"),
> +        .cpu_type = ARM_CPU_TYPE_NAME("cortex-a7"),
>          .clusterid = 0xf,
>      },
>      {
> diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
> index 06f1e08ca9..955a7c4e80 100644
> --- a/hw/arm/raspi.c
> +++ b/hw/arm/raspi.c
> @@ -226,7 +226,7 @@ static void raspi2_machine_init(MachineClass *mc)
>      mc->no_parallel = 1;
>      mc->no_floppy = 1;
>      mc->no_cdrom = 1;
> -    mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a15");
> +    mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a7");
>      mc->max_cpus = BCM283X_NCPUS;
>      mc->min_cpus = BCM283X_NCPUS;
>      mc->default_cpus = BCM283X_NCPUS;
> --
> 2.16.2
>
>

Re: [Qemu-devel] [Qemu-arm] [PATCH for-2.12] hw/arm/bcm2836: Use the Cortex-A7 instead of Cortex-A15
Posted by Philippe Mathieu-Daudé 7 years, 7 months ago
On 03/19/2018 12:02 PM, Peter Maydell wrote:
> The BCM2836 uses a Cortex-A7, not a Cortex-A15. Update the device to
> use the correct CPU.
> https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2836/QA7_rev3.4.pdf
> 
> When the BCM2836 was introduced (bad5623690b) the Cortex-A7 was not
> available, so the very similar Cortex-A15 was used. Since dcf578ed8ce
> we can model the correct core.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> ---
> This was originally done by a patch from Alistair:
> http://lists.nongnu.org/archive/html/qemu-devel/2018-02/msg00311.html
> 
> The refactor of bcm2836 means the code is different, but I'm using
> the same commit message.
> 
> Based-on: <20180313153458.26822-1-peter.maydell@linaro.org>
> 
> ---
>  hw/arm/bcm2836.c | 2 +-
>  hw/arm/raspi.c   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c
> index 25e74b67d9..8c1e707d9c 100644
> --- a/hw/arm/bcm2836.c
> +++ b/hw/arm/bcm2836.c
> @@ -32,7 +32,7 @@ struct BCM283XInfo {
>  static const BCM283XInfo bcm283x_socs[] = {
>      {
>          .name = TYPE_BCM2836,
> -        .cpu_type = ARM_CPU_TYPE_NAME("cortex-a15"),
> +        .cpu_type = ARM_CPU_TYPE_NAME("cortex-a7"),
>          .clusterid = 0xf,
>      },
>      {
> diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
> index 06f1e08ca9..955a7c4e80 100644
> --- a/hw/arm/raspi.c
> +++ b/hw/arm/raspi.c
> @@ -226,7 +226,7 @@ static void raspi2_machine_init(MachineClass *mc)
>      mc->no_parallel = 1;
>      mc->no_floppy = 1;
>      mc->no_cdrom = 1;
> -    mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a15");
> +    mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a7");
>      mc->max_cpus = BCM283X_NCPUS;
>      mc->min_cpus = BCM283X_NCPUS;
>      mc->default_cpus = BCM283X_NCPUS;
> 

Re: [Qemu-devel] [Qemu-arm] [PATCH for-2.12] hw/arm/bcm2836: Use the Cortex-A7 instead of Cortex-A15
Posted by Philippe Mathieu-Daudé 7 years, 7 months ago
On 03/19/2018 12:02 PM, Peter Maydell wrote:
> The BCM2836 uses a Cortex-A7, not a Cortex-A15. Update the device to
> use the correct CPU.
> https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2836/QA7_rev3.4.pdf
> 
> When the BCM2836 was introduced (bad5623690b) the Cortex-A7 was not
> available, so the very similar Cortex-A15 was used. Since dcf578ed8ce
> we can model the correct core.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> ---
> This was originally done by a patch from Alistair:
> http://lists.nongnu.org/archive/html/qemu-devel/2018-02/msg00311.html
> 
> The refactor of bcm2836 means the code is different, but I'm using
> the same commit message.
> 
> Based-on: <20180313153458.26822-1-peter.maydell@linaro.org>
> 
> ---
>  hw/arm/bcm2836.c | 2 +-
>  hw/arm/raspi.c   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c
> index 25e74b67d9..8c1e707d9c 100644
> --- a/hw/arm/bcm2836.c
> +++ b/hw/arm/bcm2836.c
> @@ -32,7 +32,7 @@ struct BCM283XInfo {
>  static const BCM283XInfo bcm283x_socs[] = {
>      {
>          .name = TYPE_BCM2836,
> -        .cpu_type = ARM_CPU_TYPE_NAME("cortex-a15"),
> +        .cpu_type = ARM_CPU_TYPE_NAME("cortex-a7"),
>          .clusterid = 0xf,
>      },
>      {
> diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
> index 06f1e08ca9..955a7c4e80 100644
> --- a/hw/arm/raspi.c
> +++ b/hw/arm/raspi.c
> @@ -226,7 +226,7 @@ static void raspi2_machine_init(MachineClass *mc)
>      mc->no_parallel = 1;
>      mc->no_floppy = 1;
>      mc->no_cdrom = 1;
> -    mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a15");
> +    mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a7");
>      mc->max_cpus = BCM283X_NCPUS;
>      mc->min_cpus = BCM283X_NCPUS;
>      mc->default_cpus = BCM283X_NCPUS;
>