diff options
Diffstat (limited to 'meta-agl-jailhouse/recipes-extended/jailhouse')
12 files changed, 0 insertions, 1741 deletions
diff --git a/meta-agl-jailhouse/recipes-extended/jailhouse/files/agl-apic-demo.c b/meta-agl-jailhouse/recipes-extended/jailhouse/files/agl-apic-demo.c deleted file mode 100644 index 40696d71..00000000 --- a/meta-agl-jailhouse/recipes-extended/jailhouse/files/agl-apic-demo.c +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Jailhouse, a Linux-based partitioning hypervisor - * - * Minimal configuration for demo inmates, 1 CPU, 1 MB RAM, 1 serial port - * - * Copyright (c) Siemens AG, 2013 - * - * Authors: - * Jan Kiszka <jan.kiszka@siemens.com> - * - * 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> - -struct { - struct jailhouse_cell_desc cell; - __u64 cpus[1]; - struct jailhouse_memory mem_regions[2]; - struct jailhouse_cache cache_regions[1]; - struct jailhouse_pio pio_regions[3]; -} __attribute__((packed)) config = { - .cell = { - .signature = JAILHOUSE_CELL_DESC_SIGNATURE, - .revision = JAILHOUSE_CONFIG_REVISION, - .name = "agl-apic-demo", - .flags = JAILHOUSE_CELL_VIRTUAL_CONSOLE_PERMITTED, - - .cpu_set_size = sizeof(config.cpus), - .num_memory_regions = ARRAY_SIZE(config.mem_regions), - .num_cache_regions = ARRAY_SIZE(config.cache_regions), - .num_irqchips = 0, - .num_pio_regions = ARRAY_SIZE(config.pio_regions), - .num_pci_devices = 0, - - .console = { - .type = JAILHOUSE_CON_TYPE_8250, - .flags = JAILHOUSE_CON_ACCESS_PIO, - .address = 0x3e8, /* Serial 2: ttyS2(0x3e8) */ - }, - }, - - .cpus = { - 0x8, - }, - - .mem_regions = { - /* RAM */ { - .phys_start = 0x22f00000, - .virt_start = 0, - .size = 0x00100000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE, - }, - /* communication region */ { - .virt_start = 0x00100000, - .size = 0x00001000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_COMM_REGION, - }, - }, - - .cache_regions = { - { - .start = 0, - .size = 2, - .type = JAILHOUSE_CACHE_L3, - }, - }, - - .pio_regions = { - PIO_RANGE(0x2e8, 8), /* serial 3: ttyS3(0x2e8) */ - PIO_RANGE(0x3e8, 8), /* serial 2: ttyS2(0x3e8) */ - PIO_RANGE(0xe010, 8), /* OXPCIe952 serial */ - }, -}; diff --git a/meta-agl-jailhouse/recipes-extended/jailhouse/files/agl-ivshmem-demo.c b/meta-agl-jailhouse/recipes-extended/jailhouse/files/agl-ivshmem-demo.c deleted file mode 100644 index 85dd5ebd..00000000 --- a/meta-agl-jailhouse/recipes-extended/jailhouse/files/agl-ivshmem-demo.c +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Jailhouse, a Linux-based partitioning hypervisor - * - * Minimal configuration for ivshmem inmate demo: - * 1 CPU, 1MB RAM, serial ports, 4K shmem - * - * Copyright (c) Siemens AG, 2013, 2014 - * - * Authors: - * Henning Schild <henning.schild@siemens.com> - * - * 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> - -struct { - struct jailhouse_cell_desc cell; - __u64 cpus[1]; - struct jailhouse_memory mem_regions[7]; - struct jailhouse_pio pio_regions[2]; - struct jailhouse_pci_device pci_devices[1]; - struct jailhouse_pci_capability pci_caps[0]; -} __attribute__((packed)) config = { - .cell = { - .signature = JAILHOUSE_CELL_DESC_SIGNATURE, - .revision = JAILHOUSE_CONFIG_REVISION, - .name = "agl-ivshmem-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 = 0, - .num_pio_regions = ARRAY_SIZE(config.pio_regions), - .num_pci_devices = ARRAY_SIZE(config.pci_devices), - .num_pci_caps = ARRAY_SIZE(config.pci_caps), - - .console = { - .type = JAILHOUSE_CON_TYPE_8250, - .flags = JAILHOUSE_CON_ACCESS_PIO, - .address = 0x3e8, /* ######## ttyS2 is host -> ttyS3 */ - }, - }, - - .cpus = { - 0b0010, - }, - - .mem_regions = { - /* IVSHMEM shared memory regions (demo) */ - { - .phys_start = 0x221f0000, - .virt_start = 0x221f0000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x221f1000, - .virt_start = 0x221f1000, - .size = 0x9000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x221fa000, - .virt_start = 0x221fa000, - .size = 0x2000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x221fc000, - .virt_start = 0x221fc000, - .size = 0x2000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x221fe000, - .virt_start = 0x221fe000, - .size = 0x2000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, - }, - /* RAM */ { - .phys_start = 0x22f00000, - .virt_start = 0, - .size = 0x00100000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE, - }, - /* communication region */ { - .virt_start = 0x00100000, - .size = 0x00001000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_COMM_REGION, - }, - }, - - .pio_regions = { - PIO_RANGE(0x2e8, 8), /* serial 3: ttyS3(0x2e8) */ - PIO_RANGE(0x3e8, 8), /* serial 2: ttyS2(0x3e8) */ - }, - - .pci_devices = { - { - .type = JAILHOUSE_PCI_TYPE_IVSHMEM, - .domain = 0x0000, - .bdf = 0x0e << 3, - .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_MSIX, - .num_msix_vectors = 16, - .shmem_regions_start = 0, - .shmem_dev_id = 1, - .shmem_peers = 3, - .shmem_protocol = JAILHOUSE_SHMEM_PROTO_UNDEFINED, - }, - }, -}; diff --git a/meta-agl-jailhouse/recipes-extended/jailhouse/files/agl-linux-x86-demo.c b/meta-agl-jailhouse/recipes-extended/jailhouse/files/agl-linux-x86-demo.c deleted file mode 100644 index 37fcf54c..00000000 --- a/meta-agl-jailhouse/recipes-extended/jailhouse/files/agl-linux-x86-demo.c +++ /dev/null @@ -1,369 +0,0 @@ -/* - * Jailhouse, a Linux-based partitioning hypervisor - * - * Configuration for Linux inmate, 1 CPU, 74 MB RAM, ~1MB shmem, serial ports - * - * Copyright (c) Siemens AG, 2013-2015 - * - * Authors: - * Jan Kiszka <jan.kiszka@siemens.com> - * - * This work is licensed under the terms of the GNU GPL, version 2. See - * the COPYING file in the top-level directory. - */ - -/* For extending the virtio-blk over IVSHMEM. */ -#define USE_VIRTIO_BLK - -/* - * Placeholder for extending virtio-device - * - * #define USE_VIRTIO_NET - * #define USE_VIRTIO_CON - * #define USE_VIRTIO_DEMO - */ - -#ifdef USE_VIRTIO_BLK -# define BLK_MEM 4 -# define BLK_PCI 1 -#else -# define BLK_MEM 0 -# define BLK_PCI 0 -#endif - -#ifdef USE_IVSHMEM_DEMO -# define DEMO_MEM 5 -# define DEMO_PCI 1 -#else -# define DEMO_MEM 0 -# define DEMO_PCI 0 -#endif - -#ifdef USE_IVSHMEM_NET -# define NET_MEM 4 -# define NET_PCI 1 -#else -# define NET_MEM 0 -# define NET_PCI 0 -#endif - -#ifdef USE_VIRTIO_CON -# define CON_MEM 4 -# define CON_PCI 1 -#else -# define CON_MEM 0 -# define CON_PCI 0 -#endif - -#define COMM_MEM_REGIONS (BLK_MEM + CON_MEM + NET_MEM + DEMO_MEM) -#define COMM_PCI_REGIONS (BLK_PCI + CON_PCI + NET_PCI + DEMO_PCI) - -#include <jailhouse/types.h> -#include <jailhouse/cell-config.h> - -struct { - struct jailhouse_cell_desc cell; - __u64 cpus[1]; -#ifdef CONFIG_QEMU_E1000E_ASSIGNMENT - struct jailhouse_memory mem_regions[7 + COMM_MEM_REGIONS]; -#else - struct jailhouse_memory mem_regions[3 + COMM_MEM_REGIONS]; -#endif - struct jailhouse_cache cache_regions[1]; - struct jailhouse_irqchip irqchips[1]; - struct jailhouse_pio pio_regions[2]; -#ifdef CONFIG_QEMU_E1000E_ASSIGNMENT - struct jailhouse_pci_device pci_devices[1 + COMM_PCI_REGIONS]; -#else - struct jailhouse_pci_device pci_devices[COMM_PCI_REGIONS]; -#endif - struct jailhouse_pci_capability pci_caps[6]; -} __attribute__((packed)) config = { - .cell = { - .signature = JAILHOUSE_CELL_DESC_SIGNATURE, - .revision = JAILHOUSE_CONFIG_REVISION, - .name = "agl-linux-x86-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_cache_regions = ARRAY_SIZE(config.cache_regions), - .num_irqchips = ARRAY_SIZE(config.irqchips), - .num_pio_regions = ARRAY_SIZE(config.pio_regions), - .num_pci_devices = ARRAY_SIZE(config.pci_devices), - .num_pci_caps = ARRAY_SIZE(config.pci_caps), - }, - - .cpus = { - 0b1100, - }, - - .mem_regions = { -#if defined USE_VIRTIO_BLK - /* IVSHMEM shared memory region (virtio-blk front-end) */ - { - .phys_start = 0x26e00000, - .virt_start = 0x26e00000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x26e01000, - .virt_start = 0x26e01000, - .size = 0xdf000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_ROOTSHARED, - }, - { 0 }, - { 0 }, -#endif -#if defined USE_IVSHMEM_CON - /* IVSHMEM shared memory region (virtio-con front-end) */ - { - .phys_start = 0x220e0000, - .virt_start = 0x220e0000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x220e1000, - .virt_start = 0x220e1000, - .size = 0xf000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_ROOTSHARED, - }, - { 0 }, - { 0 }, -#endif -#if defined USE_IVSHMEM_DEMO - /* IVSHMEM shared memory regions (demo) */ - { - .phys_start = 0x220f0000, - .virt_start = 0x220f0000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x220f1000, - .virt_start = 0x220f1000, - .size = 0x9000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x220fa000, - .virt_start = 0x220fa000, - .size = 0x2000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x220fc000, - .virt_start = 0x220fc000, - .size = 0x2000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x220fe000, - .virt_start = 0x220fe000, - .size = 0x2000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_ROOTSHARED, - }, -#endif -#if defined USE_IVSHMEM_NET - /* IVSHMEM shared memory regions (networking) */ - JAILHOUSE_SHMEM_NET_REGIONS(0x22100000, 1), -#endif - /* low RAM */ { - .phys_start = 0x22600000, - .virt_start = 0, - .size = 0x00100000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA | - JAILHOUSE_MEM_LOADABLE, - }, - /* communication region */ { - .virt_start = 0x00100000, - .size = 0x00001000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_COMM_REGION, - }, - /* high RAM */ { - .phys_start = 0x22700000, - .virt_start = 0x00200000, - .size = 0x4700000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA | - JAILHOUSE_MEM_LOADABLE, - }, -#ifdef CONFIG_QEMU_E1000E_ASSIGNMENT - /* MemRegion: feb40000-feb7ffff : 0000:00:02.0 */ - { - .phys_start = 0xfeb40000, - .virt_start = 0xfeb40000, - .size = 0x40000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: feb80000-feb9ffff : e1000e */ - { - .phys_start = 0xfeb80000, - .virt_start = 0xfeb80000, - .size = 0x20000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: feba0000-febbffff : e1000e */ - { - .phys_start = 0xfeba0000, - .virt_start = 0xfeba0000, - .size = 0x20000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: febd1000-febd3fff : e1000e */ - { - .phys_start = 0xfebd1000, - .virt_start = 0xfebd1000, - .size = 0x3000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, -#endif - }, - - .cache_regions = { - { - .start = 0, - .size = 2, - .type = JAILHOUSE_CACHE_L3, - }, - }, - - .irqchips = { - /* IOAPIC */ { - .address = 0xfec00000, - .id = 0xff00, - .pin_bitmap = { - (1 << 3) | (1 << 4), - }, - }, - }, - - .pio_regions = { - PIO_RANGE(0x2e8, 8), /* serial 2: ttyS3(0x2e8) */ - PIO_RANGE(0x3e8, 8), /* serial 1: ttyS2(0x3e8) */ -// PIO_RANGE(0xe010, 8), /* OXPCIe952 serial1 */ - }, - - .pci_devices = { -#if defined USE_VIRTIO_BLK - { /* IVSHMEM (virtio-blk front-end) */ - .type = JAILHOUSE_PCI_TYPE_IVSHMEM, - .domain = 0x0, - .bdf = 0x0c << 3, - .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_MSIX, - .num_msix_vectors = 2, - .shmem_regions_start = 0, - .shmem_dev_id = 1, - .shmem_peers = 2, - .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VIRTIO_FRONT + - VIRTIO_DEV_BLOCK, - }, -#endif -#if defined USE_IVSHMEM_CON - { /* IVSHMEM (virtio-con front-end) */ - .type = JAILHOUSE_PCI_TYPE_IVSHMEM, - .domain = 0x0, - .bdf = 0x0d << 3, - .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_MSIX, - .num_msix_vectors = 3, - .shmem_regions_start = BLK_MEM, /* 0 + BLK_MEM */ - .shmem_dev_id = 1, - .shmem_peers = 2, - .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VIRTIO_FRONT + - VIRTIO_DEV_CONSOLE, - }, -#endif -#if defined USE_IVSHMEM_DEMO - { /* IVSHMEM (demo) */ - .type = JAILHOUSE_PCI_TYPE_IVSHMEM, - .domain = 0x0, - .bdf = 0x0e << 3, - .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_MSIX, - .num_msix_vectors = 16, - .shmem_regions_start = BLK_MEM + CON_MEM, - .shmem_dev_id = 2, - .shmem_peers = 3, - .shmem_protocol = JAILHOUSE_SHMEM_PROTO_UNDEFINED, - }, -#endif -#if defined USE_IVSHMEM_NET - { /* IVSHMEM (networking) */ - .type = JAILHOUSE_PCI_TYPE_IVSHMEM, - .domain = 0x0, - .bdf = 0x0f << 3, - .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_MSIX, - .num_msix_vectors = 2, - .shmem_regions_start = BLK_MEM + CON_MEM + DEMO_MEM, - .shmem_dev_id = 1, - .shmem_peers = 2, - .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH, - }, -#endif -#ifdef CONFIG_QEMU_E1000E_ASSIGNMENT - { /* e1000e */ - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .domain = 0x0000, - .bdf = 0x0010, - .bar_mask = { - 0xfffe0000, 0xfffe0000, 0xffffffe0, - 0xffffc000, 0x00000000, 0x00000000, - }, - .caps_start = 0, - .num_caps = 6, - .num_msi_vectors = 1, - .msi_64bits = 1, - .num_msix_vectors = 5, - .msix_region_size = 0x1000, - .msix_address = 0xfebd0000, - }, -#endif - }, - - .pci_caps = { - { /* e1000e */ - .id = PCI_CAP_ID_PM, - .start = 0xc8, - .len = 8, - .flags = JAILHOUSE_PCICAPS_WRITE, - }, - { - .id = PCI_CAP_ID_MSI, - .start = 0xd0, - .len = 14, - .flags = JAILHOUSE_PCICAPS_WRITE, - }, - { - .id = PCI_CAP_ID_EXP, - .start = 0xe0, - .len = 20, - .flags = JAILHOUSE_PCICAPS_WRITE, - }, - { - .id = PCI_CAP_ID_MSIX, - .start = 0xa0, - .len = 12, - .flags = JAILHOUSE_PCICAPS_WRITE, - }, - { - .id = PCI_EXT_CAP_ID_ERR | JAILHOUSE_PCI_EXT_CAP, - .start = 0x100, - .len = 4, - .flags = 0, - }, - { - .id = PCI_EXT_CAP_ID_DSN | JAILHOUSE_PCI_EXT_CAP, - .start = 0x140, - .len = 4, - .flags = 0, - }, - } -}; diff --git a/meta-agl-jailhouse/recipes-extended/jailhouse/files/agl-pci-demo.c b/meta-agl-jailhouse/recipes-extended/jailhouse/files/agl-pci-demo.c deleted file mode 100644 index 59d42323..00000000 --- a/meta-agl-jailhouse/recipes-extended/jailhouse/files/agl-pci-demo.c +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Jailhouse, a Linux-based partitioning hypervisor - * - * Minimal configuration for PCI demo inmate: - * 1 CPU, 1 MB RAM, serial ports, 1 Intel HDA PCI device - * - * Copyright (c) Siemens AG, 2014 - * - * Authors: - * Jan Kiszka <jan.kiszka@siemens.com> - * - * 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> - -struct { - struct jailhouse_cell_desc cell; - __u64 cpus[1]; - struct jailhouse_memory mem_regions[3]; - struct jailhouse_pio pio_regions[1]; /* ttyS0 is host -> ttyS1 */ - struct jailhouse_pci_device pci_devices[1]; - struct jailhouse_pci_capability pci_caps[1]; -} __attribute__((packed)) config = { - .cell = { - .signature = JAILHOUSE_CELL_DESC_SIGNATURE, - .revision = JAILHOUSE_CONFIG_REVISION, - .name = "agl-pci-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 = 0, - .num_pio_regions = ARRAY_SIZE(config.pio_regions), - .num_pci_devices = ARRAY_SIZE(config.pci_devices), - .num_pci_caps = ARRAY_SIZE(config.pci_caps), - - - .console = { - .type = JAILHOUSE_CON_TYPE_8250, - .flags = JAILHOUSE_CON_ACCESS_PIO, - .address = 0x2f8, - }, - }, - - .cpus = { - 0x4, - }, - - .mem_regions = { - /* RAM */ { - .phys_start = 0x26f00000,/*to 0x27000000| apic-demo @0x26e00000-@0x26f00000 */ - .virt_start = 0, - .size = 0x00100000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE, - }, - /* communication region */ { - .virt_start = 0x00100000, - .size = 0x00001000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_COMM_REGION, - }, - /* HDA BAR0 */ { - .phys_start = 0xfebd4000, - .virt_start = 0xfebd4000, - .size = 0x00004000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - }, - - - .pio_regions = { - PIO_RANGE(0x2f8, 8), /* serial 2 */ - //PIO_RANGE(0x3f8, 8), /* serial 1 */ - PIO_RANGE(0xe010, 8), /* OXPCIe952 serial2 */ - }, - - - .pci_devices = { - { /* Intel HDA @00:1b.0 */ - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .domain = 0x0000, - .bdf = 0x00d8, - .caps_start = 0, - .num_caps = 1, - .num_msi_vectors = 1, - .msi_64bits = 1, - }, - }, - - .pci_caps = { - { /* Intel HDA @00:1b.0 */ - .id = PCI_CAP_ID_MSI, - .start = 0x60, - .len = 14, - .flags = JAILHOUSE_PCICAPS_WRITE, - }, - }, -}; diff --git a/meta-agl-jailhouse/recipes-extended/jailhouse/files/helper-scripts/linux-non-root-cell.sh b/meta-agl-jailhouse/recipes-extended/jailhouse/files/helper-scripts/linux-non-root-cell.sh deleted file mode 100755 index 4915ed74..00000000 --- a/meta-agl-jailhouse/recipes-extended/jailhouse/files/helper-scripts/linux-non-root-cell.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -# For Networking -dhclient enp0s2 - -# For Enabling the Root-Cell -jailhouse enable /usr/share/jailhouse/cells/qemu-agl.cell - -# For loading the Non-Root cell -jailhouse cell linux /usr/share/jailhouse/cells/agl-linux-x86-demo.cell bzImage -i rootfs.cpio -w out.file -c "console=ttyS2,115200 earlycon earlyprintk" - -<<DEMO - -qemux86-64:~# ./linux-non-root-cell.sh -Boot parameters written. Start Linux with the following commands (adjusting paths as needed): - -jailhouse cell create /usr/share/jailhouse/cells/agl-linux-x86-demo.cell -jailhouse cell load linux-x86-demo linux-loader.bin -a 0x0 bzImage -a 0xffc600 rootfs.cpio -a 0x3d89000 out.file -a 0x1000 -jailhouse cell start linux-x86-demo - -DEMO diff --git a/meta-agl-jailhouse/recipes-extended/jailhouse/files/helper-scripts/run-qemu-jailhouse.sh b/meta-agl-jailhouse/recipes-extended/jailhouse/files/helper-scripts/run-qemu-jailhouse.sh deleted file mode 100755 index c6688d1a..00000000 --- a/meta-agl-jailhouse/recipes-extended/jailhouse/files/helper-scripts/run-qemu-jailhouse.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -echo "Running QEMU..." -runqemu qemux86-64 slirp kvm publicvnc serial bootparams="verbose ipv6.disable=1 intel_iommu=off" -echo "Powering Off..." - -# Note: If you want to run `$ jailhouse hardware check` then make `intel_iommu=on`, and `intel_iommu=off` for otherwise. diff --git a/meta-agl-jailhouse/recipes-extended/jailhouse/files/qemu-agl.c b/meta-agl-jailhouse/recipes-extended/jailhouse/files/qemu-agl.c deleted file mode 100644 index 265b4997..00000000 --- a/meta-agl-jailhouse/recipes-extended/jailhouse/files/qemu-agl.c +++ /dev/null @@ -1,816 +0,0 @@ -/* - * Jailhouse, a Linux-based partitioning hypervisor - * - * Copyright (c) Siemens AG, 2014-2017 - * - * This work is licensed under the terms of the GNU GPL, version 2. See - * the COPYING file in the top-level directory. - * - * Alternatively, you can use or redistribute this file under the following - * BSD license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - * - * Configuration for QEMU Standard PC (Q35 + ICH9, 2009) - * created with '/usr/libexec/jailhouse/jailhouse config create -c ttyS1 qemu-agl.c' - * - * NOTE: This config expects the following to be appended to your kernel cmdline - * "memmap=0x5200000$0x22000000" - */ - -/* For extending virtio-blk over IVSHMEM. */ -#define USE_VIRTIO_BLK - -/* - * Placeholder for extending virtio-device - * - * #define USE_VIRTIO_NET - * #define USE_VIRTIO_CON - * #define USE_VIRTIO_DEMO - * - */ - -#ifdef USE_VIRTIO_BLK -# define BLK_MEM 4 -# define BLK_PCI 1 -#else -# define BLK_MEM 0 -# define BLK_PCI 0 -#endif - -#ifdef USE_IVSHMEM_DEMO -# define DEMO_MEM 5 -# define DEMO_PCI 1 -#else -# define DEMO_MEM 0 -# define DEMO_PCI 0 -#endif - -#ifdef USE_IVSHMEM_NET -# define NET_MEM 4 -# define NET_PCI 1 -#else -# define NET_MEM 0 -# define NET_PCI 0 -#endif - -#ifdef USE_VIRTIO_CON -# define CON_MEM 4 -# define CON_PCI 1 -#else -# define CON_MEM 0 -# define CON_PCI 0 -#endif - - -#define COMM_MEM_REGIONS (BLK_MEM + DEMO_MEM + NET_MEM + CON_MEM) -#define COMM_PCI_REGIONS (BLK_PCI + DEMO_PCI + NET_PCI + CON_PCI) - - -#include <jailhouse/types.h> -#include <jailhouse/cell-config.h> - -struct { - struct jailhouse_system header; - __u64 cpus[1]; - struct jailhouse_memory mem_regions[17 + COMM_MEM_REGIONS]; - struct jailhouse_irqchip irqchips[1]; - struct jailhouse_pio pio_regions[15]; - struct jailhouse_pci_device pci_devices[13 + COMM_PCI_REGIONS]; - struct jailhouse_pci_capability pci_caps[14]; -} __attribute__((packed)) config = { - .header = { - .signature = JAILHOUSE_SYSTEM_SIGNATURE, - .revision = JAILHOUSE_CONFIG_REVISION, - .flags = JAILHOUSE_SYS_VIRTUAL_DEBUG_CONSOLE, - .hypervisor_memory = { - .phys_start = 0x22000000, - .size = 0x600000, - }, - .debug_console = { - .address = 0x2f8, - .type = JAILHOUSE_CON_TYPE_8250, - .flags = JAILHOUSE_CON_ACCESS_PIO | - JAILHOUSE_CON_REGDIST_1, - }, - .platform_info = { - .pci_mmconfig_base = 0xb0000000, - .pci_mmconfig_end_bus = 0xff, - .iommu_units = { - { - .type = JAILHOUSE_IOMMU_INTEL, - .base = 0xfed90000, - .size = 0x1000, - }, - }, - .x86 = { - .pm_timer_address = 0x608, - .vtd_interrupt_limit = 256, - }, - }, - .root_cell = { - .name = "AGL-Jailhouse-RootCell", - .cpu_set_size = sizeof(config.cpus), - .num_memory_regions = ARRAY_SIZE(config.mem_regions), - .num_irqchips = ARRAY_SIZE(config.irqchips), - .num_pio_regions = ARRAY_SIZE(config.pio_regions), - .num_pci_devices = ARRAY_SIZE(config.pci_devices), - .num_pci_caps = ARRAY_SIZE(config.pci_caps), - }, - }, - - .cpus = { - 0x000000000000000f, - }, - - .mem_regions = { - -#if defined USE_VIRTIO_BLK - /* IVSHMEM shared memory region (virtio-blk back-end) */ - { - .phys_start = 0x26e00000, - .virt_start = 0x26e00000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x26e01000, - .virt_start = 0x26e01000, - .size = 0xdf000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - { 0 }, - { 0 }, -#endif -#if defined(USE_VIRTIO_CON) - /* IVSHMEM shared memory region (virtio-con back-end) */ - { - .phys_start = 0x220e0000, - .virt_start = 0x220e0000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ, - }, - { - .phys_start = 0x220e1000, - .virt_start = 0x220e1000, - .size = 0xf000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - { 0 }, - { 0 }, -#endif -#if defined USE_IVSHMEM_DMEO - /* IVSHMEM shared memory regions (demo) */ - { - .phys_start = 0x220f0000, - .virt_start = 0x220f0000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x220f1000, - .virt_start = 0x220f1000, - .size = 0x9000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x220fa000, - .virt_start = 0x220fa000, - .size = 0x2000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x220fc000, - .virt_start = 0x220fc000, - .size = 0x2000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, - }, - { - .phys_start = 0x220fe000, - .virt_start = 0x220fe000, - .size = 0x2000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_ROOTSHARED, - }, -#endif -#if defined(USE_IVSHMEM_NET) - /* IVSHMEM shared memory regions (networking) */ - JAILHOUSE_SHMEM_NET_REGIONS(0x22100000, 0), -#endif - - /* MemRegion: 00000000-0009fbff : System RAM */ - { - .phys_start = 0x0, - .virt_start = 0x0, - .size = 0xa0000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA, - }, - /* MemRegion: 000a0000-000bffff : PCI Bus 0000:00 */ - { - .phys_start = 0xa0000, - .virt_start = 0xa0000, - .size = 0x20000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: 000f0000-000fffff : System ROM */ - { - .phys_start = 0xf0000, - .virt_start = 0xf0000, - .size = 0x10000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: 00100000-21ffffff : System RAM */ - { - .phys_start = 0x100000, - .virt_start = 0x100000, - .size = 0x21f00000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA, - }, - /* MemRegion: 27200000-3ffd7fff : System RAM */ - { - .phys_start = 0x27200000, - .virt_start = 0x27200000, - .size = 0x18dd8000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA, - }, - /* MemRegion: fe000000-fe7fffff : 0000:00:01.0 */ - { - .phys_start = 0xfe000000, - .virt_start = 0xfe000000, - .size = 0x800000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: fe800000-fe803fff : virtio-pci-modern */ - { - .phys_start = 0xfe800000, - .virt_start = 0xfe800000, - .size = 0x4000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: fe804000-fe807fff : virtio-pci-modern */ - { - .phys_start = 0xfe804000, - .virt_start = 0xfe804000, - .size = 0x4000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: fe808000-fe80bfff : virtio-pci-modern */ - { - .phys_start = 0xfe808000, - .virt_start = 0xfe808000, - .size = 0x4000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: fe80c000-fe80ffff : virtio-pci-modern */ - { - .phys_start = 0xfe80c000, - .virt_start = 0xfe80c000, - .size = 0x4000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: feb80000-febbffff : 0000:00:02.0 */ - { - .phys_start = 0xfeb80000, - .virt_start = 0xfeb80000, - .size = 0x40000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: febd0000-febd3fff : 0000:00:1b.0 */ - { - .phys_start = 0xfebd0000, - .virt_start = 0xfebd0000, - .size = 0x4000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: febd7000-febd7fff : ehci_hcd */ - { - .phys_start = 0xfebd7000, - .virt_start = 0xfebd7000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: febd8000-febd8fff : ahci */ - { - .phys_start = 0xfebd8000, - .virt_start = 0xfebd8000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: fed00000-fed003ff : PNP0103:00 */ - { - .phys_start = 0xfed00000, - .virt_start = 0xfed00000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: 000c0000-000dffff : ROMs */ - { - .phys_start = 0xc0000, - .virt_start = 0xc0000, - .size = 0x20000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - /* MemRegion: 22600000-271fffff : JAILHOUSE Inmate Memory */ - { - .phys_start = 0x22600000, - .virt_start = 0x22600000, - .size = 0x4c00000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, - }, - }, - - .irqchips = { - /* IOAPIC 0, GSI base 0 */ - { - .address = 0xfec00000, - .id = 0xff00, - .pin_bitmap = { - 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff - }, - }, - }, - - .pio_regions = { - /* Port I/O: 0000-001f : dma1 */ - /* PIO_RANGE(0x0, 0x20), */ - /* Port I/O: 0020-0021 : pic1 */ - /* PIO_RANGE(0x20, 0x2), */ - /* Port I/O: 0040-0043 : timer0 */ - PIO_RANGE(0x40, 0x4), - /* Port I/O: 0050-0053 : timer1 */ - /* PIO_RANGE(0x50, 0x4), */ - /* Port I/O: 0060-0060 : keyboard */ - PIO_RANGE(0x60, 0x1), - /* Port I/O: 0064-0064 : keyboard */ - PIO_RANGE(0x64, 0x1), - /* Port I/O: 0070-0071 : rtc0 */ - PIO_RANGE(0x70, 0x2), - /* Port I/O: 0080-008f : dma page reg */ - /* PIO_RANGE(0x80, 0x10), */ - /* Port I/O: 00a0-00a1 : pic2 */ - /* PIO_RANGE(0xa0, 0x2), */ - /* Port I/O: 00c0-00df : dma2 */ - /* PIO_RANGE(0xc0, 0x20), */ - /* Port I/O: 00f0-00ff : fpu */ - /* PIO_RANGE(0xf0, 0x10), */ - /* Port I/O: 02f8-02ff : serial */ - PIO_RANGE(0x2f8, 0x8), - /* Port I/O: 03c0-03df : vga+ */ - PIO_RANGE(0x3c0, 0x20), - /* Port I/O: 03f8-03ff : serial */ - PIO_RANGE(0x3f8, 0x8), - PIO_RANGE(0x3e8, 0x8), - /* Port I/O: 0510-051b : QEMU0002:00 */ - /* PIO_RANGE(0x510, 0xc), */ - /* Port I/O: 0600-0603 : ACPI PM1a_EVT_BLK */ - /* PIO_RANGE(0x600, 0x4), */ - /* Port I/O: 0604-0605 : ACPI PM1a_CNT_BLK */ - /* PIO_RANGE(0x604, 0x2), */ - /* Port I/O: 0608-060b : ACPI PM_TMR */ - /* PIO_RANGE(0x608, 0x4), */ - /* Port I/O: 0620-062f : ACPI GPE0_BLK */ - /* PIO_RANGE(0x620, 0x10), */ - /* Port I/O: 0700-073f : i801_smbus */ - /* PIO_RANGE(0x700, 0x40), */ - /* Port I/O: c000-c07f : 0000:00:04.0 */ - PIO_RANGE(0xc000, 0x80), - /* Port I/O: c0c0-c0df : 0000:00:02.0 */ - PIO_RANGE(0xc0c0, 0x20), - /* Port I/O: c0e0-c0ff : 0000:00:03.0 */ - PIO_RANGE(0xc0e0, 0x20), - /* Port I/O: c100-c11f : 0000:00:1d.0 */ - PIO_RANGE(0xc100, 0x20), - /* Port I/O: c120-c13f : 0000:00:1d.1 */ - PIO_RANGE(0xc120, 0x20), - /* Port I/O: c140-c15f : 0000:00:1d.2 */ - PIO_RANGE(0xc140, 0x20), - /* Port I/O: c160-c17f : 0000:00:1f.2 */ - PIO_RANGE(0xc160, 0x20), - }, - - .pci_devices = { - /* PCIDevice: 00:00.0 */ - { - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .iommu = 0, - .domain = 0x0, - .bdf = 0x0, - .bar_mask = { - 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, - }, - .caps_start = 0, - .num_caps = 0, - .num_msi_vectors = 0, - .msi_64bits = 0, - .msi_maskable = 0, - .num_msix_vectors = 0, - .msix_region_size = 0x0, - .msix_address = 0x0, - }, - /* PCIDevice: 00:01.0 */ - { - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .iommu = 0, - .domain = 0x0, - .bdf = 0x8, - .bar_mask = { - 0xff800000, 0x00000000, 0xffffc000, - 0xffffffff, 0xfffff000, 0x00000000, - }, - .caps_start = 0, - .num_caps = 6, - .num_msi_vectors = 0, - .msi_64bits = 0, - .msi_maskable = 0, - .num_msix_vectors = 3, - .msix_region_size = 0x1000, - .msix_address = 0xfebd4000, - }, - /* PCIDevice: 00:02.0 */ - { - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .iommu = 0, - .domain = 0x0, - .bdf = 0x10, - .bar_mask = { - 0xffffffe0, 0xfffff000, 0x00000000, - 0x00000000, 0xffffc000, 0xffffffff, - }, - .caps_start = 0, - .num_caps = 6, - .num_msi_vectors = 0, - .msi_64bits = 0, - .msi_maskable = 0, - .num_msix_vectors = 3, - .msix_region_size = 0x1000, - .msix_address = 0xfebd5000, - }, - /* PCIDevice: 00:03.0 */ - { - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .iommu = 0, - .domain = 0x0, - .bdf = 0x18, - .bar_mask = { - 0xffffffe0, 0x00000000, 0x00000000, - 0x00000000, 0xffffc000, 0xffffffff, - }, - .caps_start = 6, - .num_caps = 5, - .num_msi_vectors = 0, - .msi_64bits = 0, - .msi_maskable = 0, - .num_msix_vectors = 0, - .msix_region_size = 0x0, - .msix_address = 0x0, - }, - /* PCIDevice: 00:04.0 */ - { - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .iommu = 0, - .domain = 0x0, - .bdf = 0x20, - .bar_mask = { - 0xffffff80, 0xfffff000, 0x00000000, - 0x00000000, 0xffffc000, 0xffffffff, - }, - .caps_start = 0, - .num_caps = 6, - .num_msi_vectors = 0, - .msi_64bits = 0, - .msi_maskable = 0, - .num_msix_vectors = 2, - .msix_region_size = 0x1000, - .msix_address = 0xfebd6000, - }, - /* PCIDevice: 00:1b.0 */ - { - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .iommu = 0, - .domain = 0x0, - .bdf = 0xd8, - .bar_mask = { - 0xffffc000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, - }, - .caps_start = 11, - .num_caps = 1, - .num_msi_vectors = 1, - .msi_64bits = 1, - .msi_maskable = 0, - .num_msix_vectors = 0, - .msix_region_size = 0x0, - .msix_address = 0x0, - }, - /* PCIDevice: 00:1d.0 */ - { - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .iommu = 0, - .domain = 0x0, - .bdf = 0xe8, - .bar_mask = { - 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0xffffffe0, 0x00000000, - }, - .caps_start = 0, - .num_caps = 0, - .num_msi_vectors = 0, - .msi_64bits = 0, - .msi_maskable = 0, - .num_msix_vectors = 0, - .msix_region_size = 0x0, - .msix_address = 0x0, - }, - /* PCIDevice: 00:1d.1 */ - { - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .iommu = 0, - .domain = 0x0, - .bdf = 0xe9, - .bar_mask = { - 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0xffffffe0, 0x00000000, - }, - .caps_start = 0, - .num_caps = 0, - .num_msi_vectors = 0, - .msi_64bits = 0, - .msi_maskable = 0, - .num_msix_vectors = 0, - .msix_region_size = 0x0, - .msix_address = 0x0, - }, - /* PCIDevice: 00:1d.2 */ - { - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .iommu = 0, - .domain = 0x0, - .bdf = 0xea, - .bar_mask = { - 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0xffffffe0, 0x00000000, - }, - .caps_start = 0, - .num_caps = 0, - .num_msi_vectors = 0, - .msi_64bits = 0, - .msi_maskable = 0, - .num_msix_vectors = 0, - .msix_region_size = 0x0, - .msix_address = 0x0, - }, - /* PCIDevice: 00:1d.7 */ - { - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .iommu = 0, - .domain = 0x0, - .bdf = 0xef, - .bar_mask = { - 0xfffff000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, - }, - .caps_start = 0, - .num_caps = 0, - .num_msi_vectors = 0, - .msi_64bits = 0, - .msi_maskable = 0, - .num_msix_vectors = 0, - .msix_region_size = 0x0, - .msix_address = 0x0, - }, - /* PCIDevice: 00:1f.0 */ - { - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .iommu = 0, - .domain = 0x0, - .bdf = 0xf8, - .bar_mask = { - 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, - }, - .caps_start = 0, - .num_caps = 0, - .num_msi_vectors = 0, - .msi_64bits = 0, - .msi_maskable = 0, - .num_msix_vectors = 0, - .msix_region_size = 0x0, - .msix_address = 0x0, - }, - /* PCIDevice: 00:1f.2 */ - { - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .iommu = 0, - .domain = 0x0, - .bdf = 0xfa, - .bar_mask = { - 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0xffffffe0, 0xfffff000, - }, - .caps_start = 12, - .num_caps = 2, - .num_msi_vectors = 1, - .msi_64bits = 1, - .msi_maskable = 0, - .num_msix_vectors = 0, - .msix_region_size = 0x0, - .msix_address = 0x0, - }, - /* PCIDevice: 00:1f.3 */ - { - .type = JAILHOUSE_PCI_TYPE_DEVICE, - .iommu = 0, - .domain = 0x0, - .bdf = 0xfb, - .bar_mask = { - 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0xffffffc0, 0x00000000, - }, - .caps_start = 0, - .num_caps = 0, - .num_msi_vectors = 0, - .msi_64bits = 0, - .msi_maskable = 0, - .num_msix_vectors = 0, - .msix_region_size = 0x0, - .msix_address = 0x0, - }, -#if defined USE_VIRTIO_BLK - { /* IVSHMEM (virtio-blk back-end) */ - .type = JAILHOUSE_PCI_TYPE_IVSHMEM, - .iommu = 1, - .domain = 0x0, - .bdf = 0x0c << 3, - .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_MSIX, - .num_msix_vectors = 2, - .shmem_regions_start = 0, - .shmem_dev_id = 0, - .shmem_peers = 2, - .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VIRTIO_BACK + - VIRTIO_DEV_BLOCK, - }, -#endif -#if defined USE_VIRTIO_CON - { /* IVSHMEM (virtio-con back-end) */ - .type = JAILHOUSE_PCI_TYPE_IVSHMEM, - .iommu = 1, - .domain = 0x0, - .bdf = 0x0d << 3, - .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_MSIX, - .num_msix_vectors = 3, - .shmem_regions_start = BLK_MEM, /* 0 + BLK_MEM */ - .shmem_dev_id = 0, - .shmem_peers = 2, - .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VIRTIO_BACK + - VIRTIO_DEV_CONSOLE, - }, -#endif -#if defined USE_IVSHMEM_DEMO - { /* IVSHMEM (demo) */ - .type = JAILHOUSE_PCI_TYPE_IVSHMEM, - .iommu = 1, - .domain = 0x0, - .bdf = 0x0e << 3, - .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_MSIX, - .num_msix_vectors = 16, - .shmem_regions_start = BLK_MEM + CON_MEM, - .shmem_dev_id = 0, - .shmem_peers = 3, - .shmem_protocol = JAILHOUSE_SHMEM_PROTO_UNDEFINED, - }, -#endif -#if defined USE_VIRTIO_NET - { /* IVSHMEM (Networking) */ - .type = JAILHOUSE_PCI_TYPE_IVSHMEM, - .iommu = 1, - .domain = 0x0, - .bdf = 0x0f << 3, - .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_MSIX, - .num_msix_vectors = 2, - .shmem_regions_start = BLK_MEM + CON_MEM + DEMO_MEM, - .shmem_dev_id = 0, - .shmem_peers = 2, - .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH, - }, -#endif - }, - - .pci_caps = { - /* PCIDevice: 00:01.0 */ - /* PCIDevice: 00:02.0 */ - /* PCIDevice: 00:04.0 */ - { - .id = PCI_CAP_ID_MSIX, - .start = 0x98, - .len = 0xc, - .flags = JAILHOUSE_PCICAPS_WRITE, - }, - { - .id = PCI_CAP_ID_VNDR, - .start = 0x84, - .len = 0x2, - .flags = 0, - }, - { - .id = PCI_CAP_ID_VNDR, - .start = 0x70, - .len = 0x2, - .flags = 0, - }, - { - .id = PCI_CAP_ID_VNDR, - .start = 0x60, - .len = 0x2, - .flags = 0, - }, - { - .id = PCI_CAP_ID_VNDR, - .start = 0x50, - .len = 0x2, - .flags = 0, - }, - { - .id = PCI_CAP_ID_VNDR, - .start = 0x40, - .len = 0x2, - .flags = 0, - }, - /* PCIDevice: 00:03.0 */ - { - .id = PCI_CAP_ID_VNDR, - .start = 0x84, - .len = 0x2, - .flags = 0, - }, - { - .id = PCI_CAP_ID_VNDR, - .start = 0x70, - .len = 0x2, - .flags = 0, - }, - { - .id = PCI_CAP_ID_VNDR, - .start = 0x60, - .len = 0x2, - .flags = 0, - }, - { - .id = PCI_CAP_ID_VNDR, - .start = 0x50, - .len = 0x2, - .flags = 0, - }, - { - .id = PCI_CAP_ID_VNDR, - .start = 0x40, - .len = 0x2, - .flags = 0, - }, - /* PCIDevice: 00:1b.0 */ - { - .id = PCI_CAP_ID_MSI, - .start = 0x60, - .len = 0xe, - .flags = JAILHOUSE_PCICAPS_WRITE, - }, - /* PCIDevice: 00:1f.2 */ - { - .id = PCI_CAP_ID_MSI, - .start = 0x80, - .len = 0xe, - .flags = JAILHOUSE_PCICAPS_WRITE, - }, - { - .id = PCI_CAP_ID_SATA, - .start = 0xa8, - .len = 0x2, - .flags = 0, - }, - }, -};
\ No newline at end of file diff --git a/meta-agl-jailhouse/recipes-extended/jailhouse/files/sample-inmates/agl-sample-inmate.tar.xz b/meta-agl-jailhouse/recipes-extended/jailhouse/files/sample-inmates/agl-sample-inmate.tar.xz Binary files differdeleted file mode 100644 index 21880674..00000000 --- a/meta-agl-jailhouse/recipes-extended/jailhouse/files/sample-inmates/agl-sample-inmate.tar.xz +++ /dev/null diff --git a/meta-agl-jailhouse/recipes-extended/jailhouse/jailhouse-arch.inc b/meta-agl-jailhouse/recipes-extended/jailhouse/jailhouse-arch.inc deleted file mode 100644 index 498b25ed..00000000 --- a/meta-agl-jailhouse/recipes-extended/jailhouse/jailhouse-arch.inc +++ /dev/null @@ -1,22 +0,0 @@ -# Set jailhouse architecture JH_ARCH variable -# -# return value must match one of architectures supported by jailhouse -# -valid_jh_archs = "x86 arm" - -def map_jh_arch(a, d): - import re - - valid_jh_archs = d.getVar('valid_jh_archs', True).split() - - if re.match('(i.86|athlon|x86.64)$', a): return 'x86' - elif re.match('armeb$', a): return 'arm' - elif re.match('aarch64$', a): return 'arm64' - elif re.match('aarch64_be$', a): return 'arm64' - elif a in valid_jh_archs: return a - else: - bb.error("cannot map '%s' to a jailhouse supported architecture" % a) - -export JH_ARCH = "${@map_jh_arch(d.getVar('TARGET_ARCH', True), d)}" - -COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" diff --git a/meta-agl-jailhouse/recipes-extended/jailhouse/jailhouse_git.bb b/meta-agl-jailhouse/recipes-extended/jailhouse/jailhouse_git.bb deleted file mode 100644 index f299d0e5..00000000 --- a/meta-agl-jailhouse/recipes-extended/jailhouse/jailhouse_git.bb +++ /dev/null @@ -1,98 +0,0 @@ -SUMMARY = "Linux-based partitioning hypervisor" -DESCRIPTION = "Jailhouse is a partitioning Hypervisor based on Linux. It is able to run bare-metal applications or (adapted) \ -operating systems besides Linux. For this purpose, it configures CPU and device virtualization features of the hardware \ -platform in a way that none of these domains, called 'cells' here, can interfere with each other in an unacceptable way." -HOMEPAGE = "https://github.com/siemens/jailhouse" -SECTION = "jailhouse" -LICENSE = "GPL-2.0-only & BSD-2-Clause" - -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=9fa7f895f96bde2d47fd5b7d95b6ba4d \ -" - -SRCREV = "630001202caec85370fb4f956e581f51109e490c" -PV = "0.12+git${SRCPV}" - -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" - -SRC_URI = "git://github.com/siemens/jailhouse;branch=master;protocol=https \ - file://qemu-agl.c \ - file://agl-apic-demo.c \ - file://agl-pci-demo.c \ - file://agl-ivshmem-demo.c \ - file://agl-linux-x86-demo.c \ - " - -DEPENDS = "virtual/kernel dtc-native python3-mako-native make-native" - -require jailhouse-arch.inc -inherit module python3native bash-completion setuptools3 - -S = "${WORKDIR}/git" -B = "${S}" - -JH_DATADIR ?= "${datadir}/jailhouse" -JH_EXEC_DIR ?= "${libexecdir}/jailhouse" -CELL_DIR ?= "${JH_DATADIR}/cells" -INMATES_DIR ?= "${JH_DATADIR}/inmates" -DTS_DIR ?= "${JH_DATADIR}/cells/dts" - -JH_CELL_FILES ?= "*.cell" - -EXTRA_OEMAKE = "ARCH=${JH_ARCH} CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} -mfpmath=387" KDIR=${STAGING_KERNEL_BUILDDIR}" - -do_configure() { - - # copy ${WORKDIR}/<cell_config>.c ${S}/configs/x86/ <--- folder where the cells are defined in the source tree to be compiled - #cp ${WORKDIR}/qemu-agl.c ${S}/configs/${JH_ARCH} - cp ${WORKDIR}/agl-apic-demo.c ${S}/configs/x86/ - # cp ${WORKDIR}/agl-pci-demo.c ${S}/configs/x86/ - cp ${WORKDIR}/agl-linux-x86-demo.c ${S}/configs/x86/ - cp ${WORKDIR}/agl-ivshmem-demo.c ${S}/configs/x86/ - cp ${WORKDIR}/qemu-agl.c ${S}/configs/x86/ - - sed -i '1s|^#!/usr/bin/env python$|#!/usr/bin/env python3|' ${B}/tools/${BPN}-* -} - -do_compile() { - oe_runmake V=1 -} - -do_install() { - # Install pyjailhouse python modules needed by the tools - distutils3_do_install - - # We want to install the python tools, but we do not want to use pip... - # At least with v0.10, we can work around this with - # 'PIP=":" PYTHON_PIP_USEABLE=yes' - oe_runmake PIP=: PYTHON=python3 PYTHON_PIP_USEABLE=yes DESTDIR=${D} install - - install -d ${D}${CELL_DIR} - - - install -m 0644 ${B}/configs/${JH_ARCH}/${JH_CELL_FILES} ${D}${CELL_DIR}/ - - install -d ${D}${INMATES_DIR} - install -m 0644 ${B}/inmates/demos/${JH_ARCH}/*.bin ${D}${INMATES_DIR} - if [ ${JH_ARCH} != "x86" ]; then - install -d ${D}${DTS_DIR} - install -m 0644 ${B}/configs/${JH_ARCH}/dts/*.dtb ${D}${DTS_DIR} - fi -} - -PACKAGE_BEFORE_PN = "kernel-module-jailhouse pyjailhouse ${PN}-tools ${PN}-demos" -FILES:${PN} = "${base_libdir}/firmware ${libexecdir} ${sbindir} ${JH_DATADIR}" -FILES:pyjailhouse = "${PYTHON_SITEPACKAGES_DIR}" -FILES:${PN}-tools = "${libexecdir}/${BPN}/${BPN}-* ${JH_DATADIR}/*.tmpl" -FILES:${PN}-demos = "${JH_DATADIR}/ ${sbindir}/ivshmem-demo" - -# Default Linker Hash Style Changed to "sysv" -TARGET_CC_ARCH += "${LDFLAGS}" - -RDEPENDS:${PN}-tools = "pyjailhouse python3-mmap python3-math python3-datetime python3-curses python3-compression python3-mako" -RDEPENDS:pyjailhouse = "python3-core python3-ctypes python3-fcntl" -RDEPENDS:${PN}-demos = "jailhouse" - -RRECOMMENDS:${PN} = "${PN}-tools" - -KERNEL_MODULE_AUTOLOAD += "jailhouse" diff --git a/meta-agl-jailhouse/recipes-extended/jailhouse/virtio-ivshmem-block.bb b/meta-agl-jailhouse/recipes-extended/jailhouse/virtio-ivshmem-block.bb deleted file mode 100644 index cb000e3d..00000000 --- a/meta-agl-jailhouse/recipes-extended/jailhouse/virtio-ivshmem-block.bb +++ /dev/null @@ -1,54 +0,0 @@ -SUMMARY = "virtio-ivshmem-block built out of the kernel tree" -DESCRIPTION = "virtio-ivshmem-block built out of the kernel tree." -HOMEPAGE = "https://kernel.org" - -LICENSE = "GPL-2.0-only" - -PR = "r1" - -DEPENDS = " \ - virtual/${MLPREFIX}libc \ - ${MLPREFIX}elfutils \ - ${MLPREFIX}binutils \ - bison-native flex-native xz \ -" - -do_configure[depends] += "virtual/kernel:do_shared_workdir" - -PROVIDES = "virtual/virtio-ivshmem-block" - -inherit linux-kernel-base kernel-arch - -#kernel 3.1+ supports WERROR to disable warnings as errors -export WERROR = "0" - -do_populate_lic[depends] += "virtual/kernel:do_shared_workdir" - -inherit kernelsrc - - -#PACKAGE_ARCH = "${MACHINE_ARCH}" - -S = "${WORKDIR}" - -RDEPENDS:${PN}-dev = "" - -EXTRA_OEMAKE = " CC="${CC} ${CFLAGS} ${LDFLAGS}" CPP="${CPP}"" - -do_configure() { - echo "configure" -} - -do_compile() { - - oe_runmake CC="${CC} -I${STAGING_DIR_TARGET}/usr/include/ " LD="${LD}" AR="${AR}" \ - -C ${STAGING_KERNEL_DIR}/tools/virtio/ O=${S} virtio-ivshmem-block - -} - -do_install(){ - - install -d ${D}${bindir}/ - install -m 0755 ${STAGING_KERNEL_DIR}/tools/virtio/virtio-ivshmem-block ${D}${bindir} - -}
\ No newline at end of file diff --git a/meta-agl-jailhouse/recipes-extended/jailhouse/virtio-ivshmem-console.bb b/meta-agl-jailhouse/recipes-extended/jailhouse/virtio-ivshmem-console.bb deleted file mode 100644 index 8c64a241..00000000 --- a/meta-agl-jailhouse/recipes-extended/jailhouse/virtio-ivshmem-console.bb +++ /dev/null @@ -1,54 +0,0 @@ -SUMMARY = "virtio-ivshmem-console built out of the kernel tree" -DESCRIPTION = "virtio-ivshmem-console built out of the kernel tree." -HOMEPAGE = "https://kernel.org" - -LICENSE = "GPL-2.0-only" - -PR = "r1" - -DEPENDS = " \ - virtual/${MLPREFIX}libc \ - ${MLPREFIX}elfutils \ - ${MLPREFIX}binutils \ - bison-native flex-native xz \ -" - -do_configure[depends] += "virtual/kernel:do_shared_workdir" - -PROVIDES = "virtual/virtio-ivshmem-console" - -inherit linux-kernel-base kernel-arch - -#kernel 3.1+ supports WERROR to disable warnings as errors -export WERROR = "0" - -do_populate_lic[depends] += "virtual/kernel:do_shared_workdir" - -inherit kernelsrc - - -#PACKAGE_ARCH = "${MACHINE_ARCH}" - -S = "${WORKDIR}" - -RDEPENDS:${PN}-dev = "" - -EXTRA_OEMAKE = " CC="${CC} ${CFLAGS} ${LDFLAGS}" CPP="${CPP}"" - -do_configure() { - echo "configure" -} - -do_compile() { - - oe_runmake CC="${CC} -I${STAGING_DIR_TARGET}/usr/include/ " LD="${LD}" AR="${AR}" \ - -C ${STAGING_KERNEL_DIR}/tools/virtio/ O=${S} virtio-ivshmem-console - -} - -do_install(){ - - install -d ${D}${bindir}/ - install -m 0755 ${STAGING_KERNEL_DIR}/tools/virtio/virtio-ivshmem-console ${D}${bindir} - -}
\ No newline at end of file |