xref: /dragonfly/doc/TODO.nvmm (revision 655933d6)
1Known issues in NVMM, low priority in most cases.
2
3====== KERNEL NVMM DRIVER ======
4
5 * 32bit-PAE guests can misbehave on Intel, because we need to manually
6   install the PDPTEs, and currently we don't do it. In practice they don't
7   misbehave because the emulator never has to interfere with CR3.
8
9 * AMD: we don't support VCPU_CONF_TPR, would be nice to.
10
11 * AMD: need to do filter CR4 like we already do on Intel.
12
13 * It would be useful to expose a way for the guests to lock certain of their
14   registers. Typically via a hypercall that locks CR4. Useful as exploit
15   mitigation technique in certain cases.
16
17====== LIBNVMM ======
18
19 * There are still a few twisted corner cases we don't handle in the instruction
20   emulator. For example if the guest makes an MMIO access relative to RSP, we
21   must base the GVA on %SS and not %DS. This is tiring, and in practice, no
22   guest is dumb enough to perform such accesses.
23
24 * Maybe the __areas should have a rwlock? I don't think Qemu unmaps memory
25   while VCPUs are running, but still.
26
27 * We can improve performance by using a new nvmm_vcpu_kick() function and
28   not using signals in Qemu anymore.
29