Message ID | 20211128135719.50444-1-frederic.petrot@univ-grenoble-alpes.fr |
---|---|
Headers | show |
Series | Adding partial support for 128-bit riscv target | expand |
On 11/28/21 2:57 PM, Frédéric Pétrot wrote: > This series of patches provides partial 128-bit support for the riscv > target architecture, namely RVI and RVM, with minimal csr support. > > Thanks again for the reviews and suggestions. > > v6: > - support for '-cpu rv128' in qemu-system-riscv64 to handle 128-bit > executables (no more qemu-system-riscv128) > - remove useless (and buggy) big-endian support in lq/sq It seems like you haven't tested this with linux-user? There are build problems: In file included from /home/rth/qemu/qemu/include/semihosting/console.h:12, from ../qemu/linux-user/semihost.c:14: ../qemu/target/riscv/cpu.h:485:33: error: unknown type name ‘Int128’ 485 | Int128 *ret_value, | ^~~~~~ ../qemu/target/riscv/cpu.h:486:33: error: unknown type name ‘Int128’ 486 | Int128 new_value, Int128 write_mask); | ^~~~~~ ../qemu/target/riscv/cpu.h:486:51: error: unknown type name ‘Int128’ 486 | Int128 new_value, Int128 write_mask); | ^~~~~~ ../qemu/target/riscv/cpu.h:489:48: error: unknown type name ‘Int128’ 489 | Int128 *ret_value); | ^~~~~~ ../qemu/target/riscv/cpu.h:491:46: error: unknown type name ‘Int128’ 491 | Int128 new_value); | ^~~~~~ ../qemu/target/riscv/cpu.h:499:5: error: unknown type name ‘riscv_csr_read128_fn’ 499 | riscv_csr_read128_fn read128; | ^~~~~~~~~~~~~~~~~~~~ ../qemu/target/riscv/cpu.h:500:5: error: unknown type name ‘riscv_csr_write128_fn’ 500 | riscv_csr_write128_fn write128; | ^~~~~~~~~~~~~~~~~~~~~ ninja: build stopped: subcommand failed. r~
On 11/28/21 2:57 PM, Frédéric Pétrot wrote: > This series of patches provides partial 128-bit support for the riscv > target architecture, namely RVI and RVM, with minimal csr support. > > Thanks again for the reviews and suggestions. > > v6: > - support for '-cpu rv128' in qemu-system-riscv64 to handle 128-bit > executables (no more qemu-system-riscv128) > - remove useless (and buggy) big-endian support in lq/sq This also fails make check. With ../qemu/configure --enable-debug --target-list=riscv64-linux-user,riscv64-softmmu,riscv32-softmmu,riscv32-linux-user watch qemu-iotest 040 fail. r~
On 29/11/2021 13:13, Richard Henderson wrote: > On 11/28/21 2:57 PM, Frédéric Pétrot wrote: >> This series of patches provides partial 128-bit support for the riscv >> target architecture, namely RVI and RVM, with minimal csr support. >> >> Thanks again for the reviews and suggestions. >> >> v6: >> - support for '-cpu rv128' in qemu-system-riscv64 to handle 128-bit >> executables (no more qemu-system-riscv128) >> - remove useless (and buggy) big-endian support in lq/sq > > This also fails make check. With > > ../qemu/configure --enable-debug > --target-list=riscv64-linux-user,riscv64-softmmu,riscv32-softmmu,riscv32-linux-user Ah! Indeed, sorry for the mess, I indeed forgot about linux-user. Frédéric > > watch qemu-iotest 040 fail. > > > r~
Hi Richard, On 29/11/2021 13:13, Richard Henderson wrote: > On 11/28/21 2:57 PM, Frédéric Pétrot wrote: >> This series of patches provides partial 128-bit support for the riscv >> target architecture, namely RVI and RVM, with minimal csr support. >> >> Thanks again for the reviews and suggestions. >> >> v6: >> - support for '-cpu rv128' in qemu-system-riscv64 to handle 128-bit >> executables (no more qemu-system-riscv128) >> - remove useless (and buggy) big-endian support in lq/sq > > This also fails make check. With > > ../qemu/configure --enable-debug > --target-list=riscv64-linux-user,riscv64-softmmu,riscv32-softmmu,riscv32-linux-user > > watch qemu-iotest 040 fail. I'm afraid this test and a few others (5 in total) fail on current master, too, with this 'configure' command line. I just did a fresh install to make sure I did not kill something in the rv128 patches. Note that if I add x86_64-softmmu to target-list, it runs like a charm, as it takes it as default choice. I did try to go back in time to find a working 040 with qemu-system-riscv32 (the default choice of check when qemu-system-x86_64 does not exist) or qemu-system-riscv64, but I could not find one I could compile with my current system. So I suspect this is the syndrome of something that is (1) not of my doing (although it could have, for sure), and (2) above my understanding. Sorry for not being more helpful, Frédéric > > > r~