1 // SPDX-License-Identifier: Apache-2.0 OR BSD-3-Clause 2 // 3 // Copyright © 2020, Microsoft Corporation 4 // 5 6 // Reference: https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/specifications/56860.pdf 7 // Chapter 10 8 pub const SIG_R_COMPONENT_SIZE_IN_BYTES: usize = 72; 9 pub const SIG_R_AND_S_COMPONENT_SIZE_IN_BYTES: usize = 144; 10 pub const ECDSA_CURVE_ID_SIZE_IN_BYTES: usize = 4; 11 pub const ECDSA_SIG_X_COMPONENT_SIZE_IN_BYTES: usize = 72; 12 pub const ECDSA_SIG_Y_COMPONENT_SIZE_IN_BYTES: usize = 72; 13 pub const ECDSA_SIG_X_COMPONENT_START: usize = ECDSA_CURVE_ID_SIZE_IN_BYTES; 14 pub const ECDSA_SIG_X_COMPONENT_END: usize = 15 ECDSA_SIG_X_COMPONENT_START + ECDSA_SIG_X_COMPONENT_SIZE_IN_BYTES; 16 pub const ECDSA_SIG_Y_COMPONENT_START: usize = ECDSA_SIG_X_COMPONENT_END; 17 pub const ECDSA_SIG_Y_COMPONENT_END: usize = 18 ECDSA_SIG_X_COMPONENT_END + ECDSA_SIG_Y_COMPONENT_SIZE_IN_BYTES; 19 20 // These constants are derived from GHCB spec Sect. 2.6 Table 3 GHCB Layout 21 // Link: https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/specifications/56421.pdf 22 pub const GHCB_RAX_OFFSET: u64 = 0x01F8; 23 pub const GHCB_RBX_OFFSET: u64 = 0x0318; 24 pub const GHCB_SW_EXITINFO1_OFFSET: u64 = 0x398; 25 pub const GHCB_SW_EXITINFO2_OFFSET: u64 = 0x3A0; 26