Re: x86info: dump kvm cpuid's

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

 



On Mon, Apr 30, 2012 at 12:38:13PM +0300, Michael S. Tsirkin wrote:
> On Mon, Apr 30, 2012 at 11:43:19AM +0300, Gleb Natapov wrote:
> > On Sun, Apr 29, 2012 at 01:10:21PM +0300, Michael S. Tsirkin wrote:
> > > The following makes 'x86info -r' dump kvm cpu ids
> > > (signature+features) when running in a vm.
> > > 
> > > On the guest we see the signature and the features:
> > > eax in: 0x40000000, eax = 00000000 ebx = 4b4d564b ecx = 564b4d56 edx = 0000004d
> > > eax in: 0x40000001, eax = 0100007b ebx = 00000000 ecx = 00000000 edx = 00000000
> > > 
> > > On the host it just adds a couple of zero lines:
> > > eax in: 0x40000000, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > eax in: 0x40000001, eax = 00000000 ebx = 00000000 ecx = 00000000 edx = 00000000
> > > 
> > This is too KVM specific.
> 
> That's what I have. I scratch my own itch.
> 
> > Other hypervisors may use more cpuid leafs.
> 
> But not less so no harm's done.
> 
> > As far as I see Hyper-V uses 5 and use cpuid.0x40000000.eax as max cpuid
> > leaf available. Haven't checked Xen or VMWare.
> 
> I don't think guessing at the CPU behaviour from linux source
> is the right thing to do.
> 
That is guessing from Hyper-V specification. The best kind of guess.

http://msdn.microsoft.com/en-us/library/windows/hardware/ff542700%28v=vs.85%29.aspx

> I Cc'd some addresses found in MAINTAINERS in the linux
> kernel. This will give more people the opportunity
> to ask for their stuff to be added, if they care.
> 
> > > Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
> > > 
> > > ---
> > > 
> > > Dave - not sure whether there's a mailing list for x86info.
> > > The patch is on top of the master branch in
> > > git://git.codemonkey.org.uk/x86info.git
> > > 
> > > Thanks!
> > > 
> > > diff --git a/x86info.c b/x86info.c
> > > index 22c4734..dee5ed1 100644
> > > --- a/x86info.c
> > > +++ b/x86info.c
> > > @@ -44,6 +44,7 @@ static void display_detailed_info(struct cpudata *cpu)
> > >  
> > >  		if (cpu->maxei2 >=0xC0000000)
> > >  			dump_raw_cpuid(cpu->number, 0xC0000000, cpu->maxei2);
> > > +		dump_raw_cpuid(cpu->number, 0x40000000, 0x40000001);
> > >  	}
> > >  
> > >  	if (show_cacheinfo) {
> > 
> > --
> > 			Gleb.

--
			Gleb.
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux