From: Mathieu Poirier <mathieu.poirier@linaro.org>
Other than tracers, the coresight IP blocks are 64-bit ready. This
would normally be a trivial addition had it not been for the first
patch that is adding cpu index lookup functionality.
The feature exists in the 32 world and the fact that it doesn't on
64 bit means that 1) nobody needed it as of yet or 2) people have found
a different way to proceed.
Please have a look and tell me what you think.
Many thanks,
Mathieu
Mathieu Poirier (2):
arm64: adding cpu lookup functionality
coresight: Adding coresight support to arm64
arch/arm64/Kconfig.debug | 48 +++++++++++++++++++++++++++++++++++++
arch/arm64/include/asm/smp_plat.h | 12 ++++++++++
drivers/coresight/coresight-etb10.c | 2 +-
drivers/coresight/coresight-tmc.c | 2 +-
4 files changed, 62 insertions(+), 2 deletions(-)
--
1.9.1
From: Mathieu Poirier <mathieu.poirier@linaro.org>
Aside from tracers, all currently supported coresight IP blocks
are 64 bit ready. As such add the required symbol definition to
compile the framework and drivers.
Also fixing a couple of warnings picked up by the 64bit compiler.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
arch/arm64/Kconfig.debug | 48 +++++++++++++++++++++++++++++++++++++
drivers/coresight/coresight-etb10.c | 2 +-
drivers/coresight/coresight-tmc.c | 2 +-
3 files changed, 50 insertions(+), 2 deletions(-)
From: Will Deacon <hidden> Date: 2015-02-02 13:45:21
On Fri, Jan 30, 2015 at 10:54:26PM +0000, mathieu.poirier at linaro.org wrote:
quoted hunk
From: Mathieu Poirier <mathieu.poirier@linaro.org>
Aside from tracers, all currently supported coresight IP blocks
are 64 bit ready. As such add the required symbol definition to
compile the framework and drivers.
Also fixing a couple of warnings picked up by the 64bit compiler.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
arch/arm64/Kconfig.debug | 48 +++++++++++++++++++++++++++++++++++++
drivers/coresight/coresight-etb10.c | 2 +-
drivers/coresight/coresight-tmc.c | 2 +-
3 files changed, 50 insertions(+), 2 deletions(-)
Why does this need to be duplicated by each architecture wanting to make
use of coresight capabilities defined under drivers/coresight? Can't we
instead have this menuconfig and associated suboptions defined by a core
Kconfig file, then have HAVE_ARCH_CORESIGHT_TRACE or something which can
be selected by architectures wanting to make use of the framework?
Will
On 2 February 2015 at 06:45, Will Deacon [off-list ref] wrote:
On Fri, Jan 30, 2015 at 10:54:26PM +0000, mathieu.poirier at linaro.org wrote:
quoted
From: Mathieu Poirier <mathieu.poirier@linaro.org>
Aside from tracers, all currently supported coresight IP blocks
are 64 bit ready. As such add the required symbol definition to
compile the framework and drivers.
Also fixing a couple of warnings picked up by the 64bit compiler.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
arch/arm64/Kconfig.debug | 48 +++++++++++++++++++++++++++++++++++++
drivers/coresight/coresight-etb10.c | 2 +-
drivers/coresight/coresight-tmc.c | 2 +-
3 files changed, 50 insertions(+), 2 deletions(-)
Why does this need to be duplicated by each architecture wanting to make
use of coresight capabilities defined under drivers/coresight? Can't we
instead have this menuconfig and associated suboptions defined by a core
Kconfig file, then have HAVE_ARCH_CORESIGHT_TRACE or something which can
be selected by architectures wanting to make use of the framework?
Will
"arch/arm/Kconfig.debug" and "arch/arm64/Kconfig.debug" already have a
fair amount of duplication so I wasn't sure if this is the approach
you guys wanted to take. I agree that a common core Kconfig file
would make much more sense and I see a couple of ways to do this:
1) lib/Kconfig.debug being sourced by both arm/Kconfig.debug and
arm64/Kconfig.debug. We can add a lib/Kconfig.coresight or
lib/Kconfig.arm and source them the same way.
2) Adding coresight entries to the Kconfig.debug made sense a while
back. Maybe it is time to move them to drivers/coresight/Kconfig...
That way it would be easily accessible by both arm and arm64.
You may have ideas of your own too...
Thanks,
Mathieu
On Mon, Feb 02, 2015 at 10:06:16PM +0000, Mathieu Poirier wrote:
On 2 February 2015 at 06:45, Will Deacon [off-list ref] wrote:
quoted
On Fri, Jan 30, 2015 at 10:54:26PM +0000, mathieu.poirier at linaro.org wrote:
quoted
From: Mathieu Poirier <mathieu.poirier@linaro.org>
Aside from tracers, all currently supported coresight IP blocks
are 64 bit ready. As such add the required symbol definition to
compile the framework and drivers.
Also fixing a couple of warnings picked up by the 64bit compiler.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
arch/arm64/Kconfig.debug | 48 +++++++++++++++++++++++++++++++++++++
drivers/coresight/coresight-etb10.c | 2 +-
drivers/coresight/coresight-tmc.c | 2 +-
3 files changed, 50 insertions(+), 2 deletions(-)
Why does this need to be duplicated by each architecture wanting to make
use of coresight capabilities defined under drivers/coresight? Can't we
instead have this menuconfig and associated suboptions defined by a core
Kconfig file, then have HAVE_ARCH_CORESIGHT_TRACE or something which can
be selected by architectures wanting to make use of the framework?
Will
"arch/arm/Kconfig.debug" and "arch/arm64/Kconfig.debug" already have a
fair amount of duplication so I wasn't sure if this is the approach
you guys wanted to take. I agree that a common core Kconfig file
would make much more sense and I see a couple of ways to do this:
1) lib/Kconfig.debug being sourced by both arm/Kconfig.debug and
arm64/Kconfig.debug. We can add a lib/Kconfig.coresight or
lib/Kconfig.arm and source them the same way.
2) Adding coresight entries to the Kconfig.debug made sense a while
back. Maybe it is time to move them to drivers/coresight/Kconfig...
That way it would be easily accessible by both arm and arm64.
Since the C files and Makefile are in drivers/coresight/, it makes sense
to add a drivers/coresight/Kconfig that could be sourced from
arch/arm*/Kconfig (we do this with PCI for example).
--
Catalin
From: Mathieu Poirier <mathieu.poirier@linaro.org>
Adding a lookup function allowing for quick and easy mapping
between processor HWID (as found, for example) in DT specifications
and the CPU index known to the kernel.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
arch/arm64/include/asm/smp_plat.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
From: Will Deacon <hidden> Date: 2015-02-02 13:50:47
On Fri, Jan 30, 2015 at 10:54:25PM +0000, mathieu.poirier at linaro.org wrote:
quoted hunk
From: Mathieu Poirier <mathieu.poirier@linaro.org>
Adding a lookup function allowing for quick and easy mapping
between processor HWID (as found, for example) in DT specifications
and the CPU index known to the kernel.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
arch/arm64/include/asm/smp_plat.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
On 2 February 2015 at 06:50, Will Deacon [off-list ref] wrote:
On Fri, Jan 30, 2015 at 10:54:25PM +0000, mathieu.poirier at linaro.org wrote:
quoted
From: Mathieu Poirier <mathieu.poirier@linaro.org>
Adding a lookup function allowing for quick and easy mapping
between processor HWID (as found, for example) in DT specifications
and the CPU index known to the kernel.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
arch/arm64/include/asm/smp_plat.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
From: Mark Rutland <mark.rutland@arm.com> Date: 2015-02-02 15:37:23
On Fri, Jan 30, 2015 at 10:54:25PM +0000, mathieu.poirier at linaro.org wrote:
quoted hunk
From: Mathieu Poirier <mathieu.poirier@linaro.org>
Adding a lookup function allowing for quick and easy mapping
between processor HWID (as found, for example) in DT specifications
and the CPU index known to the kernel.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
arch/arm64/include/asm/smp_plat.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
Are there some pending updates for of_coresight.c that aren't in
mainline yet? It looks like even with this the parsing would be broken
if /cpus/#address-cells is greater than 1 (as with juno.dts), and it'll
just assume CPU0 in that case.
It would be nicer if we instead had a CPU node to logical ID mapping
function in the core OF code. We already have the inverse with
of_get_cpu_node, so I assume the necessary infrastructure is already
there.
Mark.