xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Dirk Behme <dirk.behme@de.bosch.com>
To: Julien Grall <julien.grall@arm.com>,
	Michael Turquette <mturquette@baylibre.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Stephen Boyd <sboyd@codeaurora.org>,
	xen-devel@lists.xenproject.org, linux-clk@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3] xen/arm: enable clocks used by the hypervisor
Date: Fri, 8 Jul 2016 12:40:23 +0200	[thread overview]
Message-ID: <437b5eff-4294-3493-b1b2-0ff2c10525e3__43241.5652358488$1467974489$gmane$org@de.bosch.com> (raw)
In-Reply-To: <577F73B3.8090807@arm.com>

Hi Michael and Julien,

On 08.07.2016 11:34, Julien Grall wrote:
> Hi Dirk,
>
> On 08/07/16 08:44, Dirk Behme wrote:
>> Xen hypervisor drivers might replace native OS drivers. The result is
>> that some important clocks that are enabled by the OS in the non-Xen
>> case are not properly enabled in the presence of Xen. The clocks
>> property enumerates the clocks that must be enabled by the Xen clock
>> consumer.
>>
>> An example is a serial driver enabled by the hypervisor. Xen must
>
> I would say "An example is the UART used by the hypervisor."
>
>> consume and enable these clocks in the OS to ensure behavior continues
>> after firmware configures the UART hardware and corresponding clock
>> harder.
>
> What do you mean by "harder"?
>
> Also, relying on DOM0 to enable the clock looks very wrong to me and you
> give an example which prove that. The UART will be used before hand by
> Xen, however it will not be possible to use it if you expect DOM0 to
> enable the clock (or even modify the clock frequency).
>
> The clock should be enabled either by the firmware or Xen. But not DOM0.
> DOM0 should not touch this clock at all.
>
> Furthermore, this property could be used for clock associated to device
> that will be passthrough-ed to a guest. In this case, the clock would be
> enabled even if the device is not in use which will result more power
> consumption.


I took the description directly from Michael's proposal

http://www.spinics.net/lists/arm-kernel/msg516576.html

Would it be possible that you two experts agree on the exact wording you 
like to see?

Best regards

Dirk

>> Up to now, the workaround for this has been to use the Linux kernel
>> command line parameter 'clk_ignore_unused'. See Xen bug
>>
>> http://bugs.xenproject.org/xen/bug/45
>>
>> too.
>>
>> To fix this, we will add the "unused" clocks in Xen to the hypervisor
>> node. The OS has to consume and enable the clocks from the hypervisor
>> node, then.
>>
>> Therefore, check if there is a "clocks" entry in the hypervisor node
>> and if so consume and enable the given clocks. This prevents the clocks
>> from being disabled by the OS.
>>
>> Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
>> ---
>> Changes in v3: Use the xen.txt description proposed by Michael. Thanks!
>>
>> Changes in v2: Drop the Linux implementation details like
>> clk_disable_unused
>>            in xen.txt.
>>
>>   Documentation/devicetree/bindings/arm/xen.txt | 13 ++++++++
>>   arch/arm/xen/enlighten.c                      | 47
>> +++++++++++++++++++++++++++
>>   2 files changed, 60 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/xen.txt
>> b/Documentation/devicetree/bindings/arm/xen.txt
>> index c9b9321..00f2165 100644
>> --- a/Documentation/devicetree/bindings/arm/xen.txt
>> +++ b/Documentation/devicetree/bindings/arm/xen.txt
>> @@ -17,6 +17,19 @@ the following properties:
>>     A GIC node is also required.
>>     This property is unnecessary when booting Dom0 using ACPI.
>>
>> +Optional properties:
>> +
>> +clocks: one or more clocks to be enabled
>> +  Xen hypervisor drivers might replace native OS drivers. The result is
>
> "native OS" has no meaning on Xen. This seems to be a cumbersome way to
> say that the device will be used by the hypervisor and hidden to DOM0
> (aka hardware domain).
>
>> +  that some important clocks that are enabled by the OS in the non-Xen
>> +  case are not properly enabled in the presence of Xen. The clocks
>> +  property enumerates the clocks that must be enabled by the Xen clock
>> +  consumer.
>> +  An example is a serial driver enabled by the hypervisor. Xen must
>> +  consume and enable these clocks in the OS to ensure behavior continues
>> +  after firmware configures the UART hardware and corresponding clock
>> +  harder.
>> +
>>   To support UEFI on Xen ARM virtual platforms, Xen populates the FDT
>> "uefi" node
>>   under /hypervisor with following parameters:
>
> Regards,
>


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

  parent reply	other threads:[~2016-07-08 10:40 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1467963871-31556-1-git-send-email-dirk.behme@de.bosch.com>
2016-07-08  9:34 ` [PATCH v3] xen/arm: enable clocks used by the hypervisor Julien Grall
     [not found] ` <577F73B3.8090807@arm.com>
2016-07-08 10:40   ` Dirk Behme [this message]
     [not found]   ` <437b5eff-4294-3493-b1b2-0ff2c10525e3@de.bosch.com>
2016-07-08 10:49     ` Julien Grall
     [not found]     ` <577F853D.405@arm.com>
2016-07-08 17:00       ` Michael Turquette
2016-07-08 17:06   ` Michael Turquette
     [not found]   ` <146799758568.73491.4432005583661196579@resonance>
2016-07-12  9:21     ` Julien Grall
     [not found]     ` <5784B688.7050903@arm.com>
2016-07-12 18:11       ` Michael Turquette
2016-07-08  7:44 Dirk Behme

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='437b5eff-4294-3493-b1b2-0ff2c10525e3__43241.5652358488$1467974489$gmane$org@de.bosch.com' \
    --to=dirk.behme@de.bosch.com \
    --cc=devicetree@vger.kernel.org \
    --cc=julien.grall@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mturquette@baylibre.com \
    --cc=sboyd@codeaurora.org \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).