--- opennebula-4.4.0/src/vmm/LibVirtDriverKVM.cc	2013-11-28 04:43:24.000000000 +1200
+++ /var/lib/one/tmp/opennebula-4.4.0/src/vmm/LibVirtDriverKVM.cc	2013-12-05 22:14:22.768999936 +1200
@@ -46,6 +46,7 @@
     string  kernel_cmd = "";
     string  bootloader = "";
     string  arch       = "";
+    string  machine    = "";
 
     vector<string> boots;
 
@@ -188,6 +189,7 @@
             kernel_cmd = os->vector_value("KERNEL_CMD");
             bootloader = os->vector_value("BOOTLOADER");
             arch       = os->vector_value("ARCH");
+            machine    = os->vector_value("MACHINE");
         }
     }
 
@@ -201,7 +203,13 @@
         }
     }
 
-    file << "\t\t<type arch='" << arch << "'>hvm</type>" << endl;
+ 
+    if ( machine.empty() )
+    {
+        file << "\t\t<type arch='" << arch << "'>hvm</type>" << endl;
+    } else {
+        file << "\t\t<type arch='" << arch << "' machine='" << machine << "'>hvm</type>" << endl;
+    }
 
     if ( kernel.empty() )
     {
