static void update_msix_table_msg_data(S390PCIBusDevice *pbdev, uint64_t offset,

                                       uint64_t *data, uint8_t len)

{

    uint32_t val;

    uint8_t *msg_data;



    if (offset % PCI_MSIX_ENTRY_SIZE != 8) {

        return;

    }



    if (len != 4) {

        DPRINTF("access msix table msg data but len is %d\n", len);

        return;

    }



    msg_data = (uint8_t *)data - offset % PCI_MSIX_ENTRY_SIZE +

               PCI_MSIX_ENTRY_VECTOR_CTRL;

    val = pci_get_long(msg_data) | (pbdev->fid << ZPCI_MSI_VEC_BITS);

    pci_set_long(msg_data, val);

    DPRINTF("update msix msg_data to 0x%" PRIx64 "\n", *data);

}

static void update_msix_table_msg_data(S390PCIBusDevice *pbdev, uint64_t offset,

                                       uint64_t *data, uint8_t len)

{

    uint32_t val;

    uint8_t *msg_data;



    if (offset % PCI_MSIX_ENTRY_SIZE != 8) {

        return;

    }



    if (len != 4) {

        DPRINTF("access msix table msg data but len is %d\n", len);

        return;

    }



    msg_data = (uint8_t *)data - offset % PCI_MSIX_ENTRY_SIZE +

               PCI_MSIX_ENTRY_VECTOR_CTRL;

    val = pci_get_long(msg_data) | (pbdev->fid << ZPCI_MSI_VEC_BITS);

    pci_set_long(msg_data, val);

    DPRINTF("update msix msg_data to 0x%" PRIx64 "\n", *data);

}

    val = pci_get_long(msg_data) | (pbdev->fid << ZPCI_MSI_VEC_BITS);
static void FUNC_0(S390PCIBusDevice *VAR_0, uint64_t VAR_1,

                                       uint64_t *VAR_2, uint8_t VAR_3)

{

    uint32_t val;

    uint8_t *msg_data;



    if (VAR_1 % PCI_MSIX_ENTRY_SIZE != 8) {

        return;

    }



    if (VAR_3 != 4) {

        DPRINTF("access msix table msg VAR_2 but VAR_3 is %d\n", VAR_3);

        return;

    }



    msg_data = (uint8_t *)VAR_2 - VAR_1 % PCI_MSIX_ENTRY_SIZE +

               PCI_MSIX_ENTRY_VECTOR_CTRL;

    val = pci_get_long(msg_data) | (VAR_0->fid << ZPCI_MSI_VEC_BITS);

    pci_set_long(msg_data, val);

    DPRINTF("update msix msg_data to 0x%" PRIx64 "\n", *VAR_2);

}

static void FUNC_0(S390PCIBusDevice *VAR_0, uint64_t VAR_1,
uint64_t *VAR_2, uint8_t VAR_3)
{ uint32_t val; uint8_t *msg_data; if (VAR_1 % PCI_MSIX_ENTRY_SIZE != 8) { return; } if (VAR_3 != 4) { DPRINTF("access msix table msg VAR_2 but VAR_3 is %d\n", VAR_3); return; } msg_data = (uint8_t *)VAR_2 - VAR_1 % PCI_MSIX_ENTRY_SIZE +
PCI_MSIX_ENTRY_VECTOR_CTRL; val = pci_get_long(msg_data) | (VAR_0->fid << ZPCI_MSI_VEC_BITS); pci_set_long(msg_data, val); DPRINTF("update msix msg_data to 0x%" PRIx64 "\n", *VAR_2); }