devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: Olof Johansson <olof@lixom.net>,
	Naveen Krishna Chatradhi <ch.naveen@samsung.com>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	"naveenkrishna.ch@gmail.com" <naveenkrishna.ch@gmail.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-samsung-soc@vger.kernel.org"
	<linux-samsung-soc@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"cpgs@samsung.com" <cpgs@samsung.com>,
	Thomas Abraham <thomas.ab@samsung.com>,
	Rob Herring <robh@kernel.org>
Subject: Re: [PATCH 11/14] arm64: dts: Add initial device tree support for EXYNOS7
Date: Thu, 28 Aug 2014 18:27:04 +0100	[thread overview]
Message-ID: <53FF6668.4080502@arm.com> (raw)
In-Reply-To: <20140828170306.GQ14650@leverpostej>

On 28/08/14 18:03, Mark Rutland wrote:

> From 67104ad5a56e4c18f9c41f06af028b7561740afd Mon Sep 17 00:00:00 2001
> From: Mark Rutland <mark.rutland@arm.com>
> Date: Thu, 28 Aug 2014 17:41:03 +0100
> Subject: [PATCH] Doc: dt: arch_timer: discourage clock-frequency use
> 
> The ARM Generic Timer (AKA the architected timer, arm_arch_timer)
> features a CPU register (CNTFRQ) which firmware is intended to
> initialize, and non-secure software can read to determine the frequency
> of the timer. On CPUs with secure state, this register cannot be written
> from non-secure states.
> 
> The firmware of early SoCs featuring the timer did not correctly
> initialize CNTFRQ correctly on all CPUs, requiring the frequency to be
> described in DT as a workaround. This workaround is not complete however
> as CNTFRQ is exposed to all software in a privileged non-secure mode,
> including KVM guests. The firmware and DTs for recent SoCs have followed

I believe Xen is also affected by this.

> the example set by these early SoCs.
> 
> This patch updates the arch timer binding documentation to make it
> clearer that the use of the clock-frequency property is a poor
> work-around. The MMIO generic timer binding is similarly updated, though
> this is less of a concern as there is generally no need to expose the
> MMIO timers to guest OSs.
> 
> Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> Cc: Marc Zyngier <marc.zyngier@arm.com>

Short of more explicit threats:

Acked-by: Marc Zyngier <marc.zyngier@arm.com>

> ---
>  Documentation/devicetree/bindings/arm/arch_timer.txt | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/arm/arch_timer.txt b/Documentation/devicetree/bindings/arm/arch_timer.txt
> index 37b2caf..5ca3f95 100644
> --- a/Documentation/devicetree/bindings/arm/arch_timer.txt
> +++ b/Documentation/devicetree/bindings/arm/arch_timer.txt
> @@ -17,7 +17,10 @@ to deliver its interrupts via SPIs.
>  - interrupts : Interrupt list for secure, non-secure, virtual and
>    hypervisor timers, in that order.
>  
> -- clock-frequency : The frequency of the main counter, in Hz. Optional.
> +- clock-frequency : The frequency of the main counter, in Hz. Should be present
> +  only where necessary to work around BROKEN firmware which does not configure
> +  CNTFRQ on all CPUs to a uniform correct value. Use of this property is
> +  STRONGLY DISCOURAGED; fix your firmware unless absolutely impossible.
>  
>  - always-on : a boolean property. If present, the timer is powered through an
>    always-on power domain, therefore it never loses context.
> @@ -38,7 +41,8 @@ Example:
>  
>  - compatible : Should at least contain "arm,armv7-timer-mem".
>  
> -- clock-frequency : The frequency of the main counter, in Hz. Optional.
> +- clock-frequency : The frequency of the main counter, in Hz. Should be present
> +  only when firmware has not configured the MMIO CNTFRQ registers.
>  
>  - reg : The control frame base address.
>  
> 


-- 
Jazz is not dead. It just smells funny...

  parent reply	other threads:[~2014-08-28 17:27 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-27  9:44 [PATCH 00/14] Support 64bit Cortex A57 based Exynos7 SoC Naveen Krishna Chatradhi
2014-08-27  9:44 ` [PATCH 10/14] arm64: dts: add pinctrl support to EXYNOS7 Naveen Krishna Chatradhi
2014-08-27 11:14   ` Tomasz Figa
2014-08-29  5:46     ` Naveen Krishna Ch
2014-08-27  9:44 ` [PATCH 11/14] arm64: dts: Add initial device tree support for EXYNOS7 Naveen Krishna Chatradhi
2014-08-27 10:42   ` Mark Rutland
2014-08-27 14:54     ` Catalin Marinas
2014-09-03  7:48     ` Naveen Krishna Ch
2014-08-27 11:30   ` Tomasz Figa
2014-09-03  7:55     ` Naveen Krishna Ch
2014-08-28  3:56   ` Olof Johansson
2014-08-28  8:35     ` Marc Zyngier
2014-08-28  9:48     ` Mark Rutland
2014-08-28 16:28       ` Olof Johansson
2014-08-28 17:03         ` Mark Rutland
2014-08-28 17:19           ` Olof Johansson
2014-08-28 17:39             ` Mark Rutland
2014-08-28 17:47               ` Geert Uytterhoeven
2014-08-28 18:17                 ` Mark Rutland
2014-08-28 17:54             ` Rob Herring
2014-08-28 22:23               ` Olof Johansson
2014-08-28 23:30                 ` Simon Horman
2014-08-28 17:27           ` Marc Zyngier [this message]
2014-08-28 17:30             ` Mark Rutland
2014-08-28 17:37               ` Marc Zyngier
2014-08-28 17:45                 ` Mark Rutland
     [not found]             ` <53FF6668.4080502-5wv7dgnIgG8@public.gmane.org>
2014-08-28 17:33               ` Rob Herring
2014-08-28 17:43                 ` Mark Rutland
2014-09-03  8:05     ` Naveen Krishna Ch
2014-08-27  9:44 ` [PATCH 12/14] arm64: dts: add Exynos7 based Espresso board dts file Naveen Krishna Chatradhi
2014-08-27 11:32   ` Tomasz Figa
2014-08-28  4:00   ` Olof Johansson
2014-08-29  5:51     ` Naveen Krishna Ch
2014-08-27  9:44 ` [PATCH 13/14] arm64: exynos7: Enable ARMv8 based Exynos7 (SoC) support Naveen Krishna Chatradhi
2014-08-27 11:09   ` Mark Rutland
2014-08-27 14:50     ` Catalin Marinas
2014-08-28  4:05       ` Olof Johansson
2014-09-03  8:14     ` Naveen Krishna Ch
2014-08-27 11:34 ` [PATCH 00/14] Support 64bit Cortex A57 based Exynos7 SoC Tomasz Figa
2014-09-13 10:57   ` Tomasz Figa
2014-09-14 13:45     ` Thomas Abraham
2014-08-28  3:47 ` Olof Johansson

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=53FF6668.4080502@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=Catalin.Marinas@arm.com \
    --cc=ch.naveen@samsung.com \
    --cc=cpgs@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=naveenkrishna.ch@gmail.com \
    --cc=olof@lixom.net \
    --cc=robh@kernel.org \
    --cc=thomas.ab@samsung.com \
    /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).