Re: [Qemu-devel] [PATCH v7 7/9] i386: Add support for CPUID_8000_001E for AMD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux