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

Re: [Xen-devel] ARM Xen Bug #45: Is there a solution?

On 25/05/2016 16:10, Dirk Behme wrote:
Hi Julien,

Hello Dirk,

On 24.05.2016 22:05, Julien Grall wrote:

On 24/05/2016 14:39, Dirk Behme wrote:
Hi Julien,

Hello Dirk,

On 23.05.2016 22:15, Julien Grall wrote:
Hello Dirk,

is there a solution for

arm: domain 0 disables clocks which are in fact being used


On an ARM based board I have to use 'clk_ignore_unused' preventing
Dom0 disables the UART clock for the console UART configured with

There is no better solution than passing "clk_ignore_unused" on the
kernel command line so far.

What would be the solution for this issue? The

"propagate any clock related properties from the UART
node into the Xen hypervisor node"

mentioned in the ticket?

That is correct. Xen would copy the property "clocks" of the UART into
the hypervisor node.

DOM0 would then parse the clocks associated to this node and mark them
as used by Xen (I think CLK_IGNORE_UNUSED could do the job for us).

I've started to look into this:

I'd think in arm_uart.c in dt_uart_init() after

if ( !dev )

we know the UART node we are looking for. From this we have to read the
clock configuration.

To be clarified: How to read the clock configuration? I couldn't find
any convenient function dt_device_get_clock() or similar for that.

Xen does not need to parse the content of the property "clocks" but copy the raw value to the DOM0 DT.

You cand find the value of a property with dt_get_property.

Now, we have the clocks we are looking for.

These are needed in domain_build.c in make_hypervisor_node(), then.

To be clarified: How to pass the clock configuration from arm_uart.c to
domain_build.c (and not break the non-dt / non-ARM platforms)?

Any ideas or comments?

All the devices (UART included) used by Xen will return DOMID_XEN when dt_device_used_by is called to the node.

You could use it to collect the clocks of all those devices and gather the value in a single property to be created in the hypervisor node.


Julien Grall

Xen-devel mailing list



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