[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8c9a1480-7956-9265-14c8-3fbb472e097d@gmail.com>
Date: Thu, 18 Apr 2019 14:15:51 +0300
From: Oleksandr <olekstysh@...il.com>
To: Julien Grall <julien.grall@....com>,
linux-renesas-soc@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: horms@...ge.net.au, magnus.damm@...il.com, linux@...linux.org.uk,
Oleksandr Tyshchenko <oleksandr_tyshchenko@...m.com>
Subject: Re: [PATCH] ARM: mach-shmobile: Don't configure ARCH timer if PSCI is
enabled
On 18.04.19 12:32, Julien Grall wrote:
> Hi,
Hi Julien
<snip>
>>
>> diff --git a/arch/arm/mach-shmobile/setup-rcar-gen2.c
>> b/arch/arm/mach-shmobile/setup-rcar-gen2.c
>> index eea60b2..bac4490 100644
>> --- a/arch/arm/mach-shmobile/setup-rcar-gen2.c
>> +++ b/arch/arm/mach-shmobile/setup-rcar-gen2.c
>> @@ -32,7 +32,7 @@ static const struct of_device_id cpg_matches[]
>> __initconst = {
>> { /* sentinel */ }
>> };
>> -static unsigned int __init get_extal_freq(void)
>> +static unsigned int __init __maybe_unused get_extal_freq(void)
>> {
>> const struct of_device_id *match;
>> struct device_node *cpg, *extal;
>> @@ -60,6 +60,12 @@ static unsigned int __init get_extal_freq(void)
>> void __init rcar_gen2_timer_init(void)
>> {
>> +/*
>> + * If CONFIG_PSCI is enabled then most likely we are running on
>> PSCI-enabled
>> + * U-Boot which, we assume, has already taken care of configuring
>> ARCH timer
>> + * stuff before switching to non-secure mode.
>> + */
>
> I disagree with that statement. CONFIG_ARM_PSCI may be selected in
> your .config for multiple reasons:
> - CONFIG_XEN will selected it
> - you build a .config targeting multiple platforms
>
> Yet you may still want to boot the kernel on older U-boot. Such change
> would make it impossible.
>
> If there are code that should not be called when PSCI is used, then
> you need to make sure the function is not called at runtime.
I got your point.
As I answered in a previous email:
> But "#if !defined(CONFIG_ARM_PSCI)" wraps secure_cntvoff_init() call as
> well, which resets CNTVOFF,
> and this is something I tried to avoid the first from being executed on
> a CPU, which is in SVC mode (when running on top of Xen).
What would be a proper way to avoid calling secure_cntvoff_init() at
runtime?
Check that we are already in non-secure mode and/or cntvoff is already 0?
>
> Cheers,
>
--
Regards,
Oleksandr Tyshchenko
Powered by blists - more mailing lists