first public release
[dpdk.git] / examples / dpdk_qat / config_files / stargo_B0 / dh89xxcc_qa_dev0.conf
1 #########################################################################
2 #
3 # @par
4 #   BSD LICENSE
5
6 #   Copyright(c) 2010-2012 Intel Corporation. All rights reserved.
7 #   All rights reserved.
8
9 #   Redistribution and use in source and binary forms, with or without 
10 #   modification, are permitted provided that the following conditions 
11 #   are met:
12
13 #     * Redistributions of source code must retain the above copyright 
14 #       notice, this list of conditions and the following disclaimer.
15 #     * Redistributions in binary form must reproduce the above copyright 
16 #       notice, this list of conditions and the following disclaimer in 
17 #       the documentation and/or other materials provided with the 
18 #       distribution.
19 #     * Neither the name of Intel Corporation nor the names of its 
20 #       contributors may be used to endorse or promote products derived 
21 #       from this software without specific prior written permission.
22
23 #   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
24 #   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
25 #   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
26 #   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
27 #   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
28 #   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
29 #   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
30 #   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
31 #   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
32 #   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
33 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
35 #  version: DPDK.L.1.2.3-3
36 #########################################################################
37 ########################################################
38 #
39 # This file is the configuration for a single dh89xxcc_qa
40 # device.
41 #
42 # Each device has up to two accelerators.
43 # - The client may load balance between these
44 #   accelerators.
45 # Each accelerator has 8 independent ring banks.
46 # - The interrupt for each can be directed to a
47 #   specific core.
48 # Each ring bank as 16 rings (hardware assisted queues).
49 #
50 ########################################################
51
52 ##############################################
53 # General Section
54 ##############################################
55
56 [GENERAL]
57 ServicesEnabled = cy0;cy1
58
59 # Look Aside Cryptographic Configuration
60 cyHmacAuthMode = 1
61
62 # Look Aside Compression Configuration
63 dcTotalSRAMAvailable = 0
64 dcSRAMPerInstance = 0
65
66 # Firmware Location Configuration
67 Firmware_UofPath = uof_firmware.bin
68 Firmware_MmpPath = mmp_firmware.bin
69
70 # QAT Parameters
71 Accel0AdminBankNumber = 0
72 Accel0AcceleratorNumber = 0
73 Accel0AdminTx = 0
74 Accel0AdminRx = 1
75
76 Accel1AcceleratorNumber = 1
77 Accel1AdminBankNumber = 0
78 Accel1AdminTx = 0
79 Accel1AdminRx = 1
80
81 #Statistics, valid values: 1,0
82 statsGeneral = 1
83 statsDc = 1
84 statsDh = 1
85 statsDrbg = 1
86 statsDsa = 1
87 statsEcc = 1
88 statsKeyGen = 1
89 statsLn = 1
90 statsPrime = 1
91 statsRsa = 1
92 statsSym = 1
93
94 #Debug feature, if set to 1 it enables additional entries in /proc filesystem
95 ProcDebug = 1
96
97
98 ################################################
99 #
100 # Hardware Access Ring Bank Configuration
101 # Each Accelerator has 8 ring banks (0-7)
102 # If the OS supports MSI-X, each ring bank has an
103 # steerable MSI-x interrupt which may be
104 # affinitized to a particular node/core.
105 #
106 ################################################
107
108
109 [Accelerator0]
110 Bank0InterruptCoalescingEnabled = 1
111 Bank0InterruptCoalescingTimerNs = 10000
112 Bank0CoreIDAffinity = 0
113 Bank0InterruptCoalescingNumResponses = 0
114
115 Bank1InterruptCoalescingEnabled = 1
116 Bank1InterruptCoalescingTimerNs = 10000
117 Bank1CoreIDAffinity = 2
118 Bank1InterruptCoalescingNumResponses = 0
119
120 Bank2InterruptCoalescingEnabled = 1
121 Bank2InterruptCoalescingTimerNs = 10000
122 Bank2CoreIDAffinity = 4
123 Bank2InterruptCoalescingNumResponses = 0
124
125 Bank3InterruptCoalescingEnabled = 1
126 Bank3InterruptCoalescingTimerNs = 10000
127 Bank3CoreIDAffinity = 6
128 Bank3InterruptCoalescingNumResponses = 0
129
130 Bank4InterruptCoalescingEnabled = 1
131 Bank4InterruptCoalescingTimerNs = 10000
132 Bank4CoreIDAffinity = 7
133 Bank4InterruptCoalescingNumResponses = 0
134
135 Bank5InterruptCoalescingEnabled = 1
136 Bank5InterruptCoalescingTimerNs = 10000
137 Bank5CoreIDAffinity = 7
138 Bank5InterruptCoalescingNumResponses = 0
139
140 Bank6InterruptCoalescingEnabled = 1
141 Bank6InterruptCoalescingTimerNs = 10000
142 Bank6CoreIDAffinity = 7
143 Bank6InterruptCoalescingNumResponses = 0
144
145 Bank7InterruptCoalescingEnabled = 1
146 Bank7InterruptCoalescingTimerNs = 10000
147 Bank7CoreIDAffinity = 7
148 Bank7InterruptCoalescingNumResponses = 0
149
150 [Accelerator1]
151 Bank0InterruptCoalescingEnabled = 1
152 Bank0InterruptCoalescingTimerNs = 10000
153 Bank0CoreIDAffinity = 1
154 Bank0InterruptCoalescingNumResponses = 0
155
156 Bank1InterruptCoalescingEnabled = 1
157 Bank1InterruptCoalescingTimerNs = 10000
158 Bank1CoreIDAffinity = 3
159 Bank1InterruptCoalescingNumResponses = 0
160
161 Bank2InterruptCoalescingEnabled = 1
162 Bank2InterruptCoalescingTimerNs = 10000
163 Bank2CoreIDAffinity = 5
164 Bank2InterruptCoalescingNumResponses = 0
165
166 Bank3InterruptCoalescingEnabled = 1
167 Bank3InterruptCoalescingTimerNs = 10000
168 Bank3CoreIDAffinity = 7
169 Bank3InterruptCoalescingNumResponses = 0
170
171 Bank4InterruptCoalescingEnabled = 1
172 Bank4InterruptCoalescingTimerNs = 10000
173 Bank4CoreIDAffinity = 7
174 Bank4InterruptCoalescingNumResponses = 0
175
176 Bank5InterruptCoalescingEnabled = 1
177 Bank5InterruptCoalescingTimerNs = 10000
178 Bank5CoreIDAffinity = 7
179 Bank5InterruptCoalescingNumResponses = 0
180
181 Bank6InterruptCoalescingEnabled = 1
182 Bank6InterruptCoalescingTimerNs = 10000
183 Bank6CoreIDAffinity = 7
184 Bank6InterruptCoalescingNumResponses = 0
185
186 Bank7InterruptCoalescingEnabled = 1
187 Bank7InterruptCoalescingTimerNs = 10000
188 Bank7CoreIDAffinity = 7
189 Bank7InterruptCoalescingNumResponses = 0
190
191 #######################################################
192 #
193 # Logical Instances Section
194 # A logical instance allows each address domain
195 # (kernel space and individual user space processes)
196 # to configure rings (i.e. hardware assisted queues)
197 # to be used by that address domain and to define the
198 # behavior of that ring.
199 #
200 # The address domains are in the following format
201 # - For kernel address domains
202 #       [KERNEL]
203 # - For user process address domains
204 #   [xxxxx]
205 #   Where xxxxx may be any ascii value which uniquely identifies
206 #   the user mode process.
207 #   To allow the driver correctly configure the
208 #   logical instances associated with this user process,
209 #   the process must call the icp_sal_userStart(...)
210 #   passing the xxxxx string during process initialisation.
211 #   When the user space process is finish it must call
212 #   icp_sal_userStop(...) to free resources.
213 #   If there are multiple devices present in the system all conf
214 #   files that describe the devices must have the same address domain
215 #   sections even if the address domain does not configure any instances
216 #   on that particular device. So if icp_sal_userStart("xxxxx") is called
217 #   then user process address domain [xxxxx] needs to be present in all
218 #   conf files for all devices in the system.
219 #
220 # Items configurable by a logical instance are:
221 # - Name of the logical instance
222 # - The accelerator associated with this logical
223 #   instance
224 # - The ring bank associated with this logical
225 #   instance.
226 # - The response mode associated wth this logical instance (0
227 #   for IRQ or 1 for polled).
228 # - The ring for receiving and the ring for transmitting.
229 # - The number of concurrent requests supported by a pair of
230 #   rings on this instance (tx + rx). Note this number affects
231 #   the amount of memory allocated by the driver. Also
232 #   Bank<n>InterruptCoalescingNumResponses is only supported for
233 #   number of concurrent requests equal to 512.
234 #
235 # Note: Logical instances may not share the same ring, but
236 #           may share a ring bank.
237 #
238 # The format of the logical instances are:
239 # - For crypto:
240 #               Cy<n>Name = "xxxx"
241 #               Cy<n>AcceleratorNumber = 0|1
242 #               Cy<n>BankNumber = 0-7
243 #               Cy<n>IsPolled = 0|1
244 #               Cy<n>NumConcurrentSymRequests = 64|128|256|512|1024|2048|4096
245 #               Cy<n>NumConcurrentAsymRequests = 64|128|256|512|1024|2048|4096
246 #               Cy<n>RingAsymTx = 0-15
247 #               Cy<n>RingAsymRx = 0-15
248 #               Cy<n>RingSymTxHi = 0-15
249 #               Cy<n>RingSymRxHi = 0-15
250 #               Cy<n>RingSymRx = 0-15
251 #
252 # - For Data Compression
253 #               Dc<n>Name = "xxxx"
254 #               Dc<n>AcceleratorNumber = 0|1
255 #               Dc<n>BankNumber = 0-7
256 #               Dc<n>IsPolled = 0|1
257 #               Dc<n>NumConcurrentRequests = 64|128|256|512|1024|2048|4096
258 #               Dc<n>RingTx = 0-15
259 #               Dc<n>RingRx = 0-15
260 #
261 # Where:
262 #       - n is the number of this logical instance starting at 0.
263 #       - xxxx may be any ascii value which identifies the logical instance.
264 #
265 ########################################################
266
267 ##############################################
268 # Kernel Instances Section
269 ##############################################
270 [KERNEL]
271 NumberCyInstances = 0
272 NumberDcInstances = 0
273
274
275 ##############################################
276 # User Process Instance Section
277 ##############################################
278 [SSL]
279 NumberCyInstances = 8
280 NumberDcInstances = 0
281
282 # Crypto - User instance #0
283 Cy0Name = "SSL0"
284 Cy0IsPolled = 1
285 Cy0AcceleratorNumber = 0
286 Cy0ExecutionEngine = 0
287 Cy0BankNumber = 0
288 Cy0NumConcurrentSymRequests = 512
289 Cy0NumConcurrentAsymRequests = 64
290
291 Cy0RingAsymTx =  2
292 Cy0RingAsymRx =  3
293 Cy0RingSymTxHi = 4
294 Cy0RingSymRxHi = 5
295 Cy0RingSymTxLo = 6
296 Cy0RingSymRxLo = 7
297
298 # Crypto - User instance #1
299 Cy1Name = "SSL1"
300 Cy1AcceleratorNumber = 1
301 Cy1ExecutionEngine = 0
302 Cy1BankNumber = 0
303 Cy1IsPolled = 1
304 Cy1NumConcurrentSymRequests = 512
305 Cy1NumConcurrentAsymRequests = 64
306
307 Cy1RingAsymTx =  2
308 Cy1RingAsymRx =  3
309 Cy1RingSymTxHi = 4
310 Cy1RingSymRxHi = 5
311 Cy1RingSymTxLo = 6
312 Cy1RingSymRxLo = 7
313
314 # Crypto - User instance #2
315 Cy2Name = "SSL2"
316 Cy2IsPolled= 1
317 Cy2AcceleratorNumber = 0
318 Cy2ExecutionEngine = 1
319 Cy2BankNumber = 1
320 Cy2NumConcurrentSymRequests = 512
321 Cy2NumConcurrentAsymRequests = 64
322
323 Cy2RingAsymTx =  0
324 Cy2RingAsymRx =  1
325 Cy2RingSymTxHi = 2
326 Cy2RingSymRxHi = 3
327 Cy2RingSymTxLo = 4
328 Cy2RingSymRxLo = 5
329
330 # Crypto - User instance #3
331 Cy3Name = "SSL3"
332 Cy3AcceleratorNumber = 1
333 Cy3ExecutionEngine = 1
334 Cy3BankNumber = 1
335 Cy3IsPolled = 1
336 Cy3NumConcurrentSymRequests = 512
337 Cy3NumConcurrentAsymRequests = 64
338
339 Cy3RingAsymTx =  0
340 Cy3RingAsymRx =  1
341 Cy3RingSymTxHi = 2
342 Cy3RingSymRxHi = 3
343 Cy3RingSymTxLo = 4
344 Cy3RingSymRxLo = 5
345
346
347 # Crypto - User instance #4
348 Cy4Name = "SSL4"
349 Cy4IsPolled= 1
350 Cy4AcceleratorNumber = 0
351 Cy4ExecutionEngine = 0
352 Cy4BankNumber = 2
353 Cy4NumConcurrentSymRequests = 512
354 Cy4NumConcurrentAsymRequests = 64
355
356 Cy4RingAsymTx =  0
357 Cy4RingAsymRx =  1
358 Cy4RingSymTxHi = 2
359 Cy4RingSymRxHi = 3
360 Cy4RingSymTxLo = 4
361 Cy4RingSymRxLo = 5
362
363 # Crypto - User instance #5
364 Cy5Name = "SSL5"
365 Cy5AcceleratorNumber = 1
366 Cy5ExecutionEngine = 0
367 Cy5BankNumber = 2
368 Cy5IsPolled = 1
369 Cy5NumConcurrentSymRequests = 512
370 Cy5NumConcurrentAsymRequests = 64
371
372 Cy5RingAsymTx =  0
373 Cy5RingAsymRx =  1
374 Cy5RingSymTxHi = 2
375 Cy5RingSymRxHi = 3
376 Cy5RingSymTxLo = 4
377 Cy5RingSymRxLo = 5
378
379 # Crypto - User instance #6
380 Cy6Name = "SSL6"
381 Cy6IsPolled = 1
382 Cy6AcceleratorNumber = 0
383 Cy6ExecutionEngine = 1
384 Cy6BankNumber = 3
385 Cy6NumConcurrentSymRequests = 512
386 Cy6NumConcurrentAsymRequests = 64
387
388 Cy6RingAsymTx =  0
389 Cy6RingAsymRx =  1
390 Cy6RingSymTxHi = 2
391 Cy6RingSymRxHi = 3
392 Cy6RingSymTxLo = 4
393 Cy6RingSymRxLo = 5
394
395 # Crypto - User instance #7
396 Cy7Name = "SSL7"
397 Cy7AcceleratorNumber = 1
398 Cy7ExecutionEngine = 1
399 Cy7BankNumber = 3
400 Cy7IsPolled = 1
401 Cy7NumConcurrentSymRequests = 512
402 Cy7NumConcurrentAsymRequests = 64
403
404 Cy7RingAsymTx =  0
405 Cy7RingAsymRx =  1
406 Cy7RingSymTxHi = 2
407 Cy7RingSymRxHi = 3
408 Cy7RingSymTxLo = 4
409 Cy7RingSymRxLo = 5