Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Apr 2003 21:38:10 +0200
From:      Erik Trulsson <ertr1013@student.uu.se>
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:  <20030410193810.GA52024@falcon.midgard.homeip.net>
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:
> freebsd-hackers@,
> Anyone seen 4.8-RELEASE running on a real 386 processor (not a 486, 586 etc) ?
> 
> I have a 386 that runs 4.7, dmesg below, both GENERIC & my own kernel;
> But it wont boot 4.8 { either generic or my own config } compiled on my
> other 4.8 box.  I tried making with & without /etc/make.conf
> 	CFLAGS =        -m386 -march=i386 -msoft-float -mcpu=i386 -O -pipe
> 	COPTFLAGS=      -m386 -march=i386 -msoft-float -mcpu=i386 -O -pipe
> I tried the /kernel copied from a 4.8 cdrom to hard disk (no cdrom
> drive on the box).  I tried 4.8 boot floppies (to prove its not
> something wrong in hard disc /boot) Every 4.8 kernel crashes during boot -s.
> 
> This 386 box is no bigger than a book, so worth persevering :-)
> "SX 33" is written on chip, though dmesg reports "DX".
> 
> I recall 386 support was dropped in 5.0, but presume not dropped in 4.8,
> ( I don't see any signs in /usr/share/mk comparing 4.7 & 4.8 )
> The 4.8 cdrom /[A-Z]* files say i386 is still supported.
> 
> I removed the only card in the box (a 3com ISA ethernet jumperless) - 
> it still wouldnt boot, so put ethernet card back in, as not the problem.
> 
> I compiled a kernel with ddb,  Results copied by hand as no serial for
> remote gdb.t present
> 
> Ideas or solutions anyone ?
> 
> 4.8 ddb:
>    Fatal trap 1: priveleged instruction fault while in kernel mode
>    instruction pointer = 0x8:0xc02695a0
>    stack pointewr      = 0x10:0xc0379fcc
>    frame pointer       = 0x10:0xc0379fcc
>    code segment	    = base 0x0, limit 0xfffff, type 0x1b
>    		    = DPL 0, pres 1, def 32 1, gran 1
>    processor eflags    = interrupt enabled, resume, IOPL = 0
>    current process     = Idle
>    interrupt mask      = net tty bio cam
>    kernel: type 1 trap, code=0
>    stopped at 0xc02695a0:     invlpg  0(%ecx)

Try the following patch.
Makes my 386sx/33 work fine at least.
(Without it I get the same panic as you do.)


===================================================================
RCS file: /ncvs/src/sys/i386/i386/identcpu.c,v
retrieving revision 1.80.2.14
diff -u -r1.80.2.14 identcpu.c
--- sys/i386/i386/identcpu.c    22 Jan 2003 20:14:52 -0000
1.80.2.14
+++ sys/i386/i386/identcpu.c    13 Mar 2003 14:55:52 -0000
@@ -80,7 +80,7 @@
 static void print_transmeta_info(void);
 static void setup_tmx86_longrun(void);
-int    cpu_class;
+int    cpu_class=CPUCLASS_386;
 u_int  cpu_exthigh;            /* Highest arg to extended CPUID */
 u_int  cyrix_did;              /* Device ID of Cyrix CPU */
 char machine[] = "i386";




-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.se



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