Date: Sat, 04 May 1996 17:19:06 -0700 From: Paul Traina <pst@shockwave.com> To: Bruce Evans <bde@zeta.org.au> Cc: gibbs@freefall.freebsd.org, smpatel@umiacs.umd.edu, freebsd-current@freefall.freebsd.org, phk@critter.tfs.com Subject: Re: LINUX COMPAT_LINUX Message-ID: <199605050019.RAA18665@precipice.shockwave.com> In-Reply-To: Your message of "Fri, 03 May 1996 07:27:59 %2B1000." <199605022127.HAA32094@godzilla.zeta.org.au>
index | next in thread | previous in thread | raw e-mail
The qcam driver uses LINUX because the person who did the port to Linux
used LINUX and I deferred to him. If you are *CERTAIN* that the __linux__
is defined in all compilers, I will switch it.
The outb problem is taken care of by making all I/O abstracted, as it should
be.
Paul
From: Bruce Evans <bde@zeta.org.au>
Subject: Re: LINUX COMPAT_LINUX
>I believe that the Linux gcc defines "linux" not "LINUX", so any code
It defines "__linux__" and "linux". Only sloppy code would depend on
"linux" or "LINUX" being defined by the compiler. However, they might
be defined in the application's CFLAGS or headers.
>in our tree that is supposed to have conditional code for Linux should
>use the lowercase define. The only place I know of that uses this
>right now is the sequencer code for the aic7xxx driver.
Urk. The sequencer code uses "linux", but the qcam code uses "LINUX".
It's surprising that it compiled in LINT. It could not have worked,
because Linux has outb() back to front.
I'm going to hide the *LINUX #defines and some other #defines because
using them would break the lkms:
---
diff -c2 src/sys/conf/options~ src/sys/conf/options
*** src/sys/conf/options~ Sat Mar 30 02:25:43 1996
--- src/sys/conf/options Thu May 2 12:44:14 1996
***************
*** 6,16 ****
DDB
KTRACE
! FDESC opt_staticfs.h
! KERNFS opt_staticfs.h
! NULLFS opt_staticfs.h
! PORTAL opt_staticfs.h
! PROCFS opt_staticfs.h
! UMAPFS opt_staticfs.h
! UNION opt_staticfs.h
QUOTA
SYSVSHM opt_sysvipc.h
--- 6,25 ----
DDB
KTRACE
!
! # Options for static file systems. These should only be used at config
! # time, since the corresponding lkms cannot work if there are any static
! # dependencies. Unusability is enforced by hiding the defines for the
! # options in a never-included header.
! FDESC opt_dontuse.h
! KERNFS opt_dontuse.h
! NULLFS opt_dontuse.h
! PORTAL opt_dontuse.h
! PROCFS opt_dontuse.h
! UMAPFS opt_dontuse.h
!
! # The union static file system has bogus static dependencies, so it isn't
! # hidden yet.
! UNION
!
QUOTA
SYSVSHM opt_sysvipc.h
diff -c2 src/sys/i386/conf/options.i386~ src/sys/i386/conf/options.i386
*** src/sys/i386/conf/options.i386~ Thu May 2 05:34:58 1996
--- src/sys/i386/conf/options.i386 Fri May 3 06:40:10 1996
***************
*** 4,8 ****
MATH_EMULATE opt_math_emulate.h
GPL_MATH_EMULATE opt_math_emulate.h
! IBCS2 opt_ibcs2.h
SHOW_BUSYBUFS opt_machdep.h
PANIC_REBOOT_WAIT_TIME opt_machdep.h
--- 4,11 ----
MATH_EMULATE opt_math_emulate.h
GPL_MATH_EMULATE opt_math_emulate.h
!
! IBCS2 opt_dontuse.h
! COMPAT_LINUX opt_dontuse.h
!
SHOW_BUSYBUFS opt_machdep.h
PANIC_REBOOT_WAIT_TIME opt_machdep.h
---
This would have avoided the problem with qcam when COMPAT_LINUX was named
LINUX.
Bruce
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605050019.RAA18665>
