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