• Anton Blanchard's avatar
    powerpc/pseries: Fix hvterm_raw_get_chars to accept < 16 chars, fixing xmon · 19df9abd
    Anton Blanchard authored
    commit 4d2bb3f5 (powerpc/pseries: Re-implement HVSI as part of
    hvc_vio) changed udbg_getc to be based on hvterm_raw_get_chars.
    Unfortunately hvterm_raw_get_chars returns -EAGAIN if you ask
    for anything less than 16 characters. As a result xmon no longer
    accepts input and prints a stream of junk to the screen.
    
    The recent change highlights a problem that xmon on pseries VIO
    has had all along, that it can drop input characters. The issue
    is the hypervisor call does not take a count argument and can
    return up to 16 characters.
    
    This patch adds a per vterm buffer that we copy input data into
    and give it out as requested.
    Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    19df9abd
hvc_vio.c 11.5 KB