On 1/23/23 18:27, Ammar Faizi wrote:
From: Ammar Faizi ammarfaizi2@gnuweeb.org
Test that:
- "syscall" in a FRED system doesn't clobber %rcx and %r11.
- "syscall" in a non-FRED system sets %rcx=%rip and %r11=%rflags.
Test them out with a trivial system call like __NR_getppid and friends which are extremely likely to return with SYSRET on an IDT system; check that it returns a nonnegative value and then save the result.
"Nonnegative" here should be "valid"; it is an implementation detail that the error value is -1.
However, you are not checking that you don't get a mix of REGS_SAVED and REGS_SYSRET, which is a major part of the point.
-hpa