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>