• David S. Miller's avatar
    [SPARC64]: Add hypervisor API negotiation and fix console bugs. · c7754d46
    David S. Miller authored
    Hypervisor interfaces need to be negotiated in order to use
    some API calls reliably.  So add a small set of interfaces
    to request API versions and query current settings.
    
    This allows us to fix some bugs in the hypervisor console:
    
    1) If we can negotiate API group CORE of at least major 1
       minor 1 we can use con_read and con_write which can improve
       console performance quite a bit.
    
    2) When we do a console write request, we should hold the
       spinlock around the whole request, not a byte at a time.
       What would happen is that it's easy for output from
       different cpus to get mixed with each other.
    
    3) Use consistent udelay() based polling, udelay(1) each
       loop with a limit of 1000 polls to handle stuck hypervisor
       console.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c7754d46
hypervisor.h 72.6 KB