diff mbox series

[2/2] hw/arm/sbsa-ref: add GIC ITS to DeviceTree

Message ID 20230606182414.637467-3-marcin.juszkiewicz@linaro.org (mailing list archive)
State New, archived
Headers show
Series hw/arm/sbsa-ref: add ITS support in GIC | expand

Commit Message

Marcin Juszkiewicz June 6, 2023, 6:24 p.m. UTC
We need GIC ITS information in DeviceTree so TF-A can pass it to EDK2.

Bumping platform version to 0.2 as this is important hardware change.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>

---
 hw/arm/sbsa-ref.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

Comments

Peter Maydell June 19, 2023, 12:55 p.m. UTC | #1
On Tue, 6 Jun 2023 at 19:24, Marcin Juszkiewicz
<marcin.juszkiewicz@linaro.org> wrote:
>
> We need GIC ITS information in DeviceTree so TF-A can pass it to EDK2.
>
> Bumping platform version to 0.2 as this is important hardware change.
>
> Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
>
> ---
>  hw/arm/sbsa-ref.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c
> index 1520cd598c..2bd9e370a7 100644
> --- a/hw/arm/sbsa-ref.c
> +++ b/hw/arm/sbsa-ref.c
> @@ -183,8 +183,15 @@ static void sbsa_fdt_add_gic_node(SBSAMachineState *sms)
>                                   2, sbsa_ref_memmap[SBSA_GIC_REDIST].base,
>                                   2, sbsa_ref_memmap[SBSA_GIC_REDIST].size);
>
> +    nodename = g_strdup_printf("/intc/its");
> +    qemu_fdt_add_subnode(sms->fdt, nodename);
> +    qemu_fdt_setprop_sized_cells(sms->fdt, nodename, "reg",
> +                                 2, sbsa_ref_memmap[SBSA_GIC_ITS].base,
> +                                 2, sbsa_ref_memmap[SBSA_GIC_ITS].size);
> +
>      g_free(nodename);
>  }
> +
>  /*
>   * Firmware on this machine only uses ACPI table to load OS, these limited
>   * device tree nodes are just to let firmware know the info which varies from
> @@ -221,7 +228,7 @@ static void create_fdt(SBSAMachineState *sms)
>       *                        fw compatibility.
>       */
>      qemu_fdt_setprop_cell(fdt, "/", "machine-version-major", 0);
> -    qemu_fdt_setprop_cell(fdt, "/", "machine-version-minor", 1);
> +    qemu_fdt_setprop_cell(fdt, "/", "machine-version-minor", 2);
>
>      if (ms->numa_state->have_numa_distance) {
>          int size = nb_numa_nodes * nb_numa_nodes * 3 * sizeof(uint32_t);

We should fold this patch into the previous one.

If we are bumping the version-minor, we should add something
to the documentation that says what the difference between
0.1 and 0.2 is. (And if we can remember what 0.0 was that
would be worth noting.)

thanks
-- PMM
Marcin Juszkiewicz June 19, 2023, 1:27 p.m. UTC | #2
W dniu 19.06.2023 o 14:55, Peter Maydell pisze:
> On Tue, 6 Jun 2023 at 19:24, Marcin Juszkiewicz
> <marcin.juszkiewicz@linaro.org> wrote:
>>
>> We need GIC ITS information in DeviceTree so TF-A can pass it to EDK2.
>>
>> Bumping platform version to 0.2 as this is important hardware change.


> We should fold this patch into the previous one.

Will do. With "Co-authored-by:" tag as ITS stuff was done by Shashi 
Mallela while I did DT part. And S-o-b too.

> If we are bumping the version-minor, we should add something
> to the documentation that says what the difference between
> 0.1 and 0.2 is. (And if we can remember what 0.0 was that
> would be worth noting.)

Will rebase on top of target-arm.next once you push it with 
documentation updates.
diff mbox series

Patch

diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c
index 1520cd598c..2bd9e370a7 100644
--- a/hw/arm/sbsa-ref.c
+++ b/hw/arm/sbsa-ref.c
@@ -183,8 +183,15 @@  static void sbsa_fdt_add_gic_node(SBSAMachineState *sms)
                                  2, sbsa_ref_memmap[SBSA_GIC_REDIST].base,
                                  2, sbsa_ref_memmap[SBSA_GIC_REDIST].size);
 
+    nodename = g_strdup_printf("/intc/its");
+    qemu_fdt_add_subnode(sms->fdt, nodename);
+    qemu_fdt_setprop_sized_cells(sms->fdt, nodename, "reg",
+                                 2, sbsa_ref_memmap[SBSA_GIC_ITS].base,
+                                 2, sbsa_ref_memmap[SBSA_GIC_ITS].size);
+
     g_free(nodename);
 }
+
 /*
  * Firmware on this machine only uses ACPI table to load OS, these limited
  * device tree nodes are just to let firmware know the info which varies from
@@ -221,7 +228,7 @@  static void create_fdt(SBSAMachineState *sms)
      *                        fw compatibility.
      */
     qemu_fdt_setprop_cell(fdt, "/", "machine-version-major", 0);
-    qemu_fdt_setprop_cell(fdt, "/", "machine-version-minor", 1);
+    qemu_fdt_setprop_cell(fdt, "/", "machine-version-minor", 2);
 
     if (ms->numa_state->have_numa_distance) {
         int size = nb_numa_nodes * nb_numa_nodes * 3 * sizeof(uint32_t);