* [PATCH V3 15/17] riscv: compat: Add UXL_32 support in start_thread
@ 2022-01-20 7:39 guoren
2022-01-20 9:39 ` Arnd Bergmann
0 siblings, 1 reply; 3+ messages in thread
From: guoren @ 2022-01-20 7:39 UTC (permalink / raw)
To: guoren, palmer, arnd, anup, gregkh, liush, wefu, drew,
wangjunqiang, hch, hch
Cc: linux-kernel, linux-riscv, linux-csky, linux-s390, sparclinux,
linuxppc-dev, inux-parisc, linux-mips, linux-arm-kernel, x86,
Guo Ren
From: Guo Ren <guoren@linux.alibaba.com>
If the current task is in COMPAT mode, set SR_UXL_32 in status for
returning userspace.
Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
Signed-off-by: Guo Ren <guoren@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
---
arch/riscv/kernel/process.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/riscv/kernel/process.c b/arch/riscv/kernel/process.c
index 03ac3aa611f5..1a666ad299b4 100644
--- a/arch/riscv/kernel/process.c
+++ b/arch/riscv/kernel/process.c
@@ -97,6 +97,11 @@ void start_thread(struct pt_regs *regs, unsigned long pc,
}
regs->epc = pc;
regs->sp = sp;
+
+#ifdef CONFIG_COMPAT
+ if (is_compat_task())
+ regs->status |= SR_UXL_32;
+#endif
}
void flush_thread(void)
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH V3 15/17] riscv: compat: Add UXL_32 support in start_thread
2022-01-20 7:39 [PATCH V3 15/17] riscv: compat: Add UXL_32 support in start_thread guoren
@ 2022-01-20 9:39 ` Arnd Bergmann
2022-01-20 13:43 ` Guo Ren
0 siblings, 1 reply; 3+ messages in thread
From: Arnd Bergmann @ 2022-01-20 9:39 UTC (permalink / raw)
To: Guo Ren
Cc: Palmer Dabbelt, Arnd Bergmann, Anup Patel, gregkh, liush, Wei Fu,
Drew Fustini, Wang Junqiang, Christoph Hellwig,
Christoph Hellwig, Linux Kernel Mailing List, linux-riscv,
linux-csky, linux-s390, sparclinux, linuxppc-dev, inux-parisc,
open list:BROADCOM NVRAM DRIVER, Linux ARM,
the arch/x86 maintainers, Guo Ren
On Thu, Jan 20, 2022 at 8:39 AM <guoren@kernel.org> wrote:
> +
> +#ifdef CONFIG_COMPAT
> + if (is_compat_task())
> + regs->status |= SR_UXL_32;
> +#endif
You should not need that #ifdef, as the is_compat_task() definition is
meant to drop the code at compile time, unless the SR_UXL_32
definition is not visible here.
Arnd
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH V3 15/17] riscv: compat: Add UXL_32 support in start_thread
2022-01-20 9:39 ` Arnd Bergmann
@ 2022-01-20 13:43 ` Guo Ren
0 siblings, 0 replies; 3+ messages in thread
From: Guo Ren @ 2022-01-20 13:43 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Palmer Dabbelt, Anup Patel, gregkh, liush, Wei Fu, Drew Fustini,
Wang Junqiang, Christoph Hellwig, Christoph Hellwig,
Linux Kernel Mailing List, linux-riscv, linux-csky, linux-s390,
sparclinux, linuxppc-dev, inux-parisc,
open list:BROADCOM NVRAM DRIVER, Linux ARM,
the arch/x86 maintainers, Guo Ren
On Thu, Jan 20, 2022 at 9:39 PM Arnd Bergmann <arnd@arndb.de> wrote:
>
> On Thu, Jan 20, 2022 at 8:39 AM <guoren@kernel.org> wrote:
> > +
> > +#ifdef CONFIG_COMPAT
> > + if (is_compat_task())
> > + regs->status |= SR_UXL_32;
> > +#endif
>
>
> You should not need that #ifdef, as the is_compat_task() definition is
> meant to drop the code at compile time, unless the SR_UXL_32
> definition is not visible here.
I almost put CONFIG_COMPAT in every compat related code, because I
hope the next arch that wants to support COMPAT could easily find
where to be modified.
>
> Arnd
--
Best Regards
Guo Ren
ML: https://lore.kernel.org/linux-csky/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-01-20 13:43 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-20 7:39 [PATCH V3 15/17] riscv: compat: Add UXL_32 support in start_thread guoren
2022-01-20 9:39 ` Arnd Bergmann
2022-01-20 13:43 ` Guo Ren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).