From 8ba81622ba531c71a25b965b999f9f13e1b8112b Mon Sep 17 00:00:00 2001 From: Maxim Baryshnikov Date: Fri, 5 Aug 2016 11:37:20 +0200 Subject: [PATCH] jailhouse: configs: Add bench cell configuration and tune novabox configuration according to it --- configs/bench.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++ configs/novabox.c | 34 ++++++++++----------- 2 files changed, 92 insertions(+), 17 deletions(-) create mode 100644 configs/bench.c diff --git a/configs/bench.c b/configs/bench.c new file mode 100644 index 0000000..71868c6 --- /dev/null +++ b/configs/bench.c @@ -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 + * + * This work is licensed under the terms of the GNU GPL, version 2. See + * the COPYING file in the top-level directory. + */ + +#include +#include + +#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, + }, +}; diff --git a/configs/novabox.c b/configs/novabox.c index 43c3d8c..2bc9707 100644 --- a/configs/novabox.c +++ b/configs/novabox.c @@ -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 @@ -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, }, -- 2.39.2