From: Jan Kiszka <[email protected]>

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 9b13634b..17646e97 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 = {
@@ -28,7 +28,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 = {
@@ -43,7 +43,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 cf3a2db7..acb7a672 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];
@@ -30,7 +30,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),
@@ -49,7 +49,9 @@ struct {
        },
 
        .cpus = {
-               0x2,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/bananapi.c b/configs/arm/bananapi.c
index 01089b81..c2b27256 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];
@@ -57,7 +57,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),
@@ -67,7 +67,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 3fdd7345..6fcf05b5 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 = {
@@ -28,7 +28,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 = {
@@ -43,7 +43,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 027d37d4..88e76762 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];
@@ -30,7 +30,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),
@@ -48,7 +48,9 @@ struct {
        },
 
        .cpus = {
-               0x2,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/emtrion-rzg1e.c b/configs/arm/emtrion-rzg1e.c
index 4bfe02bd..7ff0cc93 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];
@@ -58,7 +58,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),
@@ -67,7 +67,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 92c669a7..9fa83754 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 = {
@@ -28,7 +28,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 = {
@@ -43,7 +43,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 48d47dc1..164e9755 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];
@@ -30,7 +30,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),
@@ -48,7 +48,9 @@ struct {
        },
 
        .cpus = {
-               0x8,
+               {
+                       .phys_id = 3,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/emtrion-rzg1h.c b/configs/arm/emtrion-rzg1h.c
index 385f45b7..bf4afdfb 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[38];
        struct jailhouse_irqchip irqchips[3];
        struct jailhouse_pci_device pci_devices[1];
@@ -58,7 +58,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),
@@ -67,7 +67,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 4c425716..48d1d8dd 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 = {
@@ -28,7 +28,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 = {
@@ -43,7 +43,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 bf0775cc..f8f5263a 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];
@@ -30,7 +30,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),
@@ -48,7 +48,9 @@ struct {
        },
 
        .cpus = {
-               0x2,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/emtrion-rzg1m.c b/configs/arm/emtrion-rzg1m.c
index 3977968b..70c8e4d2 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[26];
        struct jailhouse_irqchip irqchips[3];
        struct jailhouse_pci_device pci_devices[1];
@@ -58,7 +58,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),
@@ -67,7 +67,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 1dab7ef7..4fa1127b 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 = {
@@ -32,7 +32,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,
@@ -49,7 +49,9 @@ struct {
        },
 
        .cpus = {
-               0x2,
+               {
+                       .phys_id = 1,
+               },
        },
 
        .mem_regions = {
diff --git a/configs/arm/jetson-tk1-linux-demo.c 
b/configs/arm/jetson-tk1-linux-demo.c
index bbbe1306..d0980d17 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];
@@ -31,7 +31,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),
@@ -50,7 +50,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 6b37e04c..74355b62 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];
@@ -61,7 +61,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),
@@ -71,7 +71,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 c62a4bcc..a88bb576 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];
@@ -30,7 +30,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),
@@ -46,7 +46,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 fe71b9a9..a1939f35 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];
@@ -31,7 +31,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),
@@ -47,7 +47,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 bb95d2bd..0846de56 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];
@@ -54,7 +54,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),
@@ -64,7 +64,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 c6838190..da9bf6ab 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];
@@ -30,7 +30,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),
@@ -46,7 +46,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 ce12798a..23ff03be 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];
@@ -31,7 +31,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),
@@ -47,7 +47,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 241e0aba..760ea86c 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];
@@ -57,7 +57,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),
@@ -67,7 +67,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.40.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/20230519204033.643200-18-ralf.ramsauer%40oth-regensburg.de.

Reply via email to