Date: Wed, 8 Mar 2000 09:21:52 -0500 (EST) From: Zhihui Zhang <zzhang@cs.binghamton.edu> To: Chris Costello <chris@calldei.com> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Where is pci_intr_establish() & _thread_sys_read()? Message-ID: <Pine.GSO.3.96.1000308091927.17754B-100000@sol.cs.binghamton.edu> In-Reply-To: <20000306181404.H4990@holly.calldei.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 6 Mar 2000, Chris Costello wrote:
> On Monday, March 06, 2000, Zhihui Zhang wrote:
> > Can anyone tell me where is the code for pci_intr_establish() and
> > _thread_sys_read()? I could not find them under /usr/src.
>
> I can tell you offhand that _thread_sys_anything is the _real_
> syscall for `anything'. This is because a lot of syscalls are
> reimplemented within libc_r for reasons that are kind of obvious
> (directly calling the read syscall from one thread would block
> all the other threads in a process). So _thread_sys_open() ==
> open(2), _thread_sys_read() == read(2), etc.
>
You are right. In file libc/i386/SYS.h , you can see the following:
#define PSYSCALL(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \
ENTRY(__CONCAT(_thread_sys_,x)); \
lea __CONCAT(SYS_,x),%eax; KERNCALL; jb 2b
-Zhihui
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.3.96.1000308091927.17754B-100000>
