static KVMMSIRoute *kvm_lookup_msi_route(KVMState *s, MSIMessage msg)

{

    unsigned int hash = kvm_hash_msi(msg.data);

    KVMMSIRoute *route;



    QTAILQ_FOREACH(route, &s->msi_hashtab[hash], entry) {

        if (route->kroute.u.msi.address_lo == (uint32_t)msg.address &&

            route->kroute.u.msi.address_hi == (msg.address >> 32) &&

            route->kroute.u.msi.data == msg.data) {

            return route;

        }

    }

    return NULL;

}

static KVMMSIRoute *kvm_lookup_msi_route(KVMState *s, MSIMessage msg)

{

    unsigned int hash = kvm_hash_msi(msg.data);

    KVMMSIRoute *route;



    QTAILQ_FOREACH(route, &s->msi_hashtab[hash], entry) {

        if (route->kroute.u.msi.address_lo == (uint32_t)msg.address &&

            route->kroute.u.msi.address_hi == (msg.address >> 32) &&

            route->kroute.u.msi.data == msg.data) {

            return route;

        }

    }

    return NULL;

}

static KVMMSIRoute *FUNC_0(KVMState *s, MSIMessage msg)

{

    unsigned int VAR_0 = kvm_hash_msi(msg.data);

    KVMMSIRoute *route;



    QTAILQ_FOREACH(route, &s->msi_hashtab[VAR_0], entry) {

        if (route->kroute.u.msi.address_lo == (uint32_t)msg.address &&

            route->kroute.u.msi.address_hi == (msg.address >> 32) &&

            route->kroute.u.msi.data == msg.data) {

            return route;

        }

    }

    return NULL;

}

static KVMMSIRoute *FUNC_0(KVMState *s, MSIMessage msg)
{ unsigned int VAR_0 = kvm_hash_msi(msg.data); KVMMSIRoute *route; QTAILQ_FOREACH(route, &s->msi_hashtab[VAR_0], entry) { if (route->kroute.u.msi.address_lo == (uint32_t)msg.address &&
route->kroute.u.msi.address_hi == (msg.address >> 32) &&
route->kroute.u.msi.data == msg.data) { return route; } } return NULL; }