mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-26 23:24:03 +02:00
OvmfPkg/XenPvBlkDxe: fix VS2010 build failures
This patch contain type casts and replace one * operation by a MultU64x32() call. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Scott Duplichan <scott@notabs.org> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Build-tested-by: Scott Duplichan <scott@notabs.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16393 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
017a48664a
commit
860088f298
@ -192,7 +192,7 @@ XenPvBlockFrontInitialization (
|
|||||||
Status));
|
Status));
|
||||||
goto Error;
|
goto Error;
|
||||||
}
|
}
|
||||||
Dev->DomainId = Value;
|
Dev->DomainId = (domid_t)Value;
|
||||||
XenBusIo->EventChannelAllocate (XenBusIo, Dev->DomainId, &Dev->EventChannel);
|
XenBusIo->EventChannelAllocate (XenBusIo, Dev->DomainId, &Dev->EventChannel);
|
||||||
|
|
||||||
SharedRing = (blkif_sring_t*) AllocatePages (1);
|
SharedRing = (blkif_sring_t*) AllocatePages (1);
|
||||||
@ -258,7 +258,7 @@ Again:
|
|||||||
if (Status != XENSTORE_STATUS_SUCCESS || Value > MAX_UINT32) {
|
if (Status != XENSTORE_STATUS_SUCCESS || Value > MAX_UINT32) {
|
||||||
goto Error2;
|
goto Error2;
|
||||||
}
|
}
|
||||||
Dev->MediaInfo.VDiskInfo = Value;
|
Dev->MediaInfo.VDiskInfo = (UINT32)Value;
|
||||||
if (Dev->MediaInfo.VDiskInfo & VDISK_READONLY) {
|
if (Dev->MediaInfo.VDiskInfo & VDISK_READONLY) {
|
||||||
Dev->MediaInfo.ReadWrite = FALSE;
|
Dev->MediaInfo.ReadWrite = FALSE;
|
||||||
} else {
|
} else {
|
||||||
@ -274,7 +274,7 @@ Again:
|
|||||||
if (Status != XENSTORE_STATUS_SUCCESS || Value > MAX_UINT32) {
|
if (Status != XENSTORE_STATUS_SUCCESS || Value > MAX_UINT32) {
|
||||||
goto Error2;
|
goto Error2;
|
||||||
}
|
}
|
||||||
if (Value % 512 != 0) {
|
if ((UINT32)Value % 512 != 0) {
|
||||||
//
|
//
|
||||||
// This is not supported by the driver.
|
// This is not supported by the driver.
|
||||||
//
|
//
|
||||||
@ -282,7 +282,7 @@ Again:
|
|||||||
"it must be a multiple of 512\n", Value));
|
"it must be a multiple of 512\n", Value));
|
||||||
goto Error2;
|
goto Error2;
|
||||||
}
|
}
|
||||||
Dev->MediaInfo.SectorSize = Value;
|
Dev->MediaInfo.SectorSize = (UINT32)Value;
|
||||||
|
|
||||||
// Default value
|
// Default value
|
||||||
Value = 0;
|
Value = 0;
|
||||||
@ -439,7 +439,7 @@ XenPvBlockAsyncIo (
|
|||||||
|
|
||||||
Start = (UINTN) IoData->Buffer & ~EFI_PAGE_MASK;
|
Start = (UINTN) IoData->Buffer & ~EFI_PAGE_MASK;
|
||||||
End = ((UINTN) IoData->Buffer + IoData->Size + EFI_PAGE_SIZE - 1) & ~EFI_PAGE_MASK;
|
End = ((UINTN) IoData->Buffer + IoData->Size + EFI_PAGE_SIZE - 1) & ~EFI_PAGE_MASK;
|
||||||
IoData->NumRef = NumSegments = (End - Start) / EFI_PAGE_SIZE;
|
IoData->NumRef = NumSegments = (INT32)((End - Start) / EFI_PAGE_SIZE);
|
||||||
|
|
||||||
ASSERT (NumSegments <= BLKIF_MAX_SEGMENTS_PER_REQUEST);
|
ASSERT (NumSegments <= BLKIF_MAX_SEGMENTS_PER_REQUEST);
|
||||||
|
|
||||||
@ -448,7 +448,7 @@ XenPvBlockAsyncIo (
|
|||||||
Request = RING_GET_REQUEST (&Dev->Ring, RingIndex);
|
Request = RING_GET_REQUEST (&Dev->Ring, RingIndex);
|
||||||
|
|
||||||
Request->operation = IsWrite ? BLKIF_OP_WRITE : BLKIF_OP_READ;
|
Request->operation = IsWrite ? BLKIF_OP_WRITE : BLKIF_OP_READ;
|
||||||
Request->nr_segments = NumSegments;
|
Request->nr_segments = (UINT8)NumSegments;
|
||||||
Request->handle = Dev->DeviceId;
|
Request->handle = Dev->DeviceId;
|
||||||
Request->id = (UINTN) IoData;
|
Request->id = (UINTN) IoData;
|
||||||
Request->sector_number = IoData->Sector;
|
Request->sector_number = IoData->Sector;
|
||||||
@ -457,9 +457,9 @@ XenPvBlockAsyncIo (
|
|||||||
Request->seg[Index].first_sect = 0;
|
Request->seg[Index].first_sect = 0;
|
||||||
Request->seg[Index].last_sect = EFI_PAGE_SIZE / 512 - 1;
|
Request->seg[Index].last_sect = EFI_PAGE_SIZE / 512 - 1;
|
||||||
}
|
}
|
||||||
Request->seg[0].first_sect = ((UINTN) IoData->Buffer & EFI_PAGE_MASK) / 512;
|
Request->seg[0].first_sect = (UINT8)(((UINTN) IoData->Buffer & EFI_PAGE_MASK) / 512);
|
||||||
Request->seg[NumSegments - 1].last_sect =
|
Request->seg[NumSegments - 1].last_sect =
|
||||||
(((UINTN) IoData->Buffer + IoData->Size - 1) & EFI_PAGE_MASK) / 512;
|
(UINT8)((((UINTN) IoData->Buffer + IoData->Size - 1) & EFI_PAGE_MASK) / 512);
|
||||||
for (Index = 0; Index < NumSegments; Index++) {
|
for (Index = 0; Index < NumSegments; Index++) {
|
||||||
UINTN Data = Start + Index * EFI_PAGE_SIZE;
|
UINTN Data = Start + Index * EFI_PAGE_SIZE;
|
||||||
XenBusIo->GrantAccess (XenBusIo, Dev->DomainId,
|
XenBusIo->GrantAccess (XenBusIo, Dev->DomainId,
|
||||||
|
@ -136,7 +136,7 @@ XenPvBlkDxeBlockIoReadWriteBlocks (
|
|||||||
}
|
}
|
||||||
|
|
||||||
IoData.Dev = XEN_BLOCK_FRONT_FROM_BLOCK_IO (This);
|
IoData.Dev = XEN_BLOCK_FRONT_FROM_BLOCK_IO (This);
|
||||||
Sector = Lba * (Media->BlockSize / 512);
|
Sector = (UINTN)MultU64x32 (Lba, Media->BlockSize / 512);
|
||||||
|
|
||||||
while (BufferSize > 0) {
|
while (BufferSize > 0) {
|
||||||
if (((UINTN)Buffer & EFI_PAGE_MASK) == 0) {
|
if (((UINTN)Buffer & EFI_PAGE_MASK) == 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user