Plan 9 from Bell Labs’s /usr/web/sources/extra/changes/2005/1118

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


Move realmode into link section.
Add Matrox mmio segment.
 [rsc] --rw-rw-r-- M 55859 glenda sys 1447 Nov 18 11:59 sys/src/9/pc/pcdisk
	/n/sourcesdump/2005/1118/plan9/sys/src/9/pc/pcdisk:33,38 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/9/pc/pcdisk:33,39
	  	usb
	  
	  link
	+ 	realmode
	  	devpccard
	  	devi82365
	  	apm		apmjump
	/n/sourcesdump/2005/1118/plan9/sys/src/9/pc/pcdisk:60,66 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/9/pc/pcdisk:61,66
	  	usbuhci
	  
	  misc
	- 	realmode
	  	archmp		mp apic
	  
	  	sdata		pci sdscsi
 [rsc] --rw-rw-r-- M 55859 glenda sys 4769 Nov 18 11:27 sys/src/9/pc/vgamga2164w.c
	/n/sourcesdump/2005/1118/plan9/sys/src/9/pc/vgamga2164w.c:58,68 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/9/pc/vgamga2164w.c:58,70
	  		scr->mmio = vmap(p->mem[0].bar&~0x0F, p->mem[0].size);
	  		if(scr->mmio == nil)
	  			return;
	+ 		addvgaseg("mga2164wmmio", p->mem[0].bar&~0x0F, p->mem[0].size);
	  		vgalinearaddr(scr, p->mem[1].bar&~0x0F, 8*MB);
	  	}else{
	  		scr->mmio = vmap(p->mem[1].bar&~0x0F, p->mem[1].size);
	  		if(scr->mmio == nil)
	  			return;
	+ 		addvgaseg("mga2164wmmio", p->mem[1].bar&~0x0F, p->mem[1].size);
	  		vgalinearaddr(scr, p->mem[0].bar&~0x0F, 16*MB);
	  	}
	  	if(scr->paddr)
 [rsc] --rw-rw-r-- M 55859 glenda sys 1428 Nov 18 11:59 sys/src/9/pc/pc
	/n/sourcesdump/2005/1118/plan9/sys/src/9/pc/pc:36,44 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/9/pc/pc:36,44
	  	tv
	  
	  link
	+ 	realmode
	  	devpccard
	  	devi82365
	- 	realmode
	  	ether2000	ether8390
	  	ether2114x	pci
	  	ether589	etherelnk3
 [rsc] --rw-rw-r-- M 55859 glenda sys 1447 Nov 18 11:59 sys/src/9/pc/pcdisk
 [rsc] --rw-rw-r-- M 55859 glenda sys 23864 Nov 18 14:17 sys/src/9/pc/mmu.c
	/n/sourcesdump/2005/1118/plan9/sys/src/9/pc/mmu.c:393,404 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/9/pc/mmu.c:393,405
	  void
	  putmmu(ulong va, ulong pa, Page*)
	  {
	- 	int old;
	+ 	int old, s;
	  	Page *page;
	  
	  	if(up->mmupdb == nil)
	  		upallocpdb();
	  
	+ 	s = splhi();
	  	if(!(vpd[PDX(va)]&PTEVALID)){
	  		if(up->mmufree == 0)
	  			page = newpage(0, 0, 0);
	/n/sourcesdump/2005/1118/plan9/sys/src/9/pc/mmu.c:417,422 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/9/pc/mmu.c:418,424
	  	vpt[VPTX(va)] = pa|PTEUSER|PTEVALID;
	  	if(old&PTEVALID)
	  		flushpg(va);
	+ 	splx(s);
	  }
	  
	  /*
	/n/sourcesdump/2005/1118/plan9/sys/src/9/pc/mmu.c:896,902 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/9/pc/mmu.c:898,904
	  	
	  	va = (ulong)v;
	  	if(va < KZERO)
	- 		panic("paddr: va=%#.8lux", va);
	+ 		panic("paddr: va=%#.8lux pc=%#.8lux", va, getcallerpc(&va));
	  	return va-KZERO;
	  }
	  
	/n/sourcesdump/2005/1118/plan9/sys/src/9/pc/mmu.c:989,991 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/9/pc/mmu.c:991,1036
	  	if(!print)
	  		iprint("%d pages in mach pdbpools\n", n);
	  }
	+ 
	+ void
	+ checkfault(ulong addr, ulong pc)
	+ {
	+ 	ulong *a;
	+ 	int i;
	+ 	
	+ 	print("user fault: addr=%.8lux pc=%.8lux\n", addr, pc);
	+ 	if(!(vpd[PDX(addr)]&PTEVALID))
	+ 		print("addr not mapped (vpd=%.8lux)\n", vpd[PDX(addr)]);
	+ 	else if(!(vpt[VPTX(addr)]&PTEVALID))
	+ 		print("addr not mapped (vpd=%.8lux vpt=%.8lux)\n",
	+ 			vpd[PDX(addr)], vpt[VPTX(addr)]);
	+ 	else
	+ 		print("addr mapped (vpd=%.8lux vpt=%.8lux)\n",
	+ 			vpd[PDX(addr)], vpt[VPTX(addr)]);
	+ 	
	+ 	if(!(vpd[PDX(pc)]&PTEVALID))
	+ 		print("pc not mapped (vpd=%.8lux)\n", vpd[PDX(pc)]);
	+ 	else if(!(vpt[VPTX(pc)]&PTEVALID))
	+ 		print("pc not mapped (vpd=%.8lux vpt=%.8lux)\n",
	+ 			vpd[PDX(pc)], vpt[VPTX(pc)]);
	+ 	else{
	+ 		print("pc mapped (vpd=%.8lux vpt=%.8lux)\n",
	+ 			vpd[PDX(pc)], vpt[VPTX(pc)]);
	+ 		if(PPN(pc) == PPN(pc+4))	/* not crossing into an unmapped page */
	+ 			print("*pc: %.8lux\n", *(ulong*)pc);
	+ 		a = (ulong*)PPN(pc);
	+ 		for(i=0; i<WD2PG; i++)
	+ 			if(a[i] != 0)
	+ 				break;
	+ 		if(i == WD2PG)
	+ 			print("pc's page is all zeros\n");
	+ 		else{
	+ 			for(i=0; i<256/4; i+=8){
	+ 				print("%.8lux: %.8lux %.8lux %.8lux %.8lux %.8lux %.8lux %.8lux %.8lux\n",
	+ 					PPN(pc)+i*4, a[i], a[i+1], a[i+2], a[i+3], 
	+ 					a[i+4], a[i+5], a[i+6], a[i+7]);
	+ 			}
	+ 		}
	+ 	}
	+ }
	+ 
 [rsc] --rw-rw-r-- M 55859 glenda sys 21278 Nov 18 14:18 sys/src/9/pc/trap.c
	/n/sourcesdump/2005/1118/plan9/sys/src/9/pc/trap.c:592,597 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/9/pc/trap.c:592,598
	  }
	  
	  extern void checkpages(void);
	+ extern void checkfault(ulong, ulong);
	  static void
	  fault386(Ureg* ureg, void*)
	  {
	/n/sourcesdump/2005/1118/plan9/sys/src/9/pc/trap.c:623,628 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/9/pc/trap.c:624,630
	  			panic("fault: 0x%lux\n", addr);
	  		}
	  		checkpages();
	+ 		checkfault(addr, ureg->pc);
	  		sprint(buf, "sys: trap: fault %s addr=0x%lux",
	  			read ? "read" : "write", addr);
	  		postnote(up, 1, buf, NDebug);

Write regular expression errors to log.
 [rsc] --rw-rw-r-- M 55859 glenda sys 6386 Nov 18 11:26 sys/src/cmd/upas/send/rewrite.c
	/n/sourcesdump/2005/1118/plan9/sys/src/cmd/upas/send/rewrite.c:282,287 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/cmd/upas/send/rewrite.c:282,289
	  regerror(char* s)
	  {
	  	fprint(2, "rewrite: %s\n", s);
	+ 	/* make sure the message is seen locally */
	+ 	syslog(0, "mail", "error in rewrite: %s", s);
	  }
	  
	  extern void
 [rsc] --rw-rw-r-- M 55859 glenda sys 31097 Nov 18 11:26 sys/src/cmd/upas/smtp/smtpd.c
	/n/sourcesdump/2005/1118/plan9/sys/src/cmd/upas/smtp/smtpd.c:157,163 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/cmd/upas/smtp/smtpd.c:157,163
	  
	  	if(debug){
	  		close(2);
	- 		snprint(buf, sizeof(buf), "%s/smtpd", UPASLOG);
	+ 		snprint(buf, sizeof(buf), "%s/smtpd.db", UPASLOG);
	  		if (open(buf, OWRITE) >= 0) {
	  			seek(2, 0, 2);
	  			fprint(2, "%d smtpd %s\n", getpid(), thedate());
	/n/sourcesdump/2005/1118/plan9/sys/src/cmd/upas/smtp/smtpd.c:1221,1226 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/cmd/upas/smtp/smtpd.c:1221,1236
	  		}
	  		reply("%d mail process terminated abnormally\r\n", code);
	  	} else {
	+ 		/*
	+ 		 * if a message appeared on stderr, despite good status,
	+ 		 * log it.  this can happen if rewrite.in contains a bad
	+ 		 * r.e., for example.
	+ 		 */
	+ 		if(*s_to_c(err))
	+ 			syslog(0, "smtpd",
	+ 				"%s returned good status, but said: %s",
	+ 				s_to_c(mailer), s_to_c(err));
	+ 
	  		if(filterstate == BLOCKED)
	  			reply("554 we believe this is spam.  we don't accept it.\r\n");
	  		else

-
 [rsc] --rw-rw-r-- M 55859 glenda sys 6695 Nov 18 12:56 sys/src/lib9p/file.c
 [rsc] --rw-rw-r-- M 55859 glenda sys 6695 Nov 18 12:56 sys/src/lib9p/file.c

Add malloc tags.
 [rsc] --rw-rw-r-- M 55859 glenda sys 589 Nov 18 11:32 sys/src/libc/9sys/getenv.c
	/n/sourcesdump/2005/1118/plan9/sys/src/libc/9sys/getenv.c:20,25 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/libc/9sys/getenv.c:20,26
	  	s = seek(f, 0, 2);
	  	ans = malloc(s+1);
	  	if(ans) {
	+ 		setmalloctag(ans, getcallerpc(&name));
	  		seek(f, 0, 0);
	  		r = read(f, ans, s);
	  		if(r >= 0) {
 [rsc] --rw-rw-r-- M 55859 glenda sys 205 Nov 18 11:32 sys/src/libc/fmt/smprint.c
	/n/sourcesdump/2005/1118/plan9/sys/src/libc/fmt/smprint.c:10,14 - 
	/n/sourcesdump/2005/1119/plan9/sys/src/libc/fmt/smprint.c:10,15
	  	va_start(args, fmt);
	  	p = vsmprint(fmt, args);
	  	va_end(args);
	+ 	setmalloctag(p, getcallerpc(&fmt));
	  	return p;
	  }


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].