summaryrefslogblamecommitdiffstats
path: root/include/hw/s390x/s390-pci-kvm.h
blob: 933814a4025bb050af9d5a675d4f8a52f8eced33 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14













                                                                         


                                   

                                       

                                                                                




                                                    








                                                                                


      
/*
 * s390 PCI KVM interfaces
 *
 * Copyright 2022 IBM Corp.
 * Author(s): Matthew Rosato <mjrosato@linux.ibm.com>
 *
 * This work is licensed under the terms of the GNU GPL, version 2 or (at
 * your option) any later version. See the COPYING file in the top-level
 * directory.
 */

#ifndef HW_S390_PCI_KVM_H
#define HW_S390_PCI_KVM_H

#include "hw/s390x/s390-pci-bus.h"
#include "hw/s390x/s390-pci-inst.h"

#ifdef CONFIG_KVM
bool s390_pci_kvm_interp_allowed(void);
int s390_pci_kvm_aif_enable(S390PCIBusDevice *pbdev, ZpciFib *fib, bool assist);
int s390_pci_kvm_aif_disable(S390PCIBusDevice *pbdev);
#else
static inline bool s390_pci_kvm_interp_allowed(void)
{
    return false;
}
static inline int s390_pci_kvm_aif_enable(S390PCIBusDevice *pbdev, ZpciFib *fib,
                                          bool assist)
{
    return -EINVAL;
}
static inline int s390_pci_kvm_aif_disable(S390PCIBusDevice *pbdev)
{
    return -EINVAL;
}
#endif

#endif