Lines Matching refs:IoData
436 IN OUT XEN_BLOCK_FRONT_IO *IoData,
440 XEN_BLOCK_FRONT_DEVICE *Dev = IoData->Dev;
449 ASSERT(!(IoData->Sector & ((Dev->MediaInfo.SectorSize / 512) - 1)));
451 ASSERT(!(IoData->Size & (Dev->MediaInfo.SectorSize - 1)));
453 ASSERT(!((UINTN) IoData->Buffer & (Dev->MediaInfo.SectorSize - 1)));
455 Start = (UINTN) IoData->Buffer & ~EFI_PAGE_MASK;
456 End = ((UINTN) IoData->Buffer + IoData->Size + EFI_PAGE_SIZE - 1) & ~EFI_PAGE_MASK;
457 IoData->NumRef = NumSegments = (INT32)((End - Start) / EFI_PAGE_SIZE);
468 Request->id = (UINTN) IoData;
469 Request->sector_number = IoData->Sector;
475 Request->seg[0].first_sect = (UINT8)(((UINTN) IoData->Buffer & EFI_PAGE_MASK) / 512);
477 (UINT8)((((UINTN) IoData->Buffer + IoData->Size - 1) & EFI_PAGE_MASK) / 512);
483 IoData->GrantRef[Index] = Request->seg[Index].gref;
504 IN OUT XEN_BLOCK_FRONT_IO *IoData,
511 IoData->Status = EFI_ALREADY_STARTED;
512 XenPvBlockAsyncIo (IoData, IsWrite);
514 while (IoData->Status == EFI_ALREADY_STARTED) {
515 XenPvBlockAsyncIoPoll (IoData->Dev);
518 return IoData
597 XEN_BLOCK_FRONT_IO *IoData = NULL;
602 IoData = (VOID *) (UINTN) Response->id;
616 Status, IoData->Dev->NodeName,
617 (UINT64)IoData->Sector,
618 (UINT64)IoData->Size));
621 for (Index = 0; Index < IoData->NumRef; Index++) {
622 Dev->XenBusIo->GrantEndAccess (Dev->XenBusIo, IoData->GrantRef[Index]);
647 if (IoData != NULL) {
648 IoData->Status = Status ? EFI_DEVICE_ERROR : EFI_SUCCESS;