Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions source/devices/AM62LX/linux/Linux_Performance_Guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -779,6 +779,7 @@ benchmark test.
time -v openssl speed -elapsed -evp aes-128-cbc
.. _crypto-performance:

Crypto Performance Comparison
-----------------------------
Expand Down
1 change: 1 addition & 0 deletions source/devices/AM62PX/linux/Linux_Performance_Guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -797,6 +797,7 @@ Listed for each algorithm are the code snippets used to run each

time -v openssl speed -elapsed -evp aes-128-cbc

.. _crypto-performance:

Crypto Performance Comparison
-----------------------------
Expand Down
1 change: 1 addition & 0 deletions source/devices/AM62X/linux/Linux_Performance_Guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -923,6 +923,7 @@ Listed for each algorithm are the code snippets used to run each

time -v openssl speed -elapsed -evp aes-128-cbc

.. _crypto-performance:

Crypto Performance Comparison
-----------------------------
Expand Down
2 changes: 2 additions & 0 deletions source/devices/AM64X/linux/Linux_Performance_Guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ System Benchmarks
CRYPTO
======

.. _crypto-performance:

Crypto Performance Comparison
-----------------------------

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,41 @@
Hashing - MD5, SHA224, SHA256, SHA384, SHA512
Message Authentication - HMAC(MD5), HMAC(SHA224), HMAC(SHA256), HMAC(SHA384), HMAC(SHA512)


*****************************
Crypto Implementation Options

Check warning on line 28 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Headings] Use sentence-style capitalization in 'Crypto Implementation Options'. Raw Output: {"message": "[RedHat.Headings] Use sentence-style capitalization in 'Crypto Implementation Options'.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst", "range": {"start": {"line": 28, "column": 1}}}, "severity": "INFO"}
*****************************

Users can implement cryptographic operations using two different approaches:

Check warning on line 31 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Using] Use 'by using' instead of 'using' when it follows a noun for clarity and grammatical correctness. Raw Output: {"message": "[RedHat.Using] Use 'by using' instead of 'using' when it follows a noun for clarity and grammatical correctness.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst", "range": {"start": {"line": 31, "column": 35}}}, "severity": "WARNING"}

**1. Hardware Accelerator (DTHEv2)**
- Offloads crypto operations to dedicated hardware engine
- Frees up CPU cycles for other tasks
- In general lower throughput but optimized for multi-tasking systems

**2. ARM CPU with Cryptographic Extension (ARM CE)**
- Uses ARM processor's built-in cryptographic hardware support
- Delivers higher throughput (faster than hardware accelerator)
- Might require high CPU utilization

Check warning on line 41 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.SimpleWords] Use simple language. Consider using 'use' rather than 'utilization'. Raw Output: {"message": "[RedHat.SimpleWords] Use simple language. Consider using 'use' rather than 'utilization'.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst", "range": {"start": {"line": 41, "column": 29}}}, "severity": "INFO"}

Choosing the Right Implementation

Check warning on line 43 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.NoGerundsInTitles] Where possible, avoid using gerunds in topic titles. Use the imperative form instead. Raw Output: {"message": "[RedHat.NoGerundsInTitles] Where possible, avoid using gerunds in topic titles. Use the imperative form instead.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst", "range": {"start": {"line": 43, "column": 1}}}, "severity": "INFO"}

Check warning on line 43 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Headings] Use sentence-style capitalization in 'Choosing the Right Implementation'. Raw Output: {"message": "[RedHat.Headings] Use sentence-style capitalization in 'Choosing the Right Implementation'.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst", "range": {"start": {"line": 43, "column": 1}}}, "severity": "INFO"}
==================================

**Use Hardware Accelerator (DTHEv2) when:**

- **Multi-tasking systems** - system runs computation heavy services that need CPU resources alongside crypto operations
- **Functional safety/security requirements** - ASIL or safety-critical applications require offloading crypto operations away from Linux kernel to reduce attack surface and ensure isolation

Check warning on line 49 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'ASIL') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'ASIL') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst", "range": {"start": {"line": 49, "column": 49}}}, "severity": "INFO"}
- **Compliance/regulatory requirements** - FIPS certification, Common Criteria, or TEE integration mandates hardware acceleration

Check warning on line 50 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'TEE') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'TEE') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst", "range": {"start": {"line": 50, "column": 84}}}, "severity": "INFO"}

Check warning on line 50 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'FIPS') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'FIPS') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst", "range": {"start": {"line": 50, "column": 44}}}, "severity": "INFO"}

**Use ARM CPU (CE) when:**

- **Maximum throughput required** - Need high throughput for bulk data encryption, video transcoding, or media processing
- **Dedicated crypto workload** - Crypto is the primary task and high CPU utilization is acceptable

Check warning on line 55 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.SimpleWords] Use simple language. Consider using 'use' rather than 'utilization'. Raw Output: {"message": "[RedHat.SimpleWords] Use simple language. Consider using 'use' rather than 'utilization'.", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst", "range": {"start": {"line": 55, "column": 75}}}, "severity": "INFO"}
- **Small/infrequent operations** - One-time encryption with small data blocks where accelerator overhead is minimal

Check warning on line 56 in source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.DoNotUseTerms] Do not use "overhead". Use terminology that is more specific. For example, write "running large queries can increase processor usage". Raw Output: {"message": "[RedHat.DoNotUseTerms] Do not use \"overhead\". Use terminology that is more specific. For example, write \"running large queries can increase processor usage\".", "location": {"path": "source/linux/Foundational_Components/Kernel/Kernel_Drivers/Crypto/DTHEv2.rst", "range": {"start": {"line": 56, "column": 98}}}, "severity": "WARNING"}

**Performance Comparison** : For a detailed comparison of DTHEv2 accelerator performance against ARM Cryptographic Extension (CE) and baseline ARM CPU, see :ref:`crypto-performance` in the Linux Performance Guide.


********************
Building the Drivers
********************
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,39 @@ The following is a list of supported hardware accelerated algorithms:
- SHA256, SHA512
- CMAC(AES)

*****************************
Crypto Implementation Options
*****************************

Users can implement cryptographic operations using two different approaches:

**1. Hardware Accelerator**
- Offloads crypto operations to dedicated hardware engine
- Frees up CPU cycles for other tasks
- In general lower throughput but optimized for multi-tasking systems

**2. ARM CPU with Cryptographic Extension (ARM CE)**
- Uses ARM processor's built-in cryptographic hardware support
- Delivers higher throughput (faster than hardware accelerator)
- Might require high CPU utilization

Choosing the Right Implementation
==================================

**Use Hardware Accelerator when:**

- **Multi-tasking systems** - system runs computation heavy services that need CPU resources alongside crypto operations
- **Functional safety/security requirements** - ASIL or safety-critical applications require offloading crypto operations away from Linux kernel to reduce attack surface and ensure isolation
- **Compliance/regulatory requirements** - FIPS certification, Common Criteria, or TEE integration mandates hardware acceleration

**Use ARM CPU (CE) when:**

- **Maximum throughput required** - Need high throughput for bulk data encryption, video transcoding, or media processing
- **Dedicated crypto workload** - Crypto is the primary task and high CPU utilization is acceptable
- **Small/infrequent operations** - One-time encryption with small data blocks where accelerator overhead is minimal

**Performance Comparison** : For a detailed comparison of hardware accelerator performance against ARM Cryptographic Extension (CE) and baseline ARM CPU, see :ref:`crypto-performance` in the Linux Performance Guide.

********************
Building the Drivers
********************
Expand Down
Loading