TianoCore EDK2 master
|
#include "DriverBinding.h"
Go to the source code of this file.
Functions | |
VOID EFIAPI | UndiRateLimiterCallback (IN EFI_EVENT Event, IN VOID *Context) |
VOID | UndiGetState (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
VOID | UndiStart (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
VOID | UndiStop (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
VOID | UndiGetInitInfo (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
VOID | UndiGetConfigInfo (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
VOID | UndiInitialize (IN PXE_CDB *Cdb, IN OUT NIC_DATA *Nic) |
UINT16 | Initialize (IN PXE_CDB *Cdb, IN OUT NIC_DATA *Nic) |
VOID | UndiReset (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
VOID | UndiShutdown (IN PXE_CDB *Cdb, IN OUT NIC_DATA *Nic) |
VOID | UndiInterruptEnable (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
VOID | UndiReceiveFilter (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
UINT16 | SetFilter (IN NIC_DATA *Nic, IN UINT16 SetFilter, IN UINT64 CpbAddr, IN UINT32 CpbSize) |
VOID | UndiStationAddress (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
VOID | UndiStatistics (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
UINT16 | Statistics (IN NIC_DATA *Nic, IN UINT64 DbAddr, IN UINT16 DbSize) |
VOID | UndiMcastIp2Mac (IN OUT PXE_CDB *Cdb, IN NIC_DATA *Nic) |
VOID | UndiNvData (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
VOID | UndiGetStatus (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
VOID | UndiFillHeader (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
VOID | UndiTransmit (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
UINT16 | Transmit (IN PXE_CDB *Cdb, IN OUT NIC_DATA *Nic, IN UINT64 CpbAddr, IN UINT16 OpFlags) |
VOID | UndiReceive (IN PXE_CDB *Cdb, IN NIC_DATA *Nic) |
UINT16 | Receive (IN PXE_CDB *Cdb, IN OUT NIC_DATA *Nic, IN UINT64 CpbAddr, IN OUT UINT64 DbAddr) |
VOID | PxeStructInit (OUT PXE_SW_UNDI *PxeSw) |
VOID | UpdateNicNum (IN NIC_DATA *Nic, IN OUT PXE_SW_UNDI *PxeSw) |
EFI_STATUS EFIAPI | UndiApiEntry (IN UINT64 Cdb) |
UINTN | MapIt (IN NIC_DATA *Nic, IN UINT64 MemAddr, IN UINT32 Size, IN UINT32 Direction, OUT UINT64 MappedAddr) |
VOID | UnMapIt (IN NIC_DATA *Nic, IN UINT64 MemAddr, IN UINT32 Size, IN UINT32 Direction, IN UINT64 MappedAddr) |
Variables | |
API_FUNC | gUndiApiTable [] |
This file contains code for UNDI command based on UEFI specification.
Copyright (c) 2023, American Megatrends International LLC. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file PxeFunction.c.
Initialize Network interface controller data.
[in] | Cdb | A pointer to the command descriptor block. |
[in,out] | Nic | A pointer to the Network interface controller data. |
Status | A value of Pxe statcode. |
Definition at line 492 of file PxeFunction.c.
UINTN MapIt | ( | IN NIC_DATA * | Nic, |
IN UINT64 | MemAddr, | ||
IN UINT32 | Size, | ||
IN UINT32 | Direction, | ||
OUT UINT64 | MappedAddr | ||
) |
Map virtual memory address for DMA. This field can be set to zero if there is no mapping service.
[in] | Nic | A pointer to the Network interface controller data. |
[in] | MemAddr | Virtual address to be mapped. |
[in] | Size | Size of memory to be mapped. |
[in] | Direction | Direction of data flow for this memory's usage: cpu->device, device->cpu or both ways. |
[out] | MappedAddr | Pointer to return the mapped device address. |
Definition at line 1746 of file PxeFunction.c.
VOID PxeStructInit | ( | OUT PXE_SW_UNDI * | PxeSw | ) |
Fill out PXE SW UNDI structure.
[out] | PxeSw | A pointer to the PXE SW UNDI structure. |
Definition at line 1641 of file PxeFunction.c.
Use USB Ethernet Protocol Bulk in command to receive data.
[in] | Cdb | A pointer to the command descriptor block. |
[in,out] | Nic | A pointer to the Network interface controller data. |
[in] | CpbAddr | Command Parameter Block Address. |
[in,out] | DbAddr | Data Block Address. |
Definition at line 1528 of file PxeFunction.c.
Set PXE receive filter.
[in] | Nic | A pointer to the Network interface controller data. |
[in] | SetFilter | PXE receive filter |
[in] | CpbAddr | Command Parameter Block Address |
[in] | CpbSize | Command Parameter Block Size |
Definition at line 804 of file PxeFunction.c.
Return data for DB data.
[in] | Nic | A pointer to the Network interface controller data. |
[in] | DbAddr | Data Block Address. |
[in] | DbSize | Data Block Size. |
Definition at line 995 of file PxeFunction.c.
Use USB Ethernet Protocol Bulk out command to transmit data.
[in] | Cdb | A pointer to the command descriptor block. |
[in,out] | Nic | A pointer to the Network interface controller data. |
[in] | CpbAddr | Command Parameter Block Address. |
[in] | OpFlags | Operation Flags. |
Definition at line 1369 of file PxeFunction.c.
EFI_STATUS EFIAPI UndiApiEntry | ( | IN UINT64 | Cdb | ) |
UNDI API table entry.
[in] | Cdb | A pointer to the command descriptor block. |
Definition at line 1716 of file PxeFunction.c.
This command is used to fill the media header(s) in transmit packet(s).
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 1225 of file PxeFunction.c.
This command is used to retrieve configuration information about the NIC being controlled by the UNDI.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 338 of file PxeFunction.c.
This command is used to retrieve initialization information that is needed by drivers and applications to initialized UNDI.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 268 of file PxeFunction.c.
This command is used to determine the operational state of the UNDI.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 63 of file PxeFunction.c.
This command returns the current interrupt status and/or the transmitted buffer addresses and the current media status.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 1131 of file PxeFunction.c.
This command resets the network adapter and initializes UNDI using the parameters supplied in the CPB.
[in] | Cdb | A pointer to the command descriptor block. |
[in,out] | Nic | A pointer to the Network interface controller data. |
Definition at line 390 of file PxeFunction.c.
The Interrupt Enables command can be used to read and/or change the current external interrupt enable settings.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 667 of file PxeFunction.c.
Translate a multicast IPv4 or IPv6 address to a multicast MAC address.
[in,out] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 1032 of file PxeFunction.c.
This command is used to read and write (if supported by NIC H/W) nonvolatile storage on the NIC.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 1103 of file PxeFunction.c.
Callback function for enable Rate Limiter.
[in] | Event | Event whose notification function is being invoked |
[in] | Context | Pointer to the notification function's context |
Definition at line 41 of file PxeFunction.c.
When the network adapter has received a frame, this command is used to copy the frame into driver/application storage.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 1473 of file PxeFunction.c.
This command is used to read and change receive filters and, if supported, read and change the multicast MAC address filter list.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 695 of file PxeFunction.c.
This command resets the network adapter and reinitializes the UNDI with the same parameters provided in the Initialize command.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 550 of file PxeFunction.c.
The Shutdown command resets the network adapter and leaves it in a safe state for another driver to initialize.
[in] | Cdb | A pointer to the command descriptor block. |
[in,out] | Nic | A pointer to the Network interface controller data. |
Definition at line 614 of file PxeFunction.c.
This command is used to change the UNDI operational state from stopped to started.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 106 of file PxeFunction.c.
This command is used to get current station and broadcast MAC addresses and, if supported, to change the current station MAC address.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 871 of file PxeFunction.c.
This command is used to read and clear the NIC traffic statistics.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 941 of file PxeFunction.c.
This command is used to change the UNDI operational state from started to stopped.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 201 of file PxeFunction.c.
The Transmit command is used to place a packet into the transmit queue.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
Definition at line 1308 of file PxeFunction.c.
VOID UnMapIt | ( | IN NIC_DATA * | Nic, |
IN UINT64 | MemAddr, | ||
IN UINT32 | Size, | ||
IN UINT32 | Direction, | ||
IN UINT64 | MappedAddr | ||
) |
Un-map previously mapped virtual memory address. This field can be set to zero only if the Map_Mem() service is also set to zero.
[in] | Nic | A pointer to the Network interface controller data. |
[in] | MemAddr | Virtual address to be mapped. |
[in] | Size | Size of memory to be mapped. |
[in] | Direction | Direction of data flow for this memory's usage: cpu->device, device->cpu or both ways. |
[in] | MappedAddr | Pointer to return the mapped device address. |
Definition at line 1786 of file PxeFunction.c.
VOID UpdateNicNum | ( | IN NIC_DATA * | Nic, |
IN OUT PXE_SW_UNDI * | PxeSw | ||
) |
Update NIC number.
[in] | Nic | A pointer to the Network interface controller data. |
[in,out] | PxeSw | A pointer to the PXE SW UNDI structure. |
Definition at line 1681 of file PxeFunction.c.
API_FUNC gUndiApiTable[] |
Definition at line 11 of file PxeFunction.c.