Loading
vhost: defer setting up new mem table
There is an issue when QEMU sets new memory table just after guest OS starts booting. Then, if guest OS tries to issue any I/O to device (e.g. using BIOS INT13h - EDD) it will get stuck because previous addresses of mmaped memory might change. To fix this issue, defer using the new mem table until after we receive the first SET_VRING_ADDR message. SET_VRING_ADDR will be sent by QEMU when guest OS virtio (e.g. virtio-scsi) driver starts initialization. At this point it is safe to invalidate the old mem tables because there will be no more outstanding IO at this point. Change-Id: I24772be87a8b6c8781868b9b7773317761499748 Signed-off-by:Jim Harris <james.r.harris@intel.com> Signed-off-by:
Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>