Skip to content

Commit

Permalink
Add example config files for dh89xxcc single accelerator variant.
Browse files Browse the repository at this point in the history
Also update dh89xxcc regular config files to bring them into
sync with those supplied with the driver package.

Change-Id: I6df200f0c95b09c42443882054b4b83ff6fe9b61
Signed-off-by: Steve Linsell <stevenx.linsell@intel.com>
  • Loading branch information
stevelinsell committed Dec 20, 2017
1 parent eb7f5bf commit 85978c3
Show file tree
Hide file tree
Showing 8 changed files with 1,098 additions and 84 deletions.
68 changes: 50 additions & 18 deletions qat/config/dh89xxcc/multi_process_optimized/dh89xxcc_qa_dev0.conf
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -72,15 +72,15 @@ ConfigVersion = 2
cyHmacAuthMode = 1

# Look Aside Compression Configuration
dcTotalSRAMAvailable = 524288
dcTotalSRAMAvailable = 0

# Firmware Location Configuration
Firmware_MofPath = mof_firmware.bin
Firmware_MmpPath = mmp_firmware.bin

#Default values for number of concurrent requests*/
CyNumConcurrentSymRequests = 512
CyNumConcurrentAsymRequests = 64
CyNumConcurrentAsymRequests = 128
DcNumConcurrentRequests = 512

#Statistics, valid values: 1,0
Expand All @@ -96,9 +96,36 @@ statsPrime = 1
statsRsa = 1
statsSym = 1

# Enables or disables Single Root Complex IO Virtualization.
# If this is enabled (1) then SRIOV and VT-d need to be enabled in
# BIOS and there can be no Cy or Dc instances created in PF (Dom0).
# If this i disabled (0) then SRIOV and VT-d need to be disabled
# in BIOS and Cy and/or Dc instances can be used in PF (Dom0)
SRIOV_Enabled = 0

# When using virtualisation PF_bundle_offset indicates the first bundle that
# will be used to allocate instances for the Host. This and bundles
# above it will be used until all instances in below sections are allocated.
# Guests cannot share bundles with the Host so only bundles below
# and above this will be available to be assigned to VMs.
# For instance if PF_bundle_offset = 5 and there are 3 instances
# below each with different core affinities then instances in the Host
# will be allocated on bundles 5, 6 and 7 and bundles 0-4 and 8-31
# will be available for VMs.
# So if instances are needed on the Host, uncomment this and set it
# so it doesn't clash with bundles assigned to VMs.
# NOTE: bundle and 0 and 8 and used for admin messages and can not be used
# for services via neither PF nor VF.
#PF_bundle_offset = 1

#Debug feature, if set to 1 it enables additional entries in /proc filesystem
ProcDebug = 1

# Report compression parity error enable (1) or disable (0)
# If enable is selected then parity error is reported.
# If disable is selected then parity error is ignored.
ReportParityCompressionError = 0


#######################################################
# Wireless Section
Expand All @@ -124,13 +151,13 @@ NumProcesses = 0
# the user mode process.
# To allow the driver correctly configure the
# logical instances associated with this user process,
# the process must call the icp_sal_userStart(...)
# the process must call the icp_sal_userStartMultiProcess(...)
# passing the xxxxx string during process initialisation.
# When the user space process is finish it must call
# When the user space process is finished it must call
# icp_sal_userStop(...) to free resources.
# NumProcesses will indicate the maximum number of processes
# that can call icp_sal_userStart on this instance.
# Warning: the ressources are preallocated: if NumProcesses
# that can call icp_sal_userStartMultiProcess on this instance.
# Warning: the resources are preallocated: if NumProcesses
# is too high, the driver will fail to load
#
# Items configurable by a logical instance are:
Expand All @@ -145,22 +172,27 @@ NumProcesses = 0
# The format of the logical instances are:
# - For crypto:
# Cy<n>Name = "xxxx"
# Cy<n>AcceleratorNumber = 0|1
# Cy<n>CoreAffinity = 0-15
# Cy<n>AcceleratorNumber = 0-3
# Cy<n>CoreAffinity = 0-7
#
# - For Data Compression
# Dc<n>Name = "xxxx"
# Dc<n>AcceleratorNumber = 0|1
# Dc<n>CoreAffinity = 0-15
#
# Note: for user space processes, a list of values can be specified for
# the core affinity: for example
# Cy0CoreAffinity = 0,2,4
# Dc<n>AcceleratorNumber = 0-1
# Dc<n>CoreAffinity = 0-7
#
# Where:
# - n is the number of this logical instance starting at 0.
# - xxxx may be any ascii value which identifies the logical instance.
#
# Note: for user space processes, a list of values can be specified for
# the accelerator number and the core affinity: for example
# Cy0AcceleratorNumber = 0,2
# Cy0CoreAffinity = 0,2,4
# These comma-separated lists will allow the multiple processes to use
# different accelerators and cores, and will wrap around the numbers
# in the list. In the above example, process 0 will use accelerator 0,
# and process 1 will use accelerator 2
#
########################################################

##############################################
Expand All @@ -171,7 +203,7 @@ NumberCyInstances = 0
NumberDcInstances = 0

##############################################
# Compression multi thread/process section
# User Process Instance Section
##############################################
[SHIM]
NumberCyInstances = 4
Expand All @@ -188,14 +220,14 @@ Cy0CoreAffinity = 0
Cy1Name = "UserCY1"
Cy1AcceleratorNumber = 3,2,1,0
Cy1IsPolled = 1
Cy1CoreAffinity = 0
Cy1CoreAffinity = 1

Cy2Name = "UserCY2"
Cy2AcceleratorNumber = 2,3,0,1
Cy2IsPolled = 1
Cy2CoreAffinity = 0
Cy2CoreAffinity = 2

Cy3Name = "UserCY3"
Cy3AcceleratorNumber = 1,0,3,2
Cy3IsPolled = 1
Cy3CoreAffinity = 0
Cy3CoreAffinity = 3
Original file line number Diff line number Diff line change
@@ -0,0 +1,224 @@
#########################################################################
#
# @par
# # This file is provided under a dual BSD/GPLv2 license. When using or
# redistributing this file, you may do so under either license.
#
# GPL LICENSE SUMMARY
#
# Copyright(c) 2007-2017 Intel Corporation. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of version 2 of the GNU General Public License as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
# The full GNU General Public License is included in this distribution
# in the file called LICENSE.GPL.
#
# Contact Information:
# Intel Corporation
#
# BSD LICENSE
#
# Copyright(c) 2007-2017 Intel Corporation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Intel Corporation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
#########################################################################

########################################################
# General Section
##############################################

[GENERAL]
ServicesEnabled = cy0;cy1

# Use version 2 of the config file
ConfigVersion = 2
# Look Aside Cryptographic Configuration
cyHmacAuthMode = 1

# Look Aside Compression Configuration
dcTotalSRAMAvailable = 0

# Firmware Location Configuration
Firmware_MofPath = mof_firmware.bin
Firmware_MmpPath = mmp_firmware.bin

#Default values for number of concurrent requests*/
CyNumConcurrentSymRequests = 512
CyNumConcurrentAsymRequests = 64
DcNumConcurrentRequests = 512

#Statistics, valid values: 1,0
statsGeneral = 1
statsDc = 1
statsDh = 1
statsDrbg = 1
statsDsa = 1
statsEcc = 1
statsKeyGen = 1
statsLn = 1
statsPrime = 1
statsRsa = 1
statsSym = 1

# Enables or disables Single Root Complex IO Virtualization.
# If this is enabled (1) then SRIOV and VT-d need to be enabled in
# BIOS and there can be no Cy or Dc instances created in PF (Dom0).
# If this i disabled (0) then SRIOV and VT-d need to be disabled
# in BIOS and Cy and/or Dc instances can be used in PF (Dom0)
SRIOV_Enabled = 0

# When using virtualisation PF_bundle_offset indicates the first bundle that
# will be used to allocate instances for the Host. This and bundles
# above it will be used until all instances in below sections are allocated.
# Guests cannot share bundles with the Host so only bundles below
# and above this will be available to be assigned to VMs.
# For instance if PF_bundle_offset = 5 and there are 3 instances
# below each with different core affinities then instances in the Host
# will be allocated on bundles 5, 6 and 7 and bundles 0-4 and 8-31
# will be available for VMs.
# So if instances are needed on the Host, uncomment this and set it
# so it doesn't clash with bundles assigned to VMs.
# NOTE: bundle and 0 and 8 and used for admin messages and can not be used
# for services via neither PF nor VF.
#PF_bundle_offset = 1

#Debug feature, if set to 1 it enables additional entries in /proc filesystem
ProcDebug = 1

# Report compression parity error enable (1) or disable (0)
# If enable is selected then parity error is reported.
# If disable is selected then parity error is ignored.
ReportParityCompressionError = 0


#######################################################
# Wireless Section
#######################################################
[WIRELESS]
NumProcesses = 0

#######################################################
#
# Logical Instances Section
# A logical instance allows each address domain
# (kernel space and individual user space processes)
# to configure rings (i.e. hardware assisted queues)
# to be used by that address domain and to define the
# behavior of that ring.
#
# The address domains are in the following format
# - For kernel address domains
# [KERNEL]
# - For user process address domains
# [xxxxx]
# Where xxxxx may be any ascii value which uniquely identifies
# the user mode process.
# To allow the driver correctly configure the
# logical instances associated with this user process,
# the process must call the icp_sal_userStartMultiProcess(...)
# passing the xxxxx string during process initialisation.
# When the user space process is finished it must call
# icp_sal_userStop(...) to free resources.
# NumProcesses will indicate the maximum number of processes
# that can call icp_sal_userStartMultiProcess on this instance.
# Warning: the resources are preallocated: if NumProcesses
# is too high, the driver will fail to load
#
# Items configurable by a logical instance are:
# - Name of the logical instance
# - The accelerator associated with this logical
# instance
# - The core the instance is affinitized to (optional)
#
# Note: Logical instances may not share the same ring, but
# may share a ring bank.
#
# The format of the logical instances are:
# - For crypto:
# Cy<n>Name = "xxxx"
# Cy<n>AcceleratorNumber = 0-3
# Cy<n>CoreAffinity = 0-7
#
# - For Data Compression
# Dc<n>Name = "xxxx"
# Dc<n>AcceleratorNumber = 0-1
# Dc<n>CoreAffinity = 0-7
#
# Where:
# - n is the number of this logical instance starting at 0.
# - xxxx may be any ascii value which identifies the logical instance.
#
# Note: for user space processes, a list of values can be specified for
# the accelerator number and the core affinity: for example
# Cy0AcceleratorNumber = 0,2
# Cy0CoreAffinity = 0,2,4
# These comma-separated lists will allow the multiple processes to use
# different accelerators and cores, and will wrap around the numbers
# in the list. In the above example, process 0 will use accelerator 0,
# and process 1 will use accelerator 2
#
########################################################

##############################################
# Kernel Instances Section
##############################################
[KERNEL]
NumberCyInstances = 0
NumberDcInstances = 0

##############################################
# User Process Instance Section
##############################################
[SHIM]
NumberCyInstances = 2
NumberDcInstances = 0
NumProcesses = 8
LimitDevAccess = 1

# Crypto - User space
Cy0Name = "UserCY0"
Cy0AcceleratorNumber = 0,1
Cy0IsPolled = 1
Cy0CoreAffinity = 0

Cy1Name = "UserCY1"
Cy1AcceleratorNumber = 1,0
Cy1IsPolled = 1
Cy1CoreAffinity = 1

Loading

0 comments on commit 85978c3

Please sign in to comment.