~kris/9p

9hist

03f55079d98b99f72d90b042abb1460612f8bf2c — David du Colombier 24 years ago fa33671
Plan 9 from Bell Labs 2002-05-02
M pc/devether.c => pc/devether.c +3 -0
@@ 444,6 444,9 @@ etherreset(void)
		etherxx[ctlrno] = ether;
	}

	if(getconf("*noetherprobe"))
		return;

	cardno = ctlrno = 0;
	while(cards[cardno].type != nil && ctlrno < MaxEther){
		if(etherxx[ctlrno] != nil){

M pc/devi82365.c => pc/devi82365.c +4 -1
@@ 575,12 575,15 @@ devi82365link(void)
	int i, j;
	I82365 *cp;
	PCMslot *pp;
	char buf[32];
	char buf[32], *p;

	if(already)
		return;
	already = 1;

	if((p=getconf("pcmcia0")) && strncmp(p, "disabled", 8)==0)
		return;

	if(_pcmspecial)
		return;
	

M pc/devpccard.c => pc/devpccard.c +4 -0
@@ 504,11 504,15 @@ devpccardlink(void)
	Pcidev *pci;
	int i;
	uchar intl;
	char *p;

	if (initialized) 
		return;
	initialized = 1;

	if((p=getconf("pccard0")) && strncmp(p, "disabled", 8)==0)
		return;

	if(_pcmspecial)
		return;


M pc/devusb.c => pc/devusb.c +3 -0
@@ 451,6 451,9 @@ usbreset(void)
		usbhost[ctlrno] = uh;
	}

	if(getconf("*nousbprobe"))
		return;

	cardno = ctlrno = 0;
	while(usbtypes[cardno].type != nil && ctlrno < MaxUsb){
		if(usbhost[ctlrno] != nil){

M pc/etherelnk3.c => pc/etherelnk3.c +2 -0
@@ 26,6 26,8 @@
 *	5950 PCI	3C595-TX	Fast Etherlink Shared 10BASE-T/100BASE-TX
 *	5951 PCI	3C595-T4	Fast Etherlink Shared 10BASE-T/100BASE-T4
 *	5952 PCI	3C595-MII	Fast Etherlink 10BASE-T/MII

 *	7646 PCI   3CSOHO100-TX Fast Etherlink Small Office Connect (9050 downsized clone)
 *
 *	9000 PCI	3C900-TPO	Etherlink III XL PCI 10BASE-T
 *	9001 PCI	3C900-COMBO	Etherlink III XL PCI 10BASE-T/10BASE-2/AUI

M pc/uarti8250.c => pc/uarti8250.c +5 -5
@@ 564,12 564,12 @@ i8250enable(Uart* uart, int ie)


	/*
	 * During startup, the i8259 interrupt controler is reset.
	 * During startup, the i8259 interrupt controller is reset.
	 * This may result in a lost interrupt from the i8250 uart.
	 * The i8250 thinks the interrupt is still outstanding and does not
	 * generate any further interrupts. To work around this we call the
	 * interrupt handler to clear any pending inerrupt events.
	 * Note this must be done after setting Ier.
	 * generate any further interrupts. The workaround is to call the
	 * interrupt handler to clear any pending interrupt events.
	 * Note: this must be done after setting Ier.
	 */
	if(ie)
		i8250interrupt(nil, uart);


@@ 670,4 670,4 @@ i8250console(void)

	consuart = uart;
	uart->console = 1;
} 
}

M pc/usbuhci.c => pc/usbuhci.c +6 -3
@@ 1480,10 1480,13 @@ reset(Usbhost *uh)
	t->link = PCIWADDR(t);
	ctlr->bwsop->entries = PCIWADDR(t);

	ctlr->ctlq->head = PCIWADDR(ctlr->bwsop) | IsQH;
	ctlr->bwsop->head = PCIWADDR(ctlr->bulkq) | IsQH;
	ctlr->ctlq->head = PCIWADDR(ctlr->bulkq) | IsQH;
	ctlr->bulkq->head = PCIWADDR(ctlr->recvq) | IsQH;
	ctlr->recvq->head = PCIWADDR(ctlr->bwsop) | IsQH;	/* loop back */
	ctlr->recvq->head = PCIWADDR(ctlr->bwsop) | IsQH;
	if (1)	/* don't use loop back */
 		ctlr->bwsop->head = Terminate;
	else	/* set up loop back */
		ctlr->bwsop->head = PCIWADDR(ctlr->bwsop) | IsQH;

	ctlr->frames = xspanalloc(FRAMESIZE, FRAMESIZE, 0);
	ctlr->frameld = xallocz(FRAMESIZE, 1);

M pc/vganvidia.c => pc/vganvidia.c +7 -5
@@ 43,6 43,8 @@ static ushort nvidiadid[] = {
	0x0152,		/* GeForce2 Ultra */
	0x0153,		/* Quadro 2 Pro */
	0x0200,		/* GeForce3 */
	0x0201,
	0x0202,
	0,
};



@@ 219,11 221,11 @@ nvidiacurenable(VGAscr* scr)
}

enum {
	RopFifo = 0x00000000, 
	ClipFifo = 0x00002000,
	PattFifo = 0x00004000,
	BltFifo = 0x00008000,
	BitmapFifo = 0x0000A000,
	RopFifo 		= 0x00000000, 
	ClipFifo 		= 0x00002000,
	PattFifo 		= 0x00004000,
	BltFifo 		= 0x00008000,
	BitmapFifo 	= 0x0000A000,
};

enum {

M port/devmouse.c => port/devmouse.c +2 -1
@@ 153,7 153,8 @@ mouseopen(Chan *c, int omode)
		unlock(&mouse);
		break;
	case Qmousein:
	/*	error("disabled");	*/
		if(!iseve())
			error(Eperm);
		lock(&mouse);
		if(mouse.inopen){
			unlock(&mouse);

M port/devproc.c => port/devproc.c +5 -0
@@ 36,6 36,7 @@ enum
	CMhang,
	CMkill,
	CMnohang,
	CMnoswap,
	CMpri,
	CMprivate,
	CMprofile,


@@ 80,6 81,7 @@ Cmdtab proccmd[] = {
	CMfixedpri,	"fixedpri",		2,
	CMhang,		"hang",		1,
	CMnohang,	"nohang",		1,
	CMnoswap,	"noswap",		1,
	CMkill,		"kill",		1,
	CMpri,		"pri",			2,
	CMprivate,	"private",		1,


@@ 1116,6 1118,9 @@ procctlreq(Proc *p, char *va, int n)
	case CMnohang:
		p->hang = 0;
		break;
	case CMnoswap:
		p->noswap = 1;
		break;
	case CMpri:
		i = atoi(cb->f[1]);
		if(i < 0)

M port/portdat.h => port/portdat.h +5 -4
@@ 605,6 605,7 @@ struct Proc
	Proc	*palarm;	/* Next alarm time */
	ulong	alarm;		/* Time of call */
	int	newtlb;		/* Pager has changed my pte's, I must flush */
	int	noswap;		/* process is not swappable */

	ulong	rendtag;	/* Tag for rendezvous */
	ulong	rendval;	/* Value for rendezvous */


@@ 622,10 623,10 @@ struct Proc
	Sargs	s;		/* address of this is known by db */
	int	nerrlab;
	Label	errlab[NERR];
	char *syserrstr;			/* last error from a system call, errbuf0 or 1 */
	char *errstr;			/* reason we're unwinding the error stack, errbuf1 or 0 */
	char errbuf0[ERRMAX];
	char errbuf1[ERRMAX];
	char	*syserrstr;	/* last error from a system call, errbuf0 or 1 */
	char	*errstr;	/* reason we're unwinding the error stack, errbuf1 or 0 */
	char	errbuf0[ERRMAX];
	char	errbuf1[ERRMAX];
	char	genbuf[128];	/* buffer used e.g. for last name element from namec */
	Chan	*slash;
	Chan	*dot;

M port/proc.c => port/proc.c +2 -0
@@ 355,6 355,7 @@ newproc(void)
	p->wired = 0;
	p->ureg = 0;
	p->privatemem = 0;
	p->noswap = 0;
	p->lockwait = nil;
	p->errstr = p->errbuf0;
	p->syserrstr = p->errbuf1;


@@ 1056,6 1057,7 @@ kproc(char *name, void (*func)(void *), void *arg)
	p->psstate = 0;
	p->procmode = 0640;
	p->kp = 1;
	p->noswap = 1;

	p->fpsave = up->fpsave;
	p->scallnr = up->scallnr;

M port/swap.c => port/swap.c +1 -1
@@ 124,7 124,7 @@ loop:
			if(p >= ep)
				p = proctab(0);
	
			if(p->state == Dead || p->kp)
			if(p->state == Dead || p->noswap)
				continue;

			if(!canqlock(&p->seglock))

M port/sysproc.c => port/sysproc.c +1 -0
@@ 109,6 109,7 @@ sysrfork(ulong *arg)

	memmove(p->note, up->note, sizeof(p->note));
	p->privatemem = up->privatemem;
	p->noswap = up->noswap;
	p->nnote = up->nnote;
	p->notified = 0;
	p->lastnote = up->lastnote;