xref: /titanic_51/usr/src/uts/common/io/emul64.conf (revision b1dd958f54f8bfa984d306bb8ca8264855761d7b)
1*b1dd958fScth#
2*b1dd958fScth# CDDL HEADER START
3*b1dd958fScth#
4*b1dd958fScth# The contents of this file are subject to the terms of the
5*b1dd958fScth# Common Development and Distribution License, Version 1.0 only
6*b1dd958fScth# (the "License").  You may not use this file except in compliance
7*b1dd958fScth# with the License.
8*b1dd958fScth#
9*b1dd958fScth# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*b1dd958fScth# or http://www.opensolaris.org/os/licensing.
11*b1dd958fScth# See the License for the specific language governing permissions
12*b1dd958fScth# and limitations under the License.
13*b1dd958fScth#
14*b1dd958fScth# When distributing Covered Code, include this CDDL HEADER in each
15*b1dd958fScth# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*b1dd958fScth# If applicable, add the following below this CDDL HEADER, with the
17*b1dd958fScth# fields enclosed by brackets "[]" replaced with your own identifying
18*b1dd958fScth# information: Portions Copyright [yyyy] [name of copyright owner]
19*b1dd958fScth#
20*b1dd958fScth# CDDL HEADER END
21*b1dd958fScth#
22*b1dd958fScth# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
23*b1dd958fScth# Use is subject to license terms.
24*b1dd958fScth#
25*b1dd958fScth#pragma ident	"%Z%%M%	%I%	%E% SMI"
26*b1dd958fScth#
27*b1dd958fScth#-----------------------------
28*b1dd958fScth# ON version of emul64.conf
29*b1dd958fScth#-----------------------------
30*b1dd958fScth#
31*b1dd958fScth#
32*b1dd958fScth# Define Different Drive Sizes:
33*b1dd958fScth#
34*b1dd958fScth#	Compute MSB blocks of X GB disk with dc(1):
35*b1dd958fScth#		X 1024 1024 1024***512/2 32^/16op10op
36*b1dd958fScth#	Compute LSB blocks of X GB disk with dc(1):
37*b1dd958fScth#		X 1024 1024 1024***512/2 32^%16op10op
38*b1dd958fScth#	With nhead = 128 and nsect = 128, Compute ncyl of X GB disk with dc(1):
39*b1dd958fScth#		X 1024 1024 1024***512/128 128*/16op10op
40*b1dd958fScth#	Example: for wombat-drive-1_5TB:
41*b1dd958fScth#		# dc
42*b1dd958fScth#		1024 512+1024 1024 1024***512/2 32^/16op10op
43*b1dd958fScth#		0
44*b1dd958fScth#		0
45*b1dd958fScth#		1024 512+1024 1024 1024***512/2 32^%16op10op
46*b1dd958fScth#		C0000000
47*b1dd958fScth#		3221225472
48*b1dd958fScth#		1024 512+1024 1024 1024***512/128 128*/16op10op
49*b1dd958fScth#		30000
50*b1dd958fScth#		196608
51*b1dd958fScth#
52*b1dd958fScth#	format is:	MSB, LSB		dtype, ncyl	nhead, nsect
53*b1dd958fScth#
54*b1dd958fScthwombat-drive-1GB=	0, 2097152,		0, 128,		128, 128;
55*b1dd958fScthwombat-drive-1TB=	0, 2147483648,		0, 131072,	128, 128;
56*b1dd958fScthwombat-drive-1_5TB=	0, 3221225472,		0, 196608,	128, 128;
57*b1dd958fScthwombat-drive-2TB=	1, 0,			0, 262144,	128, 128;
58*b1dd958fScthwombat-drive-3TB=	1, 2147483648,		0, 393216,	128, 128;
59*b1dd958fScthwombat-drive-5TB=	2, 2147483648,		0, 655360,	128, 128;
60*b1dd958fScth
61*b1dd958fScth#
62*b1dd958fScth# Define Different emul64 HBA instances and children:
63*b1dd958fScth#
64*b1dd958fScth#	We don't define HBAs by default, other tests that live under pshot
65*b1dd958fScth#	(like the devfs testsuite) will fail if emul64 is enabled by default.
66*b1dd958fScth#	The test scripts that use emul64 should enable the required
67*b1dd958fScth#	emul64.conf configuration (and restore a disabled emul64.conf).
68*b1dd958fScth#
69*b1dd958fScth# 	NOTE:	As of %E% the sd target driver does not support
70*b1dd958fScth#		devices >= 2TB. If you configure one format will
71*b1dd958fScth#		complain:
72*b1dd958fScth#			The capacity of this LUN is too large.
73*b1dd958fScth#			Reconfigure this LUN so that it is < 2TB.
74*b1dd958fScth#
75*b1dd958fScth#	Example:
76*b1dd958fScth#
77*b1dd958fScth#name="emul64" parent="pshot" bus-addr="1"
78*b1dd958fScth#	targ_0_0=	"wombat-drive-1GB",	"WOMBAT  1_0_0:1GB";
79*b1dd958fScth#
80*b1dd958fScth#name="emul64" parent="pshot" bus-addr="2"
81*b1dd958fScth#	targ_0_0=	"wombat-drive-1TB",	"WOMBAT  2_0_0:1TB"
82*b1dd958fScth#	targ_1_0=	"wombat-drive-1_5TB",	"WOMBAT  2_1_0:1.5TB";
83*b1dd958fScth#
84*b1dd958fScth
85*b1dd958fScth
86*b1dd958fScth#
87*b1dd958fScth# The following properties can be used to override tunables in the emul64
88*b1dd958fScth# driver.
89*b1dd958fScth#
90*b1dd958fScth#	emul64_collect_stats	0 means do not collect statistics.
91*b1dd958fScth#				Non-zero means to collect statistics.
92*b1dd958fScth#				Default value is 1.
93*b1dd958fScth#
94*b1dd958fScth#	emul64_yield_enable	Non-zero means that emul64 should
95*b1dd958fScth#				periodically yield the CPU to allow other
96*b1dd958fScth#				activities to happen.  Default value is 1.
97*b1dd958fScth#
98*b1dd958fScth#	emul64_yield_period	Number of emul64 I/O operation between
99*b1dd958fScth#				yields of the CPU.  Default is 1000.
100*b1dd958fScth#
101*b1dd958fScth#	emul64_yield_length	Amount of time in microseconds that emul64
102*b1dd958fScth#				should yield the CPU during its periodic
103*b1dd958fScth#				yields.  Default is 1000.
104*b1dd958fScth#
105*b1dd958fScth#	emul64_max_task		Maximum number of task elements in the task
106*b1dd958fScth#				queue for each emul64 controller.  Default
107*b1dd958fScth#				is 16.
108*b1dd958fScth#
109*b1dd958fScth#	emul64_task_nthreads	Specifies the number of threads that should
110*b1dd958fScth#				be used to process a controller's task
111*b1dd958fScth#				queue.  By default this is set at run time
112*b1dd958fScth#				to the number of CPUs on the system.  It
113*b1dd958fScth#				should probably only be set in this file
114*b1dd958fScth#				for special purposes.
115*b1dd958fScth#
116*b1dd958fScth# The driver has the default values preset, so it is only necessary to
117*b1dd958fScth# define these properties in this file if you wish to override the default
118*b1dd958fScth# values.  The following commented lines can be used as a prototype for
119*b1dd958fScth# setting the properties.
120*b1dd958fScth#
121*b1dd958fScth#emul64_collect_stats=1;
122*b1dd958fScth#emul64_yield_enable=1;
123*b1dd958fScth#emul64_yield_period=1000;
124*b1dd958fScth#emul64_yield_length=1000;
125*b1dd958fScth#emul64_max_task=16;
126*b1dd958fScth#emul64_task_nthreads=<ncpu>;
127