hmp: add info memdev
This is the hmp counterpart of qmp query-memdev. Signed-off-by: Hu Tao <hutao@cn.fujitsu.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> MST: fix build on 32 bit
This commit is contained in:
		
							parent
							
								
									76b5d8507d
								
							
						
					
					
						commit
						eb1539b234
					
				
							
								
								
									
										36
									
								
								hmp.c
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								hmp.c
									
									
									
									
									
								
							| @ -22,6 +22,8 @@ | ||||
| #include "qemu/sockets.h" | ||||
| #include "monitor/monitor.h" | ||||
| #include "qapi/opts-visitor.h" | ||||
| #include "qapi/string-output-visitor.h" | ||||
| #include "qapi-visit.h" | ||||
| #include "ui/console.h" | ||||
| #include "block/qapi.h" | ||||
| #include "qemu-io.h" | ||||
| @ -1676,3 +1678,37 @@ void hmp_object_del(Monitor *mon, const QDict *qdict) | ||||
|     qmp_object_del(id, &err); | ||||
|     hmp_handle_error(mon, &err); | ||||
| } | ||||
| 
 | ||||
| void hmp_info_memdev(Monitor *mon, const QDict *qdict) | ||||
| { | ||||
|     Error *err = NULL; | ||||
|     MemdevList *memdev_list = qmp_query_memdev(&err); | ||||
|     MemdevList *m = memdev_list; | ||||
|     StringOutputVisitor *ov; | ||||
|     int i = 0; | ||||
| 
 | ||||
| 
 | ||||
|     while (m) { | ||||
|         ov = string_output_visitor_new(false); | ||||
|         visit_type_uint16List(string_output_get_visitor(ov), | ||||
|                               &m->value->host_nodes, NULL, NULL); | ||||
|         monitor_printf(mon, "memory device %d\n", i); | ||||
|         monitor_printf(mon, "  size:  %" PRId64 "\n", m->value->size); | ||||
|         monitor_printf(mon, "  merge: %s\n", | ||||
|                        m->value->merge ? "true" : "false"); | ||||
|         monitor_printf(mon, "  dump: %s\n", | ||||
|                        m->value->dump ? "true" : "false"); | ||||
|         monitor_printf(mon, "  prealloc: %s\n", | ||||
|                        m->value->prealloc ? "true" : "false"); | ||||
|         monitor_printf(mon, "  policy: %s\n", | ||||
|                        HostMemPolicy_lookup[m->value->policy]); | ||||
|         monitor_printf(mon, "  host nodes: %s\n", | ||||
|                        string_output_get_string(ov)); | ||||
| 
 | ||||
|         string_output_visitor_cleanup(ov); | ||||
|         m = m->next; | ||||
|         i++; | ||||
|     } | ||||
| 
 | ||||
|     monitor_printf(mon, "\n"); | ||||
| } | ||||
|  | ||||
							
								
								
									
										1
									
								
								hmp.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								hmp.h
									
									
									
									
									
								
							| @ -93,6 +93,7 @@ void hmp_qemu_io(Monitor *mon, const QDict *qdict); | ||||
| void hmp_cpu_add(Monitor *mon, const QDict *qdict); | ||||
| void hmp_object_add(Monitor *mon, const QDict *qdict); | ||||
| void hmp_object_del(Monitor *mon, const QDict *qdict); | ||||
| void hmp_info_memdev(Monitor *mon, const QDict *qdict); | ||||
| void object_add_completion(ReadLineState *rs, int nb_args, const char *str); | ||||
| void object_del_completion(ReadLineState *rs, int nb_args, const char *str); | ||||
| void device_add_completion(ReadLineState *rs, int nb_args, const char *str); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Hu Tao
						Hu Tao