LCOV - code coverage report
Current view: top level - zephyr/xen - events.h Coverage Total Hit
Test: new.info Lines: 0.0 % 16 0
Test Date: 2025-03-11 06:50:38

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2021 EPAM Systems
       3              :  * Copyright (c) 2022 Arm Limited (or its affiliates). All rights reserved.
       4              :  *
       5              :  * SPDX-License-Identifier: Apache-2.0
       6              :  */
       7              : #ifndef __XEN_EVENTS_H__
       8              : #define __XEN_EVENTS_H__
       9              : 
      10              : #include <zephyr/xen/public/event_channel.h>
      11              : 
      12              : #include <zephyr/kernel.h>
      13              : 
      14            0 : typedef void (*evtchn_cb_t)(void *priv);
      15              : 
      16            0 : struct event_channel_handle {
      17            0 :         evtchn_cb_t cb;
      18            0 :         void *priv;
      19              : };
      20            0 : typedef struct event_channel_handle evtchn_handle_t;
      21              : 
      22              : /*
      23              :  * Following functions just wrap Xen hypercalls, detailed description
      24              :  * of parameters and return values are located in include/xen/public/event_channel.h
      25              :  */
      26            0 : int evtchn_status(evtchn_status_t *status);
      27            0 : int evtchn_close(evtchn_port_t port);
      28            0 : int evtchn_set_priority(evtchn_port_t port, uint32_t priority);
      29            0 : void notify_evtchn(evtchn_port_t port);
      30              : 
      31              : /*
      32              :  * Allocate event-channel between caller and remote domain
      33              :  *
      34              :  * @param remote_dom - remote domain domid
      35              :  * @return - local event channel port on success, negative on error
      36              :  */
      37            0 : int alloc_unbound_event_channel(domid_t remote_dom);
      38              : 
      39              : #ifdef CONFIG_XEN_DOM0
      40              : /*
      41              :  * Allocate event-channel between remote domains. Can be used only from Dom0.
      42              :  *
      43              :  * @param dom - first remote domain domid (may be DOMID_SELF)
      44              :  * @param remote_dom - second remote domain domid
      45              :  * @return - local event channel port on success, negative on error
      46              :  */
      47              : int alloc_unbound_event_channel_dom0(domid_t dom, domid_t remote_dom);
      48              : #endif /* CONFIG_XEN_DOM0 */
      49              : 
      50              : /*
      51              :  * Allocate local event channel, binded to remote port and attach specified callback
      52              :  * to it
      53              :  *
      54              :  * @param remote_dom - remote domain domid
      55              :  * @param remote_port - remote domain event channel port number
      56              :  * @param cb - callback, attached to locat port
      57              :  * @param data - private data, that will be passed to cb
      58              :  * @return - local event channel port on success, negative on error
      59              :  */
      60            0 : int bind_interdomain_event_channel(domid_t remote_dom, evtchn_port_t remote_port,
      61              :                 evtchn_cb_t cb, void *data);
      62              : 
      63              : /*
      64              :  * Bind user-defined handler to specified event-channel
      65              :  *
      66              :  * @param port - event channel number
      67              :  * @param cb - pointer to event channel handler
      68              :  * @param data - private data, that will be passed to handler as parameter
      69              :  * @return - zero on success
      70              :  */
      71            0 : int bind_event_channel(evtchn_port_t port, evtchn_cb_t cb, void *data);
      72              : 
      73              : /*
      74              :  * Unbind handler from event channel, substitute it with empty callback
      75              :  *
      76              :  * @param port - event channel number to unbind
      77              :  * @return - zero on success
      78              :  */
      79            0 : int unbind_event_channel(evtchn_port_t port);
      80            0 : int get_missed_events(evtchn_port_t port);
      81              : 
      82            0 : int xen_events_init(void);
      83              : 
      84              : #endif /* __XEN_EVENTS_H__ */
        

Generated by: LCOV version 2.0-1