/boot,/mdec,/[T]MSCP (Part 12 of 22)

Steven M. Schultz sms at wlv.imsd.contel.com
Sat May 18 16:49:14 AEST 1991


Subject: Part 12 of 22 /boot,/mdec,[T]MSCP updates
Index:	/sys/<many>, /usr/src/etc/<several> 2.11BSD

Description:
Repeat-By:
Fix:
	See part 0 (the README) for the Description, the Reason and
	the instructions on how update your system.

This is part 12 of 22

Used the delay() routine instead of the macro to save space.
Partitions were changed for the Fuji160 (RM2X drive type).
For the GENERIC kernel the address of the drive type variable is printed 
and a delay of 10 seconds is performed to give time to halt the processor
before accessing the disc.

*** /usr/src/sys/pdpuba/xp.c.old	Tue Apr  3 09:48:00 1990
--- /usr/src/sys/pdpuba/xp.c	Fri May 10 21:54:44 1991
***************
*** 3,9 ****
   * All rights reserved.  The Berkeley software License Agreement
   * specifies the terms and conditions for redistribution.
   *
!  *	@(#)xp.c	1.1 (2.10BSD Berkeley) 12/1/86
   */
  
  /*
--- 3,9 ----
   * All rights reserved.  The Berkeley software License Agreement
   * specifies the terms and conditions for redistribution.
   *
!  *	@(#)xp.c	1.2 (2.11BSD) 5/4/91
   */
  
  /*
***************
*** 230,239 ****
  	   9600,	  0,	/* a: cyl   0 -  29 */
  	   9600,	 30,	/* b: cyl  30 -  59 */
  	 244160,	 60,	/* c: cyl  60 - 822 */
! 	 125440,	 60,	/* d: cyl  60 - 451 */
! 	 118720,	452,	/* e: cyl 452 - 822 */
! 	  59520,	452,	/* f: cyl 452 - 637 */
! 	  59200,	638,	/* g: cyl 638 - 822 */
  	 263360,	  0,	/* h: cyl   0 - 822 */
  }, dv_sizes[8] = { /* Diva Comp V, Ampex 9300 in direct mode */
  	   9405,	  0,	/* a: cyl   0 -  14 */
--- 230,239 ----
  	   9600,	  0,	/* a: cyl   0 -  29 */
  	   9600,	 30,	/* b: cyl  30 -  59 */
  	 244160,	 60,	/* c: cyl  60 - 822 */
! 	 164800,	 60,	/* d: cyl  60 - 574 */
! 	  79360,	575,	/* e: cyl 575 - 822 */
! 	  39680,	575,	/* f: cyl 575 - 698 */
! 	  39680,	699,	/* g: cyl 699 - 822 */
  	 263360,	  0,	/* h: cyl   0 - 822 */
  }, dv_sizes[8] = { /* Diva Comp V, Ampex 9300 in direct mode */
  	   9405,	  0,	/* a: cyl   0 -  14 */
***************
*** 295,300 ****
--- 295,304 ----
  	register int i;
  	register struct hpdevice *xpaddr;
  
+ #if	(PDP11 == GENERIC)
+ 	printf("\nxp_drive=0%o xp_controller=0%o\n",xp_drive,xp_controller);
+ 	delay(10000000L);	/* 10 secs to halt and patch xp_drive */
+ #endif
  	for (i = 0; i < NXPC; i++)
  		if (((xpaddr = xp_controller[i].xp_addr) == 0)
  			|| (xpattach(xpaddr, i) == 0))
***************
*** 381,390 ****
  		xpaddr->hpcs1.w = 0;
  		xpaddr->hpcs2.w = j;
  		xpaddr->hpcs1.w = HP_GO;	/* testing... */
! 		{
! 			int x = 6000;
! 			while (--x);		/* delay */
! 		}
  		dummy = xpaddr->hpds;
  		if (xpaddr->hpcs2.w & HPCS2_NED) {
  			xpaddr->hpcs2.w = HPCS2_CLR;
--- 385,391 ----
  		xpaddr->hpcs1.w = 0;
  		xpaddr->hpcs2.w = j;
  		xpaddr->hpcs1.w = HP_GO;	/* testing... */
! 		delay(6000L);
  		dummy = xpaddr->hpds;
  		if (xpaddr->hpcs2.w & HPCS2_NED) {
  			xpaddr->hpcs2.w = HPCS2_CLR;
***************
*** 1128,1134 ****
  		}
  #endif
  		/* Emulex controller emulating two RM03's needs a delay */
! 		DELAY(50000L);
  		while (xpaddr->hpcs1.w & HP_GO)
  			continue;
  		if (xpaddr->hpcs1.w & HP_TRE) {
--- 1129,1135 ----
  		}
  #endif
  		/* Emulex controller emulating two RM03's needs a delay */
! 		delay(50000L);
  		while (xpaddr->hpcs1.w & HP_GO)
  			continue;
  		if (xpaddr->hpcs1.w & HP_TRE) {



More information about the Comp.bugs.2bsd mailing list