qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] target-i386: add a list of enforceable CPU mode


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH] target-i386: add a list of enforceable CPU models to the help output
Date: Wed, 26 Aug 2015 16:00:39 -0300
User-agent: Mutt/1.5.23 (2014-03-12)

On Wed, Aug 26, 2015 at 08:46:42PM +0200, Peter Lieven wrote:
> Am 26.08.2015 um 20:38 schrieb Eduardo Habkost:
> > On Mon, Aug 24, 2015 at 09:36:23PM +0200, Peter Lieven wrote:
> >> Am 24.08.2015 um 17:46 schrieb Eric Blake:
> >>> On 08/24/2015 03:17 AM, Peter Lieven wrote:
> >>>> this patch adds a probe that lists all enforceable and migrateable
> >>>> CPU models to the -cpu help output. The idea is to know a priory
> >>>> which CPU modules can be exposed to the user without loosing any
> >>>> feature flags.
> >>>>
> >>>> Signed-off-by: Peter Lieven <address@hidden>
> >>>> ---
> >>>>  target-i386/cpu.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
> >>>>  1 file changed, 49 insertions(+)
> >>> Is this same sort of listing available through QMP? Parsing '-cpu help'
> >>> output is undesirable from libvirt point of view.
> >>>
> >> A good point. But is there a QMP command to list available CPU types?
> >> In this case it should be easy to extend.
> > Yes, that's query-cpu-definitions. See past discussion at:
> > http://thread.gmane.org/gmane.comp.emulators.qemu/332554
> >
> > Some of the assumptions at that thread changed. See:
> > http://thread.gmane.org/gmane.comp.emulators.qemu/342582/focus=346651
> > That means runnability should depend only on the accelerator type, and
> > not on the machine-type anymore.
> 
> Thanks for the pointer. But is it possible to query cpu definitions without
> a running Qemu? Like passing a QMP command on the commandline and
> receive the answer on stdout?

Well, it's impossible to check if a CPU model is runnable without running QEMU.
:)

I don't think you can send a QMP command through command-line arguments, but
you can easily start a QMP monitor on stdin/stdio.

Example:
  $ (echo '{ "execute": "qmp_capabilities" }';echo 
'{"execute":"query-cpu-definitions"}';echo '{"execute":"quit"}';) | 
./x86_64-softmmu/qemu-system-x86_64 -nodefaults -S -qmp stdio -machine none 
-nographic
  {"QMP": {"version": {"qemu": {"micro": 50, "minor": 4, "major": 2}, 
"package": ""}, "capabilities": []}}
  {"return": {}}
  {"return": [{"name": "Opteron_G5"}, {"name": "Opteron_G4"}, {"name": 
"Opteron_G3"}, {"name": "Opteron_G2"}, {"name": "Opteron_G1"}, {"name": 
"Broadwell"}, {"name": "Broadwell-noTSX"}, {"name": "Haswell"}, {"name": 
"Haswell-noTSX"}, {"name": "IvyBridge"}, {"name": "SandyBridge"}, {"name": 
"Westmere"}, {"name": "Nehalem"}, {"name": "Penryn"}, {"name": "Conroe"}, 
{"name": "n270"}, {"name": "athlon"}, {"name": "pentium3"}, {"name": 
"pentium2"}, {"name": "pentium"}, {"name": "486"}, {"name": "coreduo"}, 
{"name": "kvm32"}, {"name": "qemu32"}, {"name": "kvm64"}, {"name": "core2duo"}, 
{"name": "phenom"}, {"name": "qemu64"}]}
  {"return": {}}
  {"timestamp": {"seconds": 1440615228, "microseconds": 854114}, "event": 
"SHUTDOWN"}
  $ 


> 
> >
> >> But, I wonder how to issue a QMP command before the vserver is actually
> >> running? Is there a common way to do it?
> > What's a vserver?
> >
> 
> A Virtual Server.

You mean the virtual machine? Yes, it is possible to run QMP commands before
the machine is running (you just need to use -S). You can also use "-machine
none" if you don't want any machine-specific initialization code to run at all.

-- 
Eduardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]