xref: /aosp_15_r20/external/cpuinfo/src/cache.c (revision 2b54f0db79fd8303838913b20ff3780cddaa909f)
1*2b54f0dbSXin Li #include <stddef.h>
2*2b54f0dbSXin Li 
3*2b54f0dbSXin Li #include <cpuinfo.h>
4*2b54f0dbSXin Li #include <cpuinfo/internal-api.h>
5*2b54f0dbSXin Li 
6*2b54f0dbSXin Li 
cpuinfo_compute_max_cache_size(const struct cpuinfo_processor * processor)7*2b54f0dbSXin Li uint32_t cpuinfo_compute_max_cache_size(const struct cpuinfo_processor* processor) {
8*2b54f0dbSXin Li   if (processor->cache.l4 != NULL) {
9*2b54f0dbSXin Li     return processor->cache.l4->size;
10*2b54f0dbSXin Li   } else if (processor->cache.l3 != NULL) {
11*2b54f0dbSXin Li     return processor->cache.l3->size;
12*2b54f0dbSXin Li   } else if (processor->cache.l2 != NULL) {
13*2b54f0dbSXin Li     return processor->cache.l2->size;
14*2b54f0dbSXin Li   } else if (processor->cache.l1d != NULL) {
15*2b54f0dbSXin Li     return processor->cache.l1d->size;
16*2b54f0dbSXin Li   }
17*2b54f0dbSXin Li   return 0;
18*2b54f0dbSXin Li }
19