if (fd < 0)
return -1;
- if (!setup_script)
+ if (!setup_script || !strcmp(setup_script, "no"))
setup_script = "";
if (setup_script[0] != '\0') {
/* try to launch network init script */
"-net tap[,vlan=n][,fd=h][,ifname=name][,script=file]\n"
" connect the host TAP network interface to VLAN 'n' and use\n"
" the network script 'file' (default=%s);\n"
+ " use 'script=no' to disable script execution;\n"
" use 'fd=h' to connect to an already opened TAP interface\n"
#endif
"-net socket[,vlan=n][,fd=h][,listen=[host]:port][,connect=host:port]\n"
int main(int argc, char **argv)
{
#ifdef CONFIG_GDBSTUB
- int use_gdbstub, gdbstub_port;
+ int use_gdbstub;
+ char gdbstub_port_name[128];
#endif
int i, cdrom_index;
int snapshot, linux_boot;
bios_size = BIOS_SIZE;
#ifdef CONFIG_GDBSTUB
use_gdbstub = 0;
- gdbstub_port = DEFAULT_GDBSTUB_PORT;
+ sprintf(gdbstub_port_name, "%d", DEFAULT_GDBSTUB_PORT);
#endif
snapshot = 0;
nographic = 0;
use_gdbstub = 1;
break;
case QEMU_OPTION_p:
- gdbstub_port = atoi(optarg);
+ pstrcpy(gdbstub_port_name, sizeof(gdbstub_port_name), optarg);
break;
#endif
case QEMU_OPTION_L:
#ifdef CONFIG_GDBSTUB
if (use_gdbstub) {
- if (gdbserver_start(gdbstub_port) < 0) {
- fprintf(stderr, "Could not open gdbserver socket on port %d\n",
- gdbstub_port);
+ CharDriverState *chr;
+ int port;
+
+ port = atoi(gdbstub_port_name);
+ if (port != 0)
+ sprintf(gdbstub_port_name, "tcp::%d,nowait,nodelay,server", port);
+ chr = qemu_chr_open(gdbstub_port_name);
+ if (!chr) {
+ fprintf(stderr, "qemu: could not open gdbstub device '%s'\n",
+ gdbstub_port_name);
exit(1);
- } else {
- printf("Waiting gdb connection on port %d\n", gdbstub_port);
}
+ gdbserver_start(chr);
} else
#endif
if (loadvm)