• Jonathan Austin's avatar
    kvm tools: remove periodic tick in favour of a polling thread · 12c406a8
    Jonathan Austin authored
    
    
    Currently the only use of the periodic timer tick in kvmtool is to
    handle reading from stdin. Though functional, this periodic tick can be
    problematic on slow (eg FPGA) platforms and can cause low interactivity or
    even stop the execution from progressing at all.
    
    This patch removes the periodic tick in favour of a dedicated thread blocked
    waiting for input from the console. In order to reflect the new behaviour,
    the old 'kvm__arch_periodic_tick' function is renamed to 'kvm__arch_read_term'.
    
    In making this change it is necessary to actively flush the emulated serial
    console's output buffer after the guest writes to it, as otherwise flushing
    only happens with terminal input. Similarly, it is no longer necessary to
    flush the buffer when we process input.
    
    Signed-off-by: default avatarJonathan Austin <jonathan.austin@arm.com>
    Acked-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: default avatarPekka Enberg <penberg@kernel.org>
    12c406a8