1 Things to be addressed, at some point. Unsorted, unprioritized, incomplete.
4 - AMD IOMMU support [WIP]
7 - allow per cell (managing inter-core/inter-cell impacts)
8 - NMI control/status port - moderation or emulation required?
13 - improve support for platform variations (device tree?)
15 - support for big endian
16 - infrastructure to support BE architectures (byte-swapping services)
17 - usage of that infrastructure in generic subsystems
18 - specific BE support for ARMv7, then v8
21 - review of format, rework of textual representation
22 - platform device assignment
23 - enhance config generator
24 - confine the created root cell config to the essentially required
25 resources (e.g. PCI BARs)
26 - generate non-root cell configs
27 - add knowledge base about resource access rules that need manual review or
28 configurations that are known to be problematic (e.g. INTx sharing
32 - check integrity of configurations
33 - check integrity of runtime environment (hypervisor core & page_pool,
34 probably just excluding volatile Linux-related state variables)
35 - pure software solution (without security requirements)
36 - Intel TXT support? [WIP: master thesis]
38 - check for execution inside hypervisor, allow only when enabled in config
39 - clear memory regions before reassignment to prevent information leaks?
41 Inter-cell communication channel
42 - analysis of virtio reuse
43 - analysis of ARINC 653 semantics
44 - high-level mechanisms (specifically queues) based on selected/modified
46 - Linux for consoles and message-based interfaces (if not reusable)
50 - system tests, also in QEMU/KVM
51 - VT-d emulation for QEMU [WIP: interrupt redirection]
54 - reusable runtime environment for cell inmates
55 - skeleton in separate directory
57 - x86: add TSC calibration
58 - inter-cell communication library
59 - port free small-footprint RTOS to Jailhouse bare-metal environment
62 Hardware error handling
70 - report error-triggering devices behind IOMMUs via sysfs
71 - hypervisor console via debugfs?
72 - cell software watchdog via comm region messages
73 -> time out pending comm region messages and kill failing cells
74 (includes timeouts of unanswered shutdown requests)
77 - generic sub-page access filtering
78 - use bitmap, likely with byte granularity, to filter access on specific
79 registers in a MMIO page
80 - generic and faster MMIO dispatching
81 - use binary search on an per-cell array of (start, size, handler, opaque)
83 - should be able to deal with both existing devices as well as sub-page