From: Jan Kiszka <[email protected]>

Signed-off-by: Jan Kiszka <[email protected]>
---
 conf/distro/jailhouse-demo.conf                    |   2 +-
 .../files/0001-configs-Add-Ultra96-board.patch     | 402 -----------------
 ...onfigs-Add-support-for-MACCHIATObin-board.patch | 489 ---------------------
 ...-orangepi0-Permit-access-to-another-clock.patch |  51 ---
 recipes-jailhouse/jailhouse/jailhouse_0.10.bb      |  18 -
 recipes-jailhouse/jailhouse/jailhouse_0.11.bb      |  14 +
 6 files changed, 15 insertions(+), 961 deletions(-)
 delete mode 100644 
recipes-jailhouse/jailhouse/files/0001-configs-Add-Ultra96-board.patch
 delete mode 100644 
recipes-jailhouse/jailhouse/files/0001-configs-Add-support-for-MACCHIATObin-board.patch
 delete mode 100644 
recipes-jailhouse/jailhouse/files/0001-configs-orangepi0-Permit-access-to-another-clock.patch
 delete mode 100644 recipes-jailhouse/jailhouse/jailhouse_0.10.bb
 create mode 100644 recipes-jailhouse/jailhouse/jailhouse_0.11.bb

diff --git a/conf/distro/jailhouse-demo.conf b/conf/distro/jailhouse-demo.conf
index 6479317..fe40ca6 100644
--- a/conf/distro/jailhouse-demo.conf
+++ b/conf/distro/jailhouse-demo.conf
@@ -17,7 +17,7 @@ KERNEL_NAME ?= "jailhouse"
 
 WKS_FILE = "${MACHINE}.wks"
 
-PREFERRED_VERSION_jailhouse-${KERNEL_NAME} ?= "0.10"
+PREFERRED_VERSION_jailhouse-${KERNEL_NAME} ?= "0.11"
 
 USERS += "root"
 # 'root'
diff --git 
a/recipes-jailhouse/jailhouse/files/0001-configs-Add-Ultra96-board.patch 
b/recipes-jailhouse/jailhouse/files/0001-configs-Add-Ultra96-board.patch
deleted file mode 100644
index bd91e83..0000000
--- a/recipes-jailhouse/jailhouse/files/0001-configs-Add-Ultra96-board.patch
+++ /dev/null
@@ -1,402 +0,0 @@
-From e3cf65e67a605ead840f6d21d07627172185d13d Mon Sep 17 00:00:00 2001
-From: Jan Kiszka <[email protected]>
-Date: Sun, 6 Jan 2019 22:05:59 +0100
-Subject: [PATCH] configs: Add Ultra96 board
-
-This is very similar to the ZCU102 eval board, but still different.
-However, we can share at least the inmate device tree.
-
-Signed-off-by: Jan Kiszka <[email protected]>
----
- Documentation/setup-on-zynqmp-zcu102.md            |   6 +-
- ...{inmate-zynqmp-zcu102.dts => inmate-zynqmp.dts} |   9 +-
- configs/arm64/ultra96-gic-demo.c                   |  72 +++++++++++++
- configs/arm64/ultra96-linux-demo.c                 | 116 ++++++++++++++++++++
- configs/arm64/ultra96.c                            | 117 +++++++++++++++++++++
- 5 files changed, 313 insertions(+), 7 deletions(-)
- rename configs/arm64/dts/{inmate-zynqmp-zcu102.dts => inmate-zynqmp.dts} (89%)
- create mode 100644 configs/arm64/ultra96-gic-demo.c
- create mode 100644 configs/arm64/ultra96-linux-demo.c
- create mode 100644 configs/arm64/ultra96.c
-
-diff --git a/Documentation/setup-on-zynqmp-zcu102.md 
b/Documentation/setup-on-zynqmp-zcu102.md
-index 58de6227..535933ff 100644
---- a/Documentation/setup-on-zynqmp-zcu102.md
-+++ b/Documentation/setup-on-zynqmp-zcu102.md
-@@ -138,8 +138,8 @@ is essential to do a new Linux image but with
- 
- The files `image/linux/Image` and `image/linux/rootfs.cpio` have to be copied 
- from the Petalinux project to the rootfs. Besides,
--`configs/arm64/dts/inmate-zynqmp-zcu102.dtb` file has to be copied from
--Jailhouse project. 
-+`configs/arm64/dts/inmate-zynqmp.dtb` file has to be copied from Jailhouse
-+project.
- 
- To load Linux in the guest cell:
- 
-@@ -163,7 +163,7 @@ To load Linux in the guest cell:
-     Activating hypervisor
-     [   39.844953] The Jailhouse is opening.
- 
--    # jailhouse cell linux zynqmp-zcu102-linux-demo.cell Image -d 
inmate-zynqmp-zcu102.dtb -i rootfs.cpio -c "console=ttyPS0,115200"
-+    # jailhouse cell linux zynqmp-zcu102-linux-demo.cell Image -d 
inmate-zynqmp.dtb -i rootfs.cpio -c "console=ttyPS0,115200"
-     [   81.967652] CPU2: shutdown
-     [   81.970285] psci: CPU2 killed.
-     [   82.015619] CPU3: shutdown
-diff --git a/configs/arm64/dts/inmate-zynqmp-zcu102.dts 
b/configs/arm64/dts/inmate-zynqmp.dts
-similarity index 89%
-rename from configs/arm64/dts/inmate-zynqmp-zcu102.dts
-rename to configs/arm64/dts/inmate-zynqmp.dts
-index 0e6dc122..e608f0ad 100644
---- a/configs/arm64/dts/inmate-zynqmp-zcu102.dts
-+++ b/configs/arm64/dts/inmate-zynqmp.dts
-@@ -1,10 +1,11 @@
- /*
-  * Jailhouse, a Linux-based partitioning hypervisor
-  *
-- * Device tree for Linux inmate test on ZynqMP ZCU102 board,
-- * corresponds to configs/arm64/zynqmp-zcu102-linux-demo.c
-+ * Device tree for Linux inmate test on ZynqMP ZCU102 and Ultra96 boards,
-+ * corresponds to configs/arm64/zynqmp-zcu102-linux-demo.c and
-+ * configs/arm64/ultra96-linux-demo.c.
-  *
-- * Copyright (c) Siemens AG, 2016
-+ * Copyright (c) Siemens AG, 2016-2019
-  *
-  * Authors:
-  *  Jan Kiszka <[email protected]>
-@@ -18,7 +19,7 @@
- /dts-v1/;
- 
- / {
--      model = "Jailhouse cell on ZynqMP ZCU102";
-+      model = "Jailhouse cell on ZynqMP";
- 
-       #address-cells = <2>;
-       #size-cells = <2>;
-diff --git a/configs/arm64/ultra96-gic-demo.c 
b/configs/arm64/ultra96-gic-demo.c
-new file mode 100644
-index 00000000..12556335
---- /dev/null
-+++ b/configs/arm64/ultra96-gic-demo.c
-@@ -0,0 +1,72 @@
-+/*
-+ * Jailhouse, a Linux-based partitioning hypervisor
-+ *
-+ * Configuration for gic-demo inmate on Avnet Ultra96 board:
-+ * 1 CPU, 64K RAM, 1 serial port
-+ *
-+ * Copyright (c) Siemens AG, 2016-2019
-+ *
-+ * Authors:
-+ *  Jan Kiszka <[email protected]>
-+ *
-+ * This work is licensed under the terms of the GNU GPL, version 2.  See
-+ * the COPYING file in the top-level directory.
-+ */
-+
-+#include <jailhouse/types.h>
-+#include <jailhouse/cell-config.h>
-+
-+#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
-+
-+struct {
-+      struct jailhouse_cell_desc cell;
-+      __u64 cpus[1];
-+      struct jailhouse_memory mem_regions[3];
-+} __attribute__((packed)) config = {
-+      .cell = {
-+              .signature = JAILHOUSE_CELL_DESC_SIGNATURE,
-+              .revision = JAILHOUSE_CONFIG_REVISION,
-+              .name = "gic-demo",
-+              .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
-+
-+              .cpu_set_size = sizeof(config.cpus),
-+              .num_memory_regions = ARRAY_SIZE(config.mem_regions),
-+              .num_irqchips = 0,
-+              .pio_bitmap_size = 0,
-+              .num_pci_devices = 0,
-+
-+              .console = {
-+                      .address = 0xff010000,
-+                      .type = JAILHOUSE_CON_TYPE_XUARTPS,
-+                      .flags = JAILHOUSE_CON_ACCESS_MMIO |
-+                               JAILHOUSE_CON_REGDIST_4,
-+              },
-+      },
-+
-+      .cpus = {
-+              0x8,
-+      },
-+
-+      .mem_regions = {
-+              /* UART */ {
-+                      .phys_start = 0xff010000,
-+                      .virt_start = 0xff010000,
-+                      .size = 0x1000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED,
-+              },
-+              /* RAM */ {
-+                      .phys_start = 0x7bfe0000,
-+                      .virt_start = 0,
-+                      .size = 0x00010000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE,
-+              },
-+              /* communication region */ {
-+                      .virt_start = 0x80000000,
-+                      .size = 0x00001000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_COMM_REGION,
-+              },
-+      }
-+};
-diff --git a/configs/arm64/ultra96-linux-demo.c 
b/configs/arm64/ultra96-linux-demo.c
-new file mode 100644
-index 00000000..e6b33466
---- /dev/null
-+++ b/configs/arm64/ultra96-linux-demo.c
-@@ -0,0 +1,116 @@
-+/*
-+ * Jailhouse, a Linux-based partitioning hypervisor
-+ *
-+ * Configuration for linux-demo inmate on Avnet Ultra96 board:
-+ * 2 CPUs, 128M RAM, serial port 2
-+ *
-+ * Copyright (c) Siemens AG, 2014-2019
-+ *
-+ * Authors:
-+ *  Jan Kiszka <[email protected]>
-+ *
-+ * This work is licensed under the terms of the GNU GPL, version 2.  See
-+ * the COPYING file in the top-level directory.
-+ */
-+
-+#include <jailhouse/types.h>
-+#include <jailhouse/cell-config.h>
-+
-+#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
-+
-+struct {
-+      struct jailhouse_cell_desc cell;
-+      __u64 cpus[1];
-+      struct jailhouse_memory mem_regions[5];
-+      struct jailhouse_irqchip irqchips[1];
-+      struct jailhouse_pci_device pci_devices[1];
-+} __attribute__((packed)) config = {
-+      .cell = {
-+              .signature = JAILHOUSE_CELL_DESC_SIGNATURE,
-+              .revision = JAILHOUSE_CONFIG_REVISION,
-+              .name = "Ultra96-linux-demo",
-+              .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
-+
-+              .cpu_set_size = sizeof(config.cpus),
-+              .num_memory_regions = ARRAY_SIZE(config.mem_regions),
-+              .num_irqchips = ARRAY_SIZE(config.irqchips),
-+              .num_pci_devices = ARRAY_SIZE(config.pci_devices),
-+
-+              .vpci_irq_base = 140-32,
-+
-+              .console = {
-+                      .address = 0xff010000,
-+                      .type= JAILHOUSE_CON_TYPE_XUARTPS,
-+                      .flags = JAILHOUSE_CON_ACCESS_MMIO |
-+                               JAILHOUSE_CON_REGDIST_4,
-+              },
-+      },
-+
-+      .cpus = {
-+              0xc,
-+      },
-+
-+      .mem_regions = {
-+              /* UART */ {
-+                      .phys_start = 0xff010000,
-+                      .virt_start = 0xff010000,
-+                      .size = 0x1000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED,
-+              },
-+              /* RAM */ {
-+                      .phys_start = 0x7bef0000,
-+                      .virt_start = 0,
-+                      .size = 0x10000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE,
-+              },
-+              /* RAM */ {
-+                      .phys_start = 0x74000000,
-+                      .virt_start = 0x74000000,
-+                      .size = 0x7ef0000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA |
-+                              JAILHOUSE_MEM_LOADABLE,
-+              },
-+              /* IVSHMEM shared memory region */ {
-+                      .phys_start = 0x7bf00000,
-+                      .virt_start = 0x7bf00000,
-+                      .size = 0x100000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_ROOTSHARED,
-+              },
-+              /* communication region */ {
-+                      .virt_start = 0x80000000,
-+                      .size = 0x00001000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_COMM_REGION,
-+              },
-+      },
-+
-+      .irqchips = {
-+              /* GIC */ {
-+                      .address = 0xf9010000,
-+                      .pin_base = 32,
-+                      .pin_bitmap = {
-+                              1 << (54 - 32),
-+                              0,
-+                              0,
-+                              (1 << (140 - 128)) | (1 << (142 - 128))
-+                      },
-+              },
-+      },
-+
-+      .pci_devices = {
-+              /* 00:00.0 */ {
-+                      .type = JAILHOUSE_PCI_TYPE_IVSHMEM,
-+                      .bdf = 0 << 3,
-+                      .bar_mask = {
-+                              0xffffff00, 0xffffffff, 0x00000000,
-+                              0x00000000, 0x00000000, 0x00000000,
-+                      },
-+                      .shmem_region = 3,
-+                      .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH,
-+              },
-+      },
-+};
-diff --git a/configs/arm64/ultra96.c b/configs/arm64/ultra96.c
-new file mode 100644
-index 00000000..1fc54356
---- /dev/null
-+++ b/configs/arm64/ultra96.c
-@@ -0,0 +1,117 @@
-+/*
-+ * Jailhouse, a Linux-based partitioning hypervisor
-+ *
-+ * Configuration for Avnet Ultra96 board
-+ *
-+ * Copyright (c) Siemens AG, 2016-2019
-+ *
-+ * Authors:
-+ *  Jan Kiszka <[email protected]>
-+ *
-+ * This work is licensed under the terms of the GNU GPL, version 2.  See
-+ * the COPYING file in the top-level directory.
-+ */
-+
-+#include <jailhouse/types.h>
-+#include <jailhouse/cell-config.h>
-+
-+#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-+
-+struct {
-+      struct jailhouse_system header;
-+      __u64 cpus[1];
-+      struct jailhouse_memory mem_regions[3];
-+      struct jailhouse_irqchip irqchips[1];
-+      struct jailhouse_pci_device pci_devices[1];
-+} __attribute__((packed)) config = {
-+      .header = {
-+              .signature = JAILHOUSE_SYSTEM_SIGNATURE,
-+              .revision = JAILHOUSE_CONFIG_REVISION,
-+              .flags = JAILHOUSE_SYS_VIRTUAL_DEBUG_CONSOLE,
-+              .hypervisor_memory = {
-+                      .phys_start = 0x7c000000,
-+                      .size =       0x00400000,
-+              },
-+              .debug_console = {
-+                      .address = 0xff010000,
-+                      .size = 0x1000,
-+                      .type = JAILHOUSE_CON_TYPE_XUARTPS,
-+                      .flags = JAILHOUSE_CON_ACCESS_MMIO |
-+                               JAILHOUSE_CON_REGDIST_4,
-+              },
-+              .platform_info = {
-+                      .pci_mmconfig_base = 0xfc000000,
-+                      .pci_mmconfig_end_bus = 0,
-+                      .pci_is_virtual = 1,
-+                      .arm = {
-+                              .gic_version = 2,
-+                              .gicd_base = 0xf9010000,
-+                              .gicc_base = 0xf902f000,
-+                              .gich_base = 0xf9040000,
-+                              .gicv_base = 0xf906f000,
-+                              .maintenance_irq = 25,
-+                      },
-+              },
-+              .root_cell = {
-+                      .name = "Ultra96",
-+
-+                      .cpu_set_size = sizeof(config.cpus),
-+                      .num_memory_regions = ARRAY_SIZE(config.mem_regions),
-+                      .num_irqchips = ARRAY_SIZE(config.irqchips),
-+                      .num_pci_devices = ARRAY_SIZE(config.pci_devices),
-+
-+                      .vpci_irq_base = 136-32,
-+              },
-+      },
-+
-+      .cpus = {
-+              0xf,
-+      },
-+
-+      .mem_regions = {
-+              /* MMIO (permissive) */ {
-+                      .phys_start = 0xfd000000,
-+                      .virt_start = 0xfd000000,
-+                      .size =       0x03000000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_IO,
-+              },
-+              /* RAM */ {
-+                      .phys_start = 0x0,
-+                      .virt_start = 0x0,
-+                      .size = 0x7c000000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_EXECUTE,
-+              },
-+              /* IVSHMEM shared memory region for 00:00.0 */ {
-+                      .phys_start = 0x7bf00000,
-+                      .virt_start = 0x7bf00000,
-+                      .size = 0x100000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
-+              },
-+      },
-+
-+      .irqchips = {
-+              /* GIC */ {
-+                      .address = 0xf9010000,
-+                      .pin_base = 32,
-+                      .pin_bitmap = {
-+                              0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
-+                      },
-+              },
-+      },
-+
-+      .pci_devices = {
-+              /* 0001:00:00.0 */ {
-+                      .type = JAILHOUSE_PCI_TYPE_IVSHMEM,
-+                      .domain = 1,
-+                      .bdf = 0 << 3,
-+                      .bar_mask = {
-+                              0xffffff00, 0xffffffff, 0x00000000,
-+                              0x00000000, 0x00000000, 0x00000000,
-+                      },
-+                      .shmem_region = 2,
-+                      .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH,
-+              },
-+      },
-+};
--- 
-2.16.4
-
diff --git 
a/recipes-jailhouse/jailhouse/files/0001-configs-Add-support-for-MACCHIATObin-board.patch
 
b/recipes-jailhouse/jailhouse/files/0001-configs-Add-support-for-MACCHIATObin-board.patch
deleted file mode 100644
index e57938d..0000000
--- 
a/recipes-jailhouse/jailhouse/files/0001-configs-Add-support-for-MACCHIATObin-board.patch
+++ /dev/null
@@ -1,489 +0,0 @@
-From 06e3ecb5eefc4b199e0a60cb246fedea330caa21 Mon Sep 17 00:00:00 2001
-From: Jan Kiszka <[email protected]>
-Date: Sun, 30 Sep 2018 10:13:14 +0200
-Subject: [PATCH] configs: Add support for MACCHIATObin board
-
-Add configs for the Marvell Armada 8040-based MACCHIATObin board.
-
-As we set the pci_domain to 1 and the upstream kernel does not
-initialize linux,pci-domain, we need a patch to the DTB for the time
-being.
-
-MSI support should eventually be possible as well, but we still with
-INTx for the virtual shmem devices for now.
-
-Signed-off-by: Jan Kiszka <[email protected]>
----
- configs/arm64/dts/inmate-macchiatobin.dts | 106 +++++++++++++++++++++++
- configs/arm64/macchiatobin-gic-demo.c     |  72 ++++++++++++++++
- configs/arm64/macchiatobin-linux-demo.c   | 124 +++++++++++++++++++++++++++
- configs/arm64/macchiatobin.c              | 134 ++++++++++++++++++++++++++++++
- 4 files changed, 436 insertions(+)
- create mode 100644 configs/arm64/dts/inmate-macchiatobin.dts
- create mode 100644 configs/arm64/macchiatobin-gic-demo.c
- create mode 100644 configs/arm64/macchiatobin-linux-demo.c
- create mode 100644 configs/arm64/macchiatobin.c
-
-diff --git a/configs/arm64/dts/inmate-macchiatobin.dts 
b/configs/arm64/dts/inmate-macchiatobin.dts
-new file mode 100644
-index 00000000..51f07da1
---- /dev/null
-+++ b/configs/arm64/dts/inmate-macchiatobin.dts
-@@ -0,0 +1,106 @@
-+/*
-+ * Jailhouse, a Linux-based partitioning hypervisor
-+ *
-+ * Device tree for Linux inmate test on MACCHIATObin,
-+ * corresponds to configs/arm64/macchiatobin-linux-demo.c
-+ *
-+ * Copyright (c) Siemens AG, 2016-2018
-+ *
-+ * Authors:
-+ *  Jan Kiszka <[email protected]>
-+ *
-+ * This work is licensed under the terms of the GNU GPL, version 2.  See
-+ * the COPYING file in the top-level directory.
-+ */
-+
-+#include <dt-bindings/interrupt-controller/arm-gic.h>
-+
-+/dts-v1/;
-+
-+/ {
-+      model = "Jailhouse cell on MACCHIATObin";
-+
-+      #address-cells = <2>;
-+      #size-cells = <2>;
-+
-+      interrupt-parent = <&gic>;
-+
-+      hypervisor {
-+              compatible = "jailhouse,cell";
-+      };
-+
-+      cpus {
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+
-+              cpu@100 {
-+                      compatible = "arm,cortex-a72", "arm,armv8";
-+                      device_type = "cpu";
-+                      reg = <0x100>;
-+                      enable-method = "psci";
-+              };
-+              cpu@101 {
-+                      compatible = "arm,cortex-a72", "arm,armv8";
-+                      device_type = "cpu";
-+                      reg = <0x101>;
-+                      enable-method = "psci";
-+              };
-+      };
-+
-+      psci {
-+              compatible = "arm,psci-0.2";
-+              method = "smc";
-+      };
-+
-+      timer {
-+              compatible = "arm,armv8-timer";
-+              interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | 
IRQ_TYPE_LEVEL_LOW)>,
-+                           <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | 
IRQ_TYPE_LEVEL_LOW)>,
-+                           <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | 
IRQ_TYPE_LEVEL_LOW)>,
-+                           <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | 
IRQ_TYPE_LEVEL_LOW)>;
-+      };
-+
-+      gic: interrupt-controller@f0210000 {
-+              compatible = "arm,gic-400";
-+              #interrupt-cells = <3>;
-+              interrupt-controller;
-+              reg = <0x0 0xf0210000 0x0 0x10000>, /* GICD */
-+                    <0x0 0xf022f000 0x0 0x20000>; /* GICC */
-+      };
-+
-+      ap_syscon: system-controller@f06f4000 {
-+              compatible = "syscon", "simple-mfd";
-+              reg = <0 0xf06f4000 0 0x2000>;
-+
-+              ap_clk: clock {
-+                      compatible = "marvell,ap806-clock";
-+                      #clock-cells = <1>;
-+              };
-+      };
-+
-+      uart0: serial@f0512000 {
-+              compatible = "snps,dw-apb-uart";
-+              reg = <0 0xf0512000 0 0x100>;
-+              reg-shift = <2>;
-+              interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
-+              reg-io-width = <1>;
-+              clocks = <&ap_clk 3>;
-+      };
-+
-+      pci@fc000000 {
-+              compatible = "pci-host-ecam-generic";
-+              device_type = "pci";
-+              bus-range = <0 0>;
-+              #address-cells = <3>;
-+              #size-cells = <2>;
-+              #interrupt-cells = <1>;
-+              interrupt-map-mask = <0 0 0 7>;
-+              interrupt-map = <0 0 0 1 &gic GIC_SPI 80 IRQ_TYPE_EDGE_RISING>,
-+                              <0 0 0 2 &gic GIC_SPI 81 IRQ_TYPE_EDGE_RISING>,
-+                              <0 0 0 3 &gic GIC_SPI 82 IRQ_TYPE_EDGE_RISING>,
-+                              <0 0 0 4 &gic GIC_SPI 83 IRQ_TYPE_EDGE_RISING>;
-+              reg = <0x0 0xfc000000 0x0 0x100000>;
-+              ranges =
-+                      <0x02000000 0x00 0x10000000 0x0 0x10000000 0x00 
0x10000>;
-+      };
-+};
-diff --git a/configs/arm64/macchiatobin-gic-demo.c 
b/configs/arm64/macchiatobin-gic-demo.c
-new file mode 100644
-index 00000000..713319d2
---- /dev/null
-+++ b/configs/arm64/macchiatobin-gic-demo.c
-@@ -0,0 +1,72 @@
-+/*
-+ * Jailhouse, a Linux-based partitioning hypervisor
-+ *
-+ * Configuration for gic-demo inmate on Marvell MACCHIATObin board:
-+ * 1 CPU, 64K RAM, 1 serial port
-+ *
-+ * Copyright (c) Siemens AG, 2017-2018
-+ *
-+ * Authors:
-+ *  Jan Kiszka <[email protected]>
-+ *
-+ * This work is licensed under the terms of the GNU GPL, version 2.  See
-+ * the COPYING file in the top-level directory.
-+ */
-+
-+#include <jailhouse/types.h>
-+#include <jailhouse/cell-config.h>
-+
-+#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
-+
-+struct {
-+      struct jailhouse_cell_desc cell;
-+      __u64 cpus[1];
-+      struct jailhouse_memory mem_regions[3];
-+} __attribute__((packed)) config = {
-+      .cell = {
-+              .signature = JAILHOUSE_CELL_DESC_SIGNATURE,
-+              .revision = JAILHOUSE_CONFIG_REVISION,
-+              .name = "gic-demo",
-+              .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
-+
-+              .cpu_set_size = sizeof(config.cpus),
-+              .num_memory_regions = ARRAY_SIZE(config.mem_regions),
-+              .num_irqchips = 0,
-+              .pio_bitmap_size = 0,
-+              .num_pci_devices = 0,
-+
-+              .console = {
-+                      .address = 0xf0512000,
-+                      .type = JAILHOUSE_CON_TYPE_8250,
-+                      .flags = JAILHOUSE_CON_ACCESS_MMIO |
-+                               JAILHOUSE_CON_REGDIST_4,
-+              },
-+      },
-+
-+      .cpus = {
-+              0x2,
-+      },
-+
-+      .mem_regions = {
-+              /* UART */ {
-+                      .phys_start = 0xf0512000,
-+                      .virt_start = 0xf0512000,
-+                      .size = 0x1000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED,
-+              },
-+              /* RAM */ {
-+                      .phys_start = 0x13faf0000,
-+                      .virt_start = 0,
-+                      .size = 0x00010000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE,
-+              },
-+              /* communication region */ {
-+                      .virt_start = 0x80000000,
-+                      .size = 0x00001000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_COMM_REGION,
-+              },
-+      }
-+};
-diff --git a/configs/arm64/macchiatobin-linux-demo.c 
b/configs/arm64/macchiatobin-linux-demo.c
-new file mode 100644
-index 00000000..63fbbba7
---- /dev/null
-+++ b/configs/arm64/macchiatobin-linux-demo.c
-@@ -0,0 +1,124 @@
-+/*
-+ * Jailhouse, a Linux-based partitioning hypervisor
-+ *
-+ * Configuration for linux-demo inmate on MACCHIATObin:
-+ * 2 CPUs, 128M RAM, serial port
-+ *
-+ * Copyright (c) Siemens AG, 2014-2018
-+ *
-+ * Authors:
-+ *  Jan Kiszka <[email protected]>
-+ *
-+ * This work is licensed under the terms of the GNU GPL, version 2.  See
-+ * the COPYING file in the top-level directory.
-+ */
-+
-+#include <jailhouse/types.h>
-+#include <jailhouse/cell-config.h>
-+
-+#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
-+
-+struct {
-+      struct jailhouse_cell_desc cell;
-+      __u64 cpus[1];
-+      struct jailhouse_memory mem_regions[6];
-+      struct jailhouse_irqchip irqchips[1];
-+      struct jailhouse_pci_device pci_devices[1];
-+} __attribute__((packed)) config = {
-+      .cell = {
-+              .signature = JAILHOUSE_CELL_DESC_SIGNATURE,
-+              .revision = JAILHOUSE_CONFIG_REVISION,
-+              .name = "MACCHIATObin-linux-demo",
-+              .flags = JAILHOUSE_CELL_PASSIVE_COMMREG |
-+                      JAILHOUSE_CELL_VIRTUAL_CONSOLE_PERMITTED,
-+
-+              .cpu_set_size = sizeof(config.cpus),
-+              .num_memory_regions = ARRAY_SIZE(config.mem_regions),
-+              .num_irqchips = ARRAY_SIZE(config.irqchips),
-+              .num_pci_devices = ARRAY_SIZE(config.pci_devices),
-+
-+              .vpci_irq_base = 112-32,
-+
-+              .console = {
-+                      .address = 0xf0512000,
-+                      .type = JAILHOUSE_CON_TYPE_8250,
-+                      .flags = JAILHOUSE_CON_ACCESS_MMIO |
-+                               JAILHOUSE_CON_REGDIST_4,
-+              },
-+      },
-+
-+      .cpus = {
-+              0xc,
-+      },
-+
-+      .mem_regions = {
-+              /* UART */ {
-+                      .phys_start = 0xf0512000,
-+                      .virt_start = 0xf0512000,
-+                      .size = 0x1000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED,
-+              },
-+              /* syscon (read-only) */ {
-+                      .phys_start = 0xf06f4000,
-+                      .virt_start = 0xf06f4000,
-+                      .size = 0x1000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_IO |
-+                              JAILHOUSE_MEM_ROOTSHARED,
-+              },
-+              /* RAM */ {
-+                      .phys_start = 0x13fa00000,
-+                      .virt_start = 0,
-+                      .size = 0x10000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE,
-+              },
-+              /* RAM */ {
-+                      .phys_start = 0x137000000,
-+                      .virt_start = 0x137000000,
-+                      .size = 0x8000000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA |
-+                              JAILHOUSE_MEM_LOADABLE,
-+              },
-+              /* IVSHMEM shared memory region */ {
-+                      .phys_start = 0x13fb00000,
-+                      .virt_start = 0x13fb00000,
-+                      .size = 0x100000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_ROOTSHARED,
-+              },
-+              /* communication region */ {
-+                      .virt_start = 0x80000000,
-+                      .size = 0x00001000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_COMM_REGION,
-+              },
-+      },
-+
-+      .irqchips = {
-+              /* GIC */ {
-+                      .address = 0xf0210000,
-+                      .pin_base = 32,
-+                      .pin_bitmap = {
-+                              (1 << (51 - 32)),
-+                              0,
-+                              (1 << (112 - 96)),
-+                              0
-+                      },
-+              },
-+      },
-+
-+      .pci_devices = {
-+              /* 00:00.0 */ {
-+                      .type = JAILHOUSE_PCI_TYPE_IVSHMEM,
-+                      .bdf = 0 << 3,
-+                      .bar_mask = {
-+                              0xffffff00, 0xffffffff, 0x00000000,
-+                              0x00000000, 0x00000000, 0x00000000,
-+                      },
-+                      .shmem_region = 4,
-+                      .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH,
-+              },
-+      },
-+};
-diff --git a/configs/arm64/macchiatobin.c b/configs/arm64/macchiatobin.c
-new file mode 100644
-index 00000000..c0df0572
---- /dev/null
-+++ b/configs/arm64/macchiatobin.c
-@@ -0,0 +1,134 @@
-+/*
-+ * Jailhouse, a Linux-based partitioning hypervisor
-+ *
-+ * Configuration for Marvell MACCHIATObin board
-+ *
-+ * Copyright (c) Siemens AG, 2017-2018
-+ *
-+ * Authors:
-+ *  Jan Kiszka <[email protected]>
-+ *
-+ * 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: 0x800000000..0x83fffffff
-+ */
-+
-+#include <jailhouse/types.h>
-+#include <jailhouse/cell-config.h>
-+
-+#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-+
-+struct {
-+      struct jailhouse_system header;
-+      __u64 cpus[1];
-+      struct jailhouse_memory mem_regions[5];
-+      struct jailhouse_irqchip irqchips[1];
-+      struct jailhouse_pci_device pci_devices[1];
-+} __attribute__((packed)) config = {
-+      .header = {
-+              .signature = JAILHOUSE_SYSTEM_SIGNATURE,
-+              .revision = JAILHOUSE_CONFIG_REVISION,
-+              .flags = JAILHOUSE_SYS_VIRTUAL_DEBUG_CONSOLE,
-+              .hypervisor_memory = {
-+                      .phys_start = 0x13fc00000,
-+                      .size =       0x000400000,
-+              },
-+              .debug_console = {
-+                      .address = 0xf0512000,
-+                      .size = 0x1000,
-+                      .type = JAILHOUSE_CON_TYPE_8250,
-+                      .flags = JAILHOUSE_CON_ACCESS_MMIO |
-+                              JAILHOUSE_CON_REGDIST_4,
-+              },
-+              .platform_info = {
-+                      .pci_mmconfig_base = 0xfc000000,
-+                      .pci_mmconfig_end_bus = 0,
-+                      .pci_is_virtual = 1,
-+                      .pci_domain = 1,
-+                      .arm = {
-+                              .gic_version = 2,
-+                              .gicd_base = 0xf0210000,
-+                              .gicc_base = 0xf022f000,
-+                              .gich_base = 0xf0240000,
-+                              .gicv_base = 0xf026f000,
-+                              .maintenance_irq = 25,
-+                      },
-+              },
-+              .root_cell = {
-+                      .name = "MACCHIATObin",
-+
-+                      .cpu_set_size = sizeof(config.cpus),
-+                      .num_memory_regions = ARRAY_SIZE(config.mem_regions),
-+                      .num_irqchips = ARRAY_SIZE(config.irqchips),
-+                      .num_pci_devices = ARRAY_SIZE(config.pci_devices),
-+
-+                      .vpci_irq_base = 108-32,
-+              },
-+      },
-+
-+      .cpus = {
-+              0xf,
-+      },
-+
-+      .mem_regions = {
-+              /* MMIO (permissive) */ {
-+                      .phys_start = 0xf0300000,
-+                      .virt_start = 0xf0300000,
-+                      .size =        0x4300000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_IO,
-+              },
-+              /* MMIO (PCIe) */ {
-+                      .phys_start = 0xf6000000,
-+                      .virt_start = 0xf6000000,
-+                      .size =        0x1000000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_IO,
-+              },
-+              /* RAM */ {
-+                      .phys_start = 0x0,
-+                      .virt_start = 0x0,
-+                      .size = 0xc0000000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_EXECUTE,
-+              },
-+              /* RAM */ {
-+                      .phys_start = 0x100000000,
-+                      .virt_start = 0x100000000,
-+                      .size = 0x3fb00000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_EXECUTE,
-+              },
-+              /* IVSHMEM shared memory region for 00:00.0 */ {
-+                      .phys_start = 0x13fb00000,
-+                      .virt_start = 0x13fb00000,
-+                      .size = 0x100000,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
-+              },
-+      },
-+
-+      .irqchips = {
-+              /* GIC */ {
-+                      .address = 0xf0210000,
-+                      .pin_base = 32,
-+                      .pin_bitmap = {
-+                              0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
-+                      },
-+              },
-+      },
-+
-+      .pci_devices = {
-+              /* 0001:00:00.0 */ {
-+                      .type = JAILHOUSE_PCI_TYPE_IVSHMEM,
-+                      .domain = 1,
-+                      .bdf = 0 << 3,
-+                      .bar_mask = {
-+                              0xffffff00, 0xffffffff, 0x00000000,
-+                              0x00000000, 0x00000000, 0x00000000,
-+                      },
-+                      .shmem_region = 4,
-+                      .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH,
-+              },
-+      },
-+};
--- 
-2.16.4
-
diff --git 
a/recipes-jailhouse/jailhouse/files/0001-configs-orangepi0-Permit-access-to-another-clock.patch
 
b/recipes-jailhouse/jailhouse/files/0001-configs-orangepi0-Permit-access-to-another-clock.patch
deleted file mode 100644
index 842e30d..0000000
--- 
a/recipes-jailhouse/jailhouse/files/0001-configs-orangepi0-Permit-access-to-another-clock.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 2a33e404de0148d81e76e8926a5d2846ce0989c5 Mon Sep 17 00:00:00 2001
-From: Jan Kiszka <[email protected]>
-Date: Sat, 10 Nov 2018 15:10:12 +0100
-Subject: [PATCH] configs: orangepi0: Permit access to another clock
-
-This is required when using 4.19 as root kernel.
-
-Signed-off-by: Jan Kiszka <[email protected]>
----
- configs/arm/orangepi0.c | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/configs/arm/orangepi0.c b/configs/arm/orangepi0.c
-index 0284ae45..9eca773d 100644
---- a/configs/arm/orangepi0.c
-+++ b/configs/arm/orangepi0.c
-@@ -20,7 +20,7 @@
- struct {
-       struct jailhouse_system header;
-       __u64 cpus[1];
--      struct jailhouse_memory mem_regions[8];
-+      struct jailhouse_memory mem_regions[9];
-       struct jailhouse_irqchip irqchips[1];
-       struct jailhouse_pci_device pci_devices[1];
- } __attribute__((packed)) config = {
-@@ -76,6 +76,13 @@ struct {
-                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-                               JAILHOUSE_MEM_IO,
-               },
-+              /* clock (permissive) */ {
-+                      .phys_start = 0x01c20000,
-+                      .virt_start = 0x01c20000,
-+                      .size =            0x800,
-+                      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-+                              JAILHOUSE_MEM_IO | JAILHOUSE_MEM_IO_32,
-+              },
-               /* pinctrl PA */ {
-                       .phys_start = 0x01c20800,
-                       .virt_start = 0x01c20800,
-@@ -144,7 +151,7 @@ struct {
-                               0xffffff00, 0xffffffff, 0x00000000,
-                               0x00000000, 0x00000000, 0x00000000,
-                       },
--                      .shmem_region = 7,
-+                      .shmem_region = 8,
-                       .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH,
-               },
-       },
--- 
-2.16.4
-
diff --git a/recipes-jailhouse/jailhouse/jailhouse_0.10.bb 
b/recipes-jailhouse/jailhouse/jailhouse_0.10.bb
deleted file mode 100644
index 42616db..0000000
--- a/recipes-jailhouse/jailhouse/jailhouse_0.10.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Jailhouse, a Linux-based partitioning hypervisor
-#
-# Copyright (c) Siemens AG, 2018
-#
-# Authors:
-#  Jan Kiszka <[email protected]>
-#
-# SPDX-License-Identifier: MIT
-#
-
-require jailhouse.inc
-
-SRC_URI += "file://0001-configs-Add-support-for-MACCHIATObin-board.patch"
-SRC_URI += "file://0001-configs-orangepi0-Permit-access-to-another-clock.patch"
-SRC_URI += "file://0001-configs-Add-Ultra96-board.patch"
-
-SRCREV = "f596aa7355bc2134650544bdf1e13f1f55d3f2fc"
diff --git a/recipes-jailhouse/jailhouse/jailhouse_0.11.bb 
b/recipes-jailhouse/jailhouse/jailhouse_0.11.bb
new file mode 100644
index 0000000..38a35ce
--- /dev/null
+++ b/recipes-jailhouse/jailhouse/jailhouse_0.11.bb
@@ -0,0 +1,14 @@
+#
+# Jailhouse, a Linux-based partitioning hypervisor
+#
+# Copyright (c) Siemens AG, 2018-2019
+#
+# Authors:
+#  Jan Kiszka <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+
+require jailhouse.inc
+
+SRCREV = "58052a7a9d1f5904d72b1637282c877172ee69f6"
-- 
2.16.4

-- 
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/70bed1a5c38baf98d8386b73d208e336c578100c.1562833696.git.jan.kiszka%40siemens.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to