Skip to contentSkip to conversation

Enhance monitor change command

PATCH New Anthony Liguori 1 participant 1 message Mar 4, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Enhance monitor change command

Howdy,

The following patch allows the change monitor command to be used with vnc, serial, and parallel devices. It depends on my previously posted patches.

The patch implements:

1) A vnc "null" display
2) The ability to reopen character devices
3) Appropriate tab expansions for devices

This patch is quite useful for management tools as it allows much more flexibility in allowing the user to configure running instances.

Regards,

Anthony Liguori

console.c +2 -6
diff -r 6b23d9afec55 console.c
@@ -1155,16 +1155,12 @@ int is_graphic_console(void)
     return !active_console->text_console;
 }
 
-CharDriverState *text_console_init(DisplayState *ds)
-{
-    CharDriverState *chr;
+CharDriverState *text_console_init(CharDriverState *chr, DisplayState *ds)
+{
     TextConsole *s;
     int i,j;
     static int color_inited;
 
-    chr = qemu_mallocz(sizeof(CharDriverState));
-    if (!chr)
-        return NULL;
     s = new_console(ds, 1);
     if (!s) {
         free(chr);
monitor.c +62 -6

116 lines not on this page · raw message

vl.c +89 -99

392 lines not on this page · raw message

vl.h +3 -1
diff -r 6b23d9afec55 vl.h
@@ -311,6 +311,7 @@ typedef struct CharDriverState {
 } CharDriverState;
 
 CharDriverState *qemu_chr_open(const char *filename);
+CharDriverState *qemu_chr_open2(CharDriverState *chr, const char *filename);
 void qemu_chr_printf(CharDriverState *s, const char *fmt, ...);
 int qemu_chr_write(CharDriverState *s, const uint8_t *buf, int len);
 void qemu_chr_send_event(CharDriverState *s, int event);
@@ -342,7 +343,7 @@ void vga_hw_screen_dump(const char *file
 void vga_hw_screen_dump(const char *filename);
 
 int is_graphic_console(void);
-CharDriverState *text_console_init(DisplayState *ds);
+CharDriverState *text_console_init(CharDriverState *chr, DisplayState *ds);
 void console_select(unsigned int index);
 
 /* serial ports */
@@ -921,6 +922,7 @@ void cocoa_display_init(DisplayState *ds
 
 /* vnc.c */
 void vnc_display_init(DisplayState *ds, const char *display);
+int vnc_display_open(DisplayState *ds, const char *display);
 void do_info_vnc(void);
 
 /* x_keymap.c */
vnc.c +79 -45

172 lines not on this page · raw message

qemu-doc.texi +2 -1
diff -r 6b23d9afec55 qemu-doc.texi
@@ -267,7 +267,8 @@ will only be allowed from @var{interface
 will only be allowed from @var{interface} on display @var{d}. Optionally,
 @var{interface} can be omitted.  @var{display} can also be in the form
 @var{unix:path} where @var{path} is the location of a unix socket to listen for
-connections on.
+connections on.  @var{display} can also be @var{null} which create a VNC server
+that does not listen on any interfaces.
 
 
 @item -k language