]> rtime.felk.cvut.cz Git - jailhouse.git/blobdiff - hypervisor/arch/arm/include/asm/cell.h
Merge remote-tracking branch 'kiszka/master'
[jailhouse.git] / hypervisor / arch / arm / include / asm / cell.h
index f139c54b5dc09fdca8b67eccc4c9ecad8982b33d..696856a88fc829b57ebe6e593e51b20a1d39c44c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Jailhouse, a Linux-based partitioning hypervisor
  *
- * Copyright (c) Siemens AG, 2013
+ * Copyright (c) Siemens AG, 2013-2016
  *
  * Authors:
  *  Jan Kiszka <jan.kiszka@siemens.com>
 #ifndef _JAILHOUSE_ASM_CELL_H
 #define _JAILHOUSE_ASM_CELL_H
 
-#include <asm/types.h>
-#include <asm/paging.h>
+#include <jailhouse/types.h>
+#include <asm/smp.h>
+#include <asm/spinlock.h>
+
+#ifndef __ASSEMBLY__
 
 #include <jailhouse/cell-config.h>
+#include <jailhouse/paging.h>
 #include <jailhouse/hypercall.h>
 
-struct cell {
-       unsigned int id;
-       unsigned int data_pages;
-       struct jailhouse_cell_desc *config;
-
-       struct cpu_set *cpu_set;
-       struct cpu_set small_cpu_set;
+/** ARM-specific cell states. */
+struct arch_cell {
+       struct paging_structures mm;
+       struct smp_ops *smp;
 
-       unsigned long page_offset;
+       spinlock_t caches_lock;
+       bool needs_flush;
 
-       struct cell *next;
+       u32 irq_bitmap[1024/32];
 
-       union {
-               struct jailhouse_comm_region comm_region;
-               u8 padding[PAGE_SIZE];
-       } __attribute__((aligned(PAGE_SIZE))) comm_page;
+       unsigned int last_virt_id;
 };
 
-extern struct cell linux_cell;
+/** PCI-related cell states. */
+struct pci_cell {
+};
 
+#endif /* !__ASSEMBLY__ */
 #endif /* !_JAILHOUSE_ASM_CELL_H */