Add a test case for testing swtpm migration with the TPM TIS interface. Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * QTest TPM utilities
 | 
						|
 *
 | 
						|
 * Copyright (c) 2018 IBM Corporation
 | 
						|
 *
 | 
						|
 * Authors:
 | 
						|
 *   Stefan Berger <stefanb@linux.vnet.ibm.com>
 | 
						|
 *
 | 
						|
 * This work is licensed under the terms of the GNU GPL, version 2 or later.
 | 
						|
 * See the COPYING file in the top-level directory.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef TESTS_TPM_UTIL_H
 | 
						|
#define TESTS_TPM_UTIL_H
 | 
						|
 | 
						|
#include "qemu/osdep.h"
 | 
						|
#include "io/channel-socket.h"
 | 
						|
 | 
						|
typedef void (tx_func)(QTestState *s,
 | 
						|
                       const unsigned char *req, size_t req_size,
 | 
						|
                       unsigned char *rsp, size_t rsp_size);
 | 
						|
 | 
						|
void tpm_util_crb_transfer(QTestState *s,
 | 
						|
                           const unsigned char *req, size_t req_size,
 | 
						|
                           unsigned char *rsp, size_t rsp_size);
 | 
						|
void tpm_util_tis_transfer(QTestState *s,
 | 
						|
                           const unsigned char *req, size_t req_size,
 | 
						|
                           unsigned char *rsp, size_t rsp_size);
 | 
						|
 | 
						|
void tpm_util_startup(QTestState *s, tx_func *tx);
 | 
						|
void tpm_util_pcrextend(QTestState *s, tx_func *tx);
 | 
						|
void tpm_util_pcrread(QTestState *s, tx_func *tx,
 | 
						|
                      const unsigned char *exp_resp, size_t exp_resp_size);
 | 
						|
 | 
						|
gboolean tpm_util_swtpm_start(const char *path, GPid *pid,
 | 
						|
                              SocketAddress **addr, GError **error);
 | 
						|
void tpm_util_swtpm_kill(GPid pid);
 | 
						|
 | 
						|
void tpm_util_migrate(QTestState *who, const char *uri);
 | 
						|
 | 
						|
void tpm_util_migration_start_qemu(QTestState **src_qemu,
 | 
						|
                                   QTestState **dst_qemu,
 | 
						|
                                   SocketAddress *src_tpm_addr,
 | 
						|
                                   SocketAddress *dst_tpm_addr,
 | 
						|
                                   const char *miguri,
 | 
						|
                                   const char *ifmodel);
 | 
						|
 | 
						|
void tpm_util_wait_for_migration_complete(QTestState *who);
 | 
						|
 | 
						|
#endif /* TESTS_TPM_UTIL_H */
 |