Revision 6508fe59 vl.c

b/vl.c
136 136
int full_screen = 0;
137 137
TextConsole *vga_console;
138 138
CharDriverState *serial_hds[MAX_SERIAL_PORTS];
139
CharDriverState *parallel_hds[MAX_PARALLEL_PORTS];
139 140

  
140 141
/***********************************************************/
141 142
/* x86 ISA bus support */
......
2750 2751
           "Debug/Expert options:\n"
2751 2752
           "-monitor dev    redirect the monitor to char device 'dev'\n"
2752 2753
           "-serial dev     redirect the serial port to char device 'dev'\n"
2754
           "-parallel dev   redirect the parallel port to char device 'dev'\n"
2753 2755
           "-pidfile file   Write PID to 'file'\n"
2754 2756
           "-S              freeze CPU at startup (use 'c' to start execution)\n"
2755 2757
           "-s              wait gdb connection to port %d\n"
......
2842 2844
    QEMU_OPTION_std_vga,
2843 2845
    QEMU_OPTION_monitor,
2844 2846
    QEMU_OPTION_serial,
2847
    QEMU_OPTION_parallel,
2845 2848
    QEMU_OPTION_loadvm,
2846 2849
    QEMU_OPTION_full_screen,
2847 2850
    QEMU_OPTION_pidfile,
......
2904 2907
    { "std-vga", 0, QEMU_OPTION_std_vga },
2905 2908
    { "monitor", 1, QEMU_OPTION_monitor },
2906 2909
    { "serial", 1, QEMU_OPTION_serial },
2910
    { "parallel", 1, QEMU_OPTION_parallel },
2907 2911
    { "loadvm", HAS_ARG, QEMU_OPTION_loadvm },
2908 2912
    { "full-screen", 0, QEMU_OPTION_full_screen },
2909 2913
    { "pidfile", HAS_ARG, QEMU_OPTION_pidfile },
......
2986 2990
    char monitor_device[128];
2987 2991
    char serial_devices[MAX_SERIAL_PORTS][128];
2988 2992
    int serial_device_index;
2993
    char parallel_devices[MAX_PARALLEL_PORTS][128];
2994
    int parallel_device_index;
2989 2995
    const char *loadvm = NULL;
2990 2996
    
2991 2997
#if !defined(CONFIG_SOFTMMU)
......
3019 3025
        serial_devices[i][0] = '\0';
3020 3026
    serial_device_index = 0;
3021 3027
    
3028
    pstrcpy(parallel_devices[0], sizeof(parallel_devices[0]), "vc");
3029
    for(i = 1; i < MAX_PARALLEL_PORTS; i++)
3030
        parallel_devices[i][0] = '\0';
3031
    parallel_device_index = 0;
3032
    
3022 3033
    nb_tun_fds = 0;
3023 3034
    net_if_type = -1;
3024 3035
    nb_nics = 1;
......
3115 3126
            case QEMU_OPTION_nographic:
3116 3127
                pstrcpy(monitor_device, sizeof(monitor_device), "stdio");
3117 3128
                pstrcpy(serial_devices[0], sizeof(serial_devices[0]), "stdio");
3129
                pstrcpy(parallel_devices[0], sizeof(parallel_devices[0]), "stdio");
3118 3130
                nographic = 1;
3119 3131
                break;
3120 3132
            case QEMU_OPTION_kernel:
......
3329 3341
                        sizeof(serial_devices[0]), optarg);
3330 3342
                serial_device_index++;
3331 3343
                break;
3344
            case QEMU_OPTION_parallel:
3345
                if (parallel_device_index >= MAX_PARALLEL_PORTS) {
3346
                    fprintf(stderr, "qemu: too many parallel ports\n");
3347
                    exit(1);
3348
                }
3349
                pstrcpy(parallel_devices[parallel_device_index], 
3350
                        sizeof(parallel_devices[0]), optarg);
3351
                parallel_device_index++;
3352
                break;
3332 3353
	    case QEMU_OPTION_loadvm:
3333 3354
		loadvm = optarg;
3334 3355
		break;
......
3552 3573
        }
3553 3574
    }
3554 3575

  
3576
    for(i = 0; i < MAX_PARALLEL_PORTS; i++) {
3577
        if (parallel_devices[i][0] != '\0') {
3578
            parallel_hds[i] = qemu_chr_open(parallel_devices[i]);
3579
            if (!parallel_hds[i]) {
3580
                fprintf(stderr, "qemu: could not open parallel device '%s'\n", 
3581
                        parallel_devices[i]);
3582
                exit(1);
3583
            }
3584
            if (!strcmp(parallel_devices[i], "vc"))
3585
                qemu_chr_printf(parallel_hds[i], "parallel%d console\n", i);
3586
        }
3587
    }
3588

  
3555 3589
    /* setup cpu signal handlers for MMU / self modifying code handling */
3556 3590
#if !defined(CONFIG_SOFTMMU)
3557 3591
    

Also available in: Unified diff