]> rtime.felk.cvut.cz Git - jailhouse.git/blobdiff - configs/vexpress.c
Merge remote-tracking branch 'kiszka/master'
[jailhouse.git] / configs / vexpress.c
index 795b70c0a67930b75fb6382cdb359f358a5851d4..7d239d2f3f40b2930352a52842a7693be2af9659 100644 (file)
 struct {
        struct jailhouse_system header;
        __u64 cpus[1];
-       struct jailhouse_memory mem_regions[6];
+       struct jailhouse_memory mem_regions[8];
        struct jailhouse_irqchip irqchips[1];
 } __attribute__((packed)) config = {
        .header = {
+               .signature = JAILHOUSE_SYSTEM_SIGNATURE,
                .hypervisor_memory = {
-                       .phys_start = 0xa0000000,
-                       .size = 0x4000000 - 0x2000,
+                       .phys_start = 0xfc000000,
+                       .size = 0x4000000,
+               },
+               .debug_console = {
+                       .phys_start = 0x1c090000,
+                       .size = 0x1000,
+                       .flags = JAILHOUSE_MEM_IO,
                },
                .root_cell = {
                        .name = "VExpress Linux",
@@ -40,53 +46,70 @@ struct {
        },
 
        .mem_regions = {
+               /* SMC91x */ {
+                       .phys_start = 0x1a000000,
+                       .virt_start = 0x1a000000,
+                       .size = 0x00001000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+                               JAILHOUSE_MEM_IO,
+               },
                /* SP810 */ {
                        .phys_start = 0x1c020000,
                        .virt_start = 0x1c020000,
                        .size = 0x00010000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-                               JAILHOUSE_MEM_DMA,
+                               JAILHOUSE_MEM_IO,
+               },
+               /* MMC */ {
+                       .phys_start = 0x1c050000,
+                       .virt_start = 0x1c050000,
+                       .size = 0x00001000,
+                       .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
+                               JAILHOUSE_MEM_IO,
                },
                /* Mouse */ {
                        .phys_start = 0x1c070000,
                        .virt_start = 0x1c070000,
                        .size = 0x00010000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-                               JAILHOUSE_MEM_DMA,
+                               JAILHOUSE_MEM_IO,
                },
                /* Keyboard */ {
                        .phys_start = 0x1c060000,
                        .virt_start = 0x1c060000,
                        .size = 0x00010000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-                               JAILHOUSE_MEM_DMA,
+                               JAILHOUSE_MEM_IO,
                },
                /* UARTs */ {
                        .phys_start = 0x1c090000,
                        .virt_start = 0x1c090000,
                        .size = 0x00040000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-                               JAILHOUSE_MEM_DMA,
+                               JAILHOUSE_MEM_IO,
                },
                /* Redistributors (ignore the mmio traps)*/ {
                        .phys_start = 0x2f100000,
                        .virt_start = 0x2f100000,
                        .size = 0x04000000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-                               JAILHOUSE_MEM_DMA,
+                               JAILHOUSE_MEM_IO,
                },
                /* RAM */ {
                        .phys_start = 0x80000000,
                        .virt_start = 0x80000000,
-                       .size = 0x80000000,
+                       .size = 0x7c000000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE,
                },
        },
        .irqchips = {
-               /* GIC */ {
-                       .address = 0x2f000000,
-                       .pin_bitmap = 0xffffffffffffffff,
+               /* GIC v3 */ {
+                       .address = 0x2f000000, /* GIC v2: 0x2f001000 */
+                       .pin_base = 32,
+                       .pin_bitmap = {
+                               0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff
+                       },
                },
        },