/* * 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 * * This work is licensed under the terms of the GNU GPL, version 2. See * the COPYING file in the top-level directory. */ #include #include 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 */ }, };