Revert r4979 since it breaks the monitor
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5028 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
		
							parent
							
								
									f99ed40ad8
								
							
						
					
					
						commit
						83ab7950d2
					
				| @ -160,7 +160,6 @@ extern uint8_t _translate_keycode(const int key); | ||||
|    does not need to include console.h  */ | ||||
| /* monitor.c */ | ||||
| void monitor_init(CharDriverState *hd, int show_banner); | ||||
| void monitor_start_input(void); | ||||
| void term_puts(const char *str); | ||||
| void term_vprintf(const char *fmt, va_list ap); | ||||
| void term_printf(const char *fmt, ...) __attribute__ ((__format__ (__printf__, 1, 2))); | ||||
|  | ||||
| @ -76,6 +76,8 @@ static term_cmd_t info_cmds[]; | ||||
| static uint8_t term_outbuf[1024]; | ||||
| static int term_outbuf_index; | ||||
| 
 | ||||
| static void monitor_start_input(void); | ||||
| 
 | ||||
| CPUState *mon_cpu = NULL; | ||||
| 
 | ||||
| void term_flush(void) | ||||
| @ -2683,13 +2685,15 @@ static void term_read(void *opaque, const uint8_t *buf, int size) | ||||
|         readline_handle_byte(buf[i]); | ||||
| } | ||||
| 
 | ||||
| static void monitor_start_input(void); | ||||
| 
 | ||||
| static void monitor_handle_command1(void *opaque, const char *cmdline) | ||||
| { | ||||
|     monitor_handle_command(cmdline); | ||||
|     monitor_start_input(); | ||||
| } | ||||
| 
 | ||||
| void monitor_start_input(void) | ||||
| static void monitor_start_input(void) | ||||
| { | ||||
|     readline_start("(qemu) ", 0, monitor_handle_command1, NULL); | ||||
| } | ||||
| @ -2730,6 +2734,8 @@ void monitor_init(CharDriverState *hd, int show_banner) | ||||
|     hide_banner = !show_banner; | ||||
| 
 | ||||
|     qemu_chr_add_handlers(hd, term_can_read, term_read, term_event, NULL); | ||||
| 
 | ||||
|     readline_start("", 0, monitor_handle_command1, NULL); | ||||
| } | ||||
| 
 | ||||
| /* XXX: use threads ? */ | ||||
|  | ||||
							
								
								
									
										27
									
								
								vl.c
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								vl.c
									
									
									
									
									
								
							| @ -5721,7 +5721,7 @@ static int drive_init(struct drive_opt *arg, int snapshot, | ||||
|         bdrv_flags |= BDRV_O_SNAPSHOT; | ||||
|     if (!cache) | ||||
|         bdrv_flags |= BDRV_O_DIRECT; | ||||
|     if (bdrv_open2(bdrv, file, bdrv_flags, drv) < 0) { | ||||
|     if (bdrv_open2(bdrv, file, bdrv_flags, drv) < 0 || qemu_key_check(bdrv, file)) { | ||||
|         fprintf(stderr, "qemu: could not open disk image %s\n", | ||||
|                         file); | ||||
|         return -1; | ||||
| @ -8009,14 +8009,22 @@ int qemu_key_check(BlockDriverState *bs, const char *name) | ||||
|     return -EPERM; | ||||
| } | ||||
| 
 | ||||
| static BlockDriverState *get_bdrv(int index) | ||||
| { | ||||
|     if (index > nb_drives) | ||||
|         return NULL; | ||||
|     return drives_table[index].bdrv; | ||||
| } | ||||
| 
 | ||||
| static void read_passwords(void) | ||||
| { | ||||
|     BlockDriverState *bs; | ||||
|     int i; | ||||
| 
 | ||||
|     for(i = 0; i < nb_drives; i++) { | ||||
|         bs = drives_table[i].bdrv; | ||||
|         qemu_key_check(bs, bdrv_get_device_name(bs)); | ||||
|     for(i = 0; i < 6; i++) { | ||||
|         bs = get_bdrv(i); | ||||
|         if (bs) | ||||
|             qemu_key_check(bs, bdrv_get_device_name(bs)); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| @ -8185,7 +8193,6 @@ int main(int argc, char **argv) | ||||
|     int optind; | ||||
|     const char *r, *optarg; | ||||
|     CharDriverState *monitor_hd; | ||||
|     int has_monitor; | ||||
|     const char *monitor_device; | ||||
|     const char *serial_devices[MAX_SERIAL_PORTS]; | ||||
|     int serial_device_index; | ||||
| @ -9055,8 +9062,6 @@ int main(int argc, char **argv) | ||||
|     } | ||||
| 
 | ||||
|     /* Maintain compatibility with multiple stdio monitors */ | ||||
| 
 | ||||
|     has_monitor = 0; | ||||
|     if (!strcmp(monitor_device,"stdio")) { | ||||
|         for (i = 0; i < MAX_SERIAL_PORTS; i++) { | ||||
|             const char *devname = serial_devices[i]; | ||||
| @ -9069,7 +9074,6 @@ int main(int argc, char **argv) | ||||
|                 break; | ||||
|             } | ||||
|         } | ||||
|         has_monitor = 1; | ||||
|     } | ||||
|     if (monitor_device) { | ||||
|         monitor_hd = qemu_chr_open(monitor_device); | ||||
| @ -9078,7 +9082,6 @@ int main(int argc, char **argv) | ||||
|             exit(1); | ||||
|         } | ||||
|         monitor_init(monitor_hd, !nographic); | ||||
|         has_monitor = 1; | ||||
|     } | ||||
| 
 | ||||
|     for(i = 0; i < MAX_SERIAL_PORTS; i++) { | ||||
| @ -9139,16 +9142,12 @@ int main(int argc, char **argv) | ||||
|     } | ||||
| #endif | ||||
| 
 | ||||
|     read_passwords(); | ||||
| 
 | ||||
|     if (has_monitor) | ||||
|         monitor_start_input(); | ||||
| 
 | ||||
|     if (loadvm) | ||||
|         do_loadvm(loadvm); | ||||
| 
 | ||||
|     { | ||||
|         /* XXX: simplify init */ | ||||
|         read_passwords(); | ||||
|         if (autostart) { | ||||
|             vm_start(); | ||||
|         } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 aliguori
						aliguori