Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Apr 2009 20:41:28 +1000 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        John Baldwin <jhb@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Ed Schouten <ed@freebsd.org>
Subject:   Re: svn commit: r190919 - in head/sys: amd64/amd64 amd64/include i386/i386 i386/include
Message-ID:  <20090414202845.Y53192@delplex.bde.org>
In-Reply-To: <200904131048.16545.jhb@freebsd.org>
References:  <200904111401.n3BE1108088009@svn.freebsd.org> <200904131048.16545.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 13 Apr 2009, John Baldwin wrote:

> On Saturday 11 April 2009 10:01:01 am Ed Schouten wrote:
>> Log:
>>   Simplify in/out functions (for i386 and AMD64).
>>
>>   Remove a hack to generate more efficient code for port numbers below
>>   0x100, which has been obsolete for at least ten years, because GCC has
>>   an asm constraint to specify that.
>>
>>   Submitted by:	Christoph Mallon <christoph mallon gmx de>
>
> Hmm, it appears that you broke the DDB usage:
>
> db> call inb(0x20)
>
> Since the functions are now called 'inb_' and 'outb_'.

I pointed this out in an early review, sigh.

> Perhaps the inline
> routines should be _inb() and _outb() and inb and outb should still be macros
> that wrap them that then get undefined in machdep.c for the functions used in
> DDB?

That would be ugly.  We use better methods in atomic.h to un-inline
_all_ the functions in atomic.h without changing their names, and _all_
the functions in cpufunc.h should be un-inlined too.  However, in*()
and out*() are useful enough to deserve full ddb support as commands.
As commands, they can have the same names as the inline functions with
no problems.  I don't want cpufunc.h to be messed up with special
macros to support just 2 functions.  (atomic.h has some preprocessor
messes to support atomic.c, but it at least does this generally.)

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090414202845.Y53192>