<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
<div>Hello,<br></div><div dir="auto"><br></div><div dir="auto">There are times when spoofing the CPU vendor_id is convenient. For example, some x86 guest OS's only run on Intel and refuse to run on an AMD host. Libvirt does support this in the "host-model" case, but it doesn't work for CPU "host-passthrough". On the QEMU command line it's as easy as:<br></div><div dir="auto"><br></div><div dir="auto">$ qemu-system-x86_64 -cpu host,vendor=GenuineIntel<br></div><div dir="auto"><br></div><div dir="auto">This works fine in libvirt XML:<br></div><div dir="auto"><br></div><div dir="auto"><cpu mode='host-model'><br></div><div dir="auto">  <model vendor_id='GenuineIntel'/><br></div><div dir="auto"></cpu><br></div><div dir="auto"><br></div><div dir="auto">This doesn't:<br></div><div dir="auto"><br></div><div dir="auto"><cpu mode='host-passthrough'><br></div><div dir="auto">  <model vendor_id='GenuineIntel'/><br></div><div dir="auto"></cpu><br></div><div dir="auto"><br></div><div dir="auto">Libvirt silently strips out the model line after saving "virsh edit ..."<br></div><div dir="auto"><br></div><div dir="auto">Is there any reason why libvirt cannot support this in the host-passthrough case? The status quo means that some folks end up resorting to <qemu:arg value='-cpu'/> hacks which of course causes all sorts of confusion with multiple -cpu lines getting passed to QEMU.<br></div><div dir="auto"><br></div><div dir="auto">Thanks<br></div><div dir="auto"><br></div>  </body>
</html>