18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 28c2ecf20Sopenharmony_ci#ifndef _ASM_POWERPC_AUXVEC_H 38c2ecf20Sopenharmony_ci#define _ASM_POWERPC_AUXVEC_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci/* 68c2ecf20Sopenharmony_ci * We need to put in some extra aux table entries to tell glibc what 78c2ecf20Sopenharmony_ci * the cache block size is, so it can use the dcbz instruction safely. 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_ci#define AT_DCACHEBSIZE 19 108c2ecf20Sopenharmony_ci#define AT_ICACHEBSIZE 20 118c2ecf20Sopenharmony_ci#define AT_UCACHEBSIZE 21 128c2ecf20Sopenharmony_ci/* A special ignored type value for PPC, for glibc compatibility. */ 138c2ecf20Sopenharmony_ci#define AT_IGNOREPPC 22 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci/* The vDSO location. We have to use the same value as x86 for glibc's 168c2ecf20Sopenharmony_ci * sake :-) 178c2ecf20Sopenharmony_ci */ 188c2ecf20Sopenharmony_ci#define AT_SYSINFO_EHDR 33 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci/* 218c2ecf20Sopenharmony_ci * AT_*CACHEBSIZE above represent the cache *block* size which is 228c2ecf20Sopenharmony_ci * the size that is affected by the cache management instructions. 238c2ecf20Sopenharmony_ci * 248c2ecf20Sopenharmony_ci * It doesn't nececssarily matches the cache *line* size which is 258c2ecf20Sopenharmony_ci * more of a performance tuning hint. Additionally the latter can 268c2ecf20Sopenharmony_ci * be different for the different cache levels. 278c2ecf20Sopenharmony_ci * 288c2ecf20Sopenharmony_ci * The set of entries below represent more extensive information 298c2ecf20Sopenharmony_ci * about the caches, in the form of two entry per cache type, 308c2ecf20Sopenharmony_ci * one entry containing the cache size in bytes, and the other 318c2ecf20Sopenharmony_ci * containing the cache line size in bytes in the bottom 16 bits 328c2ecf20Sopenharmony_ci * and the cache associativity in the next 16 bits. 338c2ecf20Sopenharmony_ci * 348c2ecf20Sopenharmony_ci * The associativity is such that if N is the 16-bit value, the 358c2ecf20Sopenharmony_ci * cache is N way set associative. A value if 0xffff means fully 368c2ecf20Sopenharmony_ci * associative, a value of 1 means directly mapped. 378c2ecf20Sopenharmony_ci * 388c2ecf20Sopenharmony_ci * For all these fields, a value of 0 means that the information 398c2ecf20Sopenharmony_ci * is not known. 408c2ecf20Sopenharmony_ci */ 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci#define AT_L1I_CACHESIZE 40 438c2ecf20Sopenharmony_ci#define AT_L1I_CACHEGEOMETRY 41 448c2ecf20Sopenharmony_ci#define AT_L1D_CACHESIZE 42 458c2ecf20Sopenharmony_ci#define AT_L1D_CACHEGEOMETRY 43 468c2ecf20Sopenharmony_ci#define AT_L2_CACHESIZE 44 478c2ecf20Sopenharmony_ci#define AT_L2_CACHEGEOMETRY 45 488c2ecf20Sopenharmony_ci#define AT_L3_CACHESIZE 46 498c2ecf20Sopenharmony_ci#define AT_L3_CACHEGEOMETRY 47 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci#define AT_VECTOR_SIZE_ARCH 14 /* entries in ARCH_DLINFO */ 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci#endif 54