xref: /freebsd/sys/dev/vmware/vmci/vmci_doorbell.h (revision 95ee2897e98f5d444f26ed2334cc7c439f9c16c6)
163a93856SMark Peek /*-
2*3eeb7511SMark Peek  * Copyright (c) 2018 VMware, Inc.
363a93856SMark Peek  *
48c302b2eSMark Peek  * SPDX-License-Identifier: (BSD-2-Clause OR GPL-2.0)
563a93856SMark Peek  */
663a93856SMark Peek 
763a93856SMark Peek /* Internal functions in the VMCI Doorbell API. */
863a93856SMark Peek 
963a93856SMark Peek #ifndef _VMCI_DOORBELL_H_
1063a93856SMark Peek #define _VMCI_DOORBELL_H_
1163a93856SMark Peek 
1263a93856SMark Peek #include "vmci_defs.h"
1363a93856SMark Peek 
1463a93856SMark Peek int	vmci_doorbell_init(void);
1563a93856SMark Peek void	vmci_doorbell_exit(void);
1663a93856SMark Peek void	vmci_doorbell_hibernate(bool enter_hibernate);
1763a93856SMark Peek void	vmci_doorbell_sync(void);
1863a93856SMark Peek 
1963a93856SMark Peek int	vmci_doorbell_host_context_notify(vmci_id src_CID,
2063a93856SMark Peek 	    struct vmci_handle handle);
2163a93856SMark Peek int	vmci_doorbell_get_priv_flags(struct vmci_handle handle,
2263a93856SMark Peek 	    vmci_privilege_flags *priv_flags);
2363a93856SMark Peek 
2463a93856SMark Peek bool	vmci_register_notification_bitmap(PPN bitmap_PPN);
2563a93856SMark Peek void	vmci_scan_notification_bitmap(uint8_t *bitmap);
2663a93856SMark Peek 
2763a93856SMark Peek #endif /* !_VMCI_DOORBELL_H_ */
28