On Mon, May 07, 2018 at 11:44:31PM +0000, Moger, Babu wrote: [...] > > > + > > > /* > > > * Encode cache info for CPUID[0x80000006].ECX and > > CPUID[0x80000006].EDX > > > * @l3 can be NULL. > > > @@ -4105,6 +4111,14 @@ void cpu_x86_cpuid(CPUX86State *env, > > uint32_t index, uint32_t count, > > > break; > > > } > > > break; > > > + case 0x8000001E: > > > + assert(cpu->core_id <= 255); > > > > Where's the code that ensures this assert() line can't be > > triggered by any command-line configuration? > > I did not understand this. Can you please elaborate. Thanks The user must not be able to trigger an assert(), so we need to ensure that core_id will never be larger than 255. Is there existing code that ensures that? > > > > > > + *eax = EXTENDED_APIC_ID((cs->nr_threads - 1), > > > + cpu->socket_id, cpu->core_id, cpu->thread_id); > > > + *ebx = (cs->nr_threads - 1) << 8 | cpu->core_id; > > > + *ecx = cpu->socket_id; > > > + *edx = 0; > > > + break; > > > case 0xC0000000: > > > *eax = env->cpuid_xlevel2; > > > *ebx = 0; > > > -- > > > 2.7.4 > > > > > > > > > > -- > > Eduardo -- Eduardo