On Thu, Aug 08, 2013 at 05:55:09PM +0200, Andreas Färber wrote: > Hi Peter, > > Am 08.08.2013 14:51, schrieb Peter Maydell: > > [I missed this KVM call but the stuff about -cpu host ties into > > an issue we've been grappling with for ARM KVM, so it seems > > a reasonable jumping-off-point.] > > > > On 6 August 2013 16:15, Juan Quintela <quintela@xxxxxxxxxx> wrote: > >> 2013-08-06 > >> ---------- > >> > >> What libvirt needs/miss Today? > >> - how to handle machine types? creating them inside qemu? > >> - qemu --cpu help > >> only shows cpus, not what features qemu will use > >> - qemu -cpu host > >> what does this exactly means? kvm removes same flags. > >> - Important to know if migration would work. > >> - Machine types sometimes disable some feature, so cpu alone is not > >> enough. > > > >> - kernel removes some features because it knows it can't be virtualised > >> - qemu adds some others because it knows it don't need host support > >> - and then lots of features in the middle > > > > So, coming at this from an ARM perspective: > > Should any target arch that supports KVM also support "-cpu host"? > > If so, what should it do? > > I think that depends on the target and whether/what is useful. > > > Is there a description somewhere of > > what the x86 and PPC semantics of -cpu host are? > > I'm afraid our usual documentation will be reading the source code. ;) > > x86 was first to implement -cpu host and passed through pretty much all > host features even if they would not work without additional support > code. This is definitely not true. Only features that will work are passsed through. Actually the definition of "-cpu host" for x86 can be: advertise any feature that can be supported on this host/qemu combo. > I've seen a bunch of bugs where that leads to GMP and others > breaking badly. Lately in the case of PMU we've started to limit that. The problem with PMU was that PMU capabilities was passed through even for non "-cpu host". There was no problem with "-cpu host". > Alex proposed -cpu best, which was never merged to date. It was similar > to how ppc's -cpu host works: According to http://wiki.qemu.org/Features/CPUModels#-cpu_host_vs_-cpu_best it should select predefined cpu model closest to host one. Useful, bit not the same as "-cpu host". > > ppc matches the Processor Version Register (PVR) in kvm.c against its > known models from cpu-models.c (strictly today, mask being discussed). > The PVR can be read from userspace via mfpvr alias to mfspr (Move From > Special Purpose Register; possibly emulated for userspace by kernel?). > CPU features are all QEMU-driven AFAIU, through the "CPU families" in > translate_init.c. Beware, everything is highly macro'fied in ppc code. > -- Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html