Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Dec 1996 19:23:44 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        current@freebsd.org, markm@iafrica.com
Subject:   Re: 3.0-current Kernel panicking on bootup
Message-ID:  <199612060823.TAA17211@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>I have a 386sx/40 which is consistently panicking on bootup. This is
>happening in the igmp_init() routine, near as I can determine, and
>the error message at panic time is "priveliged instruction fault
>while in kernel mode".

The instruction is probably `bswap'.  `bswap' is used in the kernel
unless I386_CPU is defined when <machine/endian.h> is included, but
I386_CPU is almost never defined then because <machine/endian.h> does
not included "opt_cpu.h" where I386_CPU is defined if it is defined
at all.  This bug was introduced on Nov 29.  It can't be fixed easily
by including "opt_cpu.h" when KERNEL is defined, since "opt_cpu.h"
doesn't exist for LKMs or for applications that #define KERNEL before
including some system headers.  Such applications may be broken already.
It's too easy to #include <machine/endian.h> nested in some other header
and get the bswap version even when KERNEL is #undef'ed before including
<sys/types.h> or <machine/endian.h> explicitly.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199612060823.TAA17211>