svn commit: r232708 - projects/bigbb/sys/boot/pc98/boot2

Jung-uk Kim jkim at FreeBSD.org
Thu Mar 8 23:59:50 UTC 2012


Author: jkim
Date: Thu Mar  8 23:59:49 2012
New Revision: 232708
URL: http://svn.freebsd.org/changeset/base/232708

Log:
  MFi386:		r232699
  
  Increase UFS2-only boot block size to 16KB (32 sectors).

Modified:
  projects/bigbb/sys/boot/pc98/boot2/Makefile
  projects/bigbb/sys/boot/pc98/boot2/boot1.S

Modified: projects/bigbb/sys/boot/pc98/boot2/Makefile
==============================================================================
--- projects/bigbb/sys/boot/pc98/boot2/Makefile	Thu Mar  8 23:53:38 2012	(r232707)
+++ projects/bigbb/sys/boot/pc98/boot2/Makefile	Thu Mar  8 23:59:49 2012	(r232708)
@@ -2,7 +2,7 @@
 
 .include <bsd.own.mk>
 
-FILES=		boot${BOOT_SUFFIX} boot2${BOOT2_SUFFIX}
+FILES=		boot${BOOT_SUFFIX} boot1${BOOT2_SUFFIX} boot2${BOOT2_SUFFIX}
 
 SRCDIR=		${.CURDIR}/../boot2
 
@@ -17,17 +17,9 @@ ORG1=	0
 ORG2=	0x2000
 
 # Decide level of UFS support.
-# XXX Currently clang overflows UFS1+UFS2 boot2.
-.if ${MK_CLANG} != "no" && \
-    (${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang")
 BOOT2_UFS?=	UFS2_ONLY
-.else
-BOOT2_UFS?=	UFS1_AND_UFS2
-.endif
+#BOOT2_UFS?=	UFS1_AND_UFS2
 
-.if ${BOOT2_UFS} != UFS1_ONLY
-FILES+=		boot1
-.endif
 .if ${BOOT2_UFS} == UFS1_ONLY
 BOOT_SUFFIX=	.ufs1
 BOOT2_SUFFIX=	ufs1
@@ -35,9 +27,18 @@ BOOT2_SUFFIX=	ufs1
 BOOT_SUFFIX=	.ufs2
 BOOT2_SUFFIX=	ufs2
 LINKS=		${BINDIR}/boot${BOOT_SUFFIX} ${BINDIR}/boot \
+		${BINDIR}/boot1${BOOT2_SUFFIX} ${BINDIR}/boot1 \
 		${BINDIR}/boot2${BOOT2_SUFFIX} ${BINDIR}/boot2
 .endif
 
+# Decide boot block size.
+.if ${BOOT2_UFS} == UFS2_ONLY
+BOOT_NSECT=	32
+.else
+BOOT_NSECT=	16
+.endif
+BOOT2_SIZE=	(${BOOT_NSECT}-1)*512
+
 CFLAGS=	-Os \
 	-fno-guess-branch-probability \
 	-fomit-frame-pointer \
@@ -47,6 +48,7 @@ CFLAGS=	-Os \
 	-mregparm=3 \
 	-D${BOOT2_UFS} \
 	-DFLAGS=${BOOT_BOOT1_FLAGS} \
+	-DNSECT=${BOOT_NSECT} \
 	-DSIOPRT=${BOOT_COMCONSOLE_PORT} \
 	-DSIOFMT=${B2SIOFMT} \
 	-DSIOSPD=${BOOT_COMCONSOLE_SPEED} \
@@ -75,12 +77,12 @@ LDFLAGS=-static -N --gc-sections
 
 CLEANFILES=	boot${BOOT_SUFFIX}
 
-boot${BOOT_SUFFIX}: boot1 boot2${BOOT2_SUFFIX}
+boot${BOOT_SUFFIX}: boot1${BOOT2_SUFFIX} boot2${BOOT2_SUFFIX}
 	cat ${.ALLSRC} > ${.TARGET}
 
-CLEANFILES+=	boot1 boot1.out boot1.o
+CLEANFILES+=	boot1${BOOT2_SUFFIX} boot1.out boot1.o
 
-boot1: boot1.out
+boot1${BOOT2_SUFFIX}: boot1.out
 	objcopy -S -O binary boot1.out ${.TARGET}
 
 boot1.out: boot1.o
@@ -90,9 +92,9 @@ CLEANFILES+=	boot2${BOOT2_SUFFIX} boot2.
 		boot2.o boot2.s boot2.s.tmp boot2.h sio.o
 
 boot2${BOOT2_SUFFIX}: boot2.ld
-	@set -- `ls -l boot2.ld`; x=$$((7680-$$5)); \
+	@set -- `ls -l boot2.ld`; x=$$((${BOOT2_SIZE}-$$5)); \
 	    echo "$$x bytes available"; test $$x -ge 0
-	dd if=boot2.ld of=${.TARGET} obs=7680 conv=osync
+	dd if=boot2.ld of=${.TARGET} obs=$$((${BOOT2_SIZE})) conv=osync
 
 boot2.ld: boot2.ldr boot2.bin ${BTXKERN}
 	btxld -v -E ${ORG2} -f bin -b ${BTXKERN} -l boot2.ldr \

Modified: projects/bigbb/sys/boot/pc98/boot2/boot1.S
==============================================================================
--- projects/bigbb/sys/boot/pc98/boot2/boot1.S	Thu Mar  8 23:53:38 2012	(r232707)
+++ projects/bigbb/sys/boot/pc98/boot2/boot1.S	Thu Mar  8 23:59:49 2012	(r232708)
@@ -57,8 +57,6 @@
 		.set SIZ_PAG,0x1000		# Page size
 		.set SIZ_SEC,0x200		# Sector size
 
-		.set NSECT,0x10
-
 		.globl start
 		.globl read
 		.globl putc


More information about the svn-src-projects mailing list