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 Liuint32_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