[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 02/11] xen/arm: vpl011: Add new hvm params in Xen for ring buffer/event setup



Hi George,

On 06/03/17 14:48, George Dunlap wrote:
On 06/03/17 13:21, Julien Grall wrote:
Hi Jan,

On 06/03/17 12:41, Jan Beulich wrote:
On 06.03.17 at 12:42, <julien.grall@xxxxxxx> wrote:
I thought a bit more about those params. I think the name should be
generic and not tie to pl011 because we may want to emulate different
UART for the guest in the future.

That's reasonable, but I continue to have reservations against the
underlying approach here, namely ...

Also, by re-using deprecated encoding it means that it will not be
possible to use those parameters on x86 if you ever decide to emulate
UART in Xen. I am not sure whether if you are happy with that?

... with this in mind: If we wanted to do this for HVM guests, we'd
indeed want the parameters. If we wanted this for PV guests, the
model wouldn't fit at all.

Plus what I'm not understanding (perhaps because most of the
discussion around this seemed to be ARM-specific, and hence I've
skipped reading through it) is - why is this UART emulation needed
in the first place? We've never had a need for such on x86, afaia.

Linaro has published a set of guidelines to guarantee a same guest image
can run on multiple hypervisors (see [1]). This specification mandates
the presence of a SBSA-compliant UART.

I just realized the cover letter does not explain why we need to emulate
a PL011 on ARM. Bhupinder can you detail it on the next version?

Right, but in order to evaluate your question about whether we're
"happy" with not being able to use these parameters if we ever decide to
emulate UART on x86, we need to know a reason that one might decide to
add a UART *on x86*, not on ARM.

I mean, I don't think we're running out of bits, so I don't think it's a
problem allocating new HVM_PARAM numbers so that we can re-use them if
we ever decide to implement UARTs on x86.  On the other hand, given that
nobody has ever suggested doing so or knows why it might be useful,
maybe it makes more sense to just re-use some x86 params and allocate
extra numbers if / when we decide we want to implement UART on x86.

I agree that the reason I gave is very ARM focused. I don't know what is the future on Xen for x86, but on ARM we have another potential use case for the UART emulation which I think could also apply for x86.

On ARM, the guest is booting through the same path as on native. All the devices are discovered through the firmware tables. So it would be possible to run a guest OS without any knowledge of Xen if you assign all the necessary physical devices (e.g disk, network, serial...). Often you want to log the console of all your guests and keep them safely in the controller domain. This is where an emulated UART can be useful, you don't need to add Xen drivers in the guest and still can use the guest seamlessly via xl.

Cheers,

--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.