Module Name:    src
Committed By:   tsutsui
Date:           Tue Oct 11 13:07:06 UTC 2011

Modified Files:
        src/sys/arch/x68k/stand: Makefile.booters
        src/sys/arch/x68k/stand/boot_ufs: Makefile
        src/sys/arch/x68k/stand/boot_ustar: Makefile
        src/sys/arch/x68k/stand/libsa: Makefile

Log Message:
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.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/x68k/stand/Makefile.booters
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/x68k/stand/boot_ufs/Makefile
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/x68k/stand/boot_ustar/Makefile
cvs rdiff -u -r1.26 -r1.27 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.6 src/sys/arch/x68k/stand/Makefile.booters:1.7
--- src/sys/arch/x68k/stand/Makefile.booters:1.6	Mon Apr 11 15:20:30 2011
+++ src/sys/arch/x68k/stand/Makefile.booters	Tue Oct 11 13:07:06 2011
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.booters,v 1.6 2011/04/11 15:20:30 tsutsui Exp $
+#	$NetBSD: Makefile.booters,v 1.7 2011/10/11 13:07:06 tsutsui Exp $
 
 S?=	${.CURDIR}/../../../..
 
@@ -7,6 +7,8 @@ CFLAGS+= -Wall -Wmissing-prototypes -Wst
 CFLAGS+= -Wno-pointer-sign
 CFLAGS+= -Werror
 
+CPPFLAGS+=	-D__daddr_t=int32_t
+
 .include <bsd.klinks.mk>
 
 # XXX SHOULD NOT NEED TO DEFINE THESE!

Index: src/sys/arch/x68k/stand/boot_ufs/Makefile
diff -u src/sys/arch/x68k/stand/boot_ufs/Makefile:1.25 src/sys/arch/x68k/stand/boot_ufs/Makefile:1.26
--- src/sys/arch/x68k/stand/boot_ufs/Makefile:1.25	Sat Jan 22 19:19:24 2011
+++ src/sys/arch/x68k/stand/boot_ufs/Makefile	Tue Oct 11 13:07:06 2011
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.25 2011/01/22 19:19:24 joerg Exp $
+#	$NetBSD: Makefile,v 1.26 2011/10/11 13:07:06 tsutsui Exp $
 
 NOMAN=		# defined
 
@@ -38,12 +38,13 @@ vers.c:	${VERSIONFILE}
 	    ${.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]*}
 LINKFLAGS=   -n -Bstatic -T ${.CURDIR}/${BOOT}.ldscript -M

Index: src/sys/arch/x68k/stand/boot_ustar/Makefile
diff -u src/sys/arch/x68k/stand/boot_ustar/Makefile:1.18 src/sys/arch/x68k/stand/boot_ustar/Makefile:1.19
--- src/sys/arch/x68k/stand/boot_ustar/Makefile:1.18	Sat Jan 22 19:19:24 2011
+++ src/sys/arch/x68k/stand/boot_ustar/Makefile	Tue Oct 11 13:07:06 2011
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.18 2011/01/22 19:19:24 joerg Exp $
+#	$NetBSD: Makefile,v 1.19 2011/10/11 13:07:06 tsutsui Exp $
 
 NOMAN=		# defined
 
@@ -35,6 +35,7 @@ vers.c:	${VERSIONFILE}
 CPPFLAGS+= -DTEXTADDR="0x$(TEXT)" -DBOOT_TEXTADDR="0x$(BOOT_TEXT)"
 CPPFLAGS+= -DBOOT=\"$(BOOT)\" -DBOOT_VERS=\"$(VERSION)\"
 CPPFLAGS+= -I${COMMONDIR} -I${LIBIOCS} -I${S} -I. -D_STANDALONE
+CFLAGS+=   -m68020-60
 AFLAGS=	   ${CFLAGS:M-[ID]*}
 AFLAGS+=   -Wa,-mc68000
 LINKFLAGS=   -n -Bstatic -T ${.CURDIR}/${BOOT}.ldscript -M

Index: src/sys/arch/x68k/stand/libsa/Makefile
diff -u src/sys/arch/x68k/stand/libsa/Makefile:1.26 src/sys/arch/x68k/stand/libsa/Makefile:1.27
--- src/sys/arch/x68k/stand/libsa/Makefile:1.26	Tue Apr 12 14:07:35 2011
+++ src/sys/arch/x68k/stand/libsa/Makefile	Tue Oct 11 13:07:06 2011
@@ -1,7 +1,9 @@
-#	$NetBSD: Makefile,v 1.26 2011/04/12 14:07:35 tsutsui Exp $
+#	$NetBSD: Makefile,v 1.27 2011/10/11 13:07:06 tsutsui Exp $
 
 S=		${.CURDIR}/../../../..
 
+CFLAGS+=	-m68020-60
+
 CPPFLAGS+=	-nostdinc -I${.OBJDIR} -I. -I${S}
 CPPFLAGS+=	-I${.CURDIR}/../libiocs -I${.CURDIR}/../common
 CPPFLAGS+=	-D_STANDALONE

Reply via email to