OK, it looks like the TCGET/TCSET and FIONREAD ioctls are common, but most of the TIOCGET/TIOCSET ones are only supported in some ISAs (but most ISAs other than x86 and ARM):
http://tomoyo.sourceforge.jp/cgi-bin/lxr/ident?i=TIOCGETP I think the TIOC* ioctls are BSD-derived, and since we started on Alpha and Tru64 is BSD-derived, those ioctls were common. Then the other ISAs mostly just blindly copied the Alpha code and as long as nothing broke they were OK. It also looks like all the TIOC* ioctls have the same definitions where they are defined (though the _IOR() and _IOW() macros make that a little hard to verify). What about defining all the ioctls in the common header, then just having a per-ISA flag that says whether we care about the TIOC* ones or not? Or we could just ignore all of them, on the assumption that Linux is unlikely to re-use the codes for the TIOC* ioctls on x86 or ARM. Basically I'd like to see the solution that has the minimum amount of redundancy and still works. Steve On Mon, May 14, 2012 at 11:45 AM, Marc Orr <[email protected]> wrote: > To clarify my comment about the arm linux.hh file: It seems that a > couple of constants were updated to match the latest ioctls.h file > that Steve referenced, while the other constants that don't occur in > that file were left as is. > Marc > > On Mon, May 14, 2012 at 11:40 AM, Marc Orr <[email protected]> wrote: > > Yes. so If you look at the file that Steve referenced, many of the tty > > ioctrls we define for the other archtectures don't occur. Also, I > > noticed that in the ARM linux.hh, the constants look a little > > questionable to me. It almost looks like they were copied and pasted > > from another architecture, and then a couple of them were changed to > > be ARM specific. > > > > Marc > > > > On Mon, May 14, 2012 at 1:05 AM, Gabe Black <[email protected]> > wrote: > >> Oh, I see. There are two header files, ioctls.h and ioctl.h (one has an > >> s). That's not confusing at all :-P. > >> > >> Gabe > >> > >> On 05/13/12 21:46, Steve Reinhardt wrote: > >>> Looks like the latest kernel has all this in there... > >>> > >>> > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=include/asm-generic/ioctls.h;h=199975fac395745342a6cabef1bfb612e73fc1dc;hb=HEAD > >>> > >>> > >>> > >>> On Sun, May 13, 2012 at 6:47 PM, Ali Saidi <[email protected]> wrote: > >>> > >>>>>>> > >>>>>> However, if you go on your favorite x86 machine and take a look at > >>>> include: > >>>>>> linux/ioctl.h includes x86_64-linux-gnu/asm/ioctl.h which includes > >>>> asm-generic/ioctls.h > >>>>>> the latter of which defines all those things like TCGETS > >>>>>> > >>>>>> > >>>>>> - Ali > >>>>>> > >>>>> The copy of /usr/include/asm-generic/ioctl.h I have on my laptop is > >>>>> attached and doesn't seem to define any of those. It has a set of > macros > >>>>> for building up IOCTL constants which could be used if those > particular > >>>>> calls had numbers assigned to them, but they don't seem to as far as > I > >>>>> was able to find. My digging around in the kernel strongly suggested > >>>>> that most of those constants were deprecated and left out of certain > >>>>> architectures, but I don't have much prior knowledge of IOCTLs or how > >>>>> they're supposed to be set up. > >>>>> > >>>>> Gabe > >>>>> _______________________________________________ > >>>>> gem5-dev mailing list > >>>>> [email protected] > >>>>> http://m5sim.org/mailman/listinfo/gem5-dev > >>>> I was looking on a relatively new Ubuntu box. Maybe it's a glibc vs > >>>> eglibc thing. > >>>> > >>>> It seems like the programs using these things on sparc or arm would > also > >>>> compile on x86. Seems like there is something we are missing. > >>>> > >>>> Ali > >>>> _______________________________________________ > >>>> gem5-dev mailing list > >>>> [email protected] > >>>> http://m5sim.org/mailman/listinfo/gem5-dev > >>>> > >>> _______________________________________________ > >>> gem5-dev mailing list > >>> [email protected] > >>> http://m5sim.org/mailman/listinfo/gem5-dev > >> > >> _______________________________________________ > >> gem5-dev mailing list > >> [email protected] > >> http://m5sim.org/mailman/listinfo/gem5-dev > _______________________________________________ > gem5-dev mailing list > [email protected] > http://m5sim.org/mailman/listinfo/gem5-dev > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
