Date: Wed, 10 Nov 2004 15:05:45 +0200 From: Andriy Gapon <avg@icyb.net.ua> To: freebsd-hackers@freebsd.org Subject: syscall: td_retval and zero return value Message-ID: <41921229.9080404@icyb.net.ua>
next in thread | raw e-mail | index | archive | help
I have very little assembler/x86 knowledge. Could anyone please help me understand what it means to assign a non-zero value to td_retval in a system call when return value of the call is zero/success? I see in syscall() in src/sys/i386/i386/trap.c (btw is this the right place?) that in such circumstances value from td_retval[] is put into EAX and EDX registers and PSL_C (carry bit) is cleared in status/flags register in a stack frame of a calling process. But I don't understand what it practically means for the calling process. Thank you in advance. -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41921229.9080404>