Skip site navigation (1)Skip section navigation (2)
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>