> > static void encode_cache_cpuid80000006(CPUCacheInfo *l2,
> > CPUCacheInfo *l3,
> > - uint32_t *ecx, uint32_t *edx)
> > + uint32_t *ecx, uint32_t *edx,
> > + bool lines_per_tag_supported)
> > {
> > assert(l2->size % 1024 == 0);
> > assert(l2->associativity > 0);
> > - assert(l2->lines_per_tag > 0);
> > - assert(l2->line_size > 0);
>
> why remove the assert for l2->line_size?
Good catch! My bad...
> > + assert(lines_per_tag_supported ?
> > + l2->lines_per_tag > 0 : l2->lines_per_tag == 0);
> > *ecx = ((l2->size / 1024) << 16) |
> > - (AMD_ENC_ASSOC(l2->associativity) << 12) |
> > + (X86_ENC_ASSOC(l2->associativity) << 12) |
> > (l2->lines_per_tag << 8) | (l2->line_size);
> >