After some debugging, this change has turned to be wrong. syscall.c will read system call arguments from struct frame. If you don't save a4-a7 (NewABI uses these for >5 arguments) in struct frame, you have no way to know the values the user passed. :) Masao