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