Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Jun 1998 13:28:16 -0700
From:      "Chris Csanady" <cc@tarsier.ca.sandia.gov>
To:        zhihuizhang <bf20761@binghamton.edu>
Cc:        hackers <freebsd-hackers@FreeBSD.ORG>
Subject:   Re: Interrupt Handling and inline assembly 
Message-ID:  <199806292028.NAA07249@tarsier.ca.sandia.gov>
In-Reply-To: Your message of "Mon, 29 Jun 1998 14:42:25 EDT." <Pine.SOL.L3.93.980629141418.18359A-100000@bingsun2> 

next in thread | previous in thread | raw e-mail | index | archive | help

>
>I got two questions:
>
>(1) I read in the MailingList Archive that the interrupt blocking in
>FreeBSD is software-based, we do not communicate with 8259 (which I think
>is slower)  What is the advantage of doing this besides being faster?  If
>we mask interrupts off (by cli or setting the IMR register in 8259), will
>interrupts be simply discarded (the device has to request interrupt
>again) or postponed by 8259?
>
>(2) I am reading the source code in cpufunc.h:
>
>	static __inline void
>	setbits(volatile unsigned * addr, u_int bits)
>	{
>		__asm __volatile("orl %1, %0" : "=m" (*addr): "ir"(bits));
>	} 
>
>I have read a text on inline assembly at: 
>
>	http://www.rt66.com/~brennan/djgpp/djgpp_asm.html
>
>But I still do not understand the meaining of "m" and "ir". 

Take a look at at the gcc info files.  These are register constraints,
and are described in detail in gcc / C Extensions / Extended Asm.

Chris


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?199806292028.NAA07249>