Commit c35734b2a6f9b028edacd5813ff271728ce2a9e3
1 parent
dcfb9014
Add -name option, by Anthony Liguori.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2505 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
6 changed files
with
42 additions
and
10 deletions
monitor.c
... | ... | @@ -235,6 +235,12 @@ static void do_info_version(void) |
235 | 235 | term_printf("%s\n", QEMU_VERSION); |
236 | 236 | } |
237 | 237 | |
238 | +static void do_info_name(void) | |
239 | +{ | |
240 | + if (qemu_name) | |
241 | + term_printf("%s\n", qemu_name); | |
242 | +} | |
243 | + | |
238 | 244 | static void do_info_block(void) |
239 | 245 | { |
240 | 246 | bdrv_info(); |
... | ... | @@ -1314,6 +1320,8 @@ static term_cmd_t info_cmds[] = { |
1314 | 1320 | "", "show which guest mouse is receiving events" }, |
1315 | 1321 | { "vnc", "", do_info_vnc, |
1316 | 1322 | "", "show the vnc server status"}, |
1323 | + { "name", "", do_info_name, | |
1324 | + "", "show the current VM name" }, | |
1317 | 1325 | #if defined(TARGET_PPC) |
1318 | 1326 | { "cpustats", "", do_info_cpu_stats, |
1319 | 1327 | "", "show CPU statistics", }, | ... | ... |
qemu-doc.texi
... | ... | @@ -331,6 +331,10 @@ slows down the IDE transfers). |
331 | 331 | Load the contents of file as an option ROM. This option is useful to load |
332 | 332 | things like EtherBoot. |
333 | 333 | |
334 | +@item -name string | |
335 | +Sets the name of the guest. This name will be display in the SDL window | |
336 | +caption. The name will also be used for the VNC server. | |
337 | + | |
334 | 338 | @end table |
335 | 339 | |
336 | 340 | USB options: | ... | ... |
sdl.c
... | ... | @@ -216,13 +216,18 @@ static void sdl_process_key(SDL_KeyboardEvent *ev) |
216 | 216 | static void sdl_update_caption(void) |
217 | 217 | { |
218 | 218 | char buf[1024]; |
219 | - strcpy(buf, "QEMU"); | |
220 | - if (!vm_running) { | |
221 | - strcat(buf, " [Stopped]"); | |
222 | - } | |
223 | - if (gui_grab) { | |
224 | - strcat(buf, " - Press Ctrl-Alt to exit grab"); | |
225 | - } | |
219 | + const char *status = ""; | |
220 | + | |
221 | + if (!vm_running) | |
222 | + status = " [Stopped]"; | |
223 | + else if (gui_grab) | |
224 | + status = " - Press Ctrl-Alt to exit grab"; | |
225 | + | |
226 | + if (qemu_name) | |
227 | + snprintf(buf, sizeof(buf), "QEMU (%s)%s", qemu_name, status); | |
228 | + else | |
229 | + snprintf(buf, sizeof(buf), "QEMU%s", status); | |
230 | + | |
226 | 231 | SDL_WM_SetCaption(buf, "QEMU"); |
227 | 232 | } |
228 | 233 | ... | ... |
vl.c
... | ... | @@ -189,6 +189,7 @@ const char *option_rom[MAX_OPTION_ROMS]; |
189 | 189 | int nb_option_roms; |
190 | 190 | int semihosting_enabled = 0; |
191 | 191 | int autostart = 1; |
192 | +const char *qemu_name; | |
192 | 193 | |
193 | 194 | /***********************************************************/ |
194 | 195 | /* x86 ISA bus support */ |
... | ... | @@ -6395,6 +6396,7 @@ void help(void) |
6395 | 6396 | #if defined(TARGET_PPC) || defined(TARGET_SPARC) |
6396 | 6397 | "-g WxH[xDEPTH] Set the initial graphical resolution and depth\n" |
6397 | 6398 | #endif |
6399 | + "-name string set the name of the guest\n" | |
6398 | 6400 | "\n" |
6399 | 6401 | "Network options:\n" |
6400 | 6402 | "-net nic[,vlan=n][,macaddr=addr][,model=type]\n" |
... | ... | @@ -6553,7 +6555,8 @@ enum { |
6553 | 6555 | QEMU_OPTION_no_reboot, |
6554 | 6556 | QEMU_OPTION_daemonize, |
6555 | 6557 | QEMU_OPTION_option_rom, |
6556 | - QEMU_OPTION_semihosting | |
6558 | + QEMU_OPTION_semihosting, | |
6559 | + QEMU_OPTION_name, | |
6557 | 6560 | }; |
6558 | 6561 | |
6559 | 6562 | typedef struct QEMUOption { |
... | ... | @@ -6644,6 +6647,7 @@ const QEMUOption qemu_options[] = { |
6644 | 6647 | #if defined(TARGET_ARM) |
6645 | 6648 | { "semihosting", 0, QEMU_OPTION_semihosting }, |
6646 | 6649 | #endif |
6650 | + { "name", HAS_ARG, QEMU_OPTION_name }, | |
6647 | 6651 | { NULL }, |
6648 | 6652 | }; |
6649 | 6653 | |
... | ... | @@ -7340,6 +7344,9 @@ int main(int argc, char **argv) |
7340 | 7344 | case QEMU_OPTION_semihosting: |
7341 | 7345 | semihosting_enabled = 1; |
7342 | 7346 | break; |
7347 | + case QEMU_OPTION_name: | |
7348 | + qemu_name = optarg; | |
7349 | + break; | |
7343 | 7350 | } |
7344 | 7351 | } |
7345 | 7352 | } | ... | ... |
vl.h
... | ... | @@ -114,6 +114,7 @@ void hw_error(const char *fmt, ...); |
114 | 114 | extern const char *bios_dir; |
115 | 115 | |
116 | 116 | extern int vm_running; |
117 | +extern const char *qemu_name; | |
117 | 118 | |
118 | 119 | typedef struct vm_change_state_entry VMChangeStateEntry; |
119 | 120 | typedef void VMChangeStateHandler(void *opaque, int running); | ... | ... |
vnc.c
... | ... | @@ -1056,6 +1056,8 @@ static int protocol_client_msg(VncState *vs, char *data, size_t len) |
1056 | 1056 | static int protocol_client_init(VncState *vs, char *data, size_t len) |
1057 | 1057 | { |
1058 | 1058 | char pad[3] = { 0, 0, 0 }; |
1059 | + char buf[1024]; | |
1060 | + int size; | |
1059 | 1061 | |
1060 | 1062 | vs->width = vs->ds->width; |
1061 | 1063 | vs->height = vs->ds->height; |
... | ... | @@ -1100,8 +1102,13 @@ static int protocol_client_init(VncState *vs, char *data, size_t len) |
1100 | 1102 | |
1101 | 1103 | vnc_write(vs, pad, 3); /* padding */ |
1102 | 1104 | |
1103 | - vnc_write_u32(vs, 4); | |
1104 | - vnc_write(vs, "QEMU", 4); | |
1105 | + if (qemu_name) | |
1106 | + size = snprintf(buf, sizeof(buf), "QEMU (%s)", qemu_name); | |
1107 | + else | |
1108 | + size = snprintf(buf, sizeof(buf), "QEMU"); | |
1109 | + | |
1110 | + vnc_write_u32(vs, size); | |
1111 | + vnc_write(vs, buf, size); | |
1105 | 1112 | vnc_flush(vs); |
1106 | 1113 | |
1107 | 1114 | vnc_read_when(vs, protocol_client_msg, 1); | ... | ... |