On Thu, Feb 17, 2011 at 8:24 AM, Dmitry V. Levin wrote:
> On Thu, Feb 17, 2011 at 12:45:02AM -0500, Mike Frysinger wrote:
>> On Tuesday, February 08, 2011 20:25:39 Dmitry V. Levin wrote:
>> > - update linux/[^b]*/ioctlent.h, these files are quite outdated;
>>
>> the Blackfin one should be pretty up-to-date ;).
>
> That's why I wrote [^b]* instead of plain *. ;)

ah, sorry, missed that

>> the ADI distribution runs a
>> script to automatically make sure the Blackfin ioctl list isnt missing any 
>> new
>> ioctls from the current kernel and it tends to flag new stuff every time we
>> upgrade linux (imagine that).
>>
>> the duplication here though has irked me for some time, but i didnt feel like
>> trying to clean things up myself.  perhaps we should take the Blackfin one,
>> make it the canonical linux one, and punt the rest.  i dont have a problem
>> keeping one file up to date, so doing linux/ioctlent.h vs
>> linux/blackfin/ioctlent.h is fine.  but i dont really have the time or
>> inclination to review all the arches.
>
> I suppose we can safely drop outdated linux/[^b]*/ioctlent.h files then.
> WRT linux/ioctlent.h vs linux/blackfin/ioctlent.h, there are little
> differences, some of which (e.g. in asm/mtrr.h area) are quite obvious,

hadnt thought of the asm/ issues ... obviously there will be similar
holes across all arches.  it'd be nice if we could have
linux/ioctlent.h tail into an arch-specific ioctlent.h, but the list
has to remain sorted in source form ...

i guess that leaves us with wrapper macros ?  maybe something like:
#ifdef __bfin__
# define BFIN_IOCTL(x) x
#else
# define BFIN_IOCTL(x)
#endif

then for the Blackfin-specific ioctls, the header can read:
BFIN_IOCTL({"asm/foo.h", "FOO", 0x1234},)

just spit ballin here ...

> but others (e.g. linux/loop.h is missing in linux/ioctlent.h) are not.
> I'd really like to know the source of the latter.

this is because the kernel sources dont declare the loop ioctls using
the standard IO macros, just plain numbers.  i noticed one time while
stracing losetup and added them manually to the Blackfin header.  i
tried to rewrite the header to use proper IO macros, but the resulting
kernel didnt work correctly and i havent had time to track down what
was going wrong.
-mike

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Strace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to