Module Name: src Committed By: bouyer Date: Sat Mar 17 18:38:57 UTC 2012
Modified Files: src/sys/arch/x68k/stand [netbsd-5]: Makefile.booters src/sys/arch/x68k/stand/boot [netbsd-5]: version src/sys/arch/x68k/stand/boot_ufs [netbsd-5]: Makefile src/sys/arch/x68k/stand/boot_ustar [netbsd-5]: Makefile src/sys/arch/x68k/stand/libsa [netbsd-5]: Makefile Log Message: Pull up following revision(s) (requested by tsutsui in ticket #1731): sys/arch/x68k/stand/boot_ufs/Makefile: revision 1.26 via patch sys/arch/x68k/stand/boot/version: revision 1.4 via patch sys/arch/x68k/stand/libsa/Makefile: revision 1.27 via patch sys/arch/x68k/stand/Makefile.booters: revision 1.7 via patch sys/arch/x68k/stand/boot_ustar/Makefile: revision 1.19 via patch Fix "Error occurs, please reset" boot problem on X68030 + 060turbo in 060 mode, found on NetBSD booth at OSC 2011 Hiroshima: - use -D__daddr_t=int32_t for all bootloader files to avoid 64 bit ops in FFS - explicitly specify -m68020-60 to avoid 64 bit mulsl/mulul instructions which need to be handled by 060SP emulation but not available in 060turbo IPL ROM (LFS still has uint64_t members even with 32bit daddr_t) The problem was investigated (at least 1.6.2 bootloaders worked) by Yasushi Oshima at OSC booth, and fixes have been confirmed by Y.Sugahara on his 060turbo. Thanks everyone! Should also be pulled up to netbsd-5. Bump version to denote 060turbo boot fix. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.4.88.1 src/sys/arch/x68k/stand/Makefile.booters cvs rdiff -u -r1.2 -r1.2.136.1 src/sys/arch/x68k/stand/boot/version cvs rdiff -u -r1.23 -r1.23.4.1 src/sys/arch/x68k/stand/boot_ufs/Makefile cvs rdiff -u -r1.15 -r1.15.4.1 src/sys/arch/x68k/stand/boot_ustar/Makefile cvs rdiff -u -r1.22 -r1.22.28.1 src/sys/arch/x68k/stand/libsa/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/x68k/stand/Makefile.booters diff -u src/sys/arch/x68k/stand/Makefile.booters:1.4 src/sys/arch/x68k/stand/Makefile.booters:1.4.88.1 --- src/sys/arch/x68k/stand/Makefile.booters:1.4 Sun Dec 11 12:19:44 2005 +++ src/sys/arch/x68k/stand/Makefile.booters Sat Mar 17 18:38:57 2012 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.booters,v 1.4 2005/12/11 12:19:44 christos Exp $ +# $NetBSD: Makefile.booters,v 1.4.88.1 2012/03/17 18:38:57 bouyer Exp $ S?= ${.CURDIR}/../../../.. @@ -6,6 +6,8 @@ S?= ${.CURDIR}/../../../.. CFLAGS+= -ffreestanding +CPPFLAGS+= -D__daddr_t=int32_t + machine-links: -rm -f machine && \ ln -s $S/arch/${MACHINE}/include machine Index: src/sys/arch/x68k/stand/boot/version diff -u src/sys/arch/x68k/stand/boot/version:1.2 src/sys/arch/x68k/stand/boot/version:1.2.136.1 --- src/sys/arch/x68k/stand/boot/version:1.2 Fri Nov 9 19:53:16 2001 +++ src/sys/arch/x68k/stand/boot/version Sat Mar 17 18:38:56 2012 @@ -1,4 +1,4 @@ -$NetBSD: version,v 1.2 2001/11/09 19:53:16 scw Exp $ +$NetBSD: version,v 1.2.136.1 2012/03/17 18:38:56 bouyer Exp $ NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this file is important - make sure the entries are appended on end, last item @@ -7,3 +7,4 @@ is taken as the current. 0.3: xxboot, ancient monolithic bootstrap program. 1.0: Initial version of the libsa-based bootstrap loader. 1.1: loadfile() update to avoid backwards seeks for ELF Program Headers. +1.1.1: Avoid exception on 68060 in UFS ops. Index: src/sys/arch/x68k/stand/boot_ufs/Makefile diff -u src/sys/arch/x68k/stand/boot_ufs/Makefile:1.23 src/sys/arch/x68k/stand/boot_ufs/Makefile:1.23.4.1 --- src/sys/arch/x68k/stand/boot_ufs/Makefile:1.23 Sat Oct 25 22:27:38 2008 +++ src/sys/arch/x68k/stand/boot_ufs/Makefile Sat Mar 17 18:38:56 2012 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.23 2008/10/25 22:27:38 apb Exp $ +# $NetBSD: Makefile,v 1.23.4.1 2012/03/17 18:38:56 bouyer Exp $ NOMAN= # defined @@ -37,12 +37,13 @@ vers.c: ${VERSIONFILE} ${HOST_SH} ${S}/conf/newvers_stand.sh -DM ${.ALLSRC} ${MACHINE} ${NEWVERSWHAT} CFLAGS= -Os -fomit-frame-pointer +CFLAGS+= -m68020-60 CFLAGS+= -W -Wall -Wstrict-prototypes -Wmissing-prototypes CPPFLAGS+= -DTEXTADDR="0x$(TEXT)" -DBOOT_TEXTADDR="0x$(BOOT_TEXT)" CPPFLAGS+= -DBOOT=\"$(BOOT)\" -DBOOT_VERS=\"$(VERSION)\" CPPFLAGS+= -DSCSI_ADHOC_BOOTPART #CPPFLAGS+= -DBOOT_DEBUG -CPPFLAGS+= -DUSE_FFS -DUSE_LFS -DUSE_UFS1 -DUSE_UFS2 -D__daddr_t=int32_t +CPPFLAGS+= -DUSE_FFS -DUSE_LFS -DUSE_UFS1 -DUSE_UFS2 CPPFLAGS+= -I${COMMONDIR} -I${LIBIOCS} -I${S} -I. -D_STANDALONE AFLAGS= ${CFLAGS:M-[ID]*} .if ${OBJECT_FMT} == "ELF" Index: src/sys/arch/x68k/stand/boot_ustar/Makefile diff -u src/sys/arch/x68k/stand/boot_ustar/Makefile:1.15 src/sys/arch/x68k/stand/boot_ustar/Makefile:1.15.4.1 --- src/sys/arch/x68k/stand/boot_ustar/Makefile:1.15 Sat Oct 25 22:27:38 2008 +++ src/sys/arch/x68k/stand/boot_ustar/Makefile Sat Mar 17 18:38:57 2012 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.15 2008/10/25 22:27:38 apb Exp $ +# $NetBSD: Makefile,v 1.15.4.1 2012/03/17 18:38:57 bouyer Exp $ NOMAN= # defined @@ -34,6 +34,7 @@ vers.c: ${VERSIONFILE} CPPFLAGS+= -DTEXTADDR="0x$(TEXT)" -DBOOT_TEXTADDR="0x$(BOOT_TEXT)" CPPFLAGS+= -DBOOT=\"$(BOOT)\" -DBOOT_VERS=\"$(VERSION)\" CPPFLAGS+= -I${COMMONDIR} -I${LIBIOCS} +CFLAGS+= -m68020-60 AFLAGS= ${CFLAGS:M-[ID]*} AFLAGS+= -Wa,-mc68000 .if ${OBJECT_FMT} == "ELF" Index: src/sys/arch/x68k/stand/libsa/Makefile diff -u src/sys/arch/x68k/stand/libsa/Makefile:1.22 src/sys/arch/x68k/stand/libsa/Makefile:1.22.28.1 --- src/sys/arch/x68k/stand/libsa/Makefile:1.22 Sun Nov 11 13:23:07 2007 +++ src/sys/arch/x68k/stand/libsa/Makefile Sat Mar 17 18:38:56 2012 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.22 2007/11/11 13:23:07 isaki Exp $ +# $NetBSD: Makefile,v 1.22.28.1 2012/03/17 18:38:56 bouyer Exp $ S= ${.CURDIR}/../../../.. LIBSADIR= $S/lib/libsa @@ -19,7 +19,7 @@ SRCS+= cd9660.c lfsv1.c lfsv2.c nfs.c u #SRCS+= arp.c ether.c in_cksum.c net.c netif.c rpc.c udp.c #SRCS+= bootp.c -SRCS+= ashldi3.c ashrdi3.c divdi3.c moddi3.c qdivrem.c +SRCS+= ashldi3.c ashrdi3.c divdi3.c moddi3.c muldi3.c qdivrem.c SRCS+= strcat.c strchr.c strcmp.c strcpy.c strerror.c strlen.c SRCS+= strncmp.c strrchr.c @@ -33,6 +33,8 @@ NOPROFILE= # defined NOPIC= # defined NOLINT= # defined +CFLAGS+= -m68020-60 + CPPFLAGS+= -I${.OBJDIR} -I${LIBSADIR} -I$S -I${LIBZDIR} -D_STANDALONE CPPFLAGS+= -I${.CURDIR}/../libiocs -I${.CURDIR}/../common CPPFLAGS+= -DHEAP_VARIABLE -D__INTERNAL_LIBSA_CREAD