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