440 |
440 |
dst = RING_GET_RESPONSE(&blkdev->rings.native, blkdev->rings.native.rsp_prod_pvt);
|
441 |
441 |
break;
|
442 |
442 |
case BLKIF_PROTOCOL_X86_32:
|
443 |
|
dst = RING_GET_RESPONSE(&blkdev->rings.x86_32, blkdev->rings.x86_32.rsp_prod_pvt);
|
|
443 |
dst = RING_GET_RESPONSE(&blkdev->rings.x86_32_part,
|
|
444 |
blkdev->rings.x86_32_part.rsp_prod_pvt);
|
444 |
445 |
break;
|
445 |
446 |
case BLKIF_PROTOCOL_X86_64:
|
446 |
|
dst = RING_GET_RESPONSE(&blkdev->rings.x86_64, blkdev->rings.x86_64.rsp_prod_pvt);
|
|
447 |
dst = RING_GET_RESPONSE(&blkdev->rings.x86_64_part,
|
|
448 |
blkdev->rings.x86_64_part.rsp_prod_pvt);
|
447 |
449 |
break;
|
448 |
450 |
default:
|
449 |
451 |
dst = NULL;
|
... | ... | |
491 |
493 |
sizeof(ioreq->req));
|
492 |
494 |
break;
|
493 |
495 |
case BLKIF_PROTOCOL_X86_32:
|
494 |
|
blkif_get_x86_32_req(&ioreq->req, RING_GET_REQUEST(&blkdev->rings.x86_32, rc));
|
|
496 |
blkif_get_x86_32_req(&ioreq->req,
|
|
497 |
RING_GET_REQUEST(&blkdev->rings.x86_32_part, rc));
|
495 |
498 |
break;
|
496 |
499 |
case BLKIF_PROTOCOL_X86_64:
|
497 |
|
blkif_get_x86_64_req(&ioreq->req, RING_GET_REQUEST(&blkdev->rings.x86_64, rc));
|
|
500 |
blkif_get_x86_64_req(&ioreq->req,
|
|
501 |
RING_GET_REQUEST(&blkdev->rings.x86_64_part, rc));
|
498 |
502 |
break;
|
499 |
503 |
}
|
500 |
504 |
return 0;
|
... | ... | |
698 |
702 |
case BLKIF_PROTOCOL_X86_32:
|
699 |
703 |
{
|
700 |
704 |
blkif_x86_32_sring_t *sring_x86_32 = blkdev->sring;
|
701 |
|
BACK_RING_INIT(&blkdev->rings.x86_32, sring_x86_32, XC_PAGE_SIZE);
|
|
705 |
|
|
706 |
BACK_RING_INIT(&blkdev->rings.x86_32_part, sring_x86_32, XC_PAGE_SIZE);
|
702 |
707 |
break;
|
703 |
708 |
}
|
704 |
709 |
case BLKIF_PROTOCOL_X86_64:
|
705 |
710 |
{
|
706 |
711 |
blkif_x86_64_sring_t *sring_x86_64 = blkdev->sring;
|
707 |
|
BACK_RING_INIT(&blkdev->rings.x86_64, sring_x86_64, XC_PAGE_SIZE);
|
|
712 |
|
|
713 |
BACK_RING_INIT(&blkdev->rings.x86_64_part, sring_x86_64, XC_PAGE_SIZE);
|
708 |
714 |
break;
|
709 |
715 |
}
|
710 |
716 |
}
|