From: Jan Kiszka <jan.kis...@siemens.com>

This is needed to support latest changes in the Jailhouse configuration
which moved the reservation area in the middle of the RAM. It also opens
the door for supported the 2 and 4 GB models.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
---
 images.list                                   |   2 +-
 recipes-bsp/rpi-firmware/files/cmdline.txt    |   1 -
 .../rpi-firmware/files/debian/cmdline.txt     |   1 +
 .../files/{ => debian}/config.txt             |   1 +
 .../files/debian/jailhouse-reservation.dts    |  21 ++
 .../files/debian/rpi-firmware.install         |   8 +
 recipes-bsp/rpi-firmware/files/rules          |   8 +
 .../rpi-firmware/rpi-firmware_1.20200212.bb   |  24 +-
 ...d-support-for-RPi4-with-more-than-1G.patch | 306 ++++++++++++++++++
 recipes-jailhouse/jailhouse/jailhouse_0.12.bb |   1 +
 10 files changed, 359 insertions(+), 14 deletions(-)
 delete mode 100644 recipes-bsp/rpi-firmware/files/cmdline.txt
 create mode 100644 recipes-bsp/rpi-firmware/files/debian/cmdline.txt
 rename recipes-bsp/rpi-firmware/files/{ => debian}/config.txt (80%)
 create mode 100644 
recipes-bsp/rpi-firmware/files/debian/jailhouse-reservation.dts
 create mode 100644 recipes-bsp/rpi-firmware/files/debian/rpi-firmware.install
 create mode 100644 recipes-bsp/rpi-firmware/files/rules
 create mode 100644 
recipes-jailhouse/jailhouse/files/0001-configs-arm64-Add-support-for-RPi4-with-more-than-1G.patch

diff --git a/images.list b/images.list
index 003fff9..ce93cbb 100644
--- a/images.list
+++ b/images.list
@@ -7,5 +7,5 @@ espressobin     Marvell ESPRESSObin (1 GB edition)
 macchiatobin   Marvell MACCHIATObin
 hikey620       LeMaker HiKey (Kirin 620 SoC, 2 GB edition)
 ultra96                Avnet Ultra96
-rpi4           Raspberry Pi 4 (1 GB edition)
+rpi4           Raspberry Pi 4 (1, 2, and 4 GB editions)
 pine64-plus    Pine64+ (Allwinner A64, 2GB edition)
diff --git a/recipes-bsp/rpi-firmware/files/cmdline.txt 
b/recipes-bsp/rpi-firmware/files/cmdline.txt
deleted file mode 100644
index 2126fb6..0000000
--- a/recipes-bsp/rpi-firmware/files/cmdline.txt
+++ /dev/null
@@ -1 +0,0 @@
-console=serial0,115200 root=/dev/mmcblk0p2 rootwait mem=768M
diff --git a/recipes-bsp/rpi-firmware/files/debian/cmdline.txt 
b/recipes-bsp/rpi-firmware/files/debian/cmdline.txt
new file mode 100644
index 0000000..cafe0e1
--- /dev/null
+++ b/recipes-bsp/rpi-firmware/files/debian/cmdline.txt
@@ -0,0 +1 @@
+console=serial0,115200 root=/dev/mmcblk0p2 rootwait
diff --git a/recipes-bsp/rpi-firmware/files/config.txt 
b/recipes-bsp/rpi-firmware/files/debian/config.txt
similarity index 80%
rename from recipes-bsp/rpi-firmware/files/config.txt
rename to recipes-bsp/rpi-firmware/files/debian/config.txt
index e66fa16..1eb3a1a 100644
--- a/recipes-bsp/rpi-firmware/files/config.txt
+++ b/recipes-bsp/rpi-firmware/files/debian/config.txt
@@ -9,3 +9,4 @@ enable_uart=1
 arm_64bit=1
 enable_gic=1
 armstub=bl31.bin
+dtoverlay=jailhouse-reservation
diff --git a/recipes-bsp/rpi-firmware/files/debian/jailhouse-reservation.dts 
b/recipes-bsp/rpi-firmware/files/debian/jailhouse-reservation.dts
new file mode 100644
index 0000000..546b817
--- /dev/null
+++ b/recipes-bsp/rpi-firmware/files/debian/jailhouse-reservation.dts
@@ -0,0 +1,21 @@
+/dts-v1/;
+/plugin/;
+/ {
+       compatible = "brcm,bcm2835";
+
+       fragment@0 {
+               target-path = "/";
+               __overlay__ {
+                       reserved-memory {
+                               #address-cells = <2>;
+                               #size-cells = <1>;
+                               ranges;
+
+                               jailhouse@20000000 {
+                                       reg = <0 0x20000000 0x10000000>;
+                                       no-map;
+                               };
+                       };
+               };
+       };
+};
diff --git a/recipes-bsp/rpi-firmware/files/debian/rpi-firmware.install 
b/recipes-bsp/rpi-firmware/files/debian/rpi-firmware.install
new file mode 100644
index 0000000..701a984
--- /dev/null
+++ b/recipes-bsp/rpi-firmware/files/debian/rpi-firmware.install
@@ -0,0 +1,8 @@
+boot/bootcode.bin      usr/lib/rpi-firmware/
+boot/LICENCE.broadcom  usr/lib/rpi-firmware/
+boot/*.dat             usr/lib/rpi-firmware/
+boot/*.dtb             usr/lib/rpi-firmware/
+boot/*.elf             usr/lib/rpi-firmware/
+boot/overlays/*                usr/lib/rpi-firmware/overlays/
+debian/cmdline.txt     usr/lib/rpi-firmware/
+debian/config.txt      usr/lib/rpi-firmware/
diff --git a/recipes-bsp/rpi-firmware/files/rules 
b/recipes-bsp/rpi-firmware/files/rules
new file mode 100644
index 0000000..7d78ea4
--- /dev/null
+++ b/recipes-bsp/rpi-firmware/files/rules
@@ -0,0 +1,8 @@
+#!/usr/bin/make -f
+
+override_dh_auto_build:
+       dtc -O dtb -b 0 -@ debian/jailhouse-reservation.dts \
+           -o boot/overlays/jailhouse-reservation.dtbo
+
+%:
+       dh $@
diff --git a/recipes-bsp/rpi-firmware/rpi-firmware_1.20200212.bb 
b/recipes-bsp/rpi-firmware/rpi-firmware_1.20200212.bb
index 657ddd7..47e40b9 100644
--- a/recipes-bsp/rpi-firmware/rpi-firmware_1.20200212.bb
+++ b/recipes-bsp/rpi-firmware/rpi-firmware_1.20200212.bb
@@ -9,21 +9,21 @@
 # SPDX-License-Identifier: MIT
 #
 
-inherit dpkg-raw
+inherit dpkg
 
 SRC_URI = " \
     
https://github.com/raspberrypi/firmware/archive/${PV}.tar.gz;downloadfilename=${PN}-${PV}.tar.gz
 \
-    file://cmdline.txt \
-    file://config.txt"
+    file://debian \
+    file://rules"
 SRC_URI[sha256sum] = 
"e3b0577beb62d886a45016447bdf8c2d57b794d3d71b502868b16ba82ff8fe43"
 
-do_install() {
-    install -v -d ${D}/usr/lib/rpi-firmware/overlays
-    install -v -m 644 ${WORKDIR}/firmware-${PV}/boot/bootcode.bin 
${D}/usr/lib/rpi-firmware/
-    install -v -m 644 ${WORKDIR}/firmware-${PV}/boot/LICENCE.broadcom 
${D}/usr/lib/rpi-firmware/
-    install -v -m 644 ${WORKDIR}/firmware-${PV}/boot/*.dat 
${D}/usr/lib/rpi-firmware/
-    install -v -m 644 ${WORKDIR}/firmware-${PV}/boot/*.dtb 
${D}/usr/lib/rpi-firmware/
-    install -v -m 644 ${WORKDIR}/firmware-${PV}/boot/*.elf 
${D}/usr/lib/rpi-firmware/
-    install -v -m 644 ${WORKDIR}/firmware-${PV}/boot/overlays/* 
${D}/usr/lib/rpi-firmware/overlays/
-    install -v -m 644 ${WORKDIR}/*.txt ${D}/usr/lib/rpi-firmware/
+S = "${WORKDIR}/firmware-${PV}"
+
+DEBIAN_BUILD_DEPENDS = "device-tree-compiler"
+
+do_prepare_build[cleandirs] += "${S}/debian"
+do_prepare_build() {
+    cp -r ${WORKDIR}/debian ${S}
+
+    deb_debianize
 }
diff --git 
a/recipes-jailhouse/jailhouse/files/0001-configs-arm64-Add-support-for-RPi4-with-more-than-1G.patch
 
b/recipes-jailhouse/jailhouse/files/0001-configs-arm64-Add-support-for-RPi4-with-more-than-1G.patch
new file mode 100644
index 0000000..96d0e83
--- /dev/null
+++ 
b/recipes-jailhouse/jailhouse/files/0001-configs-arm64-Add-support-for-RPi4-with-more-than-1G.patch
@@ -0,0 +1,306 @@
+From 7bcab7c38b2c853ec068b35d61205ef660fceaac Mon Sep 17 00:00:00 2001
+From: Jakub Luzny <ja...@luzny.cz>
+Date: Wed, 26 Aug 2020 18:16:42 +0200
+Subject: [PATCH 1/2] configs: arm64: Add support for RPi4 with more than 1G of
+ memory
+
+Add the required memory regions to support 2G, 4G and 8G RAM variants
+of the Raspberry Pi 4. Tested on all the bigger variants, not on 1G, as I don't
+have one on hand and it's not available anymore.
+
+Also moved the memory used by Jailhouse for the hypervisor and cells from
+0x30000000 to 0x20000000 to avoid conflict with GPU memory. That is fine for
+gpu_mem setting of up to 256. The memory is supposed to be reserved using
+reserved-memory node in the device tree.
+
+To support variants with >2G RAM, the PCI MMIO config space was moved into the
+ARM Local Peripherals address range, into free space behind the GIC.
+
+Signed-off-by: Jakub Luzny <ja...@luzny.cz>
+Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
+---
+ configs/arm64/dts/inmate-rpi4.dts |  2 +-
+ configs/arm64/rpi4-inmate-demo.c  | 22 ++++++------
+ configs/arm64/rpi4-linux-demo.c   | 28 ++++++++--------
+ configs/arm64/rpi4.c              | 56 +++++++++++++++++++++----------
+ 4 files changed, 65 insertions(+), 43 deletions(-)
+
+diff --git a/configs/arm64/dts/inmate-rpi4.dts 
b/configs/arm64/dts/inmate-rpi4.dts
+index 52fd3ac2..ac6d4f58 100644
+--- a/configs/arm64/dts/inmate-rpi4.dts
++++ b/configs/arm64/dts/inmate-rpi4.dts
+@@ -96,7 +96,7 @@
+                               <0 0 0 2 &gic GIC_SPI 154 IRQ_TYPE_EDGE_RISING>,
+                               <0 0 0 3 &gic GIC_SPI 155 IRQ_TYPE_EDGE_RISING>,
+                               <0 0 0 4 &gic GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
+-              reg = <0x0 0xe0000000 0x0 0x100000>;
++              reg = <0x0 0xff900000 0x0 0x100000>;
+               ranges =
+                       <0x02000000 0x00 0x10000000 0x0 0x10000000 0x00 
0x10000>;
+       };
+diff --git a/configs/arm64/rpi4-inmate-demo.c 
b/configs/arm64/rpi4-inmate-demo.c
+index 62442e7c..09dfc1f0 100644
+--- a/configs/arm64/rpi4-inmate-demo.c
++++ b/configs/arm64/rpi4-inmate-demo.c
+@@ -51,34 +51,34 @@ struct {
+       .mem_regions = {
+               /* IVSHMEM shared memory regions (demo) */
+               {
+-                      .phys_start = 0x3faf0000,
+-                      .virt_start = 0x3faf0000,
++                      .phys_start = 0x2faf0000,
++                      .virt_start = 0x2faf0000,
+                       .size = 0x1000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED,
+               },
+               {
+-                      .phys_start = 0x3faf1000,
+-                      .virt_start = 0x3faf1000,
++                      .phys_start = 0x2faf1000,
++                      .virt_start = 0x2faf1000,
+                       .size = 0x9000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+                               JAILHOUSE_MEM_ROOTSHARED,
+               },
+               {
+-                      .phys_start = 0x3fafa000,
+-                      .virt_start = 0x3fafa000,
++                      .phys_start = 0x2fafa000,
++                      .virt_start = 0x2fafa000,
+                       .size = 0x2000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED,
+               },
+               {
+-                      .phys_start = 0x3fafc000,
+-                      .virt_start = 0x3fafc000,
++                      .phys_start = 0x2fafc000,
++                      .virt_start = 0x2fafc000,
+                       .size = 0x2000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+                               JAILHOUSE_MEM_ROOTSHARED,
+               },
+               {
+-                      .phys_start = 0x3fafe000,
+-                      .virt_start = 0x3fafe000,
++                      .phys_start = 0x2fafe000,
++                      .virt_start = 0x2fafe000,
+                       .size = 0x2000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED,
+               },
+@@ -91,7 +91,7 @@ struct {
+                               JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_ROOTSHARED,
+               },
+               /* RAM */ {
+-                      .phys_start = 0x3fa00000,
++                      .phys_start = 0x2fa00000,
+                       .virt_start = 0,
+                       .size = 0x00010000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+diff --git a/configs/arm64/rpi4-linux-demo.c b/configs/arm64/rpi4-linux-demo.c
+index 9e7fad26..cf36fa22 100644
+--- a/configs/arm64/rpi4-linux-demo.c
++++ b/configs/arm64/rpi4-linux-demo.c
+@@ -52,39 +52,39 @@ struct {
+       .mem_regions = {
+               /* IVSHMEM shared memory regions (demo) */
+               {
+-                      .phys_start = 0x3faf0000,
+-                      .virt_start = 0x3faf0000,
++                      .phys_start = 0x2faf0000,
++                      .virt_start = 0x2faf0000,
+                       .size = 0x1000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED,
+               },
+               {
+-                      .phys_start = 0x3faf1000,
+-                      .virt_start = 0x3faf1000,
++                      .phys_start = 0x2faf1000,
++                      .virt_start = 0x2faf1000,
+                       .size = 0x9000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+                               JAILHOUSE_MEM_ROOTSHARED,
+               },
+               {
+-                      .phys_start = 0x3fafa000,
+-                      .virt_start = 0x3fafa000,
++                      .phys_start = 0x2fafa000,
++                      .virt_start = 0x2fafa000,
+                       .size = 0x2000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED,
+               },
+               {
+-                      .phys_start = 0x3fafc000,
+-                      .virt_start = 0x3fafc000,
++                      .phys_start = 0x2fafc000,
++                      .virt_start = 0x2fafc000,
+                       .size = 0x2000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED,
+               },
+               {
+-                      .phys_start = 0x3fafe000,
+-                      .virt_start = 0x3fafe000,
++                      .phys_start = 0x2fafe000,
++                      .virt_start = 0x2fafe000,
+                       .size = 0x2000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+                               JAILHOUSE_MEM_ROOTSHARED,
+               },
+               /* IVSHMEM shared memory region */
+-              JAILHOUSE_SHMEM_NET_REGIONS(0x3fb00000, 1),
++              JAILHOUSE_SHMEM_NET_REGIONS(0x2fb00000, 1),
+               /* UART */ {
+                       .phys_start = 0xfe215040,
+                       .virt_start = 0xfe215040,
+@@ -94,15 +94,15 @@ struct {
+                               JAILHOUSE_MEM_IO_32 | JAILHOUSE_MEM_ROOTSHARED,
+               },
+               /* RAM */ {
+-                      .phys_start = 0x3f900000,
++                      .phys_start = 0x2f900000,
+                       .virt_start = 0,
+                       .size = 0x10000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+                               JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE,
+               },
+               /* RAM */ {
+-                      .phys_start = 0x30000000,
+-                      .virt_start = 0x30000000,
++                      .phys_start = 0x20000000,
++                      .virt_start = 0x20000000,
+                       .size = 0x8000000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+                               JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA |
+diff --git a/configs/arm64/rpi4.c b/configs/arm64/rpi4.c
+index 92463184..7b6a7a02 100644
+--- a/configs/arm64/rpi4.c
++++ b/configs/arm64/rpi4.c
+@@ -1,7 +1,7 @@
+ /*
+  * Jailhouse, a Linux-based partitioning hypervisor
+  *
+- * Test configuration for Raspberry Pi 4 (32-bit, quad-core Cortex-A72, 1GB 
RAM)
++ * Test configuration for Raspberry Pi 4 (quad-core Cortex-A72, 1GB, 2GB, 4GB 
or 8GB RAM)
+  *
+  * Copyright (c) Siemens AG, 2020
+  *
+@@ -10,6 +10,8 @@
+  *
+  * This work is licensed under the terms of the GNU GPL, version 2.  See
+  * the COPYING file in the top-level directory.
++ *
++ * Reservation via device tree: reg = <0x0 0x20000000 0x10000000>;
+  */
+ 
+ #include <jailhouse/types.h>
+@@ -18,7 +20,7 @@
+ struct {
+       struct jailhouse_system header;
+       __u64 cpus[1];
+-      struct jailhouse_memory mem_regions[12];
++      struct jailhouse_memory mem_regions[14];
+       struct jailhouse_irqchip irqchips[2];
+       struct jailhouse_pci_device pci_devices[2];
+ } __attribute__((packed)) config = {
+@@ -27,7 +29,7 @@ struct {
+               .revision = JAILHOUSE_CONFIG_REVISION,
+               .flags = JAILHOUSE_SYS_VIRTUAL_DEBUG_CONSOLE,
+               .hypervisor_memory = {
+-                      .phys_start = 0x3fc00000,
++                      .phys_start = 0x2fc00000,
+                       .size       = 0x00400000,
+               },
+               .debug_console = {
+@@ -38,7 +40,7 @@ struct {
+                                JAILHOUSE_CON_REGDIST_4,
+               },
+               .platform_info = {
+-                      .pci_mmconfig_base = 0xe0000000,
++                      .pci_mmconfig_base = 0xff900000,
+                       .pci_mmconfig_end_bus = 0,
+                       .pci_is_virtual = 1,
+                       .pci_domain = 1,
+@@ -70,37 +72,37 @@ struct {
+       .mem_regions = {
+               /* IVSHMEM shared memory regions for 00:00.0 (demo) */
+               {
+-                      .phys_start = 0x3faf0000,
+-                      .virt_start = 0x3faf0000,
++                      .phys_start = 0x2faf0000,
++                      .virt_start = 0x2faf0000,
+                       .size = 0x1000,
+                       .flags = JAILHOUSE_MEM_READ,
+               },
+               {
+-                      .phys_start = 0x3faf1000,
+-                      .virt_start = 0x3faf1000,
++                      .phys_start = 0x2faf1000,
++                      .virt_start = 0x2faf1000,
+                       .size = 0x9000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
+               },
+               {
+-                      .phys_start = 0x3fafa000,
+-                      .virt_start = 0x3fafa000,
++                      .phys_start = 0x2fafa000,
++                      .virt_start = 0x2fafa000,
+                       .size = 0x2000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
+               },
+               {
+-                      .phys_start = 0x3fafc000,
+-                      .virt_start = 0x3fafc000,
++                      .phys_start = 0x2fafc000,
++                      .virt_start = 0x2fafc000,
+                       .size = 0x2000,
+                       .flags = JAILHOUSE_MEM_READ,
+               },
+               {
+-                      .phys_start = 0x3fafe000,
+-                      .virt_start = 0x3fafe000,
++                      .phys_start = 0x2fafe000,
++                      .virt_start = 0x2fafe000,
+                       .size = 0x2000,
+                       .flags = JAILHOUSE_MEM_READ,
+               },
+               /* IVSHMEM shared memory regions for 00:01.0 (networking) */
+-              JAILHOUSE_SHMEM_NET_REGIONS(0x3fb00000, 0),
++              JAILHOUSE_SHMEM_NET_REGIONS(0x2fb00000, 0),
+               /* MMIO 1 (permissive) */ {
+                       .phys_start = 0xfd500000,
+                       .virt_start = 0xfd500000,
+@@ -115,10 +117,30 @@ struct {
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+                               JAILHOUSE_MEM_IO,
+               },
+-              /* RAM */ {
++              /* RAM (0M-~762M) */ {
+                       .phys_start = 0x0,
+                       .virt_start = 0x0,
+-                      .size = 0x3fa10000,
++                      .size = 0x2fa10000,
++                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
++                              JAILHOUSE_MEM_EXECUTE,
++              },
++
++              /* ~2M reserved for shared memory regions */
++
++              /* 4M reserved for the hypervisor */
++
++              /* RAM (768M-4032M) */ {
++                      .phys_start = 0x30000000,
++                      .virt_start = 0x30000000,
++                      .size = 0xcc000000,
++                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
++                              JAILHOUSE_MEM_EXECUTE,
++              },
++
++              /* RAM (4096M-8192M) */ {
++                      .phys_start = 0x100000000,
++                      .virt_start = 0x100000000,
++                      .size = 0x100000000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+                               JAILHOUSE_MEM_EXECUTE,
+               },
+-- 
+2.26.2
+
diff --git a/recipes-jailhouse/jailhouse/jailhouse_0.12.bb 
b/recipes-jailhouse/jailhouse/jailhouse_0.12.bb
index 67df3fa..c0b5da3 100644
--- a/recipes-jailhouse/jailhouse/jailhouse_0.12.bb
+++ b/recipes-jailhouse/jailhouse/jailhouse_0.12.bb
@@ -17,6 +17,7 @@ SRC_URI += " \
     file://0002-configs-arm64-Add-inmate-demo-for-pine64-plus-board.patch \
     file://0003-configs-arm64-Add-Linux-demo-for-pine64-plus.patch \
     file://0001-inmates-x86-Add-LED-blinking-support-to-apic-demo.patch \
+    file://0001-configs-arm64-Add-support-for-RPi4-with-more-than-1G.patch \
     file://0002-arm-common-gicv2-Fix-byte-access-to-ITARGETR.patch \
     "
 
-- 
2.26.2

-- 
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 jailhouse-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/5e286f069b8aa2266915b28531e7e11d2cfa1069.1598871229.git.jan.kiszka%40siemens.com.

Reply via email to