[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] - make qemu serial summagraphics settings a bit more fluid
Changeset 9967 made the qemu serial line Summagraphics support a little more flexible with respect to the COM line chosen. This patch furthers that effort by removing the COM2 restriction. This patch allows a "-summa n" command line option to qemu to specify which, if any, COM port should be using the Summagraphics protocols. Signed-off-by: Ben Thomas (ben@xxxxxxxxxxxxxxx) -- ------------------------------------------------------------------------ Ben Thomas Virtual Iron Software bthomas@xxxxxxxxxxxxxxx Tower 1, Floor 2 978-849-1214 900 Chelmsford Street Lowell, MA 01851 diff -r 48c0f5489d44 tools/ioemu/hw/pc.c --- a/tools/ioemu/hw/pc.c Thu May 18 11:39:03 2006 +0100 +++ b/tools/ioemu/hw/pc.c Thu May 18 14:46:20 2006 -0400 @@ -537,7 +537,7 @@ void pc_init(uint64_t ram_size, int vga_ for(i = 0; i < MAX_SERIAL_PORTS; i++) { if (serial_hds[i]) { sp = serial_init(serial_io[i], serial_irq[i], serial_hds[i]); - if (i == SUMMA_PORT) + if (serial_summa[i]) summa_init(sp, serial_hds[i]); } } diff -r 48c0f5489d44 tools/ioemu/vl.c --- a/tools/ioemu/vl.c Thu May 18 11:39:03 2006 +0100 +++ b/tools/ioemu/vl.c Thu May 18 14:46:20 2006 -0400 @@ -146,6 +146,7 @@ int repeat_key = 1; int repeat_key = 1; TextConsole *vga_console; CharDriverState *serial_hds[MAX_SERIAL_PORTS]; +int serial_summa[MAX_SERIAL_PORTS]; int xc_handle; time_t timeoffset = 0; @@ -2244,6 +2245,7 @@ void help(void) "Debug/Expert options:\n" "-monitor dev redirect the monitor to char device 'dev'\n" "-serial dev redirect the serial port to char device 'dev'\n" + "-summa n set serial line COMn to be a Summagraphics tablet" "-S freeze CPU at startup (use 'c' to start execution)\n" "-s wait gdb connection to port %d\n" "-p port ioreq port for xen\n" @@ -2349,6 +2351,7 @@ enum { QEMU_OPTION_monitor, QEMU_OPTION_domainname, QEMU_OPTION_serial, + QEMU_OPTION_summa, QEMU_OPTION_timeoffset, QEMU_OPTION_loadvm, QEMU_OPTION_full_screen, @@ -2425,6 +2428,7 @@ const QEMUOption qemu_options[] = { { "domain-name", 1, QEMU_OPTION_domainname }, { "timeoffset", HAS_ARG, QEMU_OPTION_timeoffset }, { "serial", 1, QEMU_OPTION_serial }, + { "summa", 1, QEMU_OPTION_summa }, { "loadvm", HAS_ARG, QEMU_OPTION_loadvm }, { "full-screen", 0, QEMU_OPTION_full_screen }, @@ -2554,6 +2558,7 @@ int main(int argc, char **argv) char monitor_device[128]; char serial_devices[MAX_SERIAL_PORTS][128]; int serial_device_index; + int summa_index; char qemu_dm_logfilename[64]; const char *loadvm = NULL; unsigned long nr_pages, *page_array; @@ -2588,9 +2593,11 @@ int main(int argc, char **argv) pstrcpy(monitor_device, sizeof(monitor_device), "vc"); pstrcpy(serial_devices[0], sizeof(serial_devices[0]), "vc"); - pstrcpy(serial_devices[1], sizeof(serial_devices[1]), "null"); - for(i = 2; i < MAX_SERIAL_PORTS; i++) + serial_summa[0] = 0; + for(i = 1; i < MAX_SERIAL_PORTS; i++) { serial_devices[i][0] = '\0'; + serial_summa[i] = 0; + } serial_device_index = 0; nb_tun_fds = 0; @@ -2931,6 +2938,15 @@ int main(int argc, char **argv) sizeof(serial_devices[0]), optarg); serial_device_index++; break; + case QEMU_OPTION_summa: + summa_index = atoi(optarg); + if ( (summa_index <= 0) || (summa_index > MAX_SERIAL_PORTS) ) { + fprintf(stderr, "qemu: summa index out of range\n"); + exit(1); + } + serial_summa[i-1] = 1; + break; + case QEMU_OPTION_loadvm: loadvm = optarg; break; diff -r 48c0f5489d44 tools/ioemu/vl.h --- a/tools/ioemu/vl.h Thu May 18 11:39:03 2006 +0100 +++ b/tools/ioemu/vl.h Thu May 18 14:46:20 2006 -0400 @@ -238,9 +238,9 @@ void console_select(unsigned int index); /* serial ports */ #define MAX_SERIAL_PORTS 4 -#define SUMMA_PORT 1 extern CharDriverState *serial_hds[MAX_SERIAL_PORTS]; +extern serial_summa[MAX_SERIAL_PORTS]; /* network redirectors support */ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |