mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 12:07:31 +00:00 
			
		
		
		
	 3d95fb9770
			
		
	
	
		3d95fb9770
		
	
	
	
	
		
			
			Drop one more client of global_qtest by teaching all remaining libqos stragglers to pass in an explicit QTestState. Change the setting of global_qtest from being implicit in libqos' call to qtest_start() to instead be explicit in all clients that are still relying on global_qtest. Note that qmp_execute() can be greatly simplified in the process, and that we also get rid of interpolation of a JSON string into a temporary variable when qtest_qmp() can do it more reliably. Signed-off-by: Eric Blake <eblake@redhat.com> Acked-by: Greg Kurz <groug@kaod.org> Reviewed-by: John Snow <jsnow@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
		
			
				
	
	
		
			37 lines
		
	
	
		
			774 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			774 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "qemu/osdep.h"
 | |
| #include "libqos/libqos-pc.h"
 | |
| #include "libqos/malloc-pc.h"
 | |
| #include "libqos/pci-pc.h"
 | |
| 
 | |
| static QOSOps qos_ops = {
 | |
|     .init_allocator = pc_alloc_init_flags,
 | |
|     .uninit_allocator = pc_alloc_uninit,
 | |
|     .qpci_init = qpci_init_pc,
 | |
|     .qpci_free = qpci_free_pc,
 | |
|     .shutdown = qtest_pc_shutdown,
 | |
| };
 | |
| 
 | |
| QOSState *qtest_pc_vboot(const char *cmdline_fmt, va_list ap)
 | |
| {
 | |
|     return qtest_vboot(&qos_ops, cmdline_fmt, ap);
 | |
| }
 | |
| 
 | |
| QOSState *qtest_pc_boot(const char *cmdline_fmt, ...)
 | |
| {
 | |
|     QOSState *qs;
 | |
|     va_list ap;
 | |
| 
 | |
|     va_start(ap, cmdline_fmt);
 | |
|     qs = qtest_vboot(&qos_ops, cmdline_fmt, ap);
 | |
|     va_end(ap);
 | |
| 
 | |
|     qtest_irq_intercept_in(qs->qts, "ioapic");
 | |
| 
 | |
|     return qs;
 | |
| }
 | |
| 
 | |
| void qtest_pc_shutdown(QOSState *qs)
 | |
| {
 | |
|     return qtest_common_shutdown(qs);
 | |
| }
 |