qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [5257] Add -uuid command line option (Gleb Natapov)
@ 2008-09-18 18:29 Blue Swirl
  0 siblings, 0 replies; only message in thread
From: Blue Swirl @ 2008-09-18 18:29 UTC (permalink / raw)
  To: qemu-devel

Revision: 5257
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5257
Author:   blueswir1
Date:     2008-09-18 18:29:08 +0000 (Thu, 18 Sep 2008)

Log Message:
-----------
Add -uuid command line option (Gleb Natapov)

Modified Paths:
--------------
    trunk/sysemu.h
    trunk/vl.c

Modified: trunk/sysemu.h
===================================================================
--- trunk/sysemu.h	2008-09-18 18:27:29 UTC (rev 5256)
+++ trunk/sysemu.h	2008-09-18 18:29:08 UTC (rev 5257)
@@ -8,6 +8,8 @@
 
 extern int vm_running;
 extern const char *qemu_name;
+extern uint8_t qemu_uuid[];
+#define UUID_FMT "%02hhx%02hhx%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx-%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx"
 
 typedef struct vm_change_state_entry VMChangeStateEntry;
 typedef void VMChangeStateHandler(void *opaque, int running);

Modified: trunk/vl.c
===================================================================
--- trunk/vl.c	2008-09-18 18:27:29 UTC (rev 5256)
+++ trunk/vl.c	2008-09-18 18:29:08 UTC (rev 5257)
@@ -254,6 +254,8 @@
 QEMUTimer *icount_rt_timer;
 QEMUTimer *icount_vm_timer;
 
+uint8_t qemu_uuid[16];
+
 #define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
 
 /***********************************************************/
@@ -7700,6 +7702,7 @@
            "-g WxH[xDEPTH]  Set the initial graphical resolution and depth\n"
 #endif
            "-name string    set the name of the guest\n"
+           "-uuid %%08x-%%04x-%%04x-%%04x-%%012x specify machine UUID\n"
            "\n"
            "Network options:\n"
            "-net nic[,vlan=n][,macaddr=addr][,model=type]\n"
@@ -7894,6 +7897,7 @@
     QEMU_OPTION_startdate,
     QEMU_OPTION_tb_size,
     QEMU_OPTION_icount,
+    QEMU_OPTION_uuid,
 };
 
 typedef struct QEMUOption {
@@ -7982,6 +7986,7 @@
 #ifdef CONFIG_CURSES
     { "curses", 0, QEMU_OPTION_curses },
 #endif
+    { "uuid", HAS_ARG, QEMU_OPTION_uuid },
 
     /* temporary options */
     { "usb", 0, QEMU_OPTION_usb },
@@ -8192,6 +8197,23 @@
 }
 #endif
 
+static int qemu_uuid_parse(const char *str, uint8_t *uuid)
+{
+    int ret;
+
+    if(strlen(str) != 36)
+        return -1;
+
+    ret = sscanf(str, UUID_FMT, &uuid[0], &uuid[1], &uuid[2], &uuid[3],
+            &uuid[4], &uuid[5], &uuid[6], &uuid[7], &uuid[8], &uuid[9],
+            &uuid[10], &uuid[11], &uuid[12], &uuid[13], &uuid[14], &uuid[15]);
+
+    if(ret != 16)
+        return -1;
+
+    return 0;
+}
+
 #define MAX_NET_CLIENTS 32
 
 #ifndef _WIN32
@@ -8770,6 +8792,13 @@
             case QEMU_OPTION_show_cursor:
                 cursor_hide = 0;
                 break;
+            case QEMU_OPTION_uuid:
+                if(qemu_uuid_parse(optarg, qemu_uuid) < 0) {
+                    fprintf(stderr, "Fail to parse UUID string."
+                            " Wrong format.\n");
+                    exit(1);
+                }
+                break;
 	    case QEMU_OPTION_daemonize:
 		daemonize = 1;
 		break;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-09-18 18:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-18 18:29 [Qemu-devel] [5257] Add -uuid command line option (Gleb Natapov) Blue Swirl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).