// info of the packets queued in TxRing\r
//\r
typedef struct {\r
- VOID *Buffer;\r
- EFI_PHYSICAL_ADDRESS DeviceAddress; // lookup key for reverse mapping\r
- VOID *BufMap;\r
+ VOID *Buffer;\r
+ EFI_PHYSICAL_ADDRESS DeviceAddress; // lookup key for reverse mapping\r
+ VOID *BufMap;\r
} TX_BUF_MAP_INFO;\r
\r
/**\r
@param[in,out] Dev The VNET_DEV driver instance being shut down, or whose\r
partial, failed initialization is being rolled back.\r
*/\r
-\r
VOID\r
EFIAPI\r
VirtioNetShutdownRx (\r
- IN OUT VNET_DEV *Dev\r
+ IN OUT VNET_DEV *Dev\r
)\r
{\r
Dev->VirtIo->UnmapSharedBuffer (Dev->VirtIo, Dev->RxBufMap);\r
);\r
}\r
\r
-\r
VOID\r
EFIAPI\r
VirtioNetShutdownTx (\r
- IN OUT VNET_DEV *Dev\r
+ IN OUT VNET_DEV *Dev\r
)\r
{\r
- ORDERED_COLLECTION_ENTRY *Entry, *Entry2;\r
- TX_BUF_MAP_INFO *TxBufMapInfo;\r
- VOID *UserStruct;\r
+ ORDERED_COLLECTION_ENTRY *Entry, *Entry2;\r
+ TX_BUF_MAP_INFO *TxBufMapInfo;\r
+ VOID *UserStruct;\r
\r
Dev->VirtIo->UnmapSharedBuffer (Dev->VirtIo, Dev->TxSharedReqMap);\r
Dev->VirtIo->FreeSharedPages (\r
\r
for (Entry = OrderedCollectionMin (Dev->TxBufCollection);\r
Entry != NULL;\r
- Entry = Entry2) {\r
+ Entry = Entry2)\r
+ {\r
Entry2 = OrderedCollectionNext (Entry);\r
OrderedCollectionDelete (Dev->TxBufCollection, Entry, &UserStruct);\r
TxBufMapInfo = UserStruct;\r
Dev->VirtIo->UnmapSharedBuffer (Dev->VirtIo, TxBufMapInfo->BufMap);\r
FreePool (TxBufMapInfo);\r
}\r
+\r
OrderedCollectionUninit (Dev->TxBufCollection);\r
\r
FreePool (Dev->TxFreeStack);\r
VOID\r
EFIAPI\r
VirtioNetUninitRing (\r
- IN OUT VNET_DEV *Dev,\r
- IN OUT VRING *Ring,\r
- IN VOID *RingMap\r
+ IN OUT VNET_DEV *Dev,\r
+ IN OUT VRING *Ring,\r
+ IN VOID *RingMap\r
)\r
{\r
Dev->VirtIo->UnmapSharedBuffer (Dev->VirtIo, RingMap);\r
VirtioRingUninit (Dev->VirtIo, Ring);\r
}\r
\r
-\r
/**\r
Map Caller-supplied TxBuf buffer to the device-mapped address\r
\r
a lack of resources.\r
@return Status codes from\r
VirtioMapAllBytesInSharedBuffer()\r
- @retval EFI_SUCCESS Caller-supplied buffer is succesfully mapped.\r
+ @retval EFI_SUCCESS Caller-supplied buffer is successfully mapped.\r
*/\r
EFI_STATUS\r
EFIAPI\r
OUT EFI_PHYSICAL_ADDRESS *DeviceAddress\r
)\r
{\r
- EFI_STATUS Status;\r
- TX_BUF_MAP_INFO *TxBufMapInfo;\r
- EFI_PHYSICAL_ADDRESS Address;\r
- VOID *Mapping;\r
+ EFI_STATUS Status;\r
+ TX_BUF_MAP_INFO *TxBufMapInfo;\r
+ EFI_PHYSICAL_ADDRESS Address;\r
+ VOID *Mapping;\r
\r
TxBufMapInfo = AllocatePool (sizeof (*TxBufMapInfo));\r
if (TxBufMapInfo == NULL) {\r
NumberOfBytes,\r
&Address,\r
&Mapping\r
- );\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto FreeTxBufMapInfo;\r
}\r
\r
- TxBufMapInfo->Buffer = Buffer;\r
+ TxBufMapInfo->Buffer = Buffer;\r
TxBufMapInfo->DeviceAddress = Address;\r
- TxBufMapInfo->BufMap = Mapping;\r
+ TxBufMapInfo->BufMap = Mapping;\r
\r
Status = OrderedCollectionInsert (\r
Dev->TxBufCollection,\r
TxBufMapInfo\r
);\r
switch (Status) {\r
- case EFI_OUT_OF_RESOURCES:\r
- goto UnmapTxBuf;\r
- case EFI_ALREADY_STARTED:\r
- //\r
- // This should never happen: it implies\r
- //\r
- // - an identity-mapping VIRTIO_DEVICE_PROTOCOL.MapSharedBuffer()\r
- // implementation -- which is fine,\r
- //\r
- // - and an SNP client that queues multiple instances of the exact same\r
- // buffer address with SNP.Transmit() -- which is undefined behavior,\r
- // based on the TxBuf language in UEFI-2.7,\r
- // EFI_SIMPLE_NETWORK.GetStatus().\r
- //\r
- ASSERT (FALSE);\r
- Status = EFI_INVALID_PARAMETER;\r
- goto UnmapTxBuf;\r
- default:\r
- ASSERT_EFI_ERROR (Status);\r
- break;\r
+ case EFI_OUT_OF_RESOURCES:\r
+ goto UnmapTxBuf;\r
+ case EFI_ALREADY_STARTED:\r
+ //\r
+ // This should never happen: it implies\r
+ //\r
+ // - an identity-mapping VIRTIO_DEVICE_PROTOCOL.MapSharedBuffer()\r
+ // implementation -- which is fine,\r
+ //\r
+ // - and an SNP client that queues multiple instances of the exact same\r
+ // buffer address with SNP.Transmit() -- which is undefined behavior,\r
+ // based on the TxBuf language in UEFI-2.7,\r
+ // EFI_SIMPLE_NETWORK.GetStatus().\r
+ //\r
+ ASSERT (FALSE);\r
+ Status = EFI_INVALID_PARAMETER;\r
+ goto UnmapTxBuf;\r
+ default:\r
+ ASSERT_EFI_ERROR (Status);\r
+ break;\r
}\r
\r
*DeviceAddress = Address;\r
INTN\r
EFIAPI\r
VirtioNetTxBufMapInfoCompare (\r
- IN CONST VOID *UserStruct1,\r
- IN CONST VOID *UserStruct2\r
+ IN CONST VOID *UserStruct1,\r
+ IN CONST VOID *UserStruct2\r
)\r
{\r
- CONST TX_BUF_MAP_INFO *MapInfo1;\r
- CONST TX_BUF_MAP_INFO *MapInfo2;\r
+ CONST TX_BUF_MAP_INFO *MapInfo1;\r
+ CONST TX_BUF_MAP_INFO *MapInfo2;\r
\r
MapInfo1 = UserStruct1;\r
MapInfo2 = UserStruct2;\r
INTN\r
EFIAPI\r
VirtioNetTxBufDeviceAddressCompare (\r
- IN CONST VOID *StandaloneKey,\r
- IN CONST VOID *UserStruct\r
+ IN CONST VOID *StandaloneKey,\r
+ IN CONST VOID *UserStruct\r
)\r
{\r
- CONST EFI_PHYSICAL_ADDRESS *DeviceAddress;\r
- CONST TX_BUF_MAP_INFO *MapInfo;\r
+ CONST EFI_PHYSICAL_ADDRESS *DeviceAddress;\r
+ CONST TX_BUF_MAP_INFO *MapInfo;\r
\r
DeviceAddress = StandaloneKey;\r
- MapInfo = UserStruct;\r
+ MapInfo = UserStruct;\r
\r
return *DeviceAddress < MapInfo->DeviceAddress ? -1 :\r
*DeviceAddress > MapInfo->DeviceAddress ? 1 :\r