2011/4/25 Jan Kiszka <jan.kis...@web.de>: > On 2011-04-25 13:00, OHMURA Kei wrote: >> From: Yoshiaki Tamura <tamura.yoshi...@lab.ntt.co.jp> >> >> Record mmio write event to replay it upon failover. >> >> Signed-off-by: Yoshiaki Tamura <tamura.yoshi...@lab.ntt.co.jp> >> Signed-off-by: OHMURA Kei <ohmura....@lab.ntt.co.jp> >> --- >> exec.c | 4 ++++ >> 1 files changed, 4 insertions(+), 0 deletions(-) >> >> diff --git a/exec.c b/exec.c >> index c3dc68a..3c3cece 100644 >> --- a/exec.c >> +++ b/exec.c >> @@ -33,6 +33,7 @@ >> #include "osdep.h" >> #include "kvm.h" >> #include "qemu-timer.h" >> +#include "event-tap.h" >> #if defined(CONFIG_USER_ONLY) >> #include <qemu.h> >> #include <signal.h> >> @@ -3736,6 +3737,9 @@ void cpu_physical_memory_rw(target_phys_addr_t addr, >> uint8_t *buf, >> io_index = (pd >> IO_MEM_SHIFT) & (IO_MEM_NB_ENTRIES - 1); >> if (p) >> addr1 = (addr & ~TARGET_PAGE_MASK) + p->region_offset; >> + >> + event_tap_mmio(addr, buf, len); >> + > > You know that this is incomplete? A few devices are calling st*_phys > directly, specifically virtio. > > What kind of mmio should be traced here, device or CPU originated? Or both? > > Jan > >
To let Kemari replay outputs upon failover, tracing CPU originated mmio (specifically write requests) should be enough. IIUC, we can reproduce device originated mmio as a result of cpu originated mmio. Thanks, Kei