Once I build and run a dummy app an illegal instruction error is generated, pointing to the single vector instruction in the binary.
The weird part is that I checked mstatus and misa csrs, and the vector extension bits are enabled. The only problem is that the pk does not recognize the vector instruction encoding. The function dumping the error is located in the $ROOT/opt/pk/pk/handlers.c source file.
I actually didn't call the vsetvl instruction before using vector instructions. That's why spike detected vector instructions as illegal instructions and forwarded the trap to pk, so I thought pk was at fault.
I m trying to simulate rvv 1.0 kernels using rvv-toolchain, spike and pk. I built everything like this;
TOOLCHAIN:
SPIKE: (I already have installed the device tree compiler)
PK:
Once I build and run a dummy app an illegal instruction error is generated, pointing to the single vector instruction in the binary.
The weird part is that I checked
mstatus
andmisa
csrs, and the vector extension bits are enabled. The only problem is that the pk does not recognize the vector instruction encoding. The function dumping the error is located in the$ROOT/opt/pk/pk/handlers.c
source file.