lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <cfc92a41-7371-f5a7-db01-354c87027223@arm.com>
Date:   Thu, 13 Jan 2022 09:09:37 +0000
From:   James Clark <james.clark@....com>
To:     Leo Yan <leo.yan@...aro.org>
Cc:     mathieu.poirier@...aro.org, coresight@...ts.linaro.org,
        suzuki.poulose@....com, Mike Leach <mike.leach@...aro.org>,
        John Garry <john.garry@...wei.com>,
        Will Deacon <will@...nel.org>,
        Mark Rutland <mark.rutland@....com>,
        Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
        Jiri Olsa <jolsa@...hat.com>,
        Namhyung Kim <namhyung@...nel.org>,
        linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
        linux-perf-users@...r.kernel.org
Subject: Re: [PATCH 3/3] perf cs-etm: Update deduction of TRCCONFIGR register
 for branch broadcast



On 10/12/2021 02:41, Leo Yan wrote:
> On Wed, Dec 08, 2021 at 04:09:07PM +0000, James Clark wrote:
>> Now that a config flag for branch broadcast has been added, take it into
>> account when trying to deduce what the driver would have programmed the
>> TRCCONFIGR register to.
>>
>> Signed-off-by: James Clark <james.clark@....com>
>> ---
>>  tools/include/linux/coresight-pmu.h | 2 ++
>>  tools/perf/arch/arm/util/cs-etm.c   | 3 +++
>>  2 files changed, 5 insertions(+)
>>
>> diff --git a/tools/include/linux/coresight-pmu.h b/tools/include/linux/coresight-pmu.h
>> index 4ac5c081af93..6c2fd6cc5a98 100644
>> --- a/tools/include/linux/coresight-pmu.h
>> +++ b/tools/include/linux/coresight-pmu.h
>> @@ -18,6 +18,7 @@
>>   * ETMv3.5/PTM doesn't define ETMCR config bits with prefix "ETM3_" and
>>   * directly use below macros as config bits.
>>   */
>> +#define ETM_OPT_BRANCH_BROADCAST 8
> 
> I checked ETMv3 architecture spec (ARM IHI 0014Q), its bit 8 is "branch
> output" for all branch address outputting.  I am not sure if it is the
> same thing between ETMv3's "branch output" and ETMv4's "branch
> broadcasting", but it makes sense for me to use bit 8 as an unified
> config bit to control these two options for ETMv3 and ETMv4
> respectively.
> 
> Just note, I understand this patch set is to enable branch broadcasting
> for entire memory region rather than using any comparators (see
> TRCBBCTLR) to limit branch broadcasting ranges.  This is fine for me and
> we could enable ranges later.
> 
> Reviewed-by: Leo Yan <leo.yan@...aro.org>

Hi Leo,

Thanks for the review, I've posted v2, but I only put your reviewed by tag
on this commit because I wasn't sure if you meant for the full set. Please
take another look

Thanks
James

> 
>>  #define ETM_OPT_CYCACC		12
>>  #define ETM_OPT_CTXTID		14
>>  #define ETM_OPT_CTXTID2		15
>> @@ -25,6 +26,7 @@
>>  #define ETM_OPT_RETSTK		29
>>  
>>  /* ETMv4 CONFIGR programming bits for the ETM OPTs */
>> +#define ETM4_CFG_BIT_BB         3
>>  #define ETM4_CFG_BIT_CYCACC	4
>>  #define ETM4_CFG_BIT_CTXTID	6
>>  #define ETM4_CFG_BIT_VMID	7
>> diff --git a/tools/perf/arch/arm/util/cs-etm.c b/tools/perf/arch/arm/util/cs-etm.c
>> index 293a23bf8be3..c7ef4e9b4a3a 100644
>> --- a/tools/perf/arch/arm/util/cs-etm.c
>> +++ b/tools/perf/arch/arm/util/cs-etm.c
>> @@ -527,6 +527,9 @@ static u64 cs_etmv4_get_config(struct auxtrace_record *itr)
>>  	if (config_opts & BIT(ETM_OPT_CTXTID2))
>>  		config |= BIT(ETM4_CFG_BIT_VMID) |
>>  			  BIT(ETM4_CFG_BIT_VMID_OPT);
>> +	if (config_opts & BIT(ETM_OPT_BRANCH_BROADCAST))
>> +		config |= BIT(ETM4_CFG_BIT_BB);
>> +
>>  	return config;
>>  }
>>  
>> -- 
>> 2.28.0
>>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ