[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1c790718-657e-e860-e03e-473b5ddba6a3@gmail.com>
Date: Sun, 9 Jul 2017 21:27:37 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Andreas Färber <afaerber@...e.de>,
linux-arm-kernel@...ts.infradead.org
Cc: support@...aker.org,
张天益 <tyzhang@...ions-semi.com>,
Jason Cooper <jason@...edaemon.net>,
Arnd Bergmann <arnd@...db.de>,
梅利 <harrymei@...ions-semi.com>,
Neil Armstrong <narmstrong@...libre.com>,
linux-kernel@...r.kernel.org,
Thomas Liau <thomas.liau@...ions-semi.com>,
Russell King <linux@...linux.org.uk>, support@...ietech.com,
lee@...ietech.com, Andrew Lunn <andrew@...n.ch>,
张东风 <zhangdf@...ions-semi.com>,
刘炜 <liuwei@...ions-semi.com>,
Gregory Clement <gregory.clement@...e-electrons.com>,
Alexandre Belloni <alexandre.belloni@...e-electrons.com>,
Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>
Subject: Re: [PATCH] ARM: owl: smp: Drop owl_secondary_boot()
On 07/09/2017 02:55 PM, Andreas Färber wrote:
> Am 06.07.2017 um 19:17 schrieb Andreas Färber:
>> Am 05.07.2017 um 04:36 schrieb Florian Fainelli:
>>> On July 4, 2017 4:32:18 PM PDT, "Andreas Färber" <afaerber@...e.de> wrote:
>>>> - writel(virt_to_phys(owl_secondary_startup),
>>>> + writel(virt_to_phys(secondary_startup),
>>>> timer_base_addr + OWL_CPU1_ADDR + (cpu - 1) * 4);
>>>
>>> This is a kernel symbol so please use __pa_symbol() here, also you might want to build with CONFIG_DEBUG_VIRTUAL and see if you get other warnings about using virt_to_phys() in the owl platform code (I did not check if there are other uses)
>
> Florian, I don't spot any build or runtime warning for this
> virt_to_phys() with CONFIG_DEBUG_VIRTUAL=y on Guitar/S500:
You would only see run time warnings, not build time warnings for this,
but in fact, no, see below.
>
> [ 0.062765] CPU: Testing write buffer coherency: ok
> [ 0.063468] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
> [ 0.100856] Setting up static identity map for 0x100000 - 0x100060
> [ 0.120864] Hierarchical SRCU implementation.
> [ 0.161092] smp: Bringing up secondary CPUs ...
> [ 0.291654] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
> [ 0.422226] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
> [ 0.552798] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
> [ 0.553074] smp: Brought up 1 node, 4 CPUs
> [ 0.553388] SMP: Total of 4 processors activated (1629.38 BogoMIPS).
> [ 0.553477] CPU: All CPU(s) started in SVC mode.
>
> I've tested that __pa_symbol() works as well, but I'd like to understand
> this for commit message and future testing. Am I missing other options?
After re-checking the implementation you would get a warning only if you
were using virt_to_phys() against a part of the kernel that is not in
the linear map, similarly you would get a warning if __pa_symbol() was
used against symbols outside of the kernel image, this is obviously not
the case here. You should use __pa_symbol() just for correctness, no
warning would be produced, sorry for misleading you with that.
--
Florian
Powered by blists - more mailing lists