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