On 12/07/2012 11:20 PM, Casey DeLorme
        wrote:
      
      
        Xen 4.2 compiled from source should include both
          traditional and upstream qemu.
        
        
        Upstream does not have complete passthrough support, if you
          are doing anything of that nature best to stick to
          traditional.
          
        
        The Xen Man Pages have the most up to date configuration:
        
        
        
        The flag to set per HVM Configuration is
          `device_model_version`, its values are "qemu-xen" and
          "qemu-xen-traditional", the traditional being the default.
           Key benefits are alternative BIOS, though the UEFI BIOS has
          to be specified to build when compiling Xen.
      
      
      IIRC, I tried setting the 'device_model_version' flag to "qemu-dm"
      and "qemu-xen".  In both cases I got the error message I quoted. 
      If "qemu-dm" has been deprecated, the error makes sense.  If, for
      some reason, qemu-upstream didn't get pulled down, the error would
      also make sense.  I didn't try try "qemu-xen-traditional".  But
      that's only because I'm pretty sure that, once the other two
      values failed, I checked the contents of "
/usr/lib/xen-4.2/bin/"
      and found it had no qemu executables.
      
      Still, my recollection could be wrong.  I thought I had documented
      most the non-trivial errors that I encountered.  I have a feeling
      that I lost some of those I captured after reformatting my Dom0
      LV.  I was pretty sleep deprived after two marathon session last
      week.  So, if I forget to backup my error logs, I could also be
      misremembering what the results of changing 'device_model_version'
      values were.
      
      BTW, are there any significant advantages to using the OVMF UEFI
      firmware?  I thought since my motherboard has an UEFI firmware,
      having qemu use an UEFI firmware might somehow be advantageous. 
      However, the last time I tried compiling Xen with "--enable-ovmf",
      make bombed out with the following:
      
      
"/usr/bin/gcc" -c -x assembler -imacros
        /mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/Build/OvmfX64/DEBUG_GCC44/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/DEBUG/AutoGen.h
        -m64 --64 -melf_x86_64 -o
        /mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/Build/OvmfX64/DEBUG_GCC44/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/OUTPUT/X64/InitializeFpu.obj
        -I/mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/UefiCpuPkg/Library/BaseUefiCpuLib/X64
        -I/mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/UefiCpuPkg/Library/BaseUefiCpuLib
        -I/mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/Build/OvmfX64/DEBUG_GCC44/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/DEBUG
        -I/mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/MdePkg
        -I/mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/MdePkg/Include
        -I/mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/MdePkg/Include/X64
        -I/mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/UefiCpuPkg
-I/mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/UefiCpuPkg/Include
/mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/Build/OvmfX64/DEBUG_GCC44/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/OUTPUT/X64/InitializeFpu.iii
        gcc: error: unrecognized command line option ‘--64’
        make[7]: Leaving directory
`/mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/Build/OvmfX64/DEBUG_GCC44/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib'
        gcc: error: unrecognized command line option ‘-melf_x86_64’
        make[7]: ***
        [/mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/Build/OvmfX64/DEBUG_GCC44/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/OUTPUT/X64/InitializeFpu.obj]
        Error 1
        
        
        build.py...
         : error 7000: Failed to execute command
                make tbuild
[/mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/Build/OvmfX64/DEBUG_GCC44/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib]
        
        
        build.py...
         : error F002: Failed to build module
               
        /mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
        [X64, GCC44, DEBUG]
        
        - Failed -
        Build end time: 04:32:20, Dec.08 2012
        Build total time: 00:00:02
        
        make[6]: *** [ovmf.bin] Error 1
        make[6]: Leaving directory
        `/mnt/work/src/xen/xen-unstable.hg/tools/firmware/ovmf-remote'
        make[5]: *** [subdir-all-ovmf] Error 2
        make[5]: Leaving directory
        `/mnt/work/src/xen/xen-unstable.hg/tools/firmware'
        make[4]: *** [subdirs-all] Error 2
        make[4]: Leaving directory
        `/mnt/work/src/xen/xen-unstable.hg/tools/firmware'
        make[3]: *** [all] Error 2
        make[3]: Leaving directory
        `/mnt/work/src/xen/xen-unstable.hg/tools/firmware'
        make[2]: *** [subdir-install-firmware] Error 2
        make[2]: Leaving directory
        `/mnt/work/src/xen/xen-unstable.hg/tools'
        make[1]: *** [subdirs-install] Error 2
        make[1]: Leaving directory
        `/mnt/work/src/xen/xen-unstable.hg/tools'
        make: *** [install-tools] Error 2
      I wish I knew enough about gcc to understand the significance of
      those two 'unrecognized command line options'.  From what Kristian
      Hagsted Rasmussen said in his post here, "How to set GCC version
      for ovmf compilation", he seems to think the problem is a gcc
      version mismatch.  Unfortunately for him and myself, no response
      has been forthcoming on this particular issue.
      
      Anyway. if having a UEFI firmware for qemu is no real advantage,
      I'll just install the alternate build of Xen I did without OVMF
      enabled.