On 03/02/2022 12:04, Sudeep Holla wrote:
On Thu, Feb 03, 2022 at 11:55:58AM +0530, Anshuman Khandual wrote:
On 2/1/22 5:52 PM, Sudeep Holla wrote:
Currently with the check present in the module initialisation, it shouts on all the systems irrespective of presence of coresight trace buffer extensions.
IIUC a system with CONFIG_CORESIGHT_TRBE enabled but without a TRBE DT i.e "arm,trace-buffer-extension" complains about kernel space unmapping at EL0 (even though it does not even really have TRBE HW to initialize).
Correct. Basically, this error will be seen on all systems(DT and ACPI) when the module is compiled. It really doesn't matter if the system supports TRBE.
Similar to Arm SPE perf driver, move the check for kernelspace unmapping when running at EL0 to the device probe instead of module initialisation.
Makes sense.
Thanks.
Cc: Mathieu Poirier mathieu.poirier@linaro.org Cc: Suzuki K Poulose suzuki.poulose@arm.com Cc: Mike Leach mike.leach@linaro.org Cc: Leo Yan leo.yan@linaro.org Cc: Anshuman Khandual anshuman.khandual@arm.com Cc: coresight@lists.linaro.org Signed-off-by: Sudeep Holla sudeep.holla@arm.com
drivers/hwtracing/coresight/coresight-trbe.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/hwtracing/coresight/coresight-trbe.c b/drivers/hwtracing/coresight/coresight-trbe.c index 276862c07e32..3fe2ce1ba5bf 100644 --- a/drivers/hwtracing/coresight/coresight-trbe.c +++ b/drivers/hwtracing/coresight/coresight-trbe.c @@ -1423,6 +1423,11 @@ static int arm_trbe_device_probe(struct platform_device *pdev) struct device *dev = &pdev->dev; int ret;
Could you please add a similar comment like SPE driver regarding how the TRBE buffer will be inaccessible, if kernel gets unmapped at EL0 and trace capture will terminate.
Sure I can add that. But if the device probe fails, will you be able to even start the trace capture, sorry I didn't get what you mean by "trace capture will terminate". I assume it must be "trace capture is not possible or not allowed" IIUC.
"Trace capture is not possible with kernel page table isolation"
is good enough.
Thanks for making these changes
Cheers Suzuki