[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <56CDE6D5.70205@citrix.com>
Date: Wed, 24 Feb 2016 17:22:29 +0000
From: Andrew Cooper <andrew.cooper3@...rix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
Stefano Stabellini <stefano.stabellini@...citrix.com>
CC: Boris Ostrovsky <boris.ostrovsky@...cle.com>,
<xen-devel@...ts.xensource.com>, <linux-kernel@...r.kernel.org>,
<david.vrabel@...rix.com>
Subject: Re: [Xen-devel] [PATCH 1/2] hvc_xen: add earlycon support
On 24/02/16 17:18, Konrad Rzeszutek Wilk wrote:
>> I could do the same here by dropping the if (!xen_pv_domain()) check
>> above, but then if somebody specifies earlyprintk=xenboot on a non-Xen
>> environment, I expect Linux would crash.
> Nah, you made it "Work" with:
> commit eb5ef07151ba3c3cb4bcef0c8f146ff1115eaa55
> Author: Stefano Stabellini <stefano.stabellini@...citrix.com>
> Date: Fri Jan 27 18:31:36 2012 +0000
>
> hvc_xen: support PV on HVM consoles
>
> But this patch:
>
> commit 04b772d2b819f0dda2163e3193fa7cd447a6245c
>
> xen/hvc: If we use xen_raw_printk let it also work on HVM guests.
>
> 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'.
>
> Should make it possible for HVM guests to actually work with HVM x86 guests
> if tweaked.
/me looks
+outb_print:
+ for (i = 0; i < len; i++)
+ outb(str[i], 0xe9);
+#endif
You already have the length to hand. Use outsb instead, for
substantially fewer vmexits.
~Andrew
Powered by blists - more mailing lists