diff mbox

[v5,22/37] hw/arm/virt: Add support for Cortex-A57

Message ID 1396023024-2262-23-git-send-email-peter.maydell@linaro.org
State Superseded
Headers show

Commit Message

Peter Maydell March 28, 2014, 4:10 p.m. UTC
Support the Cortex-A57 in the virt machine model.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
This should perhaps not be just stealing the a15mpcore_priv
on the basis that it's a GICv2...
---
 hw/arm/virt.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Peter Crosthwaite April 14, 2014, 6:10 a.m. UTC | #1
On Sat, Mar 29, 2014 at 2:10 AM, Peter Maydell <peter.maydell@linaro.org> wrote:
> Support the Cortex-A57 in the virt machine model.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> This should perhaps not be just stealing the a15mpcore_priv
> on the basis that it's a GICv2...

Yeh, I still think its a minimal change to just instantiate a standalone gic.

Regards,
Peter

> ---
>  hw/arm/virt.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index 2bbc931..8b23a2c 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -123,6 +123,14 @@ static VirtBoardInfo machines[] = {
>          .irqmap = a15irqmap,
>      },
>      {
> +        .cpu_model = "cortex-a57",
> +        /* Use the A15 private peripheral model for now: probably wrong! */
> +        .qdevname = "a15mpcore_priv",
> +        .gic_compatible = "arm,cortex-a15-gic",
> +        .memmap = a15memmap,
> +        .irqmap = a15irqmap,
> +    },
> +    {
>          .cpu_model = "host",
>          /* We use the A15 private peripheral model to get a V2 GIC */
>          .qdevname = "a15mpcore_priv",
> --
> 1.9.0
>
>
Peter Maydell April 14, 2014, 11:33 a.m. UTC | #2
On 14 April 2014 07:10, Peter Crosthwaite <peter.crosthwaite@xilinx.com> wrote:
> On Sat, Mar 29, 2014 at 2:10 AM, Peter Maydell <peter.maydell@linaro.org> wrote:
>> Support the Cortex-A57 in the virt machine model.
>>
>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>> ---
>> This should perhaps not be just stealing the a15mpcore_priv
>> on the basis that it's a GICv2...
>
> Yeh, I still think its a minimal change to just instantiate a standalone gic.

I think a standalone GIC would be really awkward in virt.c,
but I'm inclined towards having an a57mpcore_priv which
provides a 64K-aligned GICv2 (ie, as per the server base
system architecture doc, the 4K GIC register banks get
aliased so they appear 16 times in a 64K space).

thanks
-- PMM
diff mbox

Patch

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 2bbc931..8b23a2c 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -123,6 +123,14 @@  static VirtBoardInfo machines[] = {
         .irqmap = a15irqmap,
     },
     {
+        .cpu_model = "cortex-a57",
+        /* Use the A15 private peripheral model for now: probably wrong! */
+        .qdevname = "a15mpcore_priv",
+        .gic_compatible = "arm,cortex-a15-gic",
+        .memmap = a15memmap,
+        .irqmap = a15irqmap,
+    },
+    {
         .cpu_model = "host",
         /* We use the A15 private peripheral model to get a V2 GIC */
         .qdevname = "a15mpcore_priv",