1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Copyright (C) 2012 VMware, Inc. All rights reserved.
8 #ifndef VMCI_DOORBELL_H
9 #define VMCI_DOORBELL_H
11 #include <linux/vmw_vmci_defs.h>
12 #include <linux/types.h>
14 #include "vmci_driver.h"
17 * VMCINotifyResourceInfo: Used to create and destroy doorbells, and
18 * generate a notification for a doorbell or queue pair.
20 struct vmci_dbell_notify_resource_info
{
21 struct vmci_handle handle
;
28 * Structure used for checkpointing the doorbell mappings. It is
29 * written to the checkpoint as is, so changing this structure will
30 * break checkpoint compatibility.
32 struct dbell_cpt_state
{
33 struct vmci_handle handle
;
37 int vmci_dbell_host_context_notify(u32 src_cid
, struct vmci_handle handle
);
38 int vmci_dbell_get_priv_flags(struct vmci_handle handle
, u32
*priv_flags
);
40 bool vmci_dbell_register_notification_bitmap(u64 bitmap_ppn
);
41 void vmci_dbell_scan_notification_entries(u8
*bitmap
);
43 #endif /* VMCI_DOORBELL_H */