From: Jan Kiszka <[email protected]>

At this chance, move the jetson-tk1-inmate-demo from CPU 3 to 1,
avoiding the overlap with its linux-demo and aligning it with other
systems with 4 or more cores.

Signed-off-by: Jan Kiszka <[email protected]>
---
 configs/arm/bananapi-inmate-demo.c      | 10 ++++----
 configs/arm/bananapi-linux-demo.c       | 10 ++++----
 configs/arm/bananapi.c                  | 13 +++++++----
 configs/arm/emtrion-rzg1e-inmate-demo.c |  8 ++++---
 configs/arm/emtrion-rzg1e-linux-demo.c  |  8 ++++---
 configs/arm/emtrion-rzg1e.c             | 11 ++++++---
 configs/arm/emtrion-rzg1h-inmate-demo.c |  8 ++++---
 configs/arm/emtrion-rzg1h-linux-demo.c  |  8 ++++---
 configs/arm/emtrion-rzg1h.c             | 29 ++++++++++++++++++++---
 configs/arm/emtrion-rzg1m-inmate-demo.c |  8 ++++---
 configs/arm/emtrion-rzg1m-linux-demo.c  |  8 ++++---
 configs/arm/emtrion-rzg1m.c             | 11 ++++++---
 configs/arm/jetson-tk1-inmate-demo.c    | 10 ++++----
 configs/arm/jetson-tk1-linux-demo.c     | 13 +++++++----
 configs/arm/jetson-tk1.c                | 19 +++++++++++----
 configs/arm/orangepi0-inmate-demo.c     | 10 ++++----
 configs/arm/orangepi0-linux-demo.c      | 13 +++++++----
 configs/arm/orangepi0.c                 | 19 +++++++++++----
 configs/arm/qemu-arm-inmate-demo.c      | 10 ++++----
 configs/arm/qemu-arm-linux-demo.c       | 13 +++++++----
 configs/arm/qemu-arm.c                  | 31 +++++++++++++++++++++----
 21 files changed, 195 insertions(+), 75 deletions(-)

diff --git a/configs/arm/bananapi-inmate-demo.c 
b/configs/arm/bananapi-inmate-demo.c
index a83aff88..9d217ddf 100644
--- a/configs/arm/bananapi-inmate-demo.c
+++ b/configs/arm/bananapi-inmate-demo.c
@@ -4,7 +4,7 @@
  * Configuration for demo inmate on Banana Pi:
  * 1 CPU, 64K RAM, serial ports 4-7, CCU+GPIO
  *
- * Copyright (c) Siemens AG, 2014
+ * Copyright (c) Siemens AG, 2014-2022
  *
  * Authors:
  *  Jan Kiszka <[email protected]>
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[2];
        struct jailhouse_memory mem_regions[5];
 } __attribute__((packed)) config = {
        .cell = {
@@ -27,7 +27,7 @@ struct {
                .name = "bananapi-inmate-demo",
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
 
                .console = {
@@ -42,7 +42,9 @@ struct {
        },
 
        .cpus = {
-               0x2,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/bananapi-linux-demo.c 
b/configs/arm/bananapi-linux-demo.c
index 9819091e..021cb9b1 100644
--- a/configs/arm/bananapi-linux-demo.c
+++ b/configs/arm/bananapi-linux-demo.c
@@ -4,7 +4,7 @@
  * Configuration for linux-demo inmate on Banana Pi:
  * 1 CPU, 64M RAM, serial port 7
  *
- * Copyright (c) Siemens AG, 2014-2016
+ * Copyright (c) Siemens AG, 2014-2022
  *
  * Authors:
  *  Jan Kiszka <[email protected]>
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[2];
        struct jailhouse_memory mem_regions[9];
        struct jailhouse_irqchip irqchips[1];
        struct jailhouse_pci_device pci_devices[1];
@@ -29,7 +29,7 @@ struct {
                .name = "bananapi-linux-demo",
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                .num_irqchips = ARRAY_SIZE(config.irqchips),
                .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -48,7 +48,9 @@ struct {
        },
 
        .cpus = {
-               0x2,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/bananapi.c b/configs/arm/bananapi.c
index 4e566380..fd58c3a5 100644
--- a/configs/arm/bananapi.c
+++ b/configs/arm/bananapi.c
@@ -3,7 +3,7 @@
  *
  * Test configuration for Banana Pi board (A20 dual-core Cortex-A7, 1G RAM)
  *
- * Copyright (c) Siemens AG, 2014
+ * Copyright (c) Siemens AG, 2014-2022
  *
  * Authors:
  *  Jan Kiszka <[email protected]>
@@ -17,7 +17,7 @@
 
 struct {
        struct jailhouse_system header;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[2];
        struct jailhouse_memory mem_regions[20];
        struct jailhouse_irqchip irqchips[1];
        struct jailhouse_pci_device pci_devices[1];
@@ -56,7 +56,7 @@ struct {
                .root_cell = {
                        .name = "Banana-Pi",
 
-                       .cpu_set_size = sizeof(config.cpus),
+                       .num_cpus = ARRAY_SIZE(config.cpus),
                        .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                        .num_irqchips = ARRAY_SIZE(config.irqchips),
                        .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -66,7 +66,12 @@ struct {
        },
 
        .cpus = {
-               0x3,
+               {
+                       .phys_id = 0,
+               },
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/emtrion-rzg1e-inmate-demo.c 
b/configs/arm/emtrion-rzg1e-inmate-demo.c
index d8f21a70..fb33cd50 100644
--- a/configs/arm/emtrion-rzg1e-inmate-demo.c
+++ b/configs/arm/emtrion-rzg1e-inmate-demo.c
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[1];
        struct jailhouse_memory mem_regions[3];
 } __attribute__((packed)) config = {
        .cell = {
@@ -27,7 +27,7 @@ struct {
                .name = "emtrion-emconrzg1e-inmate-demo",
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
 
                .console = {
@@ -42,7 +42,9 @@ struct {
        },
 
        .cpus = {
-               0x2,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/emtrion-rzg1e-linux-demo.c 
b/configs/arm/emtrion-rzg1e-linux-demo.c
index b76b8e84..4ee382dc 100644
--- a/configs/arm/emtrion-rzg1e-linux-demo.c
+++ b/configs/arm/emtrion-rzg1e-linux-demo.c
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[1];
        struct jailhouse_memory mem_regions[14];
        struct jailhouse_irqchip irqchips[3];
        struct jailhouse_pci_device pci_devices[1];
@@ -29,7 +29,7 @@ struct {
                .name = "emtrion-emconrzg1e-linux-demo",
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                .num_irqchips = ARRAY_SIZE(config.irqchips),
                /* .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -47,7 +47,9 @@ struct {
        },
 
        .cpus = {
-               0x2,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/emtrion-rzg1e.c b/configs/arm/emtrion-rzg1e.c
index f392bf00..42dea0a7 100644
--- a/configs/arm/emtrion-rzg1e.c
+++ b/configs/arm/emtrion-rzg1e.c
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_system header;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[2];
        struct jailhouse_memory mem_regions[22];
        struct jailhouse_irqchip irqchips[3];
        struct jailhouse_pci_device pci_devices[1];
@@ -57,7 +57,7 @@ struct {
                },
                .root_cell = {
                        .name = "emCON-RZ/G1E",
-                       .cpu_set_size = sizeof(config.cpus),
+                       .num_cpus = ARRAY_SIZE(config.cpus),
                        .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                        .num_irqchips = ARRAY_SIZE(config.irqchips),
                        /* .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -66,7 +66,12 @@ struct {
        },
 
        .cpus = {
-               0x3,
+               {
+                       .phys_id = 0,
+               },
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/emtrion-rzg1h-inmate-demo.c 
b/configs/arm/emtrion-rzg1h-inmate-demo.c
index 11695b75..5c52398e 100644
--- a/configs/arm/emtrion-rzg1h-inmate-demo.c
+++ b/configs/arm/emtrion-rzg1h-inmate-demo.c
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[1];
        struct jailhouse_memory mem_regions[3];
 } __attribute__((packed)) config = {
        .cell = {
@@ -27,7 +27,7 @@ struct {
                .name = "emtrion-emconrzg1h-inmate-demo",
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
 
                .console = {
@@ -42,7 +42,9 @@ struct {
        },
 
        .cpus = {
-               0x2,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/emtrion-rzg1h-linux-demo.c 
b/configs/arm/emtrion-rzg1h-linux-demo.c
index a41c94dd..e21dabf3 100644
--- a/configs/arm/emtrion-rzg1h-linux-demo.c
+++ b/configs/arm/emtrion-rzg1h-linux-demo.c
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[1];
        struct jailhouse_memory mem_regions[16];
        struct jailhouse_irqchip irqchips[3];
        struct jailhouse_pci_device pci_devices[1];
@@ -29,7 +29,7 @@ struct {
                .name = "emtrion-emconrzg1h-linux-demo",
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                .num_irqchips = ARRAY_SIZE(config.irqchips),
                /* .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -47,7 +47,9 @@ struct {
        },
 
        .cpus = {
-               0x8,
+               {
+                       .phys_id = 3,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/emtrion-rzg1h.c b/configs/arm/emtrion-rzg1h.c
index 26fa624a..67e5955e 100644
--- a/configs/arm/emtrion-rzg1h.c
+++ b/configs/arm/emtrion-rzg1h.c
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_system header;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[8];
        struct jailhouse_memory mem_regions[40];
        struct jailhouse_irqchip irqchips[3];
        struct jailhouse_pci_device pci_devices[1];
@@ -57,7 +57,7 @@ struct {
                },
                .root_cell = {
                        .name = "emCON-RZ/G1H",
-                       .cpu_set_size = sizeof(config.cpus),
+                       .num_cpus = ARRAY_SIZE(config.cpus),
                        .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                        .num_irqchips = ARRAY_SIZE(config.irqchips),
                        /* .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -66,7 +66,30 @@ struct {
        },
 
        .cpus = {
-               0xff,
+               {
+                       .phys_id = 0,
+               },
+               {
+                       .phys_id = 1,
+               },
+               {
+                       .phys_id = 2,
+               },
+               {
+                       .phys_id = 3,
+               },
+               {
+                       .phys_id = 4,
+               },
+               {
+                       .phys_id = 5,
+               },
+               {
+                       .phys_id = 6,
+               },
+               {
+                       .phys_id = 7,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/emtrion-rzg1m-inmate-demo.c 
b/configs/arm/emtrion-rzg1m-inmate-demo.c
index b406b8bd..603b8338 100644
--- a/configs/arm/emtrion-rzg1m-inmate-demo.c
+++ b/configs/arm/emtrion-rzg1m-inmate-demo.c
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[1];
        struct jailhouse_memory mem_regions[3];
 } __attribute__((packed)) config = {
        .cell = {
@@ -27,7 +27,7 @@ struct {
                .name = "emtrion-emconrzg1m-inmate-demo",
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
 
                .console = {
@@ -42,7 +42,9 @@ struct {
        },
 
        .cpus = {
-               0x2,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/emtrion-rzg1m-linux-demo.c 
b/configs/arm/emtrion-rzg1m-linux-demo.c
index 75f34e72..bd2911bc 100644
--- a/configs/arm/emtrion-rzg1m-linux-demo.c
+++ b/configs/arm/emtrion-rzg1m-linux-demo.c
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[1];
        struct jailhouse_memory mem_regions[16];
        struct jailhouse_irqchip irqchips[3];
        struct jailhouse_pci_device pci_devices[1];
@@ -29,7 +29,7 @@ struct {
                .name = "emtrion-emconrzg1m-linux-demo",
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                .num_irqchips = ARRAY_SIZE(config.irqchips),
                /* .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -47,7 +47,9 @@ struct {
        },
 
        .cpus = {
-               0x2,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/emtrion-rzg1m.c b/configs/arm/emtrion-rzg1m.c
index 4ee1a40c..76fd857b 100644
--- a/configs/arm/emtrion-rzg1m.c
+++ b/configs/arm/emtrion-rzg1m.c
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_system header;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[2];
        struct jailhouse_memory mem_regions[27];
        struct jailhouse_irqchip irqchips[3];
        struct jailhouse_pci_device pci_devices[1];
@@ -57,7 +57,7 @@ struct {
                },
                .root_cell = {
                        .name = "emCON-RZ/G1M",
-                       .cpu_set_size = sizeof(config.cpus),
+                       .num_cpus = ARRAY_SIZE(config.cpus),
                        .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                        .num_irqchips = ARRAY_SIZE(config.irqchips),
                        /* .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -66,7 +66,12 @@ struct {
        },
 
        .cpus = {
-               0x3,
+               {
+                       .phys_id = 0,
+               },
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/jetson-tk1-inmate-demo.c 
b/configs/arm/jetson-tk1-inmate-demo.c
index a4dd0a34..08ed6724 100644
--- a/configs/arm/jetson-tk1-inmate-demo.c
+++ b/configs/arm/jetson-tk1-inmate-demo.c
@@ -4,7 +4,7 @@
  * Configuration for demo inmate on Nvidia Jetson TK1:
  * 1 CPU, 64K RAM, serial port 0
  *
- * Copyright (c) Siemens AG, 2015
+ * Copyright (c) Siemens AG, 2015-2022
  *
  * Authors:
  *  Jan Kiszka <[email protected]>
@@ -22,7 +22,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[1];
        struct jailhouse_memory mem_regions[3];
 } __attribute__((packed)) config = {
        .cell = {
@@ -31,7 +31,7 @@ struct {
                .name = "jetson-tk1-inmate-demo",
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
 
                .cpu_reset_address = CONFIG_INMATE_BASE,
@@ -48,7 +48,9 @@ struct {
        },
 
        .cpus = {
-               0x8,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/jetson-tk1-linux-demo.c 
b/configs/arm/jetson-tk1-linux-demo.c
index 52e11c1e..ccdbac81 100644
--- a/configs/arm/jetson-tk1-linux-demo.c
+++ b/configs/arm/jetson-tk1-linux-demo.c
@@ -4,7 +4,7 @@
  * Configuration for linux-demo inmate on Jetson TK1:
  * 2 CPUs, 239M RAM, serial port D
  *
- * Copyright (c) Siemens AG, 2014-2016
+ * Copyright (c) Siemens AG, 2014-2022
  *
  * Authors:
  *  Jan Kiszka <[email protected]>
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[2];
        struct jailhouse_memory mem_regions[8];
        struct jailhouse_irqchip irqchips[2];
        struct jailhouse_pci_device pci_devices[1];
@@ -30,7 +30,7 @@ struct {
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG |
                         JAILHOUSE_CELL_VIRTUAL_CONSOLE_PERMITTED,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                .num_irqchips = ARRAY_SIZE(config.irqchips),
                .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -49,7 +49,12 @@ struct {
        },
 
        .cpus = {
-               0xc,
+               {
+                       .phys_id = 2,
+               },
+               {
+                       .phys_id = 3,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/jetson-tk1.c b/configs/arm/jetson-tk1.c
index f815218d..1d3d91f2 100644
--- a/configs/arm/jetson-tk1.c
+++ b/configs/arm/jetson-tk1.c
@@ -4,7 +4,7 @@
  * Test configuration for Jetson TK1 board
  * (NVIDIA Tegra K1 quad-core Cortex-A15, 2G RAM)
  *
- * Copyright (c) Siemens AG, 2015
+ * Copyright (c) Siemens AG, 2015-2022
  *
  * Authors:
  *  Jan Kiszka <[email protected]>
@@ -20,7 +20,7 @@
 
 struct {
        struct jailhouse_system header;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[4];
        struct jailhouse_memory mem_regions[25];
        struct jailhouse_irqchip irqchips[2];
        struct jailhouse_pci_device pci_devices[1];
@@ -60,7 +60,7 @@ struct {
                .root_cell = {
                        .name = "Jetson-TK1",
 
-                       .cpu_set_size = sizeof(config.cpus),
+                       .num_cpus = ARRAY_SIZE(config.cpus),
                        .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                        .num_irqchips = ARRAY_SIZE(config.irqchips),
                        .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -70,7 +70,18 @@ struct {
        },
 
        .cpus = {
-               0xf,
+               {
+                       .phys_id = 0,
+               },
+               {
+                       .phys_id = 1,
+               },
+               {
+                       .phys_id = 2,
+               },
+               {
+                       .phys_id = 3,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/orangepi0-inmate-demo.c 
b/configs/arm/orangepi0-inmate-demo.c
index bcbf4823..8f9d8287 100644
--- a/configs/arm/orangepi0-inmate-demo.c
+++ b/configs/arm/orangepi0-inmate-demo.c
@@ -4,7 +4,7 @@
  * Configuration for demo inmate on Orange Pi Zero:
  * 1 CPU, 64K RAM, serial ports 0-3, GPIO PA
  *
- * Copyright (c) Siemens AG, 2014-2016
+ * Copyright (c) Siemens AG, 2014-2022
  *
  * Authors:
  *  Jan Kiszka <[email protected]>
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[1];
        struct jailhouse_memory mem_regions[9];
        struct jailhouse_irqchip irqchips[1];
        struct jailhouse_pci_device pci_devices[1];
@@ -29,7 +29,7 @@ struct {
                .name = "orangepi0-inmate-demo",
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                .num_irqchips = ARRAY_SIZE(config.irqchips),
                .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -45,7 +45,9 @@ struct {
        },
 
        .cpus = {
-               0x2,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/orangepi0-linux-demo.c 
b/configs/arm/orangepi0-linux-demo.c
index af0dd1a6..3c327f47 100644
--- a/configs/arm/orangepi0-linux-demo.c
+++ b/configs/arm/orangepi0-linux-demo.c
@@ -4,7 +4,7 @@
  * Configuration for linux-demo inmate on Orange Pi Zero:
  * 1 CPU, 64M RAM, serial port 0
  *
- * Copyright (c) Siemens AG, 2014-2017
+ * Copyright (c) Siemens AG, 2014-2022
  *
  * Authors:
  *  Jan Kiszka <[email protected]>
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[2];
        struct jailhouse_memory mem_regions[13];
        struct jailhouse_irqchip irqchips[1];
        struct jailhouse_pci_device pci_devices[2];
@@ -30,7 +30,7 @@ struct {
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG |
                         JAILHOUSE_CELL_VIRTUAL_CONSOLE_PERMITTED,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                .num_irqchips = ARRAY_SIZE(config.irqchips),
                .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -46,7 +46,12 @@ struct {
        },
 
        .cpus = {
-               0xc,
+               {
+                       .phys_id = 2,
+               },
+               {
+                       .phys_id = 3,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/orangepi0.c b/configs/arm/orangepi0.c
index c24344e0..3930561d 100644
--- a/configs/arm/orangepi0.c
+++ b/configs/arm/orangepi0.c
@@ -3,7 +3,7 @@
  *
  * Test configuration for Orange Pi Zero (H2+ quad-core Cortex-A7, 256MB RAM)
  *
- * Copyright (c) Siemens AG, 2014-2016
+ * Copyright (c) Siemens AG, 2014-2022
  *
  * Authors:
  *  Jan Kiszka <[email protected]>
@@ -17,7 +17,7 @@
 
 struct {
        struct jailhouse_system header;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[4];
        struct jailhouse_memory mem_regions[18];
        struct jailhouse_irqchip irqchips[1];
        struct jailhouse_pci_device pci_devices[2];
@@ -53,7 +53,7 @@ struct {
                .root_cell = {
                        .name = "Orange-Pi0",
 
-                       .cpu_set_size = sizeof(config.cpus),
+                       .num_cpus = ARRAY_SIZE(config.cpus),
                        .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                        .num_irqchips = ARRAY_SIZE(config.irqchips),
                        .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -63,7 +63,18 @@ struct {
        },
 
        .cpus = {
-               0xf,
+               {
+                       .phys_id = 0,
+               },
+               {
+                       .phys_id = 1,
+               },
+               {
+                       .phys_id = 2,
+               },
+               {
+                       .phys_id = 3,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/qemu-arm-inmate-demo.c 
b/configs/arm/qemu-arm-inmate-demo.c
index 3f835d9e..a35dbf19 100644
--- a/configs/arm/qemu-arm-inmate-demo.c
+++ b/configs/arm/qemu-arm-inmate-demo.c
@@ -4,7 +4,7 @@
  * Configuration for demo inmate on QEMU arm6virtual target
  * 1 CPU, 64K RAM, 1 serial port
  *
- * Copyright (c) Siemens AG, 2017-2020
+ * Copyright (c) Siemens AG, 2017-2022
  *
  * Authors:
  *  Jan Kiszka <[email protected]>
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[1];
        struct jailhouse_memory mem_regions[8];
        struct jailhouse_irqchip irqchips[1];
        struct jailhouse_pci_device pci_devices[1];
@@ -29,7 +29,7 @@ struct {
                .name = "inmate-demo",
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                .num_irqchips = ARRAY_SIZE(config.irqchips),
                .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -45,7 +45,9 @@ struct {
        },
 
        .cpus = {
-               0b0010,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/qemu-arm-linux-demo.c 
b/configs/arm/qemu-arm-linux-demo.c
index e0124baa..c7223d8c 100644
--- a/configs/arm/qemu-arm-linux-demo.c
+++ b/configs/arm/qemu-arm-linux-demo.c
@@ -4,7 +4,7 @@
  * Configuration for linux-demo inmate on QEMU arm:
  * 2 CPUs, 128M RAM, serial port
  *
- * Copyright (c) Siemens AG, 2014-2020
+ * Copyright (c) Siemens AG, 2014-2022
  *
  * Authors:
  *  Jan Kiszka <[email protected]>
@@ -18,7 +18,7 @@
 
 struct {
        struct jailhouse_cell_desc cell;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[2];
        struct jailhouse_memory mem_regions[13];
        struct jailhouse_irqchip irqchips[1];
        struct jailhouse_pci_device pci_devices[2];
@@ -30,7 +30,7 @@ struct {
                .flags = JAILHOUSE_CELL_PASSIVE_COMMREG |
                        JAILHOUSE_CELL_VIRTUAL_CONSOLE_PERMITTED,
 
-               .cpu_set_size = sizeof(config.cpus),
+               .num_cpus = ARRAY_SIZE(config.cpus),
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                .num_irqchips = ARRAY_SIZE(config.irqchips),
                .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -46,7 +46,12 @@ struct {
        },
 
        .cpus = {
-               0b1100,
+               {
+                       .phys_id = 2,
+               },
+               {
+                       .phys_id = 3,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/qemu-arm.c b/configs/arm/qemu-arm.c
index 4a3eac7b..cb6ef930 100644
--- a/configs/arm/qemu-arm.c
+++ b/configs/arm/qemu-arm.c
@@ -3,7 +3,7 @@
  *
  * Configuration for QEMU arm virtual target, 1G RAM, 8 cores
  *
- * Copyright (c) Siemens AG, 2017-2020
+ * Copyright (c) Siemens AG, 2017-2022
  *
  * Authors:
  *  Jan Kiszka <[email protected]>
@@ -19,7 +19,7 @@
 
 struct {
        struct jailhouse_system header;
-       __u64 cpus[1];
+       struct jailhouse_cpu cpus[8];
        struct jailhouse_memory mem_regions[11];
        struct jailhouse_irqchip irqchips[1];
        struct jailhouse_pci_device pci_devices[2];
@@ -56,7 +56,7 @@ struct {
                .root_cell = {
                        .name = "qemu-arm",
 
-                       .cpu_set_size = sizeof(config.cpus),
+                       .num_cpus = ARRAY_SIZE(config.cpus),
                        .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                        .num_irqchips = ARRAY_SIZE(config.irqchips),
                        .num_pci_devices = ARRAY_SIZE(config.pci_devices),
@@ -66,7 +66,30 @@ struct {
        },
 
        .cpus = {
-               0xff,
+               {
+                       .phys_id = 0,
+               },
+               {
+                       .phys_id = 1,
+               },
+               {
+                       .phys_id = 2,
+               },
+               {
+                       .phys_id = 3,
+               },
+               {
+                       .phys_id = 4,
+               },
+               {
+                       .phys_id = 5,
+               },
+               {
+                       .phys_id = 6,
+               },
+               {
+                       .phys_id = 7,
+               },
        },
 
        .mem_regions = {
-- 
2.36.1

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/20220627131329.3659-18-ralf.ramsauer%40oth-regensburg.de.

Reply via email to