mirror of https://github.com/acidanthera/audk.git
OvmfPkg: VirtioNetDxe: fix some build errors emitted by Visual Studio
These were found with the gcc-4.4 option "-Wconversion" after Jordan reported the build failure under Visual Studio. The patch was originally posted to edk2-devel as "silence.patch": http://thread.gmane.org/gmane.comp.bios.tianocore.devel/2804/focus=2972 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14419 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
65575e4f13
commit
9f3acbb5c9
|
@ -120,7 +120,8 @@ VirtioNetInitTx (
|
||||||
{
|
{
|
||||||
UINTN PktIdx;
|
UINTN PktIdx;
|
||||||
|
|
||||||
Dev->TxMaxPending = MIN (Dev->TxRing.QueueSize / 2, VNET_MAX_PENDING);
|
Dev->TxMaxPending = (UINT16) MIN (Dev->TxRing.QueueSize / 2,
|
||||||
|
VNET_MAX_PENDING);
|
||||||
Dev->TxCurPending = 0;
|
Dev->TxCurPending = 0;
|
||||||
Dev->TxFreeStack = AllocatePool (Dev->TxMaxPending *
|
Dev->TxFreeStack = AllocatePool (Dev->TxMaxPending *
|
||||||
sizeof *Dev->TxFreeStack);
|
sizeof *Dev->TxFreeStack);
|
||||||
|
@ -141,7 +142,7 @@ VirtioNetInitTx (
|
||||||
Dev->TxRing.Desc[DescIdx].Addr = (UINTN) &Dev->TxSharedReq;
|
Dev->TxRing.Desc[DescIdx].Addr = (UINTN) &Dev->TxSharedReq;
|
||||||
Dev->TxRing.Desc[DescIdx].Len = sizeof Dev->TxSharedReq;
|
Dev->TxRing.Desc[DescIdx].Len = sizeof Dev->TxSharedReq;
|
||||||
Dev->TxRing.Desc[DescIdx].Flags = VRING_DESC_F_NEXT;
|
Dev->TxRing.Desc[DescIdx].Flags = VRING_DESC_F_NEXT;
|
||||||
Dev->TxRing.Desc[DescIdx].Next = DescIdx + 1;
|
Dev->TxRing.Desc[DescIdx].Next = (UINT16) (DescIdx + 1);
|
||||||
|
|
||||||
//
|
//
|
||||||
// The second descriptor of each pending TX packet is updated on the fly,
|
// The second descriptor of each pending TX packet is updated on the fly,
|
||||||
|
@ -221,7 +222,7 @@ VirtioNetInitRx (
|
||||||
// Limit the number of pending RX packets if the queue is big. The division
|
// Limit the number of pending RX packets if the queue is big. The division
|
||||||
// by two is due to the above "two descriptors per packet" trait.
|
// by two is due to the above "two descriptors per packet" trait.
|
||||||
//
|
//
|
||||||
RxAlwaysPending = MIN (Dev->RxRing.QueueSize / 2, VNET_MAX_PENDING);
|
RxAlwaysPending = (UINT16) MIN (Dev->RxRing.QueueSize / 2, VNET_MAX_PENDING);
|
||||||
|
|
||||||
Dev->RxBuf = AllocatePool (RxAlwaysPending * RxBufSize);
|
Dev->RxBuf = AllocatePool (RxAlwaysPending * RxBufSize);
|
||||||
if (Dev->RxBuf == NULL) {
|
if (Dev->RxBuf == NULL) {
|
||||||
|
@ -261,11 +262,12 @@ VirtioNetInitRx (
|
||||||
Dev->RxRing.Desc[DescIdx].Addr = (UINTN) RxPtr;
|
Dev->RxRing.Desc[DescIdx].Addr = (UINTN) RxPtr;
|
||||||
Dev->RxRing.Desc[DescIdx].Len = sizeof (VIRTIO_NET_REQ);
|
Dev->RxRing.Desc[DescIdx].Len = sizeof (VIRTIO_NET_REQ);
|
||||||
Dev->RxRing.Desc[DescIdx].Flags = VRING_DESC_F_WRITE | VRING_DESC_F_NEXT;
|
Dev->RxRing.Desc[DescIdx].Flags = VRING_DESC_F_WRITE | VRING_DESC_F_NEXT;
|
||||||
Dev->RxRing.Desc[DescIdx].Next = DescIdx + 1;
|
Dev->RxRing.Desc[DescIdx].Next = (UINT16) (DescIdx + 1);
|
||||||
RxPtr += Dev->RxRing.Desc[DescIdx++].Len;
|
RxPtr += Dev->RxRing.Desc[DescIdx++].Len;
|
||||||
|
|
||||||
Dev->RxRing.Desc[DescIdx].Addr = (UINTN) RxPtr;
|
Dev->RxRing.Desc[DescIdx].Addr = (UINTN) RxPtr;
|
||||||
Dev->RxRing.Desc[DescIdx].Len = RxBufSize - sizeof (VIRTIO_NET_REQ);
|
Dev->RxRing.Desc[DescIdx].Len = (UINT32) (RxBufSize -
|
||||||
|
sizeof (VIRTIO_NET_REQ));
|
||||||
Dev->RxRing.Desc[DescIdx].Flags = VRING_DESC_F_WRITE;
|
Dev->RxRing.Desc[DescIdx].Flags = VRING_DESC_F_WRITE;
|
||||||
RxPtr += Dev->RxRing.Desc[DescIdx++].Len;
|
RxPtr += Dev->RxRing.Desc[DescIdx++].Len;
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,7 +156,7 @@ VirtioNetReceive (
|
||||||
RxPtr += SIZE_OF_VNET (VhdrMac);
|
RxPtr += SIZE_OF_VNET (VhdrMac);
|
||||||
|
|
||||||
if (Protocol != NULL) {
|
if (Protocol != NULL) {
|
||||||
*Protocol = ((UINT16) RxPtr[0] << 8) | RxPtr[1];
|
*Protocol = (UINT16) ((RxPtr[0] << 8) | RxPtr[1]);
|
||||||
}
|
}
|
||||||
RxPtr += sizeof (UINT16);
|
RxPtr += sizeof (UINT16);
|
||||||
|
|
||||||
|
@ -169,7 +169,8 @@ RecycleDesc:
|
||||||
// virtio-0.9.5, 2.4.1 Supplying Buffers to The Device
|
// virtio-0.9.5, 2.4.1 Supplying Buffers to The Device
|
||||||
//
|
//
|
||||||
AvailIdx = *Dev->RxRing.Avail.Idx;
|
AvailIdx = *Dev->RxRing.Avail.Idx;
|
||||||
Dev->RxRing.Avail.Ring[AvailIdx++ % Dev->RxRing.QueueSize] = DescIdx;
|
Dev->RxRing.Avail.Ring[AvailIdx++ % Dev->RxRing.QueueSize] =
|
||||||
|
(UINT16) DescIdx;
|
||||||
|
|
||||||
MemoryFence ();
|
MemoryFence ();
|
||||||
*Dev->RxRing.Avail.Idx = AvailIdx;
|
*Dev->RxRing.Avail.Idx = AvailIdx;
|
||||||
|
|
Loading…
Reference in New Issue