/** @file Header file for PPTT parser Copyright (c) 2019, ARM Limited. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent @par Reference(s): - ARM Architecture Reference Manual ARMv8 (D.a) **/ #ifndef PPTT_PARSER_H_ #define PPTT_PARSER_H_ #if defined (MDE_CPU_ARM) || defined (MDE_CPU_AARCH64) /// Cache parameters allowed by the architecture with /// ARMv8.3-CCIDX (Cache extended number of sets) /// Derived from CCSIDR_EL1 when ID_AA64MMFR2_EL1.CCIDX==0001 #define PPTT_ARM_CCIDX_CACHE_NUMBER_OF_SETS_MAX (1 << 24) #define PPTT_ARM_CCIDX_CACHE_ASSOCIATIVITY_MAX (1 << 21) /// Cache parameters allowed by the architecture without /// ARMv8.3-CCIDX (Cache extended number of sets) /// Derived from CCSIDR_EL1 when ID_AA64MMFR2_EL1.CCIDX==0000 #define PPTT_ARM_CACHE_NUMBER_OF_SETS_MAX (1 << 15) #define PPTT_ARM_CACHE_ASSOCIATIVITY_MAX (1 << 10) /// Common cache parameters /// Derived from CCSIDR_EL1 /// The LineSize is represented by bits 2:0 /// (Log2(Number of bytes in cache line)) - 4 is used to represent /// the LineSize bits. #define PPTT_ARM_CACHE_LINE_SIZE_MAX (1 << 11) #define PPTT_ARM_CACHE_LINE_SIZE_MIN (1 << 4) #endif // if defined (MDE_CPU_ARM) || defined (MDE_CPU_AARCH64) #endif // PPTT_PARSER_H_