Re: HTIF tohost symbol size check always fails
On Fri, Oct 16, 2020 at 2:35 PM Peer Adelt wrote: > > The solution was even easier: I forgot to load the proxy kernel. As soon as I > replaced the command-line parameter "-kernel " with "-kernel > -append ", everything was working as expected. Even better, you can skip the proxy kernel. You can run: `-bios default -kernel ` Alistair > > Without your hint about my possibly misconfigured toolchain I would have > probably continued to search for the error in the QEMU HTIF device. But in > fact it was due to the wrong binary. > > Thanks a lot! :-) > > > On 16. Oct 2020, at 20:03, Alistair Francis wrote: > > > > On Fri, Oct 16, 2020 at 7:59 AM Peer Adelt wrote: > >> > >> Hi, > >> > >> I have a problem with the RISC-V HTIF device. > >> > >> Every binary I have compiled for Spike on riscv32 fails with the following > >> error message: "HTIF tohost must be 8 bytes" > >> > >> This happens regardless of which program I have translated for Spike. This > >> is also the case with the official riscv-compliance tests, for example. > >> > >> The query "if (st_size != 8)" in the HTIF device always fails, because > >> st_size seems to be always 0. > >> > >> To be able to reproduce it: > >> - QEMU GIT Hash: d0ed6a69d399ae193959225cdeaa9382746c91cc (tag "v5.1.0") > > > > I just checked with this hash and with the current master and on both > > I can run a ELF executable on the Spike machine for RV32. > > > >> - System: Mac OS 10.14.6 (Darwin Kernel Version 18.7.0) > >> - Compiler: Latest SiFive Build for GCC under OSX > > > > Maybe try using an official toolchain instead of a vendor fork. > > > > Alistair > > > >> - Command: qemu-system-riscv32 -M spike -nographic -bios none -kernel > >> > >> > >> Best regards, > >> Peer Adelt >
Re: HTIF tohost symbol size check always fails
The solution was even easier: I forgot to load the proxy kernel. As soon as I replaced the command-line parameter "-kernel " with "-kernel -append ", everything was working as expected. Without your hint about my possibly misconfigured toolchain I would have probably continued to search for the error in the QEMU HTIF device. But in fact it was due to the wrong binary. Thanks a lot! :-) > On 16. Oct 2020, at 20:03, Alistair Francis wrote: > > On Fri, Oct 16, 2020 at 7:59 AM Peer Adelt wrote: >> >> Hi, >> >> I have a problem with the RISC-V HTIF device. >> >> Every binary I have compiled for Spike on riscv32 fails with the following >> error message: "HTIF tohost must be 8 bytes" >> >> This happens regardless of which program I have translated for Spike. This >> is also the case with the official riscv-compliance tests, for example. >> >> The query "if (st_size != 8)" in the HTIF device always fails, because >> st_size seems to be always 0. >> >> To be able to reproduce it: >> - QEMU GIT Hash: d0ed6a69d399ae193959225cdeaa9382746c91cc (tag "v5.1.0") > > I just checked with this hash and with the current master and on both > I can run a ELF executable on the Spike machine for RV32. > >> - System: Mac OS 10.14.6 (Darwin Kernel Version 18.7.0) >> - Compiler: Latest SiFive Build for GCC under OSX > > Maybe try using an official toolchain instead of a vendor fork. > > Alistair > >> - Command: qemu-system-riscv32 -M spike -nographic -bios none -kernel >> >> >> Best regards, >> Peer Adelt
Re: HTIF tohost symbol size check always fails
On Fri, Oct 16, 2020 at 7:59 AM Peer Adelt wrote: > > Hi, > > I have a problem with the RISC-V HTIF device. > > Every binary I have compiled for Spike on riscv32 fails with the following > error message: "HTIF tohost must be 8 bytes" > > This happens regardless of which program I have translated for Spike. This is > also the case with the official riscv-compliance tests, for example. > > The query "if (st_size != 8)" in the HTIF device always fails, because > st_size seems to be always 0. > > To be able to reproduce it: > - QEMU GIT Hash: d0ed6a69d399ae193959225cdeaa9382746c91cc (tag "v5.1.0") I just checked with this hash and with the current master and on both I can run a ELF executable on the Spike machine for RV32. > - System: Mac OS 10.14.6 (Darwin Kernel Version 18.7.0) > - Compiler: Latest SiFive Build for GCC under OSX Maybe try using an official toolchain instead of a vendor fork. Alistair > - Command: qemu-system-riscv32 -M spike -nographic -bios none -kernel > > > Best regards, > Peer Adelt
HTIF tohost symbol size check always fails
Hi, I have a problem with the RISC-V HTIF device. Every binary I have compiled for Spike on riscv32 fails with the following error message: "HTIF tohost must be 8 bytes" This happens regardless of which program I have translated for Spike. This is also the case with the official riscv-compliance tests, for example. The query "if (st_size != 8)" in the HTIF device always fails, because st_size seems to be always 0. To be able to reproduce it: - QEMU GIT Hash: d0ed6a69d399ae193959225cdeaa9382746c91cc (tag "v5.1.0") - System: Mac OS 10.14.6 (Darwin Kernel Version 18.7.0) - Compiler: Latest SiFive Build for GCC under OSX - Command: qemu-system-riscv32 -M spike -nographic -bios none -kernel Best regards, Peer Adelt