/*
 * QEMU HAXM support
 *
 * Copyright IBM, Corp. 2008
 *
 * Authors:
 *  Anthony Liguori   <aliguori@us.ibm.com>
 *
 * Copyright (c) 2011 Intel Corporation
 *  Written by:
 *  Jiang Yunhong<yunhong.jiang@intel.com>
 *  Xin Xiaohui<xiaohui.xin@intel.com>
 *  Zhang Xiantao<xiantao.zhang@intel.com>
 *
 * Copyright 2016 Google, Inc.
 *
 * 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 QEMU_HAX_H
#define QEMU_HAX_H

int hax_sync_vcpus(void);

#ifdef NEED_CPU_H
# ifdef CONFIG_HAX
#  define CONFIG_HAX_IS_POSSIBLE
# endif
#else /* !NEED_CPU_H */
# define CONFIG_HAX_IS_POSSIBLE
#endif

#ifdef CONFIG_HAX_IS_POSSIBLE

extern bool hax_allowed;

#define hax_enabled()               (hax_allowed)

#else /* !CONFIG_HAX_IS_POSSIBLE */

#define hax_enabled()               (0)

#endif /* CONFIG_HAX_IS_POSSIBLE */

#endif /* QEMU_HAX_H */
