b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# CDDL HEADER START
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# The contents of this file are subject to the terms of the
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# Common Development and Distribution License, Version 1.0 only
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# (the "License"). You may not use this file except in compliance
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# with the License.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# or http://www.opensolaris.org/os/licensing.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# See the License for the specific language governing permissions
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# and limitations under the License.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# When distributing Covered Code, include this CDDL HEADER in each
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# If applicable, add the following below this CDDL HEADER, with the
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# fields enclosed by brackets "[]" replaced with your own identifying
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# information: Portions Copyright [yyyy] [name of copyright owner]
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# CDDL HEADER END
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# Use is subject to license terms.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#pragma ident "%Z%%M% %I% %E% SMI"
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#-----------------------------
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# ON version of emul64.conf
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#-----------------------------
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# Define Different Drive Sizes:
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# Compute MSB blocks of X GB disk with dc(1):
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# X 1024 1024 1024***512/2 32^/16op10op
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# Compute LSB blocks of X GB disk with dc(1):
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# X 1024 1024 1024***512/2 32^%16op10op
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# With nhead = 128 and nsect = 128, Compute ncyl of X GB disk with dc(1):
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# X 1024 1024 1024***512/128 128*/16op10op
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# Example: for wombat-drive-1_5TB:
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# # dc
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# 1024 512+1024 1024 1024***512/2 32^/16op10op
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# 0
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# 0
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# 1024 512+1024 1024 1024***512/2 32^%16op10op
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# C0000000
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# 3221225472
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# 1024 512+1024 1024 1024***512/128 128*/16op10op
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# 30000
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# 196608
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# format is: MSB, LSB dtype, ncyl nhead, nsect
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcthwombat-drive-1GB= 0, 2097152, 0, 128, 128, 128;
b1dd958f54f8bfa984d306bb8ca8264855761d7bcthwombat-drive-1TB= 0, 2147483648, 0, 131072, 128, 128;
b1dd958f54f8bfa984d306bb8ca8264855761d7bcthwombat-drive-1_5TB= 0, 3221225472, 0, 196608, 128, 128;
b1dd958f54f8bfa984d306bb8ca8264855761d7bcthwombat-drive-2TB= 1, 0, 0, 262144, 128, 128;
b1dd958f54f8bfa984d306bb8ca8264855761d7bcthwombat-drive-3TB= 1, 2147483648, 0, 393216, 128, 128;
b1dd958f54f8bfa984d306bb8ca8264855761d7bcthwombat-drive-5TB= 2, 2147483648, 0, 655360, 128, 128;
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# Define Different emul64 HBA instances and children:
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# We don't define HBAs by default, other tests that live under pshot
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# (like the devfs testsuite) will fail if emul64 is enabled by default.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# The test scripts that use emul64 should enable the required
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# emul64.conf configuration (and restore a disabled emul64.conf).
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# NOTE: As of %E% the sd target driver does not support
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# devices >= 2TB. If you configure one format will
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# complain:
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# The capacity of this LUN is too large.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# Reconfigure this LUN so that it is < 2TB.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# Example:
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#name="emul64" parent="pshot" bus-addr="1"
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# targ_0_0= "wombat-drive-1GB", "WOMBAT 1_0_0:1GB";
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#name="emul64" parent="pshot" bus-addr="2"
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# targ_0_0= "wombat-drive-1TB", "WOMBAT 2_0_0:1TB"
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# targ_1_0= "wombat-drive-1_5TB", "WOMBAT 2_1_0:1.5TB";
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# The following properties can be used to override tunables in the emul64
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# driver.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# emul64_collect_stats 0 means do not collect statistics.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# Non-zero means to collect statistics.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# Default value is 1.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# emul64_yield_enable Non-zero means that emul64 should
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# periodically yield the CPU to allow other
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# activities to happen. Default value is 1.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# emul64_yield_period Number of emul64 I/O operation between
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# yields of the CPU. Default is 1000.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# emul64_yield_length Amount of time in microseconds that emul64
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# should yield the CPU during its periodic
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# yields. Default is 1000.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# emul64_max_task Maximum number of task elements in the task
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# queue for each emul64 controller. Default
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# is 16.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# emul64_task_nthreads Specifies the number of threads that should
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# be used to process a controller's task
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# queue. By default this is set at run time
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# to the number of CPUs on the system. It
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# should probably only be set in this file
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# for special purposes.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# The driver has the default values preset, so it is only necessary to
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# define these properties in this file if you wish to override the default
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# values. The following commented lines can be used as a prototype for
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth# setting the properties.
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#emul64_collect_stats=1;
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#emul64_yield_enable=1;
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#emul64_yield_period=1000;
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#emul64_yield_length=1000;
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#emul64_max_task=16;
b1dd958f54f8bfa984d306bb8ca8264855761d7bcth#emul64_task_nthreads=<ncpu>;