git: 9front

Download patch

ref: a23f1110e1fccc5582bc27d664d8a984ab00e203
parent: c52a4ed4ccdd9789b188042788c75c8795f9789b
author: cinap_lenrek <cinap_lenrek@centraldogma>
date: Sat Jun 4 04:07:21 EDT 2011

cleanup boot(8), replace read(1), fix cpu kernel configs

--- a/rc/bin/diskparts
+++ b/rc/bin/diskparts
@@ -32,4 +32,4 @@
 	bind -b '#k' /dev
 if (~ $#sysname 1 && ! ~ $sysname '' &&
     test -r /cfg/$sysname/fsconfig && test -w /dev/fs/ctl)
-	read -m /cfg/$sysname/fsconfig >/dev/fs/ctl
+	awk '{print $0; fflush}' /cfg/$sysname/fsconfig >/dev/fs/ctl
--- a/sys/src/9/boot/aux.c
+++ b/sys/src/9/boot/aux.c
@@ -84,27 +84,3 @@
 	write(f, val, strlen(val));
 	close(f);
 }
-
-void
-srvcreate(char *name, int fd)
-{
-	char *srvname;
-	int f;
-	char buf[64];
-
-	srvname = strrchr(name, '/');
-	if(srvname)
-		srvname++;
-	else
-		srvname = name;
-
-	snprint(buf, sizeof buf, "#s/%s", srvname);
-	f = create(buf, 1, 0666);
-	if(f < 0)
-		fatal(buf);
-	sprint(buf, "%d", fd);
-	if(write(f, buf, strlen(buf)) != strlen(buf))
-		fatal("write");
-	close(f);
-}
-
--- a/sys/src/9/boot/boot.c
+++ b/sys/src/9/boot/boot.c
@@ -5,8 +5,6 @@
 #include "../boot/boot.h"
 
 char	cputype[64];
-char 	reply[256];
-int	printcol;
 int	mflag;
 int	fflag;
 int	kflag;
@@ -14,8 +12,6 @@
 void
 boot(int argc, char *argv[])
 {
-	Waitmsg *w;
-	int pid, i;
 	char buf[32];
 
 	fmtinstall('r', errfmt);
@@ -33,6 +29,8 @@
 	bind("#s", "/srv", MREPL|MCREATE);
 
 	if(Debug){
+		int i;
+
 		print("argc=%d\n", argc);
 		for(i = 0; i < argc; i++)
 			print("%lux %s ", (ulong)argv[i], argv[i]);
@@ -53,7 +51,8 @@
 
 	readfile("#e/cputype", cputype, sizeof(cputype));
 	setenv("bootdisk", bootdisk, 0);
-	
+	setenv("cpuflag", cpuflag ? "1" : "0", 0);
+
 	/* setup the boot namespace */
 	bind("/boot", "/bin", MAFTER);
 	run("/bin/paqfs", "-q", "-c", "8", "-m" "/root", "/boot/bootfs.paq", nil);
@@ -61,26 +60,5 @@
 	snprint(buf, sizeof(buf), "/%s/bin", cputype);
 	bind(buf, "/bin", MAFTER);
 	bind("/rc/bin", "/bin", MAFTER);
-
-	switch(pid = rfork(RFFDG|RFREND|RFPROC)){
-	case -1:
-		fatal("fork error");
-	case 0:
-		setenv("cpuflag", cpuflag ? "1" : "0", 0);
-		run("/bin/rc", "/rc/bin/bootrc", nil);
-		break;
-	default:
-		while((w = wait()) != nil)
-			if(w->pid == pid)
-				break;
-		if(w == nil){
-			free(w);
-			fatal("wait error");
-		}
-		free(w);
-		break;
-	}
-
-	for(;;)
-		;
+	run("/bin/bootrc", nil);
 }
--- a/sys/src/9/boot/bootrc
+++ b/sys/src/9/boot/bootrc
@@ -34,7 +34,7 @@
 		echo -n $3
 		echo -n '] '
 	}
-	$1=`{read}
+	$1=`{dd -bs 64 -count 1 >[2]/dev/null}
 	if(~ $#$1 0)
 		$1=$3
 	if(~ $"$1 '!rc'){
--- a/sys/src/9/kw/plug
+++ b/sys/src/9/kw/plug
@@ -66,7 +66,7 @@
 	int cpuserver = 1;
 	int i8250freq = 3686000;
 
-boot boot
+boot cpu
 	tcp
 	local
 
--- a/sys/src/9/omap/beagle
+++ b/sys/src/9/omap/beagle
@@ -69,7 +69,7 @@
 	int cpuserver = 1;
 	int i8250freq = 3686000;
 
-boot boot
+boot cpu
 	tcp
 	local
 
--- a/sys/src/9/pc/pccpuf
+++ b/sys/src/9/pc/pccpuf
@@ -118,7 +118,7 @@
 port
 	int cpuserver = 1;
 
-boot boot
+boot cpu
 	tcp
 	local
 
--- a/sys/src/9/port/bootfs.proto
+++ b/sys/src/9/port/bootfs.proto
@@ -23,7 +23,6 @@
 		mntgen
 		mount
 		rc
-		read
 		rm
 		sed
 		srv
--