Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Apr 2003 05:46:03 +1000
From:      Peter Jeremy <peterjeremy@optushome.com.au>
To:        Julian Stacey <jhs@berklix.com>
Cc:        Michael Elbel <mwe@consol.de>
Subject:   Re: Anyone seen 4.8-RELEASE running on a real 386 (not 486 586 etc) ?
Message-ID:  <20030410194603.GB31752@cirb503493.alcatel.com.au>
In-Reply-To: <200304101843.h3AIh4C65481@flip.jhs.private>
References:  <200304101843.h3AIh4C65481@flip.jhs.private>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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