]> rtime.felk.cvut.cz Git - jailhouse.git/commitdiff
jailhouse: configs: Add bench cell configuration and tune novabox configuration accor...
authorMaxim Baryshnikov <barysmax@fel.cvut.cz>
Fri, 5 Aug 2016 09:37:20 +0000 (11:37 +0200)
committerMaxim Baryshnikov <barysmax@fel.cvut.cz>
Fri, 5 Aug 2016 09:37:20 +0000 (11:37 +0200)
configs/bench.c [new file with mode: 0644]
configs/novabox.c

diff --git a/configs/bench.c b/configs/bench.c
new file mode 100644 (file)
index 0000000..71868c6
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * Jailhouse, a Linux-based partitioning hypervisor
+ *
+ * Configuration for bench inmate, 1 CPU, 64 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 <linux/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[2];
+       struct jailhouse_cache cache_regions[1];
+       __u8 pio_bitmap[0x2000];
+} __attribute__((packed)) config = {
+       .cell = {
+               .signature = JAILHOUSE_CELL_DESC_SIGNATURE,
+               .name = "bench",
+
+               .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,
+               .pio_bitmap_size = ARRAY_SIZE(config.pio_bitmap),
+               .num_pci_devices = 0,
+       },
+
+       .cpus = {
+               0x8,
+       },
+
+       .mem_regions = {
+               /* low RAM */ {
+                               .phys_start = 0x3b600000,
+                               .virt_start = 0,
+                               .size = 0x4200000,
+                               .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+                               JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA |
+                               JAILHOUSE_MEM_LOADABLE,
+                       },
+               /* communication region */ {
+                       .virt_start = 0x3F900000,
+                       .size = 0x00001000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+                               JAILHOUSE_MEM_COMM_REGION,
+               },
+       },
+
+       .cache_regions = {
+               {
+                       .start = 0,
+                       .size = 2,
+                       .type = JAILHOUSE_CACHE_L3,
+               },
+       },
+
+       .pio_bitmap = {
+               [     0/8 ...  0x3f7/8] = -1,
+               [ 0x3f8/8 ...  0x3ff/8] = 0, /* serial1 */
+               [ 0x400/8 ... 0xe00f/8] = -1,
+               [0xe010/8 ... 0xe017/8] = -1, /* OXPCIe952 serial1 */
+               [0xe018/8 ... 0xffff/8] = -1,
+       },
+};
index 43c3d8c4aeda22b4403515db224b14855bab0828..2bc9707cd87c301a40cc830ab76485d908cc67c1 100644 (file)
@@ -36,7 +36,7 @@
  * created with '/usr/local/libexec/jailhouse/jailhouse config create -r . novabox.c'
  *
  * NOTE: This config expects the following to be appended to your kernel cmdline
- *       "memmap=0x7c00000$0x37600000"
+ *       "memmap=0x9000000$0x37600000"
  */
 
 #include <linux/types.h>
@@ -47,7 +47,7 @@
 struct {
        struct jailhouse_system header;
        __u64 cpus[1];
-       struct jailhouse_memory mem_regions[47];
+       struct jailhouse_memory mem_regions[46];
        struct jailhouse_irqchip irqchips[1];
        __u8 pio_bitmap[0x2000];
        struct jailhouse_pci_device pci_devices[16];
@@ -141,19 +141,19 @@ struct {
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
                },
-               /* MemRegion: 3f200000-40003fff : System RAM */
-               {
-                       .phys_start = 0x3f200000,
-                       .virt_start = 0x3f200000,
-                       .size = 0xe04000,
-                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-                               JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
-               },
-               /* MemRegion: 40005000-d9b4dfff : System RAM */
-               {
-                       .phys_start = 0x40005000,
-                       .virt_start = 0x40005000,
-                       .size = 0x99b49000,
+               // /* MemRegion: 3f200000-40003fff : System RAM */
+               // {
+               //      .phys_start = 0x3f200000,
+               //      .virt_start = 0x3f200000,
+               //      .size = 0xe04000,
+               //      .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+               //              JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
+               // },
+               /* MemRegion: 0x40600000-d9b4dfff : System RAM */
+               {
+                       .phys_start = 0x40600000,
+                       .virt_start = 0x40600000,
+                       .size = 0x9954E000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
                },
@@ -435,11 +435,11 @@ struct {
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
                },
-               /* MemRegion: 3f000000-3f1fffff : JAILHOUSE Inmate Memory */
+               /* MemRegion: 0x3b600000-0x40600000 : JAILHOUSE Inmate Memory */
                {
                        .phys_start = 0x3b600000,
                        .virt_start = 0x3b600000,
-                       .size = 0x3C00000,
+                       .size = 0x5000000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                         JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA,
                },