#include <linux/module.h>
#define INCLUDE_VERMAGIC
#include <linux/build-salt.h>
#include <linux/elfnote-lto.h>
#include <linux/export-internal.h>
#include <linux/vermagic.h>
#include <linux/compiler.h>

#ifdef CONFIG_UNWINDER_ORC
#include <asm/orc_header.h>
ORC_HEADER;
#endif

BUILD_SALT;
BUILD_LTO_INFO;

MODULE_INFO(vermagic, VERMAGIC_STRING);
MODULE_INFO(name, KBUILD_MODNAME);

__visible struct module __this_module
__section(".gnu.linkonce.this_module") = {
	.name = KBUILD_MODNAME,
	.init = init_module,
#ifdef CONFIG_MODULE_UNLOAD
	.exit = cleanup_module,
#endif
	.arch = MODULE_ARCH_INIT,
};

MODULE_INFO(intree, "Y");

#ifdef CONFIG_RETPOLINE
MODULE_INFO(retpoline, "Y");
#endif

KSYMTAB_FUNC(vhost_work_init, "_gpl", "");
KSYMTAB_FUNC(vhost_poll_init, "_gpl", "");
KSYMTAB_FUNC(vhost_poll_start, "_gpl", "");
KSYMTAB_FUNC(vhost_poll_stop, "_gpl", "");
KSYMTAB_FUNC(vhost_vq_work_queue, "_gpl", "");
KSYMTAB_FUNC(vhost_vq_flush, "_gpl", "");
KSYMTAB_FUNC(vhost_dev_flush, "_gpl", "");
KSYMTAB_FUNC(vhost_vq_has_work, "_gpl", "");
KSYMTAB_FUNC(vhost_poll_queue, "_gpl", "");
KSYMTAB_FUNC(vhost_vq_is_setup, "_gpl", "");
KSYMTAB_FUNC(vhost_exceeds_weight, "_gpl", "");
KSYMTAB_FUNC(vhost_dev_init, "_gpl", "");
KSYMTAB_FUNC(vhost_dev_check_owner, "_gpl", "");
KSYMTAB_FUNC(vhost_dev_has_owner, "_gpl", "");
KSYMTAB_FUNC(vhost_worker_ioctl, "_gpl", "");
KSYMTAB_FUNC(vhost_dev_set_owner, "_gpl", "");
KSYMTAB_FUNC(vhost_dev_reset_owner_prepare, "_gpl", "");
KSYMTAB_FUNC(vhost_dev_reset_owner, "_gpl", "");
KSYMTAB_FUNC(vhost_dev_stop, "_gpl", "");
KSYMTAB_FUNC(vhost_clear_msg, "_gpl", "");
KSYMTAB_FUNC(vhost_dev_cleanup, "_gpl", "");
KSYMTAB_FUNC(vhost_chr_write_iter, "", "");
KSYMTAB_FUNC(vhost_chr_poll, "", "");
KSYMTAB_FUNC(vhost_chr_read_iter, "_gpl", "");
KSYMTAB_FUNC(vq_meta_prefetch, "_gpl", "");
KSYMTAB_FUNC(vhost_log_access_ok, "_gpl", "");
KSYMTAB_FUNC(vhost_vq_access_ok, "_gpl", "");
KSYMTAB_FUNC(vhost_vring_ioctl, "_gpl", "");
KSYMTAB_FUNC(vhost_init_device_iotlb, "_gpl", "");
KSYMTAB_FUNC(vhost_dev_ioctl, "_gpl", "");
KSYMTAB_FUNC(vhost_log_write, "_gpl", "");
KSYMTAB_FUNC(vhost_vq_init_access, "_gpl", "");
KSYMTAB_FUNC(vhost_get_vq_desc, "_gpl", "");
KSYMTAB_FUNC(vhost_discard_vq_desc, "_gpl", "");
KSYMTAB_FUNC(vhost_add_used, "_gpl", "");
KSYMTAB_FUNC(vhost_add_used_n, "_gpl", "");
KSYMTAB_FUNC(vhost_signal, "_gpl", "");
KSYMTAB_FUNC(vhost_add_used_and_signal, "_gpl", "");
KSYMTAB_FUNC(vhost_add_used_and_signal_n, "_gpl", "");
KSYMTAB_FUNC(vhost_vq_avail_empty, "_gpl", "");
KSYMTAB_FUNC(vhost_enable_notify, "_gpl", "");
KSYMTAB_FUNC(vhost_disable_notify, "_gpl", "");
KSYMTAB_FUNC(vhost_new_msg, "_gpl", "");
KSYMTAB_FUNC(vhost_enqueue_msg, "_gpl", "");
KSYMTAB_FUNC(vhost_dequeue_msg, "_gpl", "");
KSYMTAB_FUNC(vhost_set_backend_features, "_gpl", "");

SYMBOL_CRC(vhost_work_init, 0xa909cfc5, "_gpl");
SYMBOL_CRC(vhost_poll_init, 0xc478facd, "_gpl");
SYMBOL_CRC(vhost_poll_start, 0xbfdbb61d, "_gpl");
SYMBOL_CRC(vhost_poll_stop, 0xc83c4516, "_gpl");
SYMBOL_CRC(vhost_vq_work_queue, 0x6f29542b, "_gpl");
SYMBOL_CRC(vhost_vq_flush, 0x03b210d8, "_gpl");
SYMBOL_CRC(vhost_dev_flush, 0xf95b2396, "_gpl");
SYMBOL_CRC(vhost_vq_has_work, 0x291e286f, "_gpl");
SYMBOL_CRC(vhost_poll_queue, 0xa650c592, "_gpl");
SYMBOL_CRC(vhost_vq_is_setup, 0x0e0ff284, "_gpl");
SYMBOL_CRC(vhost_exceeds_weight, 0x142a26f3, "_gpl");
SYMBOL_CRC(vhost_dev_init, 0x5ca75693, "_gpl");
SYMBOL_CRC(vhost_dev_check_owner, 0xf587262f, "_gpl");
SYMBOL_CRC(vhost_dev_has_owner, 0x92feefec, "_gpl");
SYMBOL_CRC(vhost_worker_ioctl, 0x26c82eef, "_gpl");
SYMBOL_CRC(vhost_dev_set_owner, 0x86ef58a1, "_gpl");
SYMBOL_CRC(vhost_dev_reset_owner_prepare, 0xfd2b3e45, "_gpl");
SYMBOL_CRC(vhost_dev_reset_owner, 0xf83c87c9, "_gpl");
SYMBOL_CRC(vhost_dev_stop, 0x3dc5a28d, "_gpl");
SYMBOL_CRC(vhost_clear_msg, 0x68131362, "_gpl");
SYMBOL_CRC(vhost_dev_cleanup, 0xa05b5fb7, "_gpl");
SYMBOL_CRC(vhost_chr_write_iter, 0xf514a193, "");
SYMBOL_CRC(vhost_chr_poll, 0x1b219c16, "");
SYMBOL_CRC(vhost_chr_read_iter, 0x54a2c7ab, "_gpl");
SYMBOL_CRC(vq_meta_prefetch, 0xccca5d82, "_gpl");
SYMBOL_CRC(vhost_log_access_ok, 0x70e7720f, "_gpl");
SYMBOL_CRC(vhost_vq_access_ok, 0x3e23dc55, "_gpl");
SYMBOL_CRC(vhost_vring_ioctl, 0x59b14710, "_gpl");
SYMBOL_CRC(vhost_init_device_iotlb, 0x7d582dd1, "_gpl");
SYMBOL_CRC(vhost_dev_ioctl, 0x92183b66, "_gpl");
SYMBOL_CRC(vhost_log_write, 0x4f6e5b5d, "_gpl");
SYMBOL_CRC(vhost_vq_init_access, 0x2bbb31a5, "_gpl");
SYMBOL_CRC(vhost_get_vq_desc, 0xddb89df3, "_gpl");
SYMBOL_CRC(vhost_discard_vq_desc, 0x58182a4a, "_gpl");
SYMBOL_CRC(vhost_add_used, 0x8bcddf52, "_gpl");
SYMBOL_CRC(vhost_add_used_n, 0x2e88a802, "_gpl");
SYMBOL_CRC(vhost_signal, 0xe9f57ad9, "_gpl");
SYMBOL_CRC(vhost_add_used_and_signal, 0xce33c2a6, "_gpl");
SYMBOL_CRC(vhost_add_used_and_signal_n, 0x983ad061, "_gpl");
SYMBOL_CRC(vhost_vq_avail_empty, 0x9db918ba, "_gpl");
SYMBOL_CRC(vhost_enable_notify, 0xdfab88b5, "_gpl");
SYMBOL_CRC(vhost_disable_notify, 0x6b7c1e7e, "_gpl");
SYMBOL_CRC(vhost_new_msg, 0xfc84e05b, "_gpl");
SYMBOL_CRC(vhost_enqueue_msg, 0x3e8744ba, "_gpl");
SYMBOL_CRC(vhost_dequeue_msg, 0xcd489822, "_gpl");
SYMBOL_CRC(vhost_set_backend_features, 0xf930aafc, "_gpl");

static const struct modversion_info ____versions[]
__used __section("__versions") = {
	{ 0xa65c6def, "alt_cb_patch_nops" },
	{ 0xba8fbd64, "_raw_spin_lock" },
	{ 0xb5b54b34, "_raw_spin_unlock" },
	{ 0x4afb2238, "add_wait_queue" },
	{ 0x37110088, "remove_wait_queue" },
	{ 0xc7a1840e, "llist_add_batch" },
	{ 0x5b30e25c, "vhost_task_wake" },
	{ 0x8d522714, "__rcu_read_lock" },
	{ 0x2469810f, "__rcu_read_unlock" },
	{ 0xa6257a2f, "complete" },
	{ 0xdcb764ad, "memset" },
	{ 0x608741b5, "__init_swait_queue_head" },
	{ 0x3213f038, "mutex_unlock" },
	{ 0x25974000, "wait_for_completion" },
	{ 0x4dfa8d4b, "mutex_lock" },
	{ 0xf0fdf6cb, "__stack_chk_fail" },
	{ 0x8fa25c24, "xa_find" },
	{ 0xdf36914b, "xa_find_after" },
	{ 0x37a0cba, "kfree" },
	{ 0x6091797f, "synchronize_rcu" },
	{ 0x745a981, "xa_erase" },
	{ 0x4471a51d, "vhost_task_stop" },
	{ 0x498981bd, "mmput" },
	{ 0xfd85e002, "__mmdrop" },
	{ 0xc577832d, "vhost_iotlb_alloc" },
	{ 0xa24517eb, "vhost_iotlb_free" },
	{ 0xe2964344, "__wake_up" },
	{ 0x8f73577f, "kmalloc_caches" },
	{ 0xe0f7f8a8, "kmalloc_trace" },
	{ 0x656e4a6e, "snprintf" },
	{ 0xc58007de, "vhost_task_create" },
	{ 0xcefb0c9f, "__mutex_init" },
	{ 0x8f00f6d1, "vhost_task_start" },
	{ 0x9114b616, "__xa_alloc" },
	{ 0xddb1cd7, "llist_reverse_order" },
	{ 0x808e125b, "pin_user_pages_fast" },
	{ 0x43b0c9c3, "preempt_schedule" },
	{ 0x193f5ba8, "unpin_user_pages_dirty_lock" },
	{ 0x941f2aaa, "eventfd_ctx_put" },
	{ 0x517db3e2, "fput" },
	{ 0xd9491c14, "xa_destroy" },
	{ 0x9ed12e20, "kmalloc_large" },
	{ 0xeb233a45, "__kmalloc" },
	{ 0xdd0cea1f, "get_task_mm" },
	{ 0xdf0f75c6, "eventfd_signal" },
	{ 0x69e872f9, "vhost_iotlb_itree_first" },
	{ 0x325880c3, "iov_iter_init" },
	{ 0xa7b885c4, "_copy_to_iter" },
	{ 0x6cbbfc54, "__arch_copy_to_user" },
	{ 0xad73041f, "autoremove_wake_function" },
	{ 0x1000e51, "schedule" },
	{ 0xd5fd90f1, "prepare_to_wait" },
	{ 0x92540fbf, "finish_wait" },
	{ 0x12a4e128, "__arch_copy_from_user" },
	{ 0x599fb41c, "kvmalloc_node" },
	{ 0x38ff875f, "vhost_iotlb_add_range" },
	{ 0x7aa1756e, "kvfree" },
	{ 0xd67364f7, "eventfd_ctx_fdget" },
	{ 0xb443b378, "_copy_from_iter" },
	{ 0x8f2b722e, "iov_iter_revert" },
	{ 0xf3485aac, "iov_iter_advance" },
	{ 0x6bec0e66, "vhost_iotlb_del_range" },
	{ 0x93dd8a68, "eventfd_fget" },
	{ 0xd9a5ea54, "__init_waitqueue_head" },
	{ 0xeb04cc51, "param_ops_int" },
	{ 0xac043436, "param_ops_ushort" },
	{ 0x126bac03, "module_layout" },
};

MODULE_INFO(depends, "vhost_iotlb");


MODULE_INFO(srcversion, "B116BA6E2729BA86820EDE9");
