#include <stddef.h>

#include <cpuinfo.h>
#include <cpuinfo/internal-api.h>


uint32_t cpuinfo_compute_max_cache_size(const struct cpuinfo_processor* processor) {
  if (processor->cache.l4 != NULL) {
    return processor->cache.l4->size;
  } else if (processor->cache.l3 != NULL) {
    return processor->cache.l3->size;
  } else if (processor->cache.l2 != NULL) {
    return processor->cache.l2->size;
  } else if (processor->cache.l1d != NULL) {
    return processor->cache.l1d->size;
  }
  return 0;
}