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 /
\ [EMAIL PROTECTED] /
-------------------------
[ 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