Index: ioemu/vl.c
===================================================================
--- ioemu.orig/vl.c	2007-05-03 19:09:15.000000000 +0100
+++ ioemu/vl.c	2007-05-03 19:09:18.000000000 +0100
@@ -176,6 +176,8 @@
 int semihosting_enabled = 0;
 int autostart = 1;
 
+extern int vcpus;
+
 int xc_handle;
 
 char domain_name[1024] = { 'H','V', 'M', 'X', 'E', 'N', '-'};
@@ -6065,6 +6067,7 @@
            "-m megs         set virtual RAM size to megs MB [default=%d]\n"
            "-smp n          set the number of CPUs to 'n' [default=1]\n"
            "-nographic      disable graphical output and redirect serial I/Os to console\n"
+           "-vcpus          set CPU number of guest platform\n"
 #ifndef _WIN32
            "-k language     use keyboard layout (for example \"fr\" for French)\n"
 #endif
@@ -6246,6 +6249,7 @@
     QEMU_OPTION_semihosting
     ,
     QEMU_OPTION_d,
+    QEMU_OPTION_vcpus,
 };
 
 typedef struct QEMUOption {
@@ -6337,6 +6341,7 @@
 #endif
     
     { "d", HAS_ARG, QEMU_OPTION_d },
+    { "vcpus", 1, QEMU_OPTION_vcpus },
     { NULL },
 };
 
@@ -7028,6 +7033,10 @@
                 domid = atoi(optarg);
                 fprintf(logfile, "domid: %d\n", domid);
                 break;
+            case QEMU_OPTION_vcpus:
+                vcpus = atoi(optarg);
+                fprintf(logfile, "qemu: the number of cpus is %d\n", vcpus);
+                break;
             }
         }
     }
