[Glibc-bsd-commits] r3238 - in trunk/kfreebsd-8/debian: . arch arch/mipsel patches

Robert Millan rmh at alioth.debian.org
Sat Jan 22 11:14:35 UTC 2011


Author: rmh
Date: 2011-01-22 11:14:35 +0000 (Sat, 22 Jan 2011)
New Revision: 3238

Added:
   trunk/kfreebsd-8/debian/arch/mipsel/
   trunk/kfreebsd-8/debian/arch/mipsel/malta.config
   trunk/kfreebsd-8/debian/patches/000_t_delta_warning.diff
   trunk/kfreebsd-8/debian/patches/109_linprocfs_non_x86.diff
   trunk/kfreebsd-8/debian/patches/110_disable_trampoline_flavour.diff
Modified:
   trunk/kfreebsd-8/debian/changelog
   trunk/kfreebsd-8/debian/patches/009_disable_duped_modules.diff
   trunk/kfreebsd-8/debian/patches/series
   trunk/kfreebsd-8/debian/rules
Log:
MIPS port (with malta flavor).

Added: trunk/kfreebsd-8/debian/arch/mipsel/malta.config
===================================================================
--- trunk/kfreebsd-8/debian/arch/mipsel/malta.config	                        (rev 0)
+++ trunk/kfreebsd-8/debian/arch/mipsel/malta.config	2011-01-22 11:14:35 UTC (rev 3238)
@@ -0,0 +1,14 @@
+# Kernel for Debian GNU/kFreeBSD on mipsel/malta machines
+
+include		MALTA
+
+makeoptions ARCH_FLAGS="-march=mips32 -mabi=32 -D__mips_o32"
+
+options		CPU_HAVEFPU
+
+options		KTRACE
+options		EXT2FS
+options		LINPROCFS
+options         LINSYSFS
+options		FDESCFS
+options		TMPFS

Modified: trunk/kfreebsd-8/debian/changelog
===================================================================
--- trunk/kfreebsd-8/debian/changelog	2011-01-22 11:07:58 UTC (rev 3237)
+++ trunk/kfreebsd-8/debian/changelog	2011-01-22 11:14:35 UTC (rev 3238)
@@ -6,8 +6,9 @@
 
   [ Robert Millan ]
   * Make this package buildable on GNU/Linux.  (Closes: #602768)
+  * MIPS port (with malta flavor).
 
- -- Robert Millan <rmh at debian.org>  Sat, 22 Jan 2011 12:07:11 +0100
+ -- Robert Millan <rmh at debian.org>  Sat, 22 Jan 2011 12:14:04 +0100
 
 kfreebsd-8 (8.2~rc1+dfsg-0.1) experimental; urgency=low
 

Added: trunk/kfreebsd-8/debian/patches/000_t_delta_warning.diff
===================================================================
--- trunk/kfreebsd-8/debian/patches/000_t_delta_warning.diff	                        (rev 0)
+++ trunk/kfreebsd-8/debian/patches/000_t_delta_warning.diff	2011-01-22 11:14:35 UTC (rev 3238)
@@ -0,0 +1,63 @@
+
+Backport from upstream trunk (r209900)
+
+--- a/sys/kern/kern_tc.c
++++ b/sys/kern/kern_tc.c
+@@ -864,43 +864,21 @@
+ 		t_delta = t_this;
+ 		bintime_sub(&t_delta, &t_last);
+ 		/*
+-		 * Validate that 16 +/- 1/256 seconds passed. 
+-		 * After division by 16 this gives us a precision of
+-		 * roughly 250PPM which is sufficient
++		 * Headroom:
++		 * 	2^(64-20) / 16[s] =
++		 * 	2^(44) / 16[s] =
++		 * 	17.592.186.044.416 / 16 =
++		 * 	1.099.511.627.776 [Hz]
+ 		 */
+-		if (t_delta.sec > 16 || (
+-		    t_delta.sec == 16 && t_delta.frac >= (0x01LL << 56))) {
+-			/* too long */
+-			if (bootverbose)
+-				printf("t_delta %ju.%016jx too long\n",
+-				    (uintmax_t)t_delta.sec,
+-				    (uintmax_t)t_delta.frac);
+-		} else if (t_delta.sec < 15 ||
+-		    (t_delta.sec == 15 && t_delta.frac <= (0xffLL << 56))) {
+-			/* too short */
+-			if (bootverbose)
+-				printf("t_delta %ju.%016jx too short\n",
+-				    (uintmax_t)t_delta.sec,
+-				    (uintmax_t)t_delta.frac);
+-		} else {
+-			/* just right */
+-			/*
+-			 * Headroom:
+-			 * 	2^(64-20) / 16[s] =
+-			 * 	2^(44) / 16[s] =
+-			 * 	17.592.186.044.416 / 16 =
+-			 * 	1.099.511.627.776 [Hz]
+-			 */
+-			divi = t_delta.sec << 20;
+-			divi |= t_delta.frac >> (64 - 20);
+-			c_delta <<= 20;
+-			c_delta /= divi;
+-			if (c_delta  > cpu_tick_frequency) {
+-				if (0 && bootverbose)
+-					printf("cpu_tick increased to %ju Hz\n",
+-					    c_delta);
+-				cpu_tick_frequency = c_delta;
+-			}
++		divi = t_delta.sec << 20;
++		divi |= t_delta.frac >> (64 - 20);
++		c_delta <<= 20;
++		c_delta /= divi;
++		if (c_delta > cpu_tick_frequency) {
++			if (0 && bootverbose)
++				printf("cpu_tick increased to %ju Hz\n",
++				    c_delta);
++			cpu_tick_frequency = c_delta;
+ 		}
+ 	}
+ 	c_last = c_this;

Modified: trunk/kfreebsd-8/debian/patches/009_disable_duped_modules.diff
===================================================================
--- trunk/kfreebsd-8/debian/patches/009_disable_duped_modules.diff	2011-01-22 11:07:58 UTC (rev 3237)
+++ trunk/kfreebsd-8/debian/patches/009_disable_duped_modules.diff	2011-01-22 11:14:35 UTC (rev 3238)
@@ -45,6 +45,17 @@
  %BEFORE_DEPEND
  
  %OBJS
+--- a/sys/conf/Makefile.mips
++++ b/sys/conf/Makefile.mips
+@@ -105,6 +105,8 @@
+ 	${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.noheader \
+ 		${KERNEL_KO}.tramp.bin \
+ 
++%WITHOUT_MODULES
++
+ %BEFORE_DEPEND
+ 
+ %OBJS
 --- a/sys/conf/Makefile.pc98
 +++ b/sys/conf/Makefile.pc98
 @@ -34,6 +34,8 @@

Added: trunk/kfreebsd-8/debian/patches/109_linprocfs_non_x86.diff
===================================================================
--- trunk/kfreebsd-8/debian/patches/109_linprocfs_non_x86.diff	                        (rev 0)
+++ trunk/kfreebsd-8/debian/patches/109_linprocfs_non_x86.diff	2011-01-22 11:14:35 UTC (rev 3238)
@@ -0,0 +1,12 @@
+--- a/sys/conf/options.mips
++++ b/sys/conf/options.mips
+@@ -56,6 +56,9 @@
+ TICK_USE_YAMON_FREQ	opt_global.h
+ TICK_USE_MALTA_RTC	opt_global.h
+ 
++LINPROCFS	opt_dontuse.h
++LINSYSFS	opt_dontuse.h
++
+ #
+ # The highest memory address that can be used by the kernel in units of KB.
+ #

Added: trunk/kfreebsd-8/debian/patches/110_disable_trampoline_flavour.diff
===================================================================
--- trunk/kfreebsd-8/debian/patches/110_disable_trampoline_flavour.diff	                        (rev 0)
+++ trunk/kfreebsd-8/debian/patches/110_disable_trampoline_flavour.diff	2011-01-22 11:14:35 UTC (rev 3238)
@@ -0,0 +1,11 @@
+--- a/sys/conf/Makefile.mips
++++ b/sys/conf/Makefile.mips
+@@ -79,7 +79,7 @@
+ # XXX hardcoded kernel entry point
+ ASM_CFLAGS+=${CFLAGS} -D_LOCORE -DLOCORE
+ 
+-KERNEL_EXTRA=trampoline
++#KERNEL_EXTRA=trampoline
+ trampoline: ${KERNEL_KO}.tramp.bin
+ ${KERNEL_KO}.tramp.bin: ${KERNEL_KO} $S/$M/$M/elf_trampoline.c \
+ 	$S/$M/$M/inckern.S 

Modified: trunk/kfreebsd-8/debian/patches/series
===================================================================
--- trunk/kfreebsd-8/debian/patches/series	2011-01-22 11:07:58 UTC (rev 3237)
+++ trunk/kfreebsd-8/debian/patches/series	2011-01-22 11:14:35 UTC (rev 3238)
@@ -1,4 +1,5 @@
 000_coda.diff
+000_t_delta_warning.diff
 001_misc.diff
 003_glibc_dev_aicasm.diff
 004_xargs.diff
@@ -13,6 +14,8 @@
 106_teken_op.diff
 107_mount_update.diff
 108_teken_utf8_table.diff
+109_linprocfs_non_x86.diff
+110_disable_trampoline_flavour.diff
 902_version.diff
 903_disable_non-free_drivers.diff 
 904_dev_full.diff

Modified: trunk/kfreebsd-8/debian/rules
===================================================================
--- trunk/kfreebsd-8/debian/rules	2011-01-22 11:07:58 UTC (rev 3237)
+++ trunk/kfreebsd-8/debian/rules	2011-01-22 11:14:35 UTC (rev 3238)
@@ -19,6 +19,12 @@
 abiname		:= 0
 ld_target	:= $(shell ld --help | sed -ne "s/^ld: supported targets: \([^ ]*\) .*/\1/p")
 
+ifeq ($(cpu), mipsel)
+kfreebsd_cpu	:= mips
+else
+kfreebsd_cpu	:= $(cpu)
+endif
+
 #SVN		:= http://svn.freebsd.org/base/release/$(version).0
 SVN		:= http://svn.freebsd.org/base/releng/$(version)
 #SVN		:= http://svn.freebsd.org/base/stable/$(major)
@@ -31,7 +37,7 @@
 FLAVOR_DIR	:= flavor-$(version)-$(abiname)
 ORIG_DIR	:= kfreebsd-$(major)-$(tar_version)
 ORIG_TAR	:= kfreebsd-$(major)_$(tar_version).orig.tar.gz
-MAKE		:= make MACHINE_ARCH=$(cpu) CC=gcc-4.3 WERROR=
+MAKE		:= make MACHINE_ARCH=$(kfreebsd_cpu) CC=gcc-4.3 WERROR=
 PATH		:= $(CURDIR)/config:/usr/lib/freebsd:$(PATH)
 
 include /usr/share/quilt/quilt.make
@@ -51,6 +57,7 @@
 	for arch in `ls $(CURDIR)/debian/arch/` ; do \
 		for config in `ls $(CURDIR)/debian/arch/$$arch/ | grep \.config` ; do \
 			flavor=$${config/.config/} ; \
+			recommends= ; \
 			test -f $(CURDIR)/debian/arch/$$arch/$$flavor.defines && recommends=`awk '/^Recommends: / {print $$2}' $(CURDIR)/debian/arch/$$arch/$$flavor.defines` ; \
 			sed -e "s/@major@/$(major)/g" -e "s/@version@/$(version)/g" -e "s/@abiname@/$(abiname)/g" -e "s/@flavor@/$$flavor/g" -e "s/@arch@/$$arch/g" -e "s/@recommends@/$$recommends/g" \
 				$(CURDIR)/debian/control.flavor.in >> $(CURDIR)/debian/control ; \
@@ -151,15 +158,14 @@
 endif
 
 	# Configure the kernel
-	cp debian/arch/$(cpu)/$*.config $(FLAVOR_DIR)-$*/sys/$(cpu)/conf/
-	cat $(FLAVOR_DIR)-$*/sys/$(cpu)/conf/GENERIC >> $(FLAVOR_DIR)-$*/sys/$(cpu)/conf/$*.config
-	ln -sf $*.config $(FLAVOR_DIR)-$*/sys/$(cpu)/conf/$(configfile)
-	cd $(FLAVOR_DIR)-$*/sys/$(cpu)/conf \
+	cp debian/arch/$(cpu)/$*.config $(FLAVOR_DIR)-$*/sys/$(kfreebsd_cpu)/conf/
+	ln -sf $*.config $(FLAVOR_DIR)-$*/sys/$(kfreebsd_cpu)/conf/$(configfile)
+	cd $(FLAVOR_DIR)-$*/sys/$(kfreebsd_cpu)/conf \
 		&& config $(configfile)
 
 	# Build it
-	$(MAKE) -C $(FLAVOR_DIR)-$*/sys/$(cpu)/compile/$(configfile)/ depend
-	$(MAKE) -C $(FLAVOR_DIR)-$*/sys/$(cpu)/compile/$(configfile)/
+	$(MAKE) -C $(FLAVOR_DIR)-$*/sys/$(kfreebsd_cpu)/compile/$(configfile)/ depend
+	$(MAKE) -C $(FLAVOR_DIR)-$*/sys/$(kfreebsd_cpu)/compile/$(configfile)/
 
 	touch build-flavor-$*-stamp
 
@@ -168,7 +174,7 @@
 	dh_testroot
 	mkdir -p $(HEADERS_PACKAGE)/usr/src/$(HEADERS_DIR)
 	cd src \
-		&& find . -type f -name "*.h" -not -regex ".*modules.*" -not -regex ".*sys/$(cpu)/.*" -exec cp --parents {} $(HEADERS_PACKAGE)/usr/src/$(HEADERS_DIR) \;
+		&& find . -type f -name "*.h" -not -regex ".*modules.*" -not -regex ".*sys/$(kfreebsd_cpu)/.*" -exec cp --parents {} $(HEADERS_PACKAGE)/usr/src/$(HEADERS_DIR) \;
 	find $(HEADERS_PACKAGE)/usr/src/$(HEADERS_DIR) -type f -exec chmod 644 {} \;
 
 	touch install-common-stamp
@@ -183,8 +189,8 @@
 
 	# make the install target happy
 	install -o root -g root -m 644 \
-		$(FLAVOR_DIR)-$*/sys/$(cpu)/conf/GENERIC.hints \
-		$(IMAGE_PACKAGE)-$*/boot/device.hints
+		$(FLAVOR_DIR)-$*/sys/$(kfreebsd_cpu)/conf/GENERIC.hints \
+		$(IMAGE_PACKAGE)-$*/boot/device.hints || touch $(IMAGE_PACKAGE)-$*/boot/device.hints
 	install -o root -g root -m 644 \
 		$(FLAVOR_DIR)-$*/sys/boot/forth/loader.conf \
 		$(IMAGE_PACKAGE)-$*/boot/loader.conf
@@ -195,11 +201,11 @@
 	
 	# install the config file
 	install -o root -g root -m 644 \
-		$(FLAVOR_DIR)-$*/sys/$(cpu)/conf/$*.config \
+		$(FLAVOR_DIR)-$*/sys/$(kfreebsd_cpu)/conf/$*.config \
 		$(IMAGE_PACKAGE)-$*/boot/config-$(version)-$(abiname)-$*
 
 	# now install the kernel
-	$(MAKE) -C $(FLAVOR_DIR)-$*/sys/$(cpu)/compile/$(configfile) DESTDIR=$(IMAGE_PACKAGE)-$* install
+	$(MAKE) -C $(FLAVOR_DIR)-$*/sys/$(kfreebsd_cpu)/compile/$(configfile) DESTDIR=$(IMAGE_PACKAGE)-$* install
 	mv $(IMAGE_PACKAGE)-$*/lib/modules/$(version)-$(abiname)-$*/kernel $(IMAGE_PACKAGE)-$*/boot/kfreebsd-$(version)-$(abiname)-$*
 	chmod 644 $(IMAGE_PACKAGE)-$*/boot/kfreebsd-$(version)-$(abiname)-$*
 	gzip -9 $(IMAGE_PACKAGE)-$*/boot/kfreebsd-$(version)-$(abiname)-$*
@@ -235,12 +241,12 @@
 	done
 
 	# headers package
-	mkdir -p $(HEADERS_PACKAGE)-$*/usr/src/$(HEADERS_DIR)-$*/sys/$(cpu)
-	cd $(FLAVOR_DIR)-$*/sys/$(cpu) \
-		&& find . -type f -name "*.h" -not -regex ".*modules.*" -exec cp --parents {} $(HEADERS_PACKAGE)-$*/usr/src/$(HEADERS_DIR)-$*/sys/$(cpu) \; \
-		&& cp -d --parents compile/$(configfile)/machine $(HEADERS_PACKAGE)-$*/usr/src/$(HEADERS_DIR)-$*/sys/$(cpu) \
-		&& cp -d --parents conf/$(configfile) $(HEADERS_PACKAGE)-$*/usr/src/$(HEADERS_DIR)-$*/sys/$(cpu)
-	find $(HEADERS_PACKAGE)-$*/usr/src/$(HEADERS_DIR)-$*/sys/$(cpu) -type f -exec chmod 644 {} \;
+	mkdir -p $(HEADERS_PACKAGE)-$*/usr/src/$(HEADERS_DIR)-$*/sys/$(kfreebsd_cpu)
+	cd $(FLAVOR_DIR)-$*/sys/$(kfreebsd_cpu) \
+		&& find . -type f -name "*.h" -not -regex ".*modules.*" -exec cp --parents {} $(HEADERS_PACKAGE)-$*/usr/src/$(HEADERS_DIR)-$*/sys/$(kfreebsd_cpu) \; \
+		&& cp -d --parents compile/$(configfile)/machine $(HEADERS_PACKAGE)-$*/usr/src/$(HEADERS_DIR)-$*/sys/$(kfreebsd_cpu) \
+		&& cp -d --parents conf/$(configfile) $(HEADERS_PACKAGE)-$*/usr/src/$(HEADERS_DIR)-$*/sys/$(kfreebsd_cpu)
+	find $(HEADERS_PACKAGE)-$*/usr/src/$(HEADERS_DIR)-$*/sys/$(kfreebsd_cpu) -type f -exec chmod 644 {} \;
 	for dir in `ls $(HEADERS_PACKAGE)/usr/src/$(HEADERS_DIR)/sys` ; do \
 		ln -s ../../$(HEADERS_DIR)/sys/$$dir $(HEADERS_PACKAGE)-$*/usr/src/$(HEADERS_DIR)-$*/sys/$$dir ; \
 	done




More information about the Glibc-bsd-commits mailing list