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

Re: [Xen-devel] [GSOC-2019] Problem with initializing crossbar on bb-x15 in dom0



Hi Denis,

On 7/6/19 5:50 PM, Denis Obrezkov wrote:
Ok, I changed it and was able to boot to the previous error. I think a
logical next step would be to set up the uart somehow?

Do you mean the UART used by Xen?
Yes, to be able to switch between xen and dom0, to download a produced
dt for dom0 for example.

Yes it would be sensible to try to implement a crossbar driver in Xen and test with the UART. Looking at the driver in Linux, this should not be too difficult.



But this feels weird to map then unmap the mmio. Instead, you should
blacklist the crossbar device. Have a look at the field blacklist_dev in
platform_desc.
Hm, I can see that in the device tree the crossbar has a phandle
property <0x00000008> and the main node has an interrupt-parent property
0x00000008. So, all the interrupts seems to be mapped to the crossbar.
Wouldn't be that a problem if we blacklist the device?


The Device is owned by Xen, so technically Dom0 does not see the
hardware one. Instead it sees a virtual and therefore the node should be
created to reflect it.

The purpose of recreating the node is you can alter it to match what we
actually exposed to the domain (property values may differ). It may
happen that a lot of information are exactly the same as the hardware
and can just be copied.

This is, for instance, what we do for the GIC and timer.
I mean if we expose only GIC to the dom0 then we need to change the
interrupt-parent property to make all nodes have GIC's phandle as their
interrupt-parent. And when dom0 tries to modify irq connections then xen
should modify the crossbar. It seems to be a bit error prone approach.

I don't think I ever suggested to not expose the crossbar to Dom0. Instead, I suggested to virtualize for Dom0, so it can be used by Xen as well.


Also, the tegra
implementation blacklist only a uart.

I don't understand this.
In here [1] you can find that only uart is blacklisted (in
tegra_blacklist_dev[]). So, in tegra they didn't blacklist their version
of the crossbar.

This series has not been merged. In other word, the code is not yet matching the expectations of the maintainers.

I pointed you to this series, because I think some of the idea could be re-used for implementing the crossbar.

In this particular case, it has been suggested to use blacklist_dev rather than unmapping (see [2]).

Cheers,



[1]
https://lists.xenproject.org/archives/html/xen-devel/2017-04/msg00993.html
[2] https://lists.xenproject.org/archives/html/xen-devel/2017-04/msg01979.html



--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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