DDI0501F Cortex A53 Cryptography TRM
DDI0501F Cortex A53 Cryptography TRM
® ®
Cryptography Extension
Revision: r0p4
Change history
Proprietary Notice
Words and logos marked with® or ™ are registered trademarks or trademarks of ARM in the EU and other countries,
except as otherwise stated below in this proprietary notice. Other brands and names mentioned herein may be the
trademarks of their respective owners.
Neither the whole nor any part of the information contained in, or the product described in, this document may be
adapted or reproduced in any material form except with the prior written permission of the copyright holder.
The product described in this document is subject to continuous developments and improvements. All particulars of the
product and its use contained in this document are given by ARM in good faith. However, all warranties implied or
expressed, including but not limited to implied warranties of merchantability, or fitness for purpose, are excluded.
This document is intended only to assist the reader in the use of the product. ARM shall not be liable for any loss or
damage arising from the use of any information in this document, or any error or omission in such information, or any
incorrect use of the product.
Where the term ARM is used it means “ARM or any of its subsidiaries as appropriate”.
Confidentiality Status
This document is Non-Confidential. The right to use, copy and disclose this document may be subject to license
restrictions in accordance with the terms of the agreement entered into by ARM and the party that ARM delivered this
document to.
Product Status
Web Address
http://www.arm.com
Preface
About this book ............................................................................................................ v
Feedback ................................................................................................................... vii
Chapter 1 Introduction
1.1 About the Cortex-A53 processor Cryptography Extension ...................................... 1-2
1.2 Revisions ................................................................................................................. 1-3
Appendix A Revisions
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. iii
ID041316 Non-Confidential
Preface
This preface introduces the ARM® Cortex®-A53 MPCore Cryptography Extension Technical
Reference Manual. It contains the following sections:
• About this book on page v.
• Feedback on page vii.
The rmpn identifier indicates the revision status of the product described in this book, for
example, r1p2, where:
rm Identifies the major revision of the product, for example, r1.
pn Identifies the minor revision or modification status of the product, for example,
p2.
Intended audience
This book is written for system designers, system integrators, and programmers who are
designing or programming a System-on-Chip (SoC) that uses the Cortex-A53 processor with the
optional Cryptography Extension.
Chapter 1 Introduction
Read this for an introduction to the Cortex-A53 processor Cryptography
Extension.
Appendix A Revisions
Read this for a description of the technical changes between released issues of this
book.
Glossary
The ARM® Glossary is a list of terms used in ARM documentation, together with definitions for
those terms. The ARM® Glossary does not contain terms that are industry standard unless the
ARM meaning differs from the generally accepted meaning.
Conventions
Typographical conventions
Style Purpose
bold Highlights interface elements, such as menu names. Denotes signal names. Also used for terms in descriptive
lists, where appropriate.
monospace Denotes text that you can enter at the keyboard, such as commands, file and program names, and source code.
monospace Denotes a permitted abbreviation for a command or option. You can enter the underlined text instead of the full
command or option name.
monospace italic Denotes arguments to monospace text where the argument is to be replaced by a specific value.
monospace bold Denotes language keywords when used outside example code.
<and> Encloses replaceable terms for assembler syntax where they appear in code or code fragments. For example:
MRC p15, 0 <Rd>, <CRn>, <CRm>, <Opcode_2>
SMALL CAPITALS Used in body text for a few terms that have specific technical meanings, that are defined in the ARM® Glossary.
For example, IMPLEMENTATION DEFINED, IMPLEMENTATION SPECIFIC, UNKNOWN, and UNPREDICTABLE.
Additional reading
ARM publications
This book contains information that is specific to this product. See the following documents for
other relevant information:
• ARM® Cortex®-A53 MPCore Processor Technical Reference Manual (ARM DDI 0500).
• ARM® Cortex®-A53 MPCore Processor Advanced SIMD and Floating-point Extension
Technical Reference Manual (ARM DDI 0502).
• ARM® Architecture Reference Manual, ARMv8, for ARMv8-A architecture profile
(ARM DDI 0487).
• ARM® Cortex®-A53 MPCore Processor Configuration and Sign-off Guide
(ARM DII 0281).
• ARM® Cortex®-A53 MPCore Processor Integration Manual (ARM DIT 0036).
Other publications
Feedback
ARM welcomes feedback on this product and its documentation.
If you have any comments or suggestions about this product, contact your supplier and give:
• The product name.
• The product revision or version.
• An explanation with as much information as you can provide. Include symptoms and
diagnostic procedures if appropriate.
Feedback on content
Note
ARM tests the PDF only in Adobe Acrobat and Acrobat Reader, and cannot guarantee the
quality of the represented document when used with any other PDF reader.
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. vii
ID041316 Non-Confidential
Chapter 1
Introduction
This chapter describes the Cortex-A53 MPCore Cryptography Extension. It contains the
following sections:
• About the Cortex-A53 processor Cryptography Extension on page 1-2.
• Revisions on page 1-3.
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. 1-1
ID041316 Non-Confidential
Introduction
Note
The optional Cryptography Extension is not included in the base product. ARM supplies the
Cryptography Extension only under an additional licence to the Cortex-A53 processor and
Advanced SIMD and Floating-point support licences.
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. 1-2
ID041316 Non-Confidential
Introduction
1.2 Revisions
This section describes the differences in functionality between product revisions:
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. 1-3
ID041316 Non-Confidential
Chapter 2
Programmers Model
This chapter describes the programmers model. It contains the following sections:
• About the programmers model on page 2-2.
• Register summary on page 2-3.
• Register descriptions on page 2-4.
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. 2-1
ID041316 Non-Confidential
Programmers Model
To disable the Cryptography Extension for each individual core, assert the corresponding bit of
the CRYPTODISABLE input signal. This signal is only sampled during reset of the core.
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. 2-2
ID041316 Non-Confidential
Programmers Model
ID_AA64ISAR0_EL1 AArch64 See AArch64 Instruction Set Attribute Register 0, EL1 on page 2-4.
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. 2-3
ID041316 Non-Confidential
Programmers Model
Purpose Provides information about the optional cryptography instructions that the
processor can support.
- RO RO RO RO RO
63 20 19 16 15 12 11 8 7 4 3 0
[15:12] SHA2 Indicates whether SHA2 instructions are implemented. The possible values are:
0x0 No SHA2 instructions are implemented. This is the value if the implementation does not include
the Cryptography Extension.
0x1 SHA256H, SHA256H2, SHA256U0, and SHA256U1 implemented. This is the value if the implementation
includes the Cryptography Extension.
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. 2-4
ID041316 Non-Confidential
Programmers Model
[11:8] SHA1 Indicates whether SHA1 instructions are implemented. The possible values are:
0x0 No SHA1 instructions implemented. This is the value if the implementation does not include the
Cryptography Extension
0x1 SHA1C, SHA1P, SHA1M, SHA1SU0, and SHA1SU1 implemented. This is the value if the implementation
includes the Cryptography Extension.
[7:4] AES Indicates whether AES instructions are implemented. The possible values are:
0x0 No AES instructions implemented. This is the value if the implementation does not include the
Cryptography Extension
0x2 AESE, AESD, AESMC, and AESIMC implemented, plus PMULL and PMULL2 instructions operating on 64-bit
data. This is the value if the implementation includes the Cryptography Extension.
Purpose Provides information about the instruction sets that the processor
implements.
Note
The optional Cryptography Extension is not included in the base product
of the processor. ARM requires licensees to have contractual rights to
obtain the Cryptography Extension.
- RO RO RO RO RO
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. 2-5
ID041316 Non-Confidential
Programmers Model
31 20 19 16 15 12 11 8 7 4 3 0
[19:16] CRC32 Indicates whether CRC32 instructions are implemented in AArch32 state. The value is:
0x1 CRC32 instructions are implemented.
[15:12] SHA2 Indicates whether SHA2 instructions are implemented in AArch32 state. The possible values are:
0x0 Cryptography Extensions are not implemented or are disabled.
0x1 SHA256H, SHA256H2, SHA256SU0, and SHA256SU1 instructions are implemented.
[11:8] SHA1 Indicates whether SHA1 instructions are implemented in AArch32 state. The possible values are:
0x0 Cryptography Extensions are not implemented or are disabled.
0x1 SHA1C, SHA1P, SHA1M, SHA1H, SHA1SU0, and SHA1SU1 instructions are implemented.
[7:4] AES Indicates whether AES instructions are implemented in AArch32 state. The possible values are:
0x0 Cryptography Extensions are not implemented or are disabled.
0x2 AESE, AESD, AESMC, and AESIMC are implemented, plus PMULL and PMULL2 instructions
operating on 64-bit data.
[3:0] SEVL Indicates whether the SEVL instruction is implemented. The value is:
0x1 SEVL implemented to send event local.
- - RO RO RO RO RO
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. 2-6
ID041316 Non-Confidential
Programmers Model
31 20 19 16 15 12 11 8 7 4 3 0
[19:16] CRC32 Indicates whether CRC32 instructions are implemented in AArch32 state. The value is:
0x1 CRC32 instructions are implemented.
[15:12] SHA2 Indicates whether SHA2 instructions are implemented in AArch32 state. The possible values are:
0x0 Cryptographic extensions are not implemented or are disabled.
0x1 SHA256H, SHA256H2, SHA256SU0, and SHA256SU1 instructions are implemented.
[11:8] SHA1 Indicates whether SHA1 instructions are implemented in AArch32 state. The possible values are:
0x0 Cryptographic extensions are not implemented or are disabled.
0x1 SHA1C, SHA1P, SHA1M, SHA1H, SHA1SU0, and SHA1SU1 instructions are implemented.
[7:4] AES Indicates whether AES instructions are implemented in AArch32 state. The possible values are:
0x0 Cryptographic extensions are not implemented or are disabled.
0x2 AESE, AESD, AESMC and AESIMC, plus PMULL and PMULL2 instructions operating on 64-bit data.
[3:0] SEVL Indicates whether the SEVL instruction is implemented. The value is:
0x1 SEVL implemented to send event local.
To access ID_ISAR5:
MRC p15, 0, <Rt>, c0, c2, 5; Read ID_ISAR5 into Rt
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. 2-7
ID041316 Non-Confidential
Appendix A
Revisions
This appendix describes the technical changes between released issues of this book.
First revision - -
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. A-1
ID041316 Non-Confidential
Revisions
ARM DDI 0501F Copyright © 2013-2014 ARM. All rights reserved. A-2
ID041316 Non-Confidential