Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This is a library to manage the host vfio interface, which could be used to implement userspace device driver code in QEMU such as NVMe or net controllers. Signed-off-by: Fam Zheng <famz@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <20180116060901.17413-3-famz@redhat.com> Signed-off-by: Fam Zheng <famz@redhat.com>
- Loading branch information
Fam Zheng
committed
Feb 8, 2018
1 parent
a37eaa5
commit 418026c
Showing
4 changed files
with
772 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
/* | ||
* QEMU VFIO helpers | ||
* | ||
* Copyright 2016 - 2018 Red Hat, Inc. | ||
* | ||
* Authors: | ||
* Fam Zheng <famz@redhat.com> | ||
* | ||
* This work is licensed under the terms of the GNU GPL, version 2 or later. | ||
* See the COPYING file in the top-level directory. | ||
*/ | ||
|
||
#ifndef QEMU_VFIO_HELPERS_H | ||
#define QEMU_VFIO_HELPERS_H | ||
#include "qemu/typedefs.h" | ||
|
||
typedef struct QEMUVFIOState QEMUVFIOState; | ||
|
||
QEMUVFIOState *qemu_vfio_open_pci(const char *device, Error **errp); | ||
void qemu_vfio_close(QEMUVFIOState *s); | ||
int qemu_vfio_dma_map(QEMUVFIOState *s, void *host, size_t size, | ||
bool temporary, uint64_t *iova_list); | ||
int qemu_vfio_dma_reset_temporary(QEMUVFIOState *s); | ||
void qemu_vfio_dma_unmap(QEMUVFIOState *s, void *host); | ||
void *qemu_vfio_pci_map_bar(QEMUVFIOState *s, int index, | ||
uint64_t offset, uint64_t size, | ||
Error **errp); | ||
void qemu_vfio_pci_unmap_bar(QEMUVFIOState *s, int index, void *bar, | ||
uint64_t offset, uint64_t size); | ||
int qemu_vfio_pci_init_irq(QEMUVFIOState *s, EventNotifier *e, | ||
int irq_type, Error **errp); | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.