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

vbox_utils.h (1790B)


      1/* SPDX-License-Identifier: (GPL-2.0 OR CDDL-1.0) */
      2/* Copyright (C) 2006-2016 Oracle Corporation */
      3
      4#ifndef __VBOX_UTILS_H__
      5#define __VBOX_UTILS_H__
      6
      7#include <linux/printk.h>
      8#include <linux/vbox_vmmdev_types.h>
      9
     10struct vbg_dev;
     11
     12/**
     13 * vboxguest logging functions, these log both to the backdoor and call
     14 * the equivalent kernel pr_foo function.
     15 */
     16__printf(1, 2) void vbg_info(const char *fmt, ...);
     17__printf(1, 2) void vbg_warn(const char *fmt, ...);
     18__printf(1, 2) void vbg_err(const char *fmt, ...);
     19__printf(1, 2) void vbg_err_ratelimited(const char *fmt, ...);
     20
     21/* Only use backdoor logging for non-dynamic debug builds */
     22#if defined(DEBUG) && !defined(CONFIG_DYNAMIC_DEBUG)
     23__printf(1, 2) void vbg_debug(const char *fmt, ...);
     24#else
     25#define vbg_debug pr_debug
     26#endif
     27
     28int vbg_hgcm_connect(struct vbg_dev *gdev, u32 requestor,
     29		     struct vmmdev_hgcm_service_location *loc,
     30		     u32 *client_id, int *vbox_status);
     31
     32int vbg_hgcm_disconnect(struct vbg_dev *gdev, u32 requestor,
     33			u32 client_id, int *vbox_status);
     34
     35int vbg_hgcm_call(struct vbg_dev *gdev, u32 requestor, u32 client_id,
     36		  u32 function, u32 timeout_ms,
     37		  struct vmmdev_hgcm_function_parameter *parms, u32 parm_count,
     38		  int *vbox_status);
     39
     40/**
     41 * Convert a VirtualBox status code to a standard Linux kernel return value.
     42 * Return: 0 or negative errno value.
     43 * @rc:			VirtualBox status code to convert.
     44 */
     45int vbg_status_code_to_errno(int rc);
     46
     47/**
     48 * Helper for the vboxsf driver to get a reference to the guest device.
     49 * Return: a pointer to the gdev; or a ERR_PTR value on error.
     50 */
     51struct vbg_dev *vbg_get_gdev(void);
     52
     53/**
     54 * Helper for the vboxsf driver to put a guest device reference.
     55 * @gdev:		Reference returned by vbg_get_gdev to put.
     56 */
     57void vbg_put_gdev(struct vbg_dev *gdev);
     58
     59#endif