xref: /illumos-gate/usr/src/uts/common/io/emul64.conf (revision e8921a52c53ee69f7b65f054d9b2e886139daa59)
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#pragma ident	"%Z%%M%	%I%	%E% SMI"
26#
27#-----------------------------
28# ON version of emul64.conf
29#-----------------------------
30#
31#
32# Define Different Drive Sizes:
33#
34#	Compute MSB blocks of X GB disk with dc(1):
35#		X 1024 1024 1024***512/2 32^/16op10op
36#	Compute LSB blocks of X GB disk with dc(1):
37#		X 1024 1024 1024***512/2 32^%16op10op
38#	With nhead = 128 and nsect = 128, Compute ncyl of X GB disk with dc(1):
39#		X 1024 1024 1024***512/128 128*/16op10op
40#	Example: for wombat-drive-1_5TB:
41#		# dc
42#		1024 512+1024 1024 1024***512/2 32^/16op10op
43#		0
44#		0
45#		1024 512+1024 1024 1024***512/2 32^%16op10op
46#		C0000000
47#		3221225472
48#		1024 512+1024 1024 1024***512/128 128*/16op10op
49#		30000
50#		196608
51#
52#	format is:	MSB, LSB		dtype, ncyl	nhead, nsect
53#
54wombat-drive-1GB=	0, 2097152,		0, 128,		128, 128;
55wombat-drive-1TB=	0, 2147483648,		0, 131072,	128, 128;
56wombat-drive-1_5TB=	0, 3221225472,		0, 196608,	128, 128;
57wombat-drive-2TB=	1, 0,			0, 262144,	128, 128;
58wombat-drive-3TB=	1, 2147483648,		0, 393216,	128, 128;
59wombat-drive-5TB=	2, 2147483648,		0, 655360,	128, 128;
60
61#
62# Define Different emul64 HBA instances and children:
63#
64#	We don't define HBAs by default, other tests that live under pshot
65#	(like the devfs testsuite) will fail if emul64 is enabled by default.
66#	The test scripts that use emul64 should enable the required
67#	emul64.conf configuration (and restore a disabled emul64.conf).
68#
69# 	NOTE:	As of %E% the sd target driver does not support
70#		devices >= 2TB. If you configure one format will
71#		complain:
72#			The capacity of this LUN is too large.
73#			Reconfigure this LUN so that it is < 2TB.
74#
75#	Example:
76#
77#name="emul64" parent="pshot" bus-addr="1"
78#	targ_0_0=	"wombat-drive-1GB",	"WOMBAT  1_0_0:1GB";
79#
80#name="emul64" parent="pshot" bus-addr="2"
81#	targ_0_0=	"wombat-drive-1TB",	"WOMBAT  2_0_0:1TB"
82#	targ_1_0=	"wombat-drive-1_5TB",	"WOMBAT  2_1_0:1.5TB";
83#
84
85
86#
87# The following properties can be used to override tunables in the emul64
88# driver.
89#
90#	emul64_collect_stats	0 means do not collect statistics.
91#				Non-zero means to collect statistics.
92#				Default value is 1.
93#
94#	emul64_yield_enable	Non-zero means that emul64 should
95#				periodically yield the CPU to allow other
96#				activities to happen.  Default value is 1.
97#
98#	emul64_yield_period	Number of emul64 I/O operation between
99#				yields of the CPU.  Default is 1000.
100#
101#	emul64_yield_length	Amount of time in microseconds that emul64
102#				should yield the CPU during its periodic
103#				yields.  Default is 1000.
104#
105#	emul64_max_task		Maximum number of task elements in the task
106#				queue for each emul64 controller.  Default
107#				is 16.
108#
109#	emul64_task_nthreads	Specifies the number of threads that should
110#				be used to process a controller's task
111#				queue.  By default this is set at run time
112#				to the number of CPUs on the system.  It
113#				should probably only be set in this file
114#				for special purposes.
115#
116# The driver has the default values preset, so it is only necessary to
117# define these properties in this file if you wish to override the default
118# values.  The following commented lines can be used as a prototype for
119# setting the properties.
120#
121#emul64_collect_stats=1;
122#emul64_yield_enable=1;
123#emul64_yield_period=1000;
124#emul64_yield_length=1000;
125#emul64_max_task=16;
126#emul64_task_nthreads=<ncpu>;
127