Ultrix-3.1/sys/conf/dksizes.c


/**********************************************************************
 *   Copyright (c) Digital Equipment Corporation 1984, 1985.	      *
 *   All Rights Reserved. 					      *
 *   Reference "/usr/include/COPYRIGHT" for applicable restrictions.  *
 **********************************************************************/

/*
 * SCCSID: @(#)dksizes.c	3.1	3/26/87
 */

/*
 * Following prevents including unneeded code
 * in ra_info.h
 */
#ifdef	KERNEL
#undef	KERNEL
#endif	KERNEL

/*
 * If USEP defined, this file included in one of
 * the USEP disk exercisers, such as, rax1.c, hpx1.c, etc.
 */
#ifndef	USEP
#include "dds.h"
#include <sys/types.h>
#if	NUDA > 0
#include <sys/ra_info.h>
#endif
#endif	USEP



/*
 * HK - RK06/7 Disk Partition Layout
 *
 * GENERAL RULES:
 *
 *  1.	If at all possible, you should use the standard disk partition
 *	layout. If you choose to change the disk partition layout, you
 *	own the responsibility for any file system damage and/or loss of
 *	data caused by an improper disk partition layout.
 *
 *	MAKE A BACKUP COPY OF THIS FILE BEFORE IMPLEMENTING ANY CHANGES
 *
 *  2.	Do not change the HK partition layout if the RK06/7 is the system
 *	disk, that is, the disk where the root, swap, error log, and /usr
 *	file systems are located.
 *
 *  3.	The partition layout is defined, by the sizes table shown below, on
 *	a per controller basis not per drive. The sizes must be the same for
 *	each drive on the controller. However, not all partitions are used
 *	on all drives.
 *
 *  4.	The disk partition layout is not dynamic, that is, the sizes table
 *	becomes an integral part of the kernel during system generation.
 *	Changes to the partition layout do not take effect until you make
 *	and install a new kernel. The recommended procedure is to study your
 *	file system needs carefully, then make any necessary disk partition
 *	layout changes before setting up any user file systems. Subsequent
 *	disk layout changes are strongly discouraged, because of possible
 *	damage to existing file systems and the unpleasant possibility of
 *	accidently booting an old kernel with an invalid sizes table.
 *
 *  5.	Disk partitions must start on a cylinder boundary.
 *
 *  6.	Disk partitions may overlap, but you must make sure that only one
 *	overlapping partition is used on any given drive.
 *
 *  7.	If you use previously unused partitions the setup program will
 *	not automatically make the special files for those partitions.
 *	You should use the -f option of the msf command to make the
 *	special files for these newly used partitions. See msf(1) for
 *	more information about the msf -f option.
 *
 *  8.	The last 44 sectors of the last cylinder are reserved for the bad
 *	sector file and replacement sectors. This reserved area must not be
 *	included in any disk partition.
 *

 *
 * RK06/7 DISK LAYOUT:
 *
 *	First number is the partition number.
 *	Second number is the partition size in 512 byte sectors.
 *	Third is the partition usage.
 *
 *
 *		RK06
 *	+-----------------------+
 *	| 0   7920  root	|
 *	|			|
 *	+-----------------------+
 *	| 1    100  error log	|
 *	|     2936  swap	|
 *	+-----------------------+
 *	| 2  16126  /usr	|
 *	|			|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 44 bad sector file	|
 *	+-----------------------+
 *	  6  27082  user
 *
 *
 *		RK07
 *	+-----------------------+
 *	| 0   7920  root	|
 *	|			|
 *	+-----------------------+
 *	| 1    100  error log	|
 *	|     2936  swap	|
 *	+-----------------------+
 *	| 3  42790  /usr	|
 *	|			|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 44 bad sector file	|
 *	+-----------------------+
 *	  7  53746  user
 *

 *
 * SIZES STRUCTURE DEFINITION:
 *
 *	struct hksize {
 *		daddr_t	nblocks;
 *		int	cyloff;
 *	};
 *
 *	nblocks - Defines the length of a partition in 512 byte sectors.
 *		  Two sectors make up one 1024 byte file system logical block.
 *
 *	cyloff	- Defines where the partition begins, that is, its starting
 *		  cylinder number relative to the physical beginning of the
 *		  disk.
 *
 * DISK GEOMETRY INFORMATION:
 *
 *	RK06 has 411 cylinders with 66 sectors per cylinder.
 *	RK07 has 815 cylinders with 66 sectors per cylinder.
 *
 *	Note - last 44 sectors of last cylinder reserved for bad sector file.
 *
 */

#if	NHK > 0
struct	hksize {
	daddr_t	nblocks;
	int	cyloff;
} hk_sizes[8] = {
	7920,	0,	/* 0: cyl   0-119, root on rk06/7		*/
	3036,	120,	/* 1: cyl 120-165, swap+errlog on rk06/7	*/
	16126,	166,	/* 2: cyl 166-409(+22 blks), /usr on rk06	*/
	42790,	166,	/* 3: cyl 166-813(+22 blks), /usr on rk07	*/
	0,	0,	/* 4: not used					*/
	0,	0,	/* 5: not used					*/
	27082,	0,	/* 6: cyl   0-409(+22 blks), all of rk06	*/
	53746,	0,	/* 7: cyl   0-813(+22 blks), all of rk07	*/
};
#endif


/*
 * RP - RP02/3 Disk Partition Layout
 *
 * GENERAL RULES:
 *
 *  1.	If at all possible, you should use the standard disk partition
 *	layout. If you choose to change the disk partition layout, you
 *	own the responsibility for any file system damage and/or loss of
 *	data caused by an improper disk partition layout.
 *
 *	MAKE A BACKUP COPY OF THIS FILE BEFORE IMPLEMENTING ANY CHANGES
 *
 *  2.	Do not change the RP partition layout if the RP02/3 is the system
 *	disk, that is, the disk where the root, swap, error log, and /usr
 *	file systems are located.
 *
 *  3.	The partition layout is defined, by the sizes table shown below, on
 *	a per controller basis not per drive. The sizes must be the same for
 *	each drive on the controller. However, not all partitions are used
 *	on all drives.
 *
 *  4.	The disk partition layout is not dynamic, that is, the sizes table
 *	becomes an integral part of the kernel during system generation.
 *	Changes to the partition layout do not take effect until you make
 *	and install a new kernel. The recommended procedure is to study your
 *	file system needs carefully, then make any necessary disk partition
 *	layout changes before setting up any user file systems. Subsequent
 *	disk layout changes are strongly discouraged, because of possible
 *	damage to existing file systems and the unpleasant possibility of
 *	accidently booting an old kernel with an invalid sizes table.
 *
 *  5.	Disk partitions must start on a cylinder boundary.
 *
 *  6.	Disk partitions may overlap, but you must make sure that only one
 *	overlapping partition is used on any given drive.
 *
 *  7.	If you use previously unused partitions the setup program will
 *	not automatically make the special files for those partitions.
 *	You should use the -f option of the msf command to make the
 *	special files for these newly used partitions. See msf(1) for
 *	more information about the msf -f option.
 *

 *
 * RP02/3 DISK LAYOUT:
 *
 *	First number is the partition number.
 *	Second number is the partition size in 512 byte sectors.
 *	Third is the partition usage.
 *
 *		RP02
 *	+-----------------------+
 *	| 0   8400  root	|
 *	|			|
 *	+-----------------------+
 *	| 1    100  error log	|
 *	|     3100  swap	|
 *	+-----------------------+
 *	| 2  28400  /usr	|
 *	|			|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	  6  40000  user
 *
 *
 *		RP03
 *	+-----------------------+
 *	| 0   8400  root	|
 *	|			|
 *	+-----------------------+
 *	| 1    100  error log	|
 *	|     3100  swap	|
 *	+-----------------------+
 *	| 3  68400  /usr	|
 *	|			|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	  7  80000  user
 *

 *
 * SIZES STRUCTURE DEFINITION:
 *
 *	struct rpsize {
 *		daddr_t	nblocks;
 *		int	cyloff;
 *	};
 *
 *	nblocks - Defines the length of a partition in 512 byte sectors.
 *		  Two sectors make up one 1024 byte file system logical block.
 *
 *	cyloff	- Defines where the partition begins, that is, its starting
 *		  cylinder number relative to the physical beginning of the
 *		  disk.
 *
 * DISK GEOMETRY INFORMATION:
 *
 *	RP02 has 200 cylinders with 200 sectors per cylinder.
 *	RP03 has 400 cylinders with 200 sectors per cylinder.
 *
 */

#if	NRP > 0
struct	rpsize {
	daddr_t	nblocks;
	int	cyloff;
} rp_sizes[] = {
	8400,	0,	/* 0: cyl   0- 41, root file system		*/
	3200,	42,	/* 1: cyl  42- 57, swap + error log		*/
	28400,	58,	/* 2: cyl  58-199, /usr for RP02		*/
	68400,	58,	/* 3: cyl  58-399, /usr for RP03		*/
	0,	0,	/* 4: not used					*/
	0,	0,	/* 5: not used					*/
	40000,	0,	/* 6: cyl   0-199, all of RP02 pack		*/
	80000,	0,	/* 7: cyl   0-399, all of RP03 pack		*/
};
#endif


/*
 * HP - RH11/RH70 MASSBUS Disk Partition Layout
 *
 *	HP - First  RH11/RH70 with RM02/3/5, RP04/5/6, ML11 disks
 *	HM - Second RH11/RH70 with RM02/3/5, RP04/5/6, ML11 disks
 *	HJ - Third  RH11/RH70 with RM02/3/5, RP04/5/6, ML11 disks
 *
 * GENERAL RULES:
 *
 *  1.	If at all possible, you should use the standard disk partition
 *	layout. If you choose to change the disk partition layout, you
 *	own the responsibility for any file system damage and/or loss of
 *	data caused by an improper disk partition layout.
 *
 *	MAKE A BACKUP COPY OF THIS FILE BEFORE IMPLEMENTING ANY CHANGES
 *
 *  2.	If the system disk is on an RH11/RH70 controller, do not change any
 *	of the partitions listed below. The system disk is where the root,
 *	swap, error log, and /usr file systems reside. Do not change the
 *	ML11 partitions, they are filled in by the driver.
 *
 *	Disks		Fixed Partitions
 *	-----		----------------
 *	RM02/3/5	0, 1, 2, & 7
 *	RP04/5		0, 1, 2, & 6
 *	RP06		0, 1, 2, 6, & 7
 *
 *  3.	The partition layout is defined, by the sizes table shown below, on
 *	a per controller basis not per drive. The sizes must be the same for
 *	each drive on the controller. However, not all partitions are used
 *	on all drives.
 *
 *  4.	The disk partition layout is not dynamic, that is, the sizes table
 *	becomes an integral part of the kernel during system generation.
 *	Changes to the partition layout do not take effect until you make
 *	and install a new kernel. The recommended procedure is to study your
 *	file system needs carefully, then make any necessary disk partition
 *	layout changes before setting up any user file systems. Subsequent
 *	disk layout changes are strongly discouraged, because of possible
 *	damage to existing file systems and the unpleasant possibility of
 *	accidently booting an old kernel with an invalid sizes table.
 *
 *  5.	Disk partitions must start on a cylinder boundary.
 *
 *  6.	Disk partitions may overlap, but you must make sure that only one
 *	overlapping partition is used on any given drive.
 *
 *  7.	If you use previously unused partitions the setup program will
 *	not automatically make the special files for those partitions.
 *	You should use the -f option of the msf command to make the
 *	special files for these newly used partitions. See msf(1) for
 *	more information about the msf -f option.

 *
 *  8.	The last N sectors of the last cylinder are reserved for the bad
 *	sector file and replacement sectors. This reserved area must not be
 *	included in any disk partition.
 *
 *	N = 44 for RP04/5/6, N = 64 for RM02/3/5
 *
 *  9.	The UEG_LOCAL definition allows Digital's ULTRIX Engineering Group
 *	to implement its own partition layout for RM02/3 disks. You should
 *	make any local changes to the RM02/3 sizes table following the #else
 *	statement.
 *
 *
 * RH11/RH70 MASSBUS DISKS LAYOUT:
 *
 *	First number is the partition number.
 *	Second number is the partition size in 512 byte sectors.
 *	Third is the partition usage.
 *
 *
 *
 *		RM02/3
 *	+-----------------------+
 *	| 0    9120  root	|
 *	|			|
 *	+-----------------------+
 *	| 1   20000  /usr	|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 2     200  error log	|
 *	|      5400  swap	|
 *	+-----------------------+
 *	| 3   96896  user	|
 *	|			|
 *	|			|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 64 bad block file	|
 *	+-----------------------+
 *	  7 131616  user
 *

 *
 *		RM05
 *	+-----------------------+
 *	| 0   10336  root	|
 *	|			|
 *	+-----------------------+
 *	| 1   21280  /usr	|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 2     300  error log	|
 *	|      6388  swap	|
 *	+-----------------------+-----------------------+
 *	| 3  462016  user	| 4  153824  user	|
 *	|			|			|
 *	|			|			|
 *	|			|			|
 *	|			+-----------------------+
 *	|			| 5  153824  user	|
 *	|			|			|
 *	|			|			|
 *	|			|			|
 *	|			+-----------------------+
 *	|			| 6  154368  user	|
 *	|			|			|
 *	|			|			|
 *	|			|			|
 *	+-----------------------+-----------------------+
 *	| 64 bad block file				|
 *	+-----------------------+-----------------------+
 *	  7  500320  user

 *		RP04/5
 *	+-----------------------+
 *	| 0    9614  root	|
 *	|			|
 *	+-----------------------+
 *	| 1   20064  /usr	|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 2     200  error log	|
 *	|      6070  swap	|
 *	+-----------------------+
 *	| 3  135806  user	|
 *	|			|
 *	|			|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 44 bad block file	|
 *	+-----------------------+
 *	  6  171754  user
 *
 *
 *		RP06
 *	+-----------------------+
 *	| 0    9614  root	|
 *	|			|
 *	+-----------------------+
 *	| 1   20064  /usr	|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 2     200  error log	|
 *	|      6070  swap	|
 *	+-----------------------+-----------------------+
 *	| 4  304678  user	| 3  135806  user	|
 *	|			|			|
 *	|			|			|
 *	|			+-----------------------+
 *	|			| 44 unused		|
 *	|			+-----------------------+
 *	|			| 5  168828  user	|
 *	|			|			|
 *	|			|			|
 *	|			|			|
 *	+-----------------------+-----------------------+
 *	| 44 bad block file				|
 *	+-----------------------+-----------------------+
 *	  6  171754  user
 *	  7  340626  user
 *
 *	Note - the RP06 can be split into two large sections
 *	       by using partitions 5 and 6.
 *

 *
 * SIZES STRUCTURE DEFINITION:
 *
 *	struct hpsize {
 *		daddr_t	nblocks;
 *		int	cyloff;
 *	};
 *
 *	nblocks - Defines the length of a partition in 512 byte sectors.
 *		  Two sectors make up one 1024 byte file system logical block.
 *
 *	cyloff	- Defines where the partition begins, that is, its starting
 *		  cylinder number relative to the physical beginning of the
 *		  disk.
 *
 * DISK GEOMETRY INFORMATION:
 *
 *	RM02/3 have 823 cylinders with 160 sectors per cylinder.
 *	RM05 has 823 cylinders with 608 sectors per cylinder.
 *	RP04/5 have 411 cylinders with 418 sectors per cylinder.
 *	RP06 has 815 cylinders with 418 sectors per cylinder.
 *
 *	Note - last 44 sectors (RP04/5/6) or last 64 sectors (RM02/3/5)
 *	       of the last cylinder are reserved for the bad sector file.
 *
 */


#if	NRH > 0
struct	hpsize {
	daddr_t	nblocks;
	int	cyloff;
} hp_sizes[32] = {	/* size of 32 also hardwired into HPX */
 			/* RP04/5/6 disk sizes table */
	9614,	0,	/* 0: cyl   0- 22, root file system		*/
	20064,	23,	/* 1: cyl  23- 70, /usr file system		*/
	6270,	71,	/* 2: cyl  71- 85, swap + error log		*/
	135806,	86,	/* 3: cyl  86-409(+374 blks), user		*/
	304678,	86,	/* 4: cyl  86-813(+374 blks), user		*/
	168828,	411,	/* 5: cyl 411-813(+374 blks), user		*/
	171754,	0,	/* 6: cyl   0-409(+374 blks), user - all rp04/5	*/
	340626,	0,	/* 7: cyl   0-813(+374 blks), user - all rp06	*/

			/* RM02/3 disk sizes table */
	9120,	0,	/* 0: cyl   0- 56, root file system		*/
	20000,	57,	/* 1: cyl  57-181, swap + error log		*/
	5600,	182,	/* 2: cyl 182-216, /usr file system		*/
	96896,	217,	/* 3: cyl 217-821(+96 blks), user		*/
#ifdef	UEG_LOCAL
	32160,	217,	/* 4: cyl 217-417, UEG kit building		*/
	32160,	418,	/* 5: cyl 418-618, UEG kit building		*/
	32576,	619,	/* 6: cyl 619-821(+96 blks), UEG kit building	*/
#else
	0,	0,	/* 4: not used					*/
	0,	0,	/* 5: not used					*/
	0,	0,	/* 6: not used					*/
#endif	UEG_LOCAL
	131616,	0,	/* 7: cyl   0-821(+96 blks), user - entire disk	*/

			/* RM05 disk sizes table */
	10336,	0,	/* 0: cyl   0- 16, root file system		*/
	21280,	17,	/* 1: cyl  17- 51, /usr file system		*/
	6688,	52,	/* 2: cyl  52- 62, swap + error log		*/
	462016,	63,	/* 3: cyl  63-821(+544 blks), user		*/
	153824,	63,	/* 4: cyl  63-315, user				*/
	153824,	316,	/* 5: cyl 316-568, user				*/
	154368, 569,	/* 6: cyl 569-821(+544 blks), user		*/
	500320,	0,	/* 7: cyl   0-821(+544 blks), user - whole pack	*/

			/* ML11 solid state disk sizes table */
	0,	0,	/* ML11  unit	0	*/
	0,	0,	/*		1	*/
	0,	0,	/*		2	*/
	0,	0,	/*		3	*/
	0,	0,	/*		4	*/
	0,	0,	/*		5	*/
	0,	0,	/*		6	*/
	0,	0,	/*		7	*/
};
#endif


/*
 * RA - MSCP Disk Partition Layout
 *
 *	UDA50 - RA60/RA80/RA81
 *	KLESI - RC25
 *	RQDX1/2/3 - RD31/RD32/RD51/RD52/RD53/RD54/RX50/RX33
 *	RUX1  - RX50
 *
 * GENERAL RULES:
 *
 *  1.	If at all possible, you should use the standard disk partition
 *	layout. If you choose to change the disk partition layout, you
 *	own the responsibility for any file system damage and/or loss of
 *	data caused by an improper disk partition layout.
 *
 *	MAKE A BACKUP COPY OF THIS FILE BEFORE IMPLEMENTING ANY CHANGES
 *
 *  2.	The system disk is where the root, swap, error log, and /usr file
 *	systems reside. If the system disk is an RA60/RA80/RA81, do not
 *	change partitions 0, 1, 2, and 7. If the system disk is an RC25,
 *	do not change partitions 0, 1, 2, and 7. RC25 partitions 4, 5, and
 *	6 may be used on non system disks.
 *
 *	Do not change any partitions for RD31/RD32/RD51/RD52/RD53/RD54 disks.
 *	Never changes partition 7 for any MSCP disk.
 *
 *  3.	The partition layout is defined, by the sizes table shown below, on
 *	a per controller basis not per drive. The sizes must be the same for
 *	each drive on the controller. However, not all partitions are used
 *	on all drives.
 *
 *  4.	The disk partition layout is not dynamic, that is, the sizes table
 *	becomes an integral part of the kernel during system generation.
 *	Changes to the partition layout do not take effect until you make
 *	and install a new kernel. The recommended procedure is to study your
 *	file system needs carefully, then make any necessary disk partition
 *	layout changes before setting up any user file systems. Subsequent
 *	disk layout changes are strongly discouraged, because of possible
 *	damage to existing file systems and the unpleasant possibility of
 *	accidently booting an old kernel with an invalid sizes table.
 *
 *  5.	Disk partitions may overlap, but you must make sure that only one
 *	overlapping partition is used on any given drive.
 *
 *  6.	If you use previously unused partitions the setup program will
 *	not automatically make the special files for those partitions.
 *	You should use the -f option of the msf command to make the
 *	special files for these newly used partitions. See msf(1) for
 *	more information about the msf -f option.
 *
 *  7.	The MSCP disks have a maintenance area at the end of the disk. This
 *	area is reserved for use by the MSCP disk exerciser (RAX). No disk
 *	partition may overlap the maintenance area.
 *

 *
 * MSCP DISKS LAYOUT:
 *
 *	First number is the partition number.
 *	Second number is the partition size in 512 byte sectors.
 *	Third is the partition usage.
 *
 *
 *
 *		RD31
 *	+-----------------------+
 *	| 0   9700  root	|
 *	|			|
 *	+-----------------------+
 *	| 5    100  error log	|
 *	|     3000  swap	|
 *	+-----------------------+
 *	| 6  28728  /usr	|
 *	|			|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 32 maintenance area	|
 *	+-----------------------+
 *	  7  41560  (user = 41528)
 *
 *
 *		RD32
 *	+-----------------------+
 *	| 0   9700  root	|
 *	|			|
 *	+-----------------------+
 *	| 1  17300  /usr	|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 2    100  error log	|
 *	|     3000  swap	|
 *	+-----------------------+
 *	| 3  53072  user	|
 *	|			|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 32 maintenance area	|
 *	+-----------------------+
 *	  7  83204  (user = 83172)

 *
 *		RD51
 *	+-----------------------+
 *	| 0   7460  root	| (9260 total)
 *	|       40  error log	|
 *	|     2200  swap	|
 *	+-----------------------+
 *	| 4  11868  /usr	|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	|  32 maintenance area	|
 *	+-----------------------+
 *	  7  21600  (user = 21568)
 *
 *
 *		RD52
 *	+-----------------------+
 *	| 0   9700  root	|
 *	|			|
 *	+-----------------------+
 *	| 1  17300  /usr	|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 2    100  error log	|
 *	|     3000  swap	|
 *	+-----------------------+
 *	| 3  30348  user	|
 *	|			|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 32 maintenance area	|
 *	+-----------------------+
 *	  7  60480  (user = 60448)

 *
 *		RD53
 *	+-----------------------+
 *	| 0   9700  root	|
 *	|			|
 *	+-----------------------+
 *	| 1  17300  /usr	|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 2    100  error log	|
 *	|     3000  swap	|
 *	+-----------------------+
 *	| 3 108540  user	|
 *	|			|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 32 maintenance area	|
 *	+-----------------------+
 *	  7  138672  (user = 138640)
 *
 *
 *		RD54
 *	+-----------------------+
 *	| 0   9700  root	|
 *	|			|
 *	+-----------------------+
 *	| 1  17300  /usr	|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 2    100  error log	|
 *	|     3000  swap	|
 *	+-----------------------+
 *	| 3 281068  user	|
 *	|			|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 32 maintenance area	|
 *	+-----------------------+
 *	  7  311200  (user = 311168)
 *
 *
 *		RC25
 *	+-----------------------+
 *	| 0   9000  root	|
 *	|			|
 *	+-----------------------+
 *	| 1    200  error log	|
 *	|     4000  swap	|
 *	+-----------------------+
 *	| 2  37600  user	|
 *	|			|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 102 maintenance area	|
 *	+-----------------------+
 *	  7  50902  (user = 50800)

 *
 *		RA80
 *	+-----------------------+
 *	| 0    9600  root	|
 *	|			|
 *	+-----------------------+
 *	| 1   20000  /usr	|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 2     200  error log	|
 *	|      6000  swap	|
 *	+-----------------------+
 *	| 3  200412  user	|
 *	|			|
 *	|			|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 1000 maintenance area	|
 *	+-----------------------+
 *	  7 = 237212  (user = 236212)
 *
 *
 *		RA60
 *	+-----------------------+
 *	| 0    9600  root	|
 *	|			|
 *	+-----------------------+
 *	| 1   20000  /usr	|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 2     200  error log	|
 *	|      6000  swap	|
 *	+-----------------------+-----------------------+
 *	| 3  363376  user	| 4  181688  user	|
 *	|			|			|
 *	|			|			|
 *	|			|			|
 *	|			+-----------------------+
 *	|			| 5  181688  user	|
 *	|			|			|
 *	|			|			|
 *	|			|			|
 *	+-----------------------+-----------------------+
 *	| 1000 maintenance area				|
 *	+-----------------------+-----------------------+
 *	  7 = 400176  (user = 399176)
 *
 *
 *		RA81
 *	+-----------------------+
 *	| 0    9600  root	|
 *	|			|
 *	+-----------------------+
 *	| 1   20000  /usr	|
 *	|			|
 *	|			|
 *	+-----------------------+
 *	| 2     200  error log	|
 *	|      6000  swap	|
 *	+-----------------------+-----------------------+
 *	| 3  854272  user	| 4  181688  user	|
 *	|			|			|
 *	|			|			|
 *	|			|			|
 *	|			+-----------------------+
 *	|			| 5  181688  user	|
 *	|			|			|
 *	|			|			|
 *	|			|			|
 *	|			+-----------------------+
 *	|			| 6  490896  user	|
 *	|			|			|
 *	|			|			|
 *	|			|			|
 *	|			|			|
 *	|			|			|
 *	|			|			|
 *	+-----------------------+-----------------------+
 *	| 1000 maintenance area				|
 *	+-----------------------+-----------------------+
 *	  7 = 891072  (user = 890072)

 *
 * SIZES STRUCTURE DEFINITION:
 *
 *	struct rasize {
 *		daddr_t	nblocks;
 *		daddr_t	blkoff;
 *	};
 *
 *	nblocks - Defines the length of a partition in 512 byte blocks.
 *		  Two blocks make up one 1024 byte file system logical block.
 *
 *	Note	- nblocks has two values with special meaning:
 *
 *		  An nblocks value of -1 specifies a partition length of
 *		  the size of the entire disk minus the partition's starting
 *		  block number. In other words, the partition ends at the
 *		  end of the disk.
 *
 *		  An nblocks value of -2 specifies a partition length of
 *		  the size of the disk minus the size of the maintenance
 *		  area minus the starting block number of the partition.
 *		  In other words, the partition ends at the start of the
 *		  maintenance area.
 *
 *	blkoff	- Defines where the partition begins, that is, its starting
 *		  block number relative to the physical beginning of the disk.
 *
 * DISK GEOMETRY INFORMATION:
 *
 *	For the MSCP disks, the sizes table is defined in terms of block
 *	numbers. The concept of cylinders is not used.
 *
 *
 */


#if	NUDA > 0

/*
 * The rasize structure is defined in /usr/include/sys/ra_info.h.
 */

struct	rasize	ud_sizes[8] = {	/* UDA50-RA60/RA80/RA81 */
	9600,	0,	/* 0: root 			*/
	20000,	9600,	/* 1: /usr			*/
	6200,	29600,	/* 2: swap + error log		*/
	-2,	35800,	/* 3: user			*/
	181688,	35800,	/* 4: user			*/
	181688,	217488,	/* 5: user			*/
	-2,	399176,	/* 6: user			*/
	-1,	0,	/* 7: user			*/
};

/*
 * CAUTION:
 *	If your distribution or system disk is an RC25,
 *	do not change partitions 3 or 4. The sdload and
 *	setup programs depend on partitions 3 and 4
 *	being known locations.
 */
struct	rasize	rc_sizes[8] = {	/* KLESI-RC25 */
	9000,	0,	/* 0: root			*/
	4200,	9000,	/* 1: swap + error log		*/
	-2,	13200,	/* 2: /usr			*/
	12000,	13200,	/* 3: DISTRIBUTION DISK ONLY	*/
	-2,	25200,	/* 4: DISTRIBUTION DISK ONLY	*/
	0,	0,	/* 5: not used			*/
	0,	0,	/* 6: not used			*/
	-1,	0,	/* 7: user			*/
};

/*
 * Sizes for RD31/RD32/RD51/RD52/RD53/RD54/RX50/RX33 disks.
 */
struct	rasize	rq_sizes[8] = {	/* RQDX1/RQDX2/RQDX3/RUX1 */
	9700,	0,		/* RD31-32,51-54 root (swap+error log - rd51) */
	17300,	9700,		/* RD32/RD52/RD53/RD54 /usr */
	3100,	27000,		/* RD32/RD52/RD53/RD54 swap + error log */
	-2,	30100,		/* RD32/RD52/RD53/RD54 user files */
	-2,	9700,		/* RD51 /usr */
	3100,	9700,		/* RD31 swap + error log */
	-2,	12800,		/* RD31 /usr */
	-1,	0,		/* RD31-32, RD51-54 entire disk */
};
#endif