On Tue, Feb 1, 2022 at 10:13 AM Guo Ren <guoren@xxxxxxxxxx> wrote: > On Tue, Feb 1, 2022 at 3:45 PM Christoph Hellwig <hch@xxxxxx> wrote: > > On Mon, Jan 31, 2022 at 09:50:58PM +0800, Guo Ren wrote: > > > On Mon, Jan 31, 2022 at 8:26 PM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > > > > > > > Given that most rv64 implementations can't run in rv32 mode, what is the > > > > failure mode if someone tries it with the compat mode enabled? > > > A static linked simple hello_world could still run on a non-compat > > > support hardware. But most rv32 apps would meet different userspace > > > segment faults. > > > > > > Current code would let the machine try the rv32 apps without detecting > > > whether hw support or not. > > > > Hmm, we probably want some kind of check for not even offer running > > rv32 binaries. I guess trying to write UXL some time during early > > boot and catching the resulting exception would be the way to go? > > Emm... I think it's unnecessary. Free rv32 app running won't cause > system problem, just as a wrong elf running. They are U-mode > privileged. While it's not a security issue, I think it would be helpful to get a user-readable error message and a machine-readable /proc/cpuinfo flag to see if a particular system can run rv32 binaries rather than relying on SIGILL to kill a process. Arnd