From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1J0k5U-0005Ch-Gi for qemu-devel@nongnu.org; Fri, 07 Dec 2007 15:46:20 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1J0k5R-0005AG-Uk for qemu-devel@nongnu.org; Fri, 07 Dec 2007 15:46:19 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1J0k5R-0005A8-Ml for qemu-devel@nongnu.org; Fri, 07 Dec 2007 15:46:17 -0500 Received: from e6.ny.us.ibm.com ([32.97.182.146]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1J0k5R-0002ff-IK for qemu-devel@nongnu.org; Fri, 07 Dec 2007 15:46:17 -0500 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e6.ny.us.ibm.com (8.13.8/8.13.8) with ESMTP id lB7Kltpu000914 for ; Fri, 7 Dec 2007 15:47:55 -0500 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v8.7) with ESMTP id lB7KkD1r134044 for ; Fri, 7 Dec 2007 15:46:13 -0500 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id lB7KkDNk009310 for ; Fri, 7 Dec 2007 15:46:13 -0500 Received: from localhost.localdomain (frylock.austin.ibm.com [9.53.41.12]) by d01av03.pok.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id lB7KkCuE009231 for ; Fri, 7 Dec 2007 15:46:13 -0500 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Message-Id: <5fe703a5a7bde701686f.1197060354@localhost.localdomain> In-Reply-To: Date: Fri, 07 Dec 2007 14:45:54 -0600 From: Ryan Harper Subject: [Qemu-devel] [PATCH 3 of 3] Add -uuid command line flag Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 2 files changed, 29 insertions(+), 1 deletion(-) smbios.c | 12 +++++++++++- vl.c | 18 ++++++++++++++++++ # HG changeset patch # User Ryan Harper # Date 1197058922 21600 # Node ID 5fe703a5a7bde701686fc333c17836b308c17b4f # Parent 3470dd05f46cc9f14c3fc9561d06031a4bc0ce7a Add -uuid command line flag This patch allows users to specify a uuid. If no uuid is specified, then one is generated. Signed-off-by: Ryan Harper diff -r 3470dd05f46c -r 5fe703a5a7bd smbios.c --- a/smbios.c Fri Dec 07 14:22:02 2007 -0600 +++ b/smbios.c Fri Dec 07 14:22:02 2007 -0600 @@ -32,6 +32,7 @@ #ifdef CONFIG_UUID #include +extern const char *qemu_uuid; #endif CPUState *first_cpu; @@ -497,7 +498,16 @@ load_smbios_tables(uint8_t *entry, uint8 #ifdef CONFIG_UUID uuid_t uuid; - uuid_generate(uuid); + /* parse user-specified uuid if present */ + if (qemu_uuid != NULL) { + if (uuid_parse(qemu_uuid, uuid) < 0) { + fprintf(stderr, "SMBIOS: Could not parse user UUID" + "string, check format.\n"); + return -1; + } + } else { + uuid_generate(uuid); + } #else uint8_t uuid[16] = "QEMUQEMUQEMUQEMU"; #endif diff -r 3470dd05f46c -r 5fe703a5a7bd vl.c --- a/vl.c Fri Dec 07 14:22:02 2007 -0600 +++ b/vl.c Fri Dec 07 14:22:02 2007 -0600 @@ -137,6 +137,9 @@ int inet_aton(const char *cp, struct in_ #define SMBD_COMMAND "/usr/sfw/sbin/smbd" #else #define SMBD_COMMAND "/usr/sbin/smbd" +#endif +#ifdef CONFIG_UUID +const char *qemu_uuid; #endif //#define DEBUG_UNUSED_IOPORT @@ -7545,6 +7548,10 @@ static void help(int exitcode) "-no-reboot exit instead of rebooting\n" "-loadvm file start right away with a saved state (loadvm in monitor)\n" "-vnc display start a VNC server on display\n" +#ifdef CONFIG_UUID + "-uuid %%08x-%%04x-%%04x-%%04x-%%012x\n" + " specify machine UUID\n" +#endif #ifndef _WIN32 "-daemonize daemonize QEMU after initializing\n" #endif @@ -7647,6 +7654,9 @@ enum { QEMU_OPTION_vnc, QEMU_OPTION_no_acpi, QEMU_OPTION_no_reboot, +#ifdef CONFIG_UUID + QEMU_OPTION_uuid, +#endif QEMU_OPTION_show_cursor, QEMU_OPTION_daemonize, QEMU_OPTION_option_rom, @@ -7742,6 +7752,9 @@ const QEMUOption qemu_options[] = { { "usbdevice", HAS_ARG, QEMU_OPTION_usbdevice }, { "smp", HAS_ARG, QEMU_OPTION_smp }, { "vnc", HAS_ARG, QEMU_OPTION_vnc }, +#ifdef CONFIG_UUID + { "uuid", HAS_ARG, QEMU_OPTION_uuid }, +#endif /* temporary options */ { "usb", 0, QEMU_OPTION_usb }, @@ -8527,6 +8540,11 @@ int main(int argc, char **argv) case QEMU_OPTION_daemonize: daemonize = 1; break; +#ifdef CONFIG_UUID + case QEMU_OPTION_uuid: + qemu_uuid = optarg; + break; +#endif case QEMU_OPTION_option_rom: if (nb_option_roms >= MAX_OPTION_ROMS) { fprintf(stderr, "Too many option ROMs\n");