Anyone seen 4.8-RELEASE running on a real 386 (not 486 586 etc) ?

Peter Jeremy peterjeremy at optushome.com.au
Thu Apr 10 12:46:39 PDT 2003


On Thu, Apr 10, 2003 at 08:43:04PM +0200, Julian Stacey wrote:
>"SX 33" is written on chip, though dmesg reports "DX".

AFAIK, the only difference is external bus width (SX is 16 bit, DX is
32 bit).  It's only 486 where the SX means half the CPU doesn't work.

>I recall 386 support was dropped in 5.0, but presume not dropped in 4.8,

It's only dropped in 5.0 GENERIC - you should still be able to compile
your own kernel with I386_CPU specified (and all other CPU options removed).

>I compiled a kernel with ddb,  Results copied by hand as no serial for
>remote gdb.t present

More useful would be a debug kernel and a crash dump.  You can then
use gdb on it and find the offending line of source code.

>   Fatal trap 1: priveleged instruction fault while in kernel mode
>   instruction pointer = 0x8:0xc02695a0

If you can't get a crash dump, do an 'nm -n' on the kernel and find
the function containing this address.

>   stopped at 0xc02695a0:     invlpg  0(%ecx)

invlpg doesn't exist on i386 - you have to invalidate the entire TLB.
It looks like someone forgot to protect an invlpg instruction.

Peter


More information about the freebsd-hackers mailing list