/*
* Jailhouse, a Linux-based partitioning hypervisor
*
- * Copyright (c) Siemens AG, 2014, 2015
+ * Copyright (c) Siemens AG, 2014-2016
*
* Authors:
* Jan Kiszka <jan.kiszka@siemens.com>
#define JAILHOUSE_MEM_COMM_REGION 0x0020
#define JAILHOUSE_MEM_LOADABLE 0x0040
#define JAILHOUSE_MEM_ROOTSHARED 0x0080
+#define JAILHOUSE_MEM_IO_UNALIGNED 0x0100
+#define JAILHOUSE_MEM_IO_WIDTH_SHIFT 16 /* uses bits 8..11 */
+#define JAILHOUSE_MEM_IO_8 (1 << JAILHOUSE_MEM_IO_WIDTH_SHIFT)
+#define JAILHOUSE_MEM_IO_16 (2 << JAILHOUSE_MEM_IO_WIDTH_SHIFT)
+#define JAILHOUSE_MEM_IO_32 (4 << JAILHOUSE_MEM_IO_WIDTH_SHIFT)
+#define JAILHOUSE_MEM_IO_64 (8 << JAILHOUSE_MEM_IO_WIDTH_SHIFT)
struct jailhouse_memory {
__u64 phys_start;
__u64 flags;
} __attribute__((packed));
+#define JAILHOUSE_MEMORY_IS_SUBPAGE(mem) \
+ ((mem)->virt_start & ~PAGE_MASK || (mem)->size & ~PAGE_MASK)
+
#define JAILHOUSE_CACHE_L3_CODE 0x01
#define JAILHOUSE_CACHE_L3_DATA 0x02
#define JAILHOUSE_CACHE_L3 (JAILHOUSE_CACHE_L3_CODE | \