From: Marc Zyngier <maz@kernel.org>
To: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: linux-arm-kernel@lists.infradead.org, mark.rutland@arm.com,
ryan.roberts@arm.com, Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] arm64/mm: Drop ESR_ELx_FSC_TYPE
Date: Thu, 13 Jun 2024 12:23:46 +0100 [thread overview]
Message-ID: <86y179jdbx.wl-maz@kernel.org> (raw)
In-Reply-To: <20240613094538.3263536-1-anshuman.khandual@arm.com>
On Thu, 13 Jun 2024 10:45:38 +0100,
Anshuman Khandual <anshuman.khandual@arm.com> wrote:
>
> Fault status codes at page table level 0, 1, 2 and 3 for access, permission
> and translation faults are architecturally organized in a way, that masking
> out ESR_ELx_FSC_TYPE, fetches Level 0 status code for the respective fault.
>
> Helpers like esr_fsc_is_[translation|permission|access_flag]_fault() mask
> out ESR_ELx_FSC_TYPE before comparing against corresponding Level 0 status
> code as the kernel does not yet care about the page table level, the fault
> really occurred previously.
>
> This scheme is starting to crumble after FEAT_LPA2 when level -1 got added.
> Fault status code for translation fault at level -1 is 0x2B which does not
> follow ESR_ELx_FSC_TYPE, requiring esr_fsc_is_translation_fault() changes.
>
> This changes above helpers to compare against individual fault status code
> values for each page table level and drop ESR_ELx_FSC_TYPE which is losing
> its value as a common mask.
I'd rather we do not drop the existing #defines, for a very
self-serving reason:
NV requires an implementation to synthesise fault syndromes, and these
definition are extensively used to compose the syndrome information
(see the NV MMU series at [1]). This is also heavily use to emulate
the AT instructions (fault reporting in PAR_EL1.FST).
Having additional helpers is fine. Dropping the base definitions
isn't, and I'd like to avoid reintroducing them.
Thanks,
M.
[1] http://lore.kernel.org/r/20240529145628.3272630-1-maz@kernel.org
--
Without deviation from the norm, progress is not possible.
next prev parent reply other threads:[~2024-06-13 11:24 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-13 9:45 [PATCH] arm64/mm: Drop ESR_ELx_FSC_TYPE Anshuman Khandual
2024-06-13 10:03 ` Ryan Roberts
2024-06-13 10:06 ` Mark Rutland
2024-06-13 11:23 ` Marc Zyngier [this message]
2024-06-14 2:24 ` Anshuman Khandual
2024-06-14 10:37 ` Marc Zyngier
2024-06-17 3:15 ` Anshuman Khandual
2024-06-17 7:43 ` Marc Zyngier
2024-06-17 8:39 ` Anshuman Khandual
2024-06-17 9:34 ` Mark Rutland
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=86y179jdbx.wl-maz@kernel.org \
--to=maz@kernel.org \
--cc=anshuman.khandual@arm.com \
--cc=catalin.marinas@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=ryan.roberts@arm.com \
--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 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.