lkml.org 
[lkml]   [2000]   [Oct]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.4.0-test9 + Winchip2/2A processor family == hang on boot
Hi'all,

Solved the problem with Winchip not booting. It turns out they do not like the
code generated by gcc (gcc version 2.95.2 19991024 (release)) when the
-march=i686 flag is set. Changing this flag to -march=i586 makes to box boot
like it should.

I do not have a working egcs 1.1.x or gcc 2.7.2x here, but I presume they DO
produce working code, if only because the earlier compilers lacked specific
support for pentium and above. It seems the arch/i386/Makefile is incorrect in
stating that these Winchips are in fact i686 compatible, or it might be that
gcc does bad things to these processors. Anyway, included is a small patch to
solve these problems with Winchips.

Cheers//Frank
--
WWWWW _______________________
## o o\ / Frank de Lange \
}# \| / \
##---# _/ <Hacker for Hire> \
#### \ +31-320-252965 /
\ frank@unternet.org /
-------------------------
[ Hacker: http://www.jargon.org/html/entry/hacker.html ]
*** linux/arch/i386/Makefile.org Wed Oct 11 02:22:26 2000
--- linux/arch/i386/Makefile Wed Oct 11 02:22:41 2000
***************
*** 70,84 ****
endif

ifdef CONFIG_MWINCHIPC6
! CFLAGS += $(shell if $(CC) -march=i686 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=i686"; fi)
endif

ifdef CONFIG_MWINCHIP2
! CFLAGS += $(shell if $(CC) -march=i686 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=i686"; fi)
endif

ifdef CONFIG_MWINCHIP3D
! CFLAGS += $(shell if $(CC) -march=i686 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=i686"; fi)
endif

HEAD := arch/i386/kernel/head.o arch/i386/kernel/init_task.o
--- 70,84 ----
endif

ifdef CONFIG_MWINCHIPC6
! CFLAGS += $(shell if $(CC) -march=i586 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=i586"; fi)
endif

ifdef CONFIG_MWINCHIP2
! CFLAGS += $(shell if $(CC) -march=i586 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=i586"; fi)
endif

ifdef CONFIG_MWINCHIP3D
! CFLAGS += $(shell if $(CC) -march=i586 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=i586"; fi)
endif

HEAD := arch/i386/kernel/head.o arch/i386/kernel/init_task.o
\
 
 \ /
  Last update: 2005-03-22 12:39    [W:0.382 / U:0.424 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site