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

Reply via email to