TODO.nvmm revision 1.1
11.1SmaxvKnown issues in NVMM, low priority in most cases. 21.1Smaxv 31.1Smaxv====== KERNEL NVMM DRIVER ====== 41.1Smaxv 51.1Smaxv * Currently you can't modunload NVMM while a VM is running, otherwise you hit 61.1Smaxv a panic. See TODO in nvmm_fini(). 71.1Smaxv 81.1Smaxv * Maybe we will want a way to return to userland when the guest TPR changes. 91.1Smaxv On Intel that's not complicated, but on old AMD CPUs, we need to disassemble 101.1Smaxv the instruction, and I don't like that. 111.1Smaxv 121.1Smaxv * Maybe we shouldn't modify the INT/NMI windows during event injection. The 131.1Smaxv virtualizer is supposed to inject the event only when these windows allow 141.1Smaxv it. (Eg Qemu does.) 151.1Smaxv 161.1Smaxv * We need a cleaner way to handle CPUID exits. It is not complicated to solve, 171.1Smaxv but I'm still not sure which design is the cleanest. 181.1Smaxv 191.1Smaxv * Same for the MSRs. 201.1Smaxv 211.1Smaxv====== LIBNVMM ====== 221.1Smaxv 231.1Smaxv * There are still a few twisted corner cases we don't handle in the instruction 241.1Smaxv emulator. For example if the guest makes an MMIO access relative to RSP, we 251.1Smaxv must base the GVA on %SS and not %DS. This is tiring, and in practice, no 261.1Smaxv guest is dumb enough to perform such accesses. 271.1Smaxv 28