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>