Commit 1c5deaec authored by Cornelia Huck's avatar Cornelia Huck
Browse files

s390x: chsc nt2 events are pci-only



The nt2 event class is pci-only - don't look for events if pci is
not in the active cpu model.

Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
Acked-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
parent 5838d657
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ S390pciState *s390_get_phb(void)
    return phb;
}

int chsc_sei_nt2_get_event(void *res)
int pci_chsc_sei_nt2_get_event(void *res)
{
    ChscSeiNt2Res *nt2_res = (ChscSeiNt2Res *)res;
    PciCcdfAvail *accdf;
@@ -87,7 +87,7 @@ int chsc_sei_nt2_get_event(void *res)
    return rc;
}

int chsc_sei_nt2_have_event(void)
int pci_chsc_sei_nt2_have_event(void)
{
    S390pciState *s = s390_get_phb();

+2 −2
Original line number Diff line number Diff line
@@ -319,8 +319,8 @@ typedef struct S390pciState {
} S390pciState;

S390pciState *s390_get_phb(void);
int chsc_sei_nt2_get_event(void *res);
int chsc_sei_nt2_have_event(void);
int pci_chsc_sei_nt2_get_event(void *res);
int pci_chsc_sei_nt2_have_event(void);
void s390_pci_sclp_configure(SCCB *sccb);
void s390_pci_sclp_deconfigure(SCCB *sccb);
void s390_pci_iommu_enable(S390PCIIOMMU *iommu);
+2 −2
Original line number Diff line number Diff line
@@ -7,12 +7,12 @@
#include "s390-pci-bus.h"

/* target/s390x/ioinst.c */
int chsc_sei_nt2_get_event(void *res)
int pci_chsc_sei_nt2_get_event(void *res)
{
    return 1;
}

int chsc_sei_nt2_have_event(void)
int pci_chsc_sei_nt2_have_event(void)
{
    return 0;
}
+16 −0
Original line number Diff line number Diff line
@@ -599,6 +599,22 @@ static int chsc_sei_nt0_have_event(void)
    return 0;
}

static int chsc_sei_nt2_get_event(void *res)
{
    if (s390_has_feat(S390_FEAT_ZPCI)) {
        return pci_chsc_sei_nt2_get_event(res);
    }
    return 1;
}

static int chsc_sei_nt2_have_event(void)
{
    if (s390_has_feat(S390_FEAT_ZPCI)) {
        return pci_chsc_sei_nt2_have_event();
    }
    return 0;
}

#define CHSC_SEI_NT0    (1ULL << 63)
#define CHSC_SEI_NT2    (1ULL << 61)
static void ioinst_handle_chsc_sei(ChscReq *req, ChscResp *res)