This is a very simple versioning API which allows the plugin infrastructure to check the API a plugin was built against. We also expose a min/cur API version to the plugin via the info block in case it wants to avoid using old deprecated APIs in the future. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Robert Foley <robert.foley@linaro.org>
		
			
				
	
	
		
			33 lines
		
	
	
		
			872 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			872 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Copyright (C) 2018, Emilio G. Cota <cota@braap.org>
 | 
						|
 *
 | 
						|
 * License: GNU GPL, version 2 or later.
 | 
						|
 *   See the COPYING file in the top-level directory.
 | 
						|
 */
 | 
						|
#include <inttypes.h>
 | 
						|
#include <assert.h>
 | 
						|
#include <stdlib.h>
 | 
						|
#include <string.h>
 | 
						|
#include <unistd.h>
 | 
						|
#include <stdio.h>
 | 
						|
 | 
						|
#include <qemu-plugin.h>
 | 
						|
 | 
						|
QEMU_PLUGIN_EXPORT int qemu_plugin_version = QEMU_PLUGIN_VERSION;
 | 
						|
 | 
						|
/*
 | 
						|
 * Empty TB translation callback.
 | 
						|
 * This allows us to measure the overhead of injecting and then
 | 
						|
 * removing empty instrumentation.
 | 
						|
 */
 | 
						|
static void vcpu_tb_trans(qemu_plugin_id_t id, struct qemu_plugin_tb *tb)
 | 
						|
{ }
 | 
						|
 | 
						|
QEMU_PLUGIN_EXPORT int qemu_plugin_install(qemu_plugin_id_t id,
 | 
						|
                                           const qemu_info_t *info,
 | 
						|
                                           int argc, char **argv)
 | 
						|
{
 | 
						|
    qemu_plugin_register_vcpu_tb_trans_cb(id, vcpu_tb_trans);
 | 
						|
    return 0;
 | 
						|
}
 |