static void cpu_ioreq_pio(ioreq_t *req)

{

    int i;



    if (req->dir == IOREQ_READ) {

        if (!req->data_is_ptr) {

            req->data = do_inp(req->addr, req->size);

        } else {

            uint32_t tmp;



            for (i = 0; i < req->count; i++) {

                tmp = do_inp(req->addr, req->size);

                write_phys_req_item(req->data, req, i, &tmp);

            }

        }

    } else if (req->dir == IOREQ_WRITE) {

        if (!req->data_is_ptr) {

            do_outp(req->addr, req->size, req->data);

        } else {

            for (i = 0; i < req->count; i++) {

                uint32_t tmp = 0;



                read_phys_req_item(req->data, req, i, &tmp);

                do_outp(req->addr, req->size, tmp);

            }

        }

    }

}

static void cpu_ioreq_pio(ioreq_t *req)

{

    int i;



    if (req->dir == IOREQ_READ) {

        if (!req->data_is_ptr) {

            req->data = do_inp(req->addr, req->size);

        } else {

            uint32_t tmp;



            for (i = 0; i < req->count; i++) {

                tmp = do_inp(req->addr, req->size);

                write_phys_req_item(req->data, req, i, &tmp);

            }

        }

    } else if (req->dir == IOREQ_WRITE) {

        if (!req->data_is_ptr) {

            do_outp(req->addr, req->size, req->data);

        } else {

            for (i = 0; i < req->count; i++) {

                uint32_t tmp = 0;



                read_phys_req_item(req->data, req, i, &tmp);

                do_outp(req->addr, req->size, tmp);

            }

        }

    }

}

static void FUNC_0(ioreq_t *VAR_0)

{

    int VAR_1;



    if (VAR_0->dir == IOREQ_READ) {

        if (!VAR_0->data_is_ptr) {

            VAR_0->data = do_inp(VAR_0->addr, VAR_0->size);

        } else {

            uint32_t tmp;



            for (VAR_1 = 0; VAR_1 < VAR_0->count; VAR_1++) {

                tmp = do_inp(VAR_0->addr, VAR_0->size);

                write_phys_req_item(VAR_0->data, VAR_0, VAR_1, &tmp);

            }

        }

    } else if (VAR_0->dir == IOREQ_WRITE) {

        if (!VAR_0->data_is_ptr) {

            do_outp(VAR_0->addr, VAR_0->size, VAR_0->data);

        } else {

            for (VAR_1 = 0; VAR_1 < VAR_0->count; VAR_1++) {

                uint32_t tmp = 0;



                read_phys_req_item(VAR_0->data, VAR_0, VAR_1, &tmp);

                do_outp(VAR_0->addr, VAR_0->size, tmp);

            }

        }

    }

}

static void FUNC_0(ioreq_t *VAR_0)
{ int VAR_1; if (VAR_0->dir == IOREQ_READ) { if (!VAR_0->data_is_ptr) { VAR_0->data = do_inp(VAR_0->addr, VAR_0->size); } else { uint32_t tmp; for (VAR_1 = 0; VAR_1 < VAR_0->count; VAR_1++) { tmp = do_inp(VAR_0->addr, VAR_0->size); write_phys_req_item(VAR_0->data, VAR_0, VAR_1, &tmp); } } } else if (VAR_0->dir == IOREQ_WRITE) { if (!VAR_0->data_is_ptr) { do_outp(VAR_0->addr, VAR_0->size, VAR_0->data); } else { for (VAR_1 = 0; VAR_1 < VAR_0->count; VAR_1++) { uint32_t tmp = 0; read_phys_req_item(VAR_0->data, VAR_0, VAR_1, &tmp); do_outp(VAR_0->addr, VAR_0->size, tmp); } } } }