COMPAT_* kernel config options -- some housecleaning overdue?
Julian H. Stacey
jhs at berklix.com
Mon Jan 16 06:14:26 UTC 2012
Hi,
"Conrad J. Sabatier" wrote:
> I've been wondering for a while now about the accuracy of some of the
> comments in /sys/conf/NOTES re: the various COMPAT_* options, and now,
> with 9.0-RELEASE already out the door and 10.0-CURRENT as the current
> development branch, it seems even more relevant to ask just how
> necessary or useful some of these options are anymore.
>
> Let me preface the following by saying that I just recently built a
> 10.0-CURRENT kernel with no COMPAT_* options besides COMPAT_FREEBSD32
> and COMPAT_LINUX32, and everything seems to be working just fine (yes,
> including Linux emulation).
>
> First and foremost, the comment re: COMPAT_43: "You probably do NOT
> want to remove this as much current code still relies on the 4.3
> emulation."
This might not be just refering to code runing on FreeBSD, but
perhaps also code running on older other legacy net machines ? I suspect
I may have needed it to talk to eg my Symmetric 375 (a 4.2BSD Bill Jollitz
product pre 386BSD pre FreeBSD http://www.berklix.com/~jhs/symmetric/
) (Not that I put that comment in), it might be an ifdef
that allows adaptive detection of logic low & high for TCP broadcast
address ?
Whatever, searching & updated comments on what they all do would be nice.
Feel free to search the source with find & grep
& use send-pr to update the comments, would be useful :-)
cd /usr/src
vi -c/COMPAT_43TTY `find . -type f -exec grep -l COMPAT_43TTY {} \;`
dmesg ....
> This would appear to no longer be true. And similarly,
> how relevant or viable is COMPAT_43TTY anymore? Why would one want to
> use this?
To support legacy code/ apps. Warning "There be dragons" as it says
on old maps ;-) ie tty in Unix has traditionaly been a complex
place to mess around, personaly I'd stear clear & leave it to those
willing to futz about with tty :-).
> I suspect that neither of these options has any real effect
> anymore and both may, in fact, be essentially NOOPs. How close to the
> real picture is that?
>
> It is my understanding that, on 64-bit platforms, COMPAT_FREEBSD32
> *is* necessary if COMPAT_LINUX32 is enabled, which seems perfectly
> reasonable. However, the comment accompanying COMPAT_LINUX32 states
> that COMPAT_43 is also required, which simply is not true.
> And speaking of Linux compatibility, we still have an erroneous reference to
> COMPAT_LINUX instead of COMPAT_LINUX32 accompanying 'device tdfx'.
dmesg then
> Then, of course, there are the various COMPAT_FREEBSD[4-7] options,
> each accompanied by a comment which merely states the obvious but
> offers no real clue as to whether or not any of them are actually
> necessary.
was mentioned on another list in last few days
> I don't know, this whole COMPAT area just seems really messy to me --
> disorganized, unclearly documented and probably suffering from no small
> amount of bit rot and neglect. I really do think it's time for some
> cleaning up.
>
> Hope I didn't ruffle any feathers, but I just hate this type of gray
> fuzziness. Clarification (maybe even some deprecation?) seems to be in
> order here.
Yup, certainly needs clearer comments ... find ... grep ... vi ... dmesg :-)
Cheers,
Julian
--
Julian Stacey, BSD Unix Linux C Sys Eng Consultants Munich http://berklix.com
Reply below not above, cumulative like a play script, & indent with "> ".
Format: Plain text. Not HTML, multipart/alternative, base64, quoted-printable.
More information about the freebsd-questions
mailing list