Subject: Re: NetBSD partition ID
To: Wolfgang Solfrank <port-powerpc@NetBSD.ORG, ws@tools.de>
From: Matthias Drochner <drochner@zelux6.zel.kfa-juelich.de>
List: port-powerpc
Date: 02/25/1998 18:30:17
Excerpts from netbsd: 25-Feb-98 Re: NetBSD partition ID Wolfgang
Solfrank@tools. (516)

> Of course we want to use 0xa9 like the i386.
> 
> I'd be glad if you could change this.  I'm pretty scarce on time
currently :-(.

OK, would this be OK?

best regards
Matthias


Index: conf/GENERIC
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/conf/GENERIC,v
retrieving revision 1.10
diff -c -2 -r1.10 GENERIC
*** GENERIC	1998/02/24 05:45:51	1.10
--- GENERIC	1998/02/25 17:29:28
***************
*** 36,39 ****
--- 36,40 ----
  options 	COMPAT_12
  options 	COMPAT_13
+ options 	COMPAT_386BSD_MBRPART # recognize old partition ID
  
  file-system 	FFS
Index: include/disklabel.h
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/include/disklabel.h,v
retrieving revision 1.2
diff -c -2 -r1.2 disklabel.h
*** disklabel.h	1997/04/16 22:55:10	1.2
--- disklabel.h	1998/02/25 17:29:28
***************
*** 62,66 ****
  /* Known partition types: */
  #define	MBR_EXTENDED	0x05		/* Extended partition */
! #define	MBR_NETBSD	0xa5		/* NetBSD partition */
  
  /* For compatibility reasons (mainly for fdisk): */
--- 62,67 ----
  /* Known partition types: */
  #define	MBR_EXTENDED	0x05		/* Extended partition */
! #define	MBR_NETBSD	0xa9		/* NetBSD partition */
! #define	MBR_386BSD	0xa5		/* 386BSD partition */
  
  /* For compatibility reasons (mainly for fdisk): */
***************
*** 80,84 ****
  #define	NDOSPART	NMBRPART
  
! #define	DOSPTYP_386BSD	MBR_NETBSD
  
  struct cpu_disklabel {
--- 81,85 ----
  #define	NDOSPART	NMBRPART
  
! #define	DOSPTYP_NETBSD	MBR_NETBSD
  
  struct cpu_disklabel {
Index: powerpc/disksubr.c
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/powerpc/disksubr.c,v
retrieving revision 1.2
diff -c -2 -r1.2 disksubr.c
*** disksubr.c	1997/03/26 22:43:01	1.2
--- disksubr.c	1998/02/25 17:29:30
***************
*** 182,185 ****
--- 182,190 ----
  					goto done;
  				break;
+ #ifdef COMPAT_386BSD_MBRPART
+ 			case MBR_386BSD:
+ 				printf("old BSD partition ID!\n");
+ 				/* FALLTHROUGH */
+ #endif
  			case MBR_NETBSD:
  				/* Found the real NetBSD partition, use it */
Index: stand/ofwboot/ofdev.c
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/stand/ofwboot/ofdev.c,v
retrieving revision 1.2
diff -c -2 -r1.2 ofdev.c
*** ofdev.c	1998/02/22 07:42:31	1.2
--- ofdev.c	1998/02/25 17:29:31
***************
*** 205,209 ****
  	for (p = (struct mbr_partition *)(buf + MBRPARTOFF), i = 4;
  	     --i >= 0; p++) {
! 		if (p->mbr_type == MBR_NETBSD) {
  			poff = get_long(&p->mbr_start) + off0;
  			if (strategy(devp, F_READ, poff + LABELSECTOR,
--- 205,215 ----
  	for (p = (struct mbr_partition *)(buf + MBRPARTOFF), i = 4;
  	     --i >= 0; p++) {
! 		if (p->mbr_type == MBR_NETBSD
! #ifdef COMPAT_386BSD_MBRPART
! 		    || (p->mbr_type == MBR_386BSD &&
! 			(printf("old BSD partition ID!\n"), 1)
! 			/* XXX XXX - libsa printf() is void */ )
! #endif
! 		    ) {
  			poff = get_long(&p->mbr_start) + off0;
  			if (strategy(devp, F_READ, poff + LABELSECTOR,