]> rtime.felk.cvut.cz Git - jailhouse.git/commitdiff
arm: Stop misusing JAILHOUSE_MEM_DMA for marking MMIO
authorJan Kiszka <jan.kiszka@siemens.com>
Sat, 11 Oct 2014 13:00:21 +0000 (15:00 +0200)
committerJan Kiszka <jan.kiszka@siemens.com>
Thu, 8 Jan 2015 12:01:03 +0000 (13:01 +0100)
Introduce JAILHOUSE_MEM_IO so that archs that need to tag MMIO regions
have a proper flag. Apply it on ARM.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
configs/vexpress-gic-demo.c
configs/vexpress-linux-demo.c
configs/vexpress-uart-demo.c
configs/vexpress.c
hypervisor/arch/arm/gic-v2.c
hypervisor/arch/arm/mmu_cell.c
hypervisor/include/jailhouse/cell-config.h

index f45f0d67c45ee4dad0e2d5d221dcfe224b04dd8f..44512d44f72876d6f79d0b0a924392bac45d5b2a 100644 (file)
@@ -41,7 +41,7 @@ struct {
                        .virt_start = 0x1c090000,
                        .size = 0x10000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-                               JAILHOUSE_MEM_DMA,
+                               JAILHOUSE_MEM_IO,
                },
                /* RAM */ {
                        .phys_start = 0xfbfe0000,
index 22855c20376085e6012c815e6c62b78d569d49a9..5a3d7b5fc28451adb7f5c767d3bb3470158fed79 100644 (file)
@@ -42,7 +42,7 @@ struct {
                        .virt_start = 0x1c090000,
                        .size = 0x10000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-                               JAILHOUSE_MEM_DMA,
+                               JAILHOUSE_MEM_IO,
                },
                /* RAM load */ {
                        .phys_start = 0xa6000000,
index 6f2978740559f8446651e36d23f7757b210d9dc8..524a08ee8fe505493b4efb1503e753ba653ef110 100644 (file)
@@ -41,7 +41,7 @@ struct {
                        .virt_start = 0x1c090000,
                        .size = 0x10000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-                               JAILHOUSE_MEM_DMA,
+                               JAILHOUSE_MEM_IO,
                },
                /* RAM */ {
                        .phys_start = 0xfbff0000,
index f1b989af2e5b1e0e3a8d9687bdc1ec6cff02cbbd..cb8387b81f8c92dffb22b2ed95f6739004866c33 100644 (file)
@@ -45,49 +45,49 @@ struct {
                        .virt_start = 0x1a000000,
                        .size = 0x00001000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
-                               JAILHOUSE_MEM_DMA,
+                               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_DMA,
+                               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,
index 0c86b09a959eb16ff7a377478cfe7a205634e3c5..69ec7baee2e84b59b2f8949dd26ca345962418d0 100644 (file)
@@ -176,7 +176,7 @@ static void gic_cell_init(struct cell *cell)
         */
        gicv_region.virt_start = (unsigned long)gicc_base;
        gicv_region.size = gicc_size;
-       gicv_region.flags = JAILHOUSE_MEM_DMA | JAILHOUSE_MEM_READ
+       gicv_region.flags = JAILHOUSE_MEM_IO | JAILHOUSE_MEM_READ
                          | JAILHOUSE_MEM_WRITE;
 
        /*
index e69fb04c428c5c11990860db1aaf7a534474d8dd..4885f8ce21d4c771245858e0c86e2c92d0e485e5 100644 (file)
@@ -26,10 +26,7 @@ int arch_map_memory_region(struct cell *cell,
                flags |= S2_PTE_ACCESS_RO;
        if (mem->flags & JAILHOUSE_MEM_WRITE)
                flags |= S2_PTE_ACCESS_WO;
-       /*
-        * `DMA' may be a bit misleading here: it is used to define MMIO regions
-        */
-       if (mem->flags & JAILHOUSE_MEM_DMA)
+       if (mem->flags & JAILHOUSE_MEM_IO)
                flags |= S2_PTE_FLAG_DEVICE;
        else
                flags |= S2_PTE_FLAG_NORMAL;
index e8a21c9206b7c7a4dba4e74d7fa3c4b85e923dfd..c4ad5d865a2d4dde4ffd00f9c05dbe0e8e9bfaf1 100644 (file)
@@ -33,14 +33,16 @@ struct jailhouse_cell_desc {
 #define JAILHOUSE_MEM_WRITE            0x0002
 #define JAILHOUSE_MEM_EXECUTE          0x0004
 #define JAILHOUSE_MEM_DMA              0x0008
-#define JAILHOUSE_MEM_COMM_REGION      0x0010
-#define JAILHOUSE_MEM_LOADABLE         0x0020
-#define JAILHOUSE_MEM_ROOTSHARED       0x0040
+#define JAILHOUSE_MEM_IO               0x0010
+#define JAILHOUSE_MEM_COMM_REGION      0x0020
+#define JAILHOUSE_MEM_LOADABLE         0x0040
+#define JAILHOUSE_MEM_ROOTSHARED       0x0080
 
 #define JAILHOUSE_MEM_VALID_FLAGS      (JAILHOUSE_MEM_READ | \
                                         JAILHOUSE_MEM_WRITE | \
                                         JAILHOUSE_MEM_EXECUTE | \
                                         JAILHOUSE_MEM_DMA | \
+                                        JAILHOUSE_MEM_IO | \
                                         JAILHOUSE_MEM_COMM_REGION | \
                                         JAILHOUSE_MEM_LOADABLE | \
                                         JAILHOUSE_MEM_ROOTSHARED)