From: Mark Brown <broonie@kernel.org>
To: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, peterz@infradead.org,
acme@kernel.org, mark.rutland@arm.com, will@kernel.org,
catalin.marinas@arm.com, James Clark <james.clark@arm.com>,
Rob Herring <robh@kernel.org>, Marc Zyngier <maz@kernel.org>,
Ingo Molnar <mingo@redhat.com>
Subject: Re: [PATCH V2 1/7] arm64/perf: Add register definitions for BRBE
Date: Tue, 13 Sep 2022 12:30:01 +0100 [thread overview]
Message-ID: <YyBpuQdNBDLpjJWx@sirena.org.uk> (raw)
In-Reply-To: <95599654-a302-dd64-e1c8-4d9a723aed85@arm.com>
[-- Attachment #1: Type: text/plain, Size: 2325 bytes --]
On Tue, Sep 13, 2022 at 11:54:09AM +0530, Anshuman Khandual wrote:
> On 9/12/22 15:27, Mark Brown wrote:
> > On Thu, Sep 08, 2022 at 10:40:40AM +0530, Anshuman Khandual wrote:
> >> arch/arm64/include/asm/sysreg.h | 222 ++++++++++++++++++++++++++++++++
> >> 1 file changed, 222 insertions(+)
> > Rather than manually encoding register definitions in sysreg.h
> > can we add them to arch/arm64/tools/sysreg so that all the
> > #defines and so on are generated instead?
> SYS_[BRBINF<N>|BRBSRC<N>|BRBTGT<N>]_EL1 registers are encoded as per three
> distinct formulas where <CRm> and <op2> are derived from corresponding <N>
> Just wondering if those could be accommodated in arch/arm64/tools/sysreg ?
It'd need some work on the script but if there's a reusable
pattern there (I'd guess there might be) then adding some support
for generating patterns like that seems like a sensible thing.
> System register description via arch/arm64/tools/sysreg seems bit cryptic.
It's very close to the way they're definied in the ARM, and I'd
say a good bit easier than typing out all the individual defines
and making sure there's no typos.
> BTW, do we expect all existing sysreg definitions to move there ? Because
> still there are many registers and their fields present in sysreg.h
Yes, we expect all registers to be converted. This process is
onging and if you don't do it now someone will just have to go
and convert it later.
> Besides, there is also some benefit in being able to grep system registers
> and their fields, across headers and implementations simultaneously.
That's true. On the other hand having consistently generated
defines that are tied to the architecture means that people can
look at the ARM and know that there's a define already provided
without having to go check, and having everything generated in a
very consistent fashion means that we can write helpers which
take advantage of that fact - the SYSREG_FIELD_GET() and _PREP()
helpers are an example of that, once James' series for the 32 bit
ID registers lands we'll be able to start adding more for the
cpufeature stuff.
At the minute the major advantage is that you only have to cross
check the input file with the architecture when reviewing, and
that has a format that's very close to the architecture so is
much easier to validate.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2022-09-13 11:30 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-08 5:10 [PATCH V2 0/7] arm64/perf: Enable branch stack sampling Anshuman Khandual
2022-09-08 5:10 ` [PATCH V2 1/7] arm64/perf: Add register definitions for BRBE Anshuman Khandual
2022-09-12 9:57 ` Mark Brown
2022-09-13 6:24 ` Anshuman Khandual
2022-09-13 11:30 ` Mark Brown [this message]
2022-09-08 5:10 ` [PATCH V2 2/7] arm64/perf: Update struct arm_pmu " Anshuman Khandual
2022-09-08 5:10 ` [PATCH V2 3/7] arm64/perf: Update struct pmu_hw_events " Anshuman Khandual
2022-09-08 12:32 ` kernel test robot
2022-09-09 3:11 ` Anshuman Khandual
2022-09-08 14:14 ` kernel test robot
2022-09-09 3:14 ` Anshuman Khandual
2022-09-12 10:12 ` Mark Brown
2022-09-13 5:33 ` Anshuman Khandual
2022-09-13 11:43 ` Mark Brown
2022-09-14 3:39 ` Anshuman Khandual
2022-09-14 9:35 ` Mark Brown
2022-09-08 5:10 ` [PATCH V2 4/7] driver/perf/arm_pmu_platform: Add support for BRBE attributes detection Anshuman Khandual
2022-09-08 5:10 ` [PATCH V2 5/7] arm64/perf: Drive BRBE from perf event states Anshuman Khandual
2022-09-08 15:31 ` kernel test robot
2022-09-08 5:10 ` [PATCH V2 6/7] arm64/perf: Add BRBE driver Anshuman Khandual
2022-09-08 9:23 ` kernel test robot
2022-09-08 10:16 ` Anshuman Khandual
2022-09-13 10:39 ` James Clark
2022-09-13 11:38 ` Anshuman Khandual
2022-09-08 5:10 ` [PATCH V2 7/7] arm64/perf: Enable branch stack sampling Anshuman Khandual
2022-09-13 10:55 ` [PATCH V2 0/7] " James Clark
2022-09-13 12:12 ` Anshuman Khandual
2022-09-13 13:12 ` James Clark
2022-09-14 4:43 ` Anshuman Khandual
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YyBpuQdNBDLpjJWx@sirena.org.uk \
--to=broonie@kernel.org \
--cc=acme@kernel.org \
--cc=anshuman.khandual@arm.com \
--cc=catalin.marinas@arm.com \
--cc=james.clark@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=robh@kernel.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®