• Konrad Rzeszutek Wilk's avatar
    xen/hvc: If we use xen_raw_printk let it also work on HVM guests. · 04b772d2
    Konrad Rzeszutek Wilk authored
    The xen_raw_printk works great for debugging purposes. We use
    for PV guests and we can also use it for HVM guests.
    
    However, for HVM guests we have a fallback of using the 0xe9
    port in case the hypervisor does not support an HVM guest of
    using the console_io hypercall. As such lets use 0xe9 during
    early bootup, and once the hyper-page is setup and if the
    console_io hypercall is supported - use that. Otherwise we
    will fallback to using the 0xe9 after early bootup.
    
    We also alter the return value for dom0_write_console to return
    an error value instead of zero. The HVC API has been supporting
    returning error values for quite some time.
    
    P.S.
    To use (and to see the output in the Xen ring buffer) one has to build
    the hypervisor with 'debug=y'.
    Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    [v1: ifdef xen_cpuid_base as it is X86 specific]
    04b772d2
hvc_xen.c 14.8 KB