From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 114E3C35FF3 for ; Mon, 17 Mar 2025 09:28:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 875AA280004; Mon, 17 Mar 2025 05:28:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 823AE280001; Mon, 17 Mar 2025 05:28:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7162C280004; Mon, 17 Mar 2025 05:28:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 524A8280001 for ; Mon, 17 Mar 2025 05:28:55 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id BA06EA19B2 for ; Mon, 17 Mar 2025 09:28:56 +0000 (UTC) X-FDA: 83230518672.05.B475D81 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf02.hostedemail.com (Postfix) with ESMTP id 5B2BF80011 for ; Mon, 17 Mar 2025 09:28:54 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=none; spf=pass (imf02.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742203735; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vg2HPDJGw50++nt9f+gnQ911MKt1QN60boipCB0LDgE=; b=IDwpVeacl8mJlTMe260VPM1QzjMotuy2JdeMiKJ0FX7w4naovW7Yxo3svliGEYeIZltNRx KpJlYmA44WzofYC/p1oMgraI+AJ700umi4spnzP7YjvXYe0eqIdJ2urZtWxFDPVnIy1Mut MQA3NawH2TH2noL4KDl02i1vAL05G64= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742203735; a=rsa-sha256; cv=none; b=deZ87zlZBzEzQHQ95ofSyGu0jRH1JZ7TPmaWB2hjkf4rRy87tKJQWg+oVHxifSW1OeZOx1 yARHcODfbqYiJX3KxOPFr8oQbGC6jABjkCoF+pydTrb0UwOgtZwQ4AERSD58c4TZxtVlUG efqbSZLv6EOCfoGqv6BbZmXyBlzZGys= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=none; spf=pass (imf02.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com; dmarc=pass (policy=none) header.from=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 1E81913D5; Mon, 17 Mar 2025 02:29:02 -0700 (PDT) Received: from [10.57.84.137] (unknown [10.57.84.137]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id F070E3F694; Mon, 17 Mar 2025 02:28:49 -0700 (PDT) Message-ID: <16c12c3f-f2c2-45fa-9db6-4dfaeb002059@arm.com> Date: Mon, 17 Mar 2025 09:28:48 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] arm64/ptdump: Replace u64 with pteval_t Content-Language: en-GB To: Anshuman Khandual , linux-mm@kvack.org Cc: Catalin Marinas , Will Deacon , Steven Price , Madhavan Srinivasan , Nicholas Piggin , Paul Walmsley , Palmer Dabbelt , Gerald Schaefer , Heiko Carstens , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , Andrew Morton , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, Marc Zyngier References: <20250317061818.16244-1-anshuman.khandual@arm.com> <20250317061818.16244-3-anshuman.khandual@arm.com> From: Ryan Roberts In-Reply-To: <20250317061818.16244-3-anshuman.khandual@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 5B2BF80011 X-Stat-Signature: misfsimwxfrw17i5cahq9ybchxux8whg X-HE-Tag: 1742203734-490800 X-HE-Meta: U2FsdGVkX18GEs08L98TTVW+vn6EnRFo+u9Md+4WYmp5xiz+MQUuwmdSlKEiAVWjPY5OnHXfodW5/doCnZrfPdYNMrUyLnAZYyUrt0He9IT79RbmR6z8YUwk8s/QDyMZi2ciWmuSlx5f0Mm8Sq9+WS+mojfrZ4KU9F/P9z2unHPdmAjkxMIIOxxoEtgUL5CbK8l3q62Wzgqj9Ddw6aosDjTm8XiBcODuduU0BSxNhRensf3qbYxrBRe66u/GkV4F9Hx3PFok1Q26sYUe840vSBB9xg0ORmDIym+Kw54E4qFI0NXwQGs7jE/CLnJOJMqUhmnVAzKl+bFcJnZG01kdcQJnhX6CoadX0XLUGC4EZevxcKrf1wzDJUOgEoPj8EafzET7YqqjtpzvdyNOR5dTZ/eqTWPeenphAWFXNrp2MT+wU9nS8C1suRn7qhtHYxuttuXLQXKt3L4wxNdg54z64v7QmRgBtyYCth1oYYEHd/AB8tiSO/TH+qSmYfKgdiJnPa8DEKxqG9YVN9VW0SIzuHEE/+7FkOJ49SWPkkCNCJVhtgripUEXsLhVd8iAbbviIneX5W404NgzZIDL++R0yCBh+F4sNRpcq+XDhnDndqvPD6bTAbTmExrAQjOY3VIeWG9t4MhgRThC5pjHUFxfJOxy/W/oRR0FF8HtILEC89DW96XLjar9X81fronDtUBue4n6tCP2lAGeTbfQOGDwPOC/py2CEXDCmi4AK+C89ULNUei97OPmiyDkHqVG2FK72DcbEgIaQUU6NM0uk+3p8fb8oc9CVqpgar0dtJezk2w4hPjOZHFSNNzlqefCGzVy4ZJ9exNJKQm+VOmoTDnusG9V3CT9EyPalMvcIU4UN4jzHtKEKVxy7XzMBlv/LGn090xlOhzJTpzUc+TGni2OyGOgSANKa35ERsHIbfrg/BzNSJmfXe4VMBDAzUmBVc5lm2OCalLka/lL5Lz0Bw+ 6u1dUxbJ jCu4mi5OU9EovCf7tXfZvRG0o04PQhTAvCedVAlOgiavWQ/NukUFA7FLLgGc+tYhtfZxDTr78p+iHmkWrZ+ULDRBzKWb2bCg6W2aHiFGuNw0pikQouDIcHL88O4HCSXL9tgQLqEW9aR6Z+yDr0HkbQ2H3Gx92Scq8xbrTVz4UyhkOsRBg+vA44oXi/alh6uOQtK7T1Yx7MYPZX1ACKVkiZaJdRxwBJMNUd5eoDCJip/KGMAb2PMBHnwezIVSvFzeDiIXqNsqm+CTVtbhWUEJj8AvX8aniTEK4Prx6aAYQV9r+qNIOgXxIrq0CS4esbJV5qy2U31vsGdel9Tw= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 17/03/2025 06:18, Anshuman Khandual wrote: > Page table entry's value, mask and protection are represented with pteval_t > data type format not u64 that has been assumed while dumping the page table > entries. Replace all such u64 instances with pteval_t instead as required. > > Cc: Catalin Marinas > Cc: Will Deacon > Cc: Marc Zyngier > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > Signed-off-by: Anshuman Khandual > --- > arch/arm64/include/asm/ptdump.h | 8 ++++---- > arch/arm64/mm/ptdump.c | 2 +- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/arch/arm64/include/asm/ptdump.h b/arch/arm64/include/asm/ptdump.h > index e5da9ce8a515..476a870489b9 100644 > --- a/arch/arm64/include/asm/ptdump.h > +++ b/arch/arm64/include/asm/ptdump.h > @@ -24,8 +24,8 @@ struct ptdump_info { > }; > > struct ptdump_prot_bits { > - u64 mask; > - u64 val; > + pteval_t mask; > + pteval_t val; Given Ard's suggestion of using "ptdesc" as a generic term for PTDESC_SHIFT (or PTDESC_ORDER, or whatever we ended up calling it), I wonder if it would be cleaner to do the same with the types? We could have a ptdesc_t, which is typedef'ed as u64 (or u128), then pteval_t, pmdval_t, ..., could all be typedef'ed as ptdesc_t. Then for code that just wants a generic pgtable descriptor value, we can use that type to indicate that it can be at any level. Thanks, Ryan > const char *set; > const char *clear; > }; > @@ -34,7 +34,7 @@ struct ptdump_pg_level { > const struct ptdump_prot_bits *bits; > char name[4]; > int num; > - u64 mask; > + pteval_t mask; > }; > > /* > @@ -51,7 +51,7 @@ struct ptdump_pg_state { > const struct mm_struct *mm; > unsigned long start_address; > int level; > - u64 current_prot; > + pteval_t current_prot; > bool check_wx; > unsigned long wx_pages; > unsigned long uxn_pages; > diff --git a/arch/arm64/mm/ptdump.c b/arch/arm64/mm/ptdump.c > index fd1610b4fd15..a5651be95868 100644 > --- a/arch/arm64/mm/ptdump.c > +++ b/arch/arm64/mm/ptdump.c > @@ -194,7 +194,7 @@ void note_page(struct ptdump_state *pt_st, unsigned long addr, int level, > struct ptdump_pg_state *st = container_of(pt_st, struct ptdump_pg_state, ptdump); > struct ptdump_pg_level *pg_level = st->pg_level; > static const char units[] = "KMGTPE"; > - u64 prot = 0; > + pteval_t prot = 0; > > /* check if the current level has been folded dynamically */ > if (st->mm && ((level == 1 && mm_p4d_folded(st->mm)) ||