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