2024-05-24 18:56:36

by Palmer Dabbelt

[permalink] [raw]
Subject: [PATCH] Documentation: RISC-V: uabi: Only scalar misaligned loads are supported

From: Palmer Dabbelt <[email protected]>

We're stuck supporting scalar misaligned loads in userspace because they
were part of the ISA at the time we froze the uABI. That wasn't the
case for vector misaligned accesses, so depending on them
unconditionally is a userspace bug. All extant vector hardware traps on
these misaligned accesses.

Signed-off-by: Palmer Dabbelt <[email protected]>
---
Documentation/arch/riscv/uabi.rst | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/arch/riscv/uabi.rst b/Documentation/arch/riscv/uabi.rst
index 54d199dce78b..2b420bab0527 100644
--- a/Documentation/arch/riscv/uabi.rst
+++ b/Documentation/arch/riscv/uabi.rst
@@ -65,4 +65,6 @@ the extension, or may have deliberately removed it from the listing.
Misaligned accesses
-------------------

-Misaligned accesses are supported in userspace, but they may perform poorly.
+Misaligned scalar accesses are supported in userspace, but they may perform
+poorly. Misaligned vector accesses are only supported if the Zicclsm extension
+is supported.
--
2.45.0



2024-05-24 19:14:44

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH] Documentation: RISC-V: uabi: Only scalar misaligned loads are supported

On Fri, May 24, 2024 at 11:56:00AM -0700, Palmer Dabbelt wrote:
> From: Palmer Dabbelt <[email protected]>
>
> We're stuck supporting scalar misaligned loads in userspace because they
> were part of the ISA at the time we froze the uABI. That wasn't the
> case for vector misaligned accesses, so depending on them
> unconditionally is a userspace bug. All extant vector hardware traps on
> these misaligned accesses.
>
> Signed-off-by: Palmer Dabbelt <[email protected]>
> ---
> Documentation/arch/riscv/uabi.rst | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/arch/riscv/uabi.rst b/Documentation/arch/riscv/uabi.rst
> index 54d199dce78b..2b420bab0527 100644
> --- a/Documentation/arch/riscv/uabi.rst
> +++ b/Documentation/arch/riscv/uabi.rst
> @@ -65,4 +65,6 @@ the extension, or may have deliberately removed it from the listing.
> Misaligned accesses
> -------------------
>
> -Misaligned accesses are supported in userspace, but they may perform poorly.
> +Misaligned scalar accesses are supported in userspace, but they may perform
> +poorly. Misaligned vector accesses are only supported if the Zicclsm extension
> +is supported.

Reviewed-by: Conor Dooley <[email protected]>

Now we just need to find someone that cares sufficiently about Zicclsm
to write the bindings, detection and hwprobe key for Zicclsm. Maybe I'll
be the lucky fool, depending on what the x280 does...

Thanks,
Conor.


Attachments:
(No filename) (1.46 kB)
signature.asc (235.00 B)
Download all attachments
Subject: Re: [PATCH] Documentation: RISC-V: uabi: Only scalar misaligned loads are supported

Hello:

This patch was applied to riscv/linux.git (fixes)
by Palmer Dabbelt <[email protected]>:

On Fri, 24 May 2024 11:56:00 -0700 you wrote:
> From: Palmer Dabbelt <[email protected]>
>
> We're stuck supporting scalar misaligned loads in userspace because they
> were part of the ISA at the time we froze the uABI. That wasn't the
> case for vector misaligned accesses, so depending on them
> unconditionally is a userspace bug. All extant vector hardware traps on
> these misaligned accesses.
>
> [...]

Here is the summary with links:
- Documentation: RISC-V: uabi: Only scalar misaligned loads are supported
https://git.kernel.org/riscv/c/982a7eb97be6

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html