struct {
struct jailhouse_cell_desc cell;
__u64 cpus[1];
- struct jailhouse_memory mem_regions[2];
+ struct jailhouse_memory mem_regions[2];
+ struct jailhouse_irqchip irqchips[0];
__u8 pio_bitmap[0x2000];
struct jailhouse_pci_device pci_devices[0];
} __attribute__((packed)) config = {
.cell = {
.signature = JAILHOUSE_CELL_DESC_SIGNATURE,
.name = "fiasco-demo",
- .flags = JAILHOUSE_CELL_PASSIVE_COMMREG,
+ .flags = 0/*JAILHOUSE_CELL_PASSIVE_COMMREG*/,
.cpu_set_size = sizeof(config.cpus),
.num_memory_regions = ARRAY_SIZE(config.mem_regions),
- .num_irqchips = 0,
+ .num_irqchips = ARRAY_SIZE(config.irqchips),
.pio_bitmap_size = ARRAY_SIZE(config.pio_bitmap),
.num_pci_devices = ARRAY_SIZE(config.pci_devices),
.num_pci_caps = 0,
},
.cpus = {
- 0xe,
+ 0x1,
},
.mem_regions = {
/* low RAM */ {
.phys_start = 0x3b600000,
.virt_start = 0,
- .size = 0x3aff000,
+ .size = 0x3c00000,
.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,
+
+ /* MemRegion: fec00000-fecfffff : localAPIC */
+ {
+ .phys_start = 0xfec00000,
+ .virt_start = 0xfec00000,
+ .size = 0x10000,
+ .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_DMA,
},
- // /* high RAM */ {
- // .phys_start = 0x3b700000,
- // .virt_start = 0x00200000,
- // .size = 0x3aff000,
- // .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
- // JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_DMA |
- // JAILHOUSE_MEM_LOADABLE,
- // },
- // /* IVSHMEM shared memory region */
- // {
- // .phys_start = 0x3f1ff000,
- // .virt_start = 0x3f1ff000,
- // .size = 0x1000,
- // .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
- // JAILHOUSE_MEM_ROOTSHARED,
- // },
},
.pio_bitmap = {
- [ 0/8 ... 0x3f7/8] = -1,
- [ 0x3f8/8 ... 0x3ff/8] = 0, /* serial1 */
+
+ [ 0/8 ... 0x3f/8] = -1,
+ [ 0x20/8 ... 0x28/8] = 0xfc, /* PIC Master 0x20 0x21 */
+ [ 0x29/8 ... 0x3f/8] = -1,
+ [ 0x40/8 ... 0x47/8] = 0xf0, /* PIT */
+ [ 0x48/8 ... 0x5f/8] = -1,
+ [ 0x60/8 ... 0x67/8] = 0,
+ [ 0x68/8 ... 0x7f/8] = -1,
+ [ 0x80/8 ... 0x88/8] = 0xfe, //delay
+ [ 0x89/8 ... 0x99/8] = -1,
+ [ 0xA0/8 ... 0xA8/8] = 0xfc, /* PIC Slave 0xA0 0xA1 */
+ [ 0xA9/8 ... 0x3f7/8] = -1,
+ [ 0x3f8/8 ... 0x3ff/8] = 0, /* serial0 */
[ 0x400/8 ... 0xe00f/8] = -1,
- [0xe010/8 ... 0xe017/8] = 0, /* OXPCIe952 serial1 */
+ [0xe010/8 ... 0xe017/8] = -1, /* OXPCIe952 serial1 */
[0xe018/8 ... 0xffff/8] = -1,
},
+
// .pci_devices = {
// {
// .type = JAILHOUSE_PCI_TYPE_IVSHMEM,