All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Ene <sebastianene@google.com>
To: Will Deacon <will@kernel.org>
Cc: akpm@linux-foundation.org, alexghiti@rivosinc.com,
	ankita@nvidia.com, ardb@kernel.org, catalin.marinas@arm.com,
	christophe.leroy@csgroup.eu, james.morse@arm.com,
	vdonnefort@google.com, mark.rutland@arm.com, maz@kernel.org,
	oliver.upton@linux.dev, rananta@google.com, ryan.roberts@arm.com,
	shahuang@redhat.com, suzuki.poulose@arm.com,
	yuzenghui@huawei.com, kvmarm@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, kernel-team@android.com
Subject: Re: [PATCH v7 2/6] arm64: ptdump: Expose the attribute parsing functionality
Date: Fri, 19 Jul 2024 11:44:42 +0000	[thread overview]
Message-ID: <ZppRqmuL2ORp2uNC@google.com> (raw)
In-Reply-To: <20240705110747.GA9231@willie-the-truck>

On Fri, Jul 05, 2024 at 12:07:48PM +0100, Will Deacon wrote:
> On Fri, Jun 21, 2024 at 12:32:26PM +0000, Sebastian Ene wrote:
> > Reuse the descriptor parsing functionality to keep the same output format
> > as the original ptdump code. In order for this to happen, move the state
> > tracking objects into a common header.
> > 
> > Signed-off-by: Sebastian Ene <sebastianene@google.com>
> > ---
> >  arch/arm64/include/asm/ptdump.h | 41 ++++++++++++++++++++++++++++++++-
> >  arch/arm64/mm/ptdump.c          | 37 ++---------------------------
> >  2 files changed, 42 insertions(+), 36 deletions(-)
> > 
> > diff --git a/arch/arm64/include/asm/ptdump.h b/arch/arm64/include/asm/ptdump.h
> > index 5b1701c76d1c..c550b2afcab7 100644
> > --- a/arch/arm64/include/asm/ptdump.h
> > +++ b/arch/arm64/include/asm/ptdump.h
> > @@ -9,6 +9,7 @@
> >  
> >  #include <linux/mm_types.h>
> >  #include <linux/seq_file.h>
> > +#include <linux/ptdump.h>
> >  
> >  struct addr_marker {
> >  	unsigned long start_address;
> > @@ -21,14 +22,52 @@ struct ptdump_info {
> >  	unsigned long			base_addr;
> >  };
> >  
> > +struct prot_bits {
> > +	u64		mask;
> > +	u64		val;
> > +	const char	*set;
> > +	const char	*clear;
> > +};
> > +
> > +struct pg_level {
> > +	const struct prot_bits *bits;
> > +	char name[4];
> > +	int num;
> > +	u64 mask;
> > +};
> > +
> > +/*
> > + * The page dumper groups page table entries of the same type into a single
> > + * description. It uses pg_state to track the range information while
> > + * iterating over the pte entries. When the continuity is broken it then
> > + * dumps out a description of the range.
> > + */
> > +struct pg_state {
> > +	struct ptdump_state ptdump;
> > +	struct seq_file *seq;
> > +	const struct addr_marker *marker;
> > +	const struct mm_struct *mm;
> > +	unsigned long start_address;
> > +	int level;
> > +	u64 current_prot;
> > +	bool check_wx;
> > +	unsigned long wx_pages;
> > +	unsigned long uxn_pages;
> > +};

Hello Will,

> 
> Minor nit, but if we're moving these structure definitions into the
> header then I'd be inclined to give them some more specific names (e.g.
> prefix them with 'ptdump_'). Granted, this header isn't used widely, but
> it's included by arch/arm64/mm/mmu.c and claiming 'struct prot_bits' is
> a bit over-reaching imo!
> 
> Will

Thanks for having a look. I applied the prefix.

Cheers,
Seb

  reply	other threads:[~2024-07-19 11:44 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-21 12:32 [PATCH v7 0/6] arm64: ptdump: View the second stage page-tables Sebastian Ene
2024-06-21 12:32 ` [PATCH v7 1/6] KVM: arm64: Move pagetable definitions to common header Sebastian Ene
2024-06-21 12:32 ` [PATCH v7 2/6] arm64: ptdump: Expose the attribute parsing functionality Sebastian Ene
2024-07-05 11:07   ` Will Deacon
2024-07-19 11:44     ` Sebastian Ene [this message]
2024-06-21 12:32 ` [PATCH v7 3/6] arm64: ptdump: Use the mask from the state structure Sebastian Ene
2024-07-05 11:12   ` Will Deacon
2024-07-19 13:27     ` Sebastian Ene
2024-06-21 12:32 ` [PATCH v7 4/6] KVM: arm64: Register ptdump with debugfs on guest creation Sebastian Ene
2024-06-21 12:32 ` [PATCH v7 5/6] KVM: arm64: Initialize the ptdump parser with stage-2 attributes Sebastian Ene
2024-06-28 21:18   ` Oliver Upton
2024-07-01 14:17     ` Sebastian Ene
2024-07-08 19:47       ` Oliver Upton
2024-07-19 14:01     ` Sebastian Ene
2024-07-01  8:42   ` Vincent Donnefort
2024-07-01 14:18     ` Sebastian Ene
2024-07-16  9:59       ` Vincent Donnefort
2024-07-19 14:09         ` Sebastian Ene
2024-07-19 14:36           ` Vincent Donnefort
2024-07-19 16:27             ` Sebastian Ene
2024-06-21 12:32 ` [PATCH v7 6/6] KVM: arm64: Expose guest stage-2 pagetable config to debugfs Sebastian Ene
2024-06-28 20:49   ` Oliver Upton
2024-07-01 14:10     ` Sebastian Ene
2024-06-28 21:25 ` [PATCH v7 0/6] arm64: ptdump: View the second stage page-tables Oliver Upton
2024-07-01 14:22   ` Sebastian Ene

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=ZppRqmuL2ORp2uNC@google.com \
    --to=sebastianene@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexghiti@rivosinc.com \
    --cc=ankita@nvidia.com \
    --cc=ardb@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=james.morse@arm.com \
    --cc=kernel-team@android.com \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=oliver.upton@linux.dev \
    --cc=rananta@google.com \
    --cc=ryan.roberts@arm.com \
    --cc=shahuang@redhat.com \
    --cc=suzuki.poulose@arm.com \
    --cc=vdonnefort@google.com \
    --cc=will@kernel.org \
    --cc=yuzenghui@huawei.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.