svn commit: r190919 - in head/sys: amd64/amd64 amd64/include
i386/i386 i386/include
Bruce Evans
brde at optusnet.com.au
Tue Apr 14 10:41:33 UTC 2009
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
More information about the svn-src-all
mailing list