Hello all, I am trying to implement a 'minimal' record-replay mechanism for KVM, which is similar to the one existing for TCG via -icount. I am trying to record I/O events only (specifically disk and network events) when KVM does a VMEXIT. This has led me to the function kvm_cpu_exec where I can clearly see the different ways of handling all of the possible VMExit cases (like PIO, MMIO etc.). To record network packets, I am working with the e1000 hardware device.
Can I make sure that all of the network I/O, atleast for the e1000 device happens through the KVM_EXIT_MMIO case and subsequent use of the address_space_rw() function ? Do I also need to look at other functions as well ? Also for recording disk activity, can I make sure that looking out for the KVM_EXIT_MMIO and/or KVM_EXIT_PIO cases in the vmexit mechanism, will be enough ? Let me know if there are other details that I need to take care of. I am using QEMU 2.11 on a x86-64 CPU and the guest runs a Linux Kernel 4.4 with Ubuntu 16.04. Thanks and Regards, Arnab