Anyone seen 4.8-RELEASE running on a real 386 (not 486 586 etc)
?
Erik Trulsson
ertr1013 at student.uu.se
Thu Apr 10 12:38:17 PDT 2003
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 at student.uu.se
More information about the freebsd-hackers
mailing list