cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

vmci_doorbell.h (1062B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * VMware VMCI Driver
      4 *
      5 * Copyright (C) 2012 VMware, Inc. All rights reserved.
      6 */
      7
      8#ifndef VMCI_DOORBELL_H
      9#define VMCI_DOORBELL_H
     10
     11#include <linux/vmw_vmci_defs.h>
     12#include <linux/types.h>
     13
     14#include "vmci_driver.h"
     15
     16/*
     17 * VMCINotifyResourceInfo: Used to create and destroy doorbells, and
     18 * generate a notification for a doorbell or queue pair.
     19 */
     20struct vmci_dbell_notify_resource_info {
     21	struct vmci_handle handle;
     22	u16 resource;
     23	u16 action;
     24	s32 result;
     25};
     26
     27/*
     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.
     31 */
     32struct dbell_cpt_state {
     33	struct vmci_handle handle;
     34	u64 bitmap_idx;
     35};
     36
     37int vmci_dbell_host_context_notify(u32 src_cid, struct vmci_handle handle);
     38int vmci_dbell_get_priv_flags(struct vmci_handle handle, u32 *priv_flags);
     39
     40bool vmci_dbell_register_notification_bitmap(u64 bitmap_ppn);
     41void vmci_dbell_scan_notification_entries(u8 *bitmap);
     42
     43#endif /* VMCI_DOORBELL_H */