VirtualBox

Ignore:
Timestamp:
Apr 14, 2023 3:17:44 PM (22 months ago)
Author:
vboxsync
Message:

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/FirmwareNew

  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/MnpDxe/MnpImpl.h

    r85718 r99404  
    1212#include "MnpDriver.h"
    1313
    14 #define NET_ETHER_FCS_SIZE            4
    15 
    16 #define MNP_SYS_POLL_INTERVAL         (10 * TICKS_PER_MS)   // 10 milliseconds
    17 #define MNP_TIMEOUT_CHECK_INTERVAL    (50 * TICKS_PER_MS)   // 50 milliseconds
    18 #define MNP_MEDIA_DETECT_INTERVAL     (500 * TICKS_PER_MS)  // 500 milliseconds
    19 #define MNP_TX_TIMEOUT_TIME           (500 * TICKS_PER_MS)  // 500 milliseconds
    20 #define MNP_INIT_NET_BUFFER_NUM       512
    21 #define MNP_NET_BUFFER_INCREASEMENT   64
    22 #define MNP_MAX_NET_BUFFER_NUM        65536
    23 #define MNP_TX_BUFFER_INCREASEMENT    32    // Same as the recycling Q length for xmit_done in UNDI command.
    24 #define MNP_MAX_TX_BUFFER_NUM         65536
     14#define NET_ETHER_FCS_SIZE  4
     15
     16#define MNP_SYS_POLL_INTERVAL        (10 * TICKS_PER_MS)    // 10 milliseconds
     17#define MNP_TIMEOUT_CHECK_INTERVAL   (50 * TICKS_PER_MS)    // 50 milliseconds
     18#define MNP_MEDIA_DETECT_INTERVAL    (500 * TICKS_PER_MS)   // 500 milliseconds
     19#define MNP_TX_TIMEOUT_TIME          (500 * TICKS_PER_MS)   // 500 milliseconds
     20#define MNP_INIT_NET_BUFFER_NUM      512
     21#define MNP_NET_BUFFER_INCREASEMENT  64
     22#define MNP_MAX_NET_BUFFER_NUM       65536
     23#define MNP_TX_BUFFER_INCREASEMENT   32     // Same as the recycling Q length for xmit_done in UNDI command.
     24#define MNP_MAX_TX_BUFFER_NUM        65536
    2525
    2626#define MNP_MAX_RCVD_PACKET_QUE_SIZE  256
    2727
    28 #define MNP_RECEIVE_UNICAST           0x01
    29 #define MNP_RECEIVE_BROADCAST         0x02
    30 
    31 #define UNICAST_PACKET                MNP_RECEIVE_UNICAST
    32 #define BROADCAST_PACKET              MNP_RECEIVE_BROADCAST
    33 
    34 #define MNP_INSTANCE_DATA_SIGNATURE   SIGNATURE_32 ('M', 'n', 'p', 'I')
     28#define MNP_RECEIVE_UNICAST    0x01
     29#define MNP_RECEIVE_BROADCAST  0x02
     30
     31#define UNICAST_PACKET    MNP_RECEIVE_UNICAST
     32#define BROADCAST_PACKET  MNP_RECEIVE_BROADCAST
     33
     34#define MNP_INSTANCE_DATA_SIGNATURE  SIGNATURE_32 ('M', 'n', 'p', 'I')
    3535
    3636#define MNP_INSTANCE_DATA_FROM_THIS(a) \
     
    4343
    4444typedef struct {
    45   UINT32                          Signature;
    46 
    47   MNP_SERVICE_DATA                *MnpServiceData;
    48 
    49   EFI_HANDLE                      Handle;
    50 
    51   LIST_ENTRY                      InstEntry;
    52 
    53   EFI_MANAGED_NETWORK_PROTOCOL    ManagedNetwork;
    54 
    55   BOOLEAN                         Configured;
    56   BOOLEAN                         Destroyed;
    57 
    58   LIST_ENTRY                      GroupCtrlBlkList;
    59 
    60   NET_MAP                         RxTokenMap;
    61 
    62   LIST_ENTRY                      RxDeliveredPacketQueue;
    63   LIST_ENTRY                      RcvdPacketQueue;
    64   UINTN                           RcvdPacketQueueSize;
    65 
    66   EFI_MANAGED_NETWORK_CONFIG_DATA ConfigData;
    67 
    68   UINT8                           ReceiveFilter;
     45  UINT32                             Signature;
     46
     47  MNP_SERVICE_DATA                   *MnpServiceData;
     48
     49  EFI_HANDLE                         Handle;
     50
     51  LIST_ENTRY                         InstEntry;
     52
     53  EFI_MANAGED_NETWORK_PROTOCOL       ManagedNetwork;
     54
     55  BOOLEAN                            Configured;
     56  BOOLEAN                            Destroyed;
     57
     58  LIST_ENTRY                         GroupCtrlBlkList;
     59
     60  NET_MAP                            RxTokenMap;
     61
     62  LIST_ENTRY                         RxDeliveredPacketQueue;
     63  LIST_ENTRY                         RcvdPacketQueue;
     64  UINTN                              RcvdPacketQueueSize;
     65
     66  EFI_MANAGED_NETWORK_CONFIG_DATA    ConfigData;
     67
     68  UINT8                              ReceiveFilter;
    6969} MNP_INSTANCE_DATA;
    7070
    7171typedef struct {
    72   LIST_ENTRY      AddrEntry;
    73   EFI_MAC_ADDRESS Address;
    74   INTN            RefCnt;
     72  LIST_ENTRY         AddrEntry;
     73  EFI_MAC_ADDRESS    Address;
     74  INTN               RefCnt;
    7575} MNP_GROUP_ADDRESS;
    7676
    7777typedef struct {
    78   LIST_ENTRY        CtrlBlkEntry;
    79   MNP_GROUP_ADDRESS *GroupAddress;
     78  LIST_ENTRY           CtrlBlkEntry;
     79  MNP_GROUP_ADDRESS    *GroupAddress;
    8080} MNP_GROUP_CONTROL_BLOCK;
    8181
    8282typedef struct {
    83   LIST_ENTRY                        WrapEntry;
    84   MNP_INSTANCE_DATA                 *Instance;
    85   EFI_MANAGED_NETWORK_RECEIVE_DATA  RxData;
    86   NET_BUF                           *Nbuf;
    87   UINT64                            TimeoutTick;
     83  LIST_ENTRY                          WrapEntry;
     84  MNP_INSTANCE_DATA                   *Instance;
     85  EFI_MANAGED_NETWORK_RECEIVE_DATA    RxData;
     86  NET_BUF                             *Nbuf;
     87  UINT64                              TimeoutTick;
    8888} MNP_RXDATA_WRAP;
    8989
    90 #define MNP_TX_BUF_WRAP_SIGNATURE   SIGNATURE_32 ('M', 'T', 'B', 'W')
     90#define MNP_TX_BUF_WRAP_SIGNATURE  SIGNATURE_32 ('M', 'T', 'B', 'W')
    9191
    9292typedef struct {
    93   UINT32                  Signature;
    94   LIST_ENTRY              WrapEntry;  // Link to FreeTxBufList
    95   LIST_ENTRY              AllEntry;   // Link to AllTxBufList
    96   BOOLEAN                 InUse;
    97   UINT8                   TxBuf[1];
     93  UINT32        Signature;
     94  LIST_ENTRY    WrapEntry;            // Link to FreeTxBufList
     95  LIST_ENTRY    AllEntry;             // Link to AllTxBufList
     96  BOOLEAN       InUse;
     97  UINT8         TxBuf[1];
    9898} MNP_TX_BUF_WRAP;
    9999
     
    112112EFI_STATUS
    113113MnpInitializeDeviceData (
    114   IN OUT MNP_DEVICE_DATA   *MnpDeviceData,
    115   IN     EFI_HANDLE        ImageHandle,
    116   IN     EFI_HANDLE        ControllerHandle
     114  IN OUT MNP_DEVICE_DATA  *MnpDeviceData,
     115  IN     EFI_HANDLE       ImageHandle,
     116  IN     EFI_HANDLE       ControllerHandle
    117117  );
    118118
     
    126126VOID
    127127MnpDestroyDeviceData (
    128   IN OUT MNP_DEVICE_DATA   *MnpDeviceData,
    129   IN     EFI_HANDLE        ImageHandle
     128  IN OUT MNP_DEVICE_DATA  *MnpDeviceData,
     129  IN     EFI_HANDLE       ImageHandle
    130130  );
    131131
     
    143143MNP_SERVICE_DATA *
    144144MnpCreateServiceData (
    145   IN MNP_DEVICE_DATA     *MnpDeviceData,
    146   IN UINT16              VlanId,
    147   IN UINT8                Priority OPTIONAL
     145  IN MNP_DEVICE_DATA  *MnpDeviceData,
     146  IN UINT16           VlanId,
     147  IN UINT8            Priority OPTIONAL
    148148  );
    149149
     
    162162EFI_STATUS
    163163MnpInitializeServiceData (
    164   IN OUT MNP_SERVICE_DATA    *MnpServiceData,
    165   IN     EFI_HANDLE          ImageHandle,
    166   IN     EFI_HANDLE          ControllerHandle
     164  IN OUT MNP_SERVICE_DATA  *MnpServiceData,
     165  IN     EFI_HANDLE        ImageHandle,
     166  IN     EFI_HANDLE        ControllerHandle
    167167  );
    168168
     
    178178EFI_STATUS
    179179MnpDestroyServiceData (
    180   IN OUT MNP_SERVICE_DATA    *MnpServiceData
     180  IN OUT MNP_SERVICE_DATA  *MnpServiceData
    181181  );
    182182
     
    192192EFI_STATUS
    193193MnpDestroyServiceChild (
    194   IN OUT MNP_SERVICE_DATA    *MnpServiceData
     194  IN OUT MNP_SERVICE_DATA  *MnpServiceData
    195195  );
    196196
     
    206206MNP_SERVICE_DATA *
    207207MnpFindServiceData (
    208   IN MNP_DEVICE_DATA     *MnpDeviceData,
    209   IN UINT16              VlanId
     208  IN MNP_DEVICE_DATA  *MnpDeviceData,
     209  IN UINT16           VlanId
    210210  );
    211211
     
    220220VOID
    221221MnpInitializeInstanceData (
    222   IN     MNP_SERVICE_DATA    *MnpServiceData,
    223   IN OUT MNP_INSTANCE_DATA   *Instance
     222  IN     MNP_SERVICE_DATA   *MnpServiceData,
     223  IN OUT MNP_INSTANCE_DATA  *Instance
    224224  );
    225225
     
    241241EFIAPI
    242242MnpTokenExist (
    243   IN NET_MAP         *Map,
    244   IN NET_MAP_ITEM    *Item,
    245   IN VOID            *Arg
     243  IN NET_MAP       *Map,
     244  IN NET_MAP_ITEM  *Item,
     245  IN VOID          *Arg
    246246  );
    247247
     
    264264EFIAPI
    265265MnpCancelTokens (
    266   IN OUT NET_MAP         *Map,
    267   IN OUT NET_MAP_ITEM    *Item,
    268   IN     VOID            *Arg
     266  IN OUT NET_MAP       *Map,
     267  IN OUT NET_MAP_ITEM  *Item,
     268  IN     VOID          *Arg
    269269  );
    270270
     
    277277VOID
    278278MnpFlushRcvdDataQueue (
    279   IN OUT MNP_INSTANCE_DATA   *Instance
     279  IN OUT MNP_INSTANCE_DATA  *Instance
    280280  );
    281281
     
    295295EFI_STATUS
    296296MnpConfigureInstance (
    297   IN OUT MNP_INSTANCE_DATA                 *Instance,
    298   IN     EFI_MANAGED_NETWORK_CONFIG_DATA   *ConfigData OPTIONAL
     297  IN OUT MNP_INSTANCE_DATA                *Instance,
     298  IN     EFI_MANAGED_NETWORK_CONFIG_DATA  *ConfigData OPTIONAL
    299299  );
    300300
     
    316316EFI_STATUS
    317317MnpGroupOp (
    318   IN OUT MNP_INSTANCE_DATA         *Instance,
    319   IN     BOOLEAN                   JoinFlag,
    320   IN     EFI_MAC_ADDRESS           *MacAddress OPTIONAL,
    321   IN     MNP_GROUP_CONTROL_BLOCK   *CtrlBlk OPTIONAL
     318  IN OUT MNP_INSTANCE_DATA        *Instance,
     319  IN     BOOLEAN                  JoinFlag,
     320  IN     EFI_MAC_ADDRESS          *MacAddress OPTIONAL,
     321  IN     MNP_GROUP_CONTROL_BLOCK  *CtrlBlk OPTIONAL
    322322  );
    323323
     
    333333BOOLEAN
    334334MnpIsValidTxToken (
    335   IN MNP_INSTANCE_DATA                       *Instance,
    336   IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN    *Token
     335  IN MNP_INSTANCE_DATA                     *Instance,
     336  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token
    337337  );
    338338
     
    353353EFI_STATUS
    354354MnpBuildTxPacket (
    355   IN     MNP_SERVICE_DATA                    *MnpServiceData,
    356   IN     EFI_MANAGED_NETWORK_TRANSMIT_DATA   *TxData,
    357      OUT UINT8                               **PktBuf,
    358      OUT UINT32                              *PktLen
     355  IN     MNP_SERVICE_DATA                   *MnpServiceData,
     356  IN     EFI_MANAGED_NETWORK_TRANSMIT_DATA  *TxData,
     357  OUT UINT8                                 **PktBuf,
     358  OUT UINT32                                *PktLen
    359359  );
    360360
     
    378378EFI_STATUS
    379379MnpSyncSendPacket (
    380   IN     MNP_SERVICE_DATA                        *MnpServiceData,
    381   IN     UINT8                                   *Packet,
    382   IN     UINT32                                  Length,
    383   IN OUT EFI_MANAGED_NETWORK_COMPLETION_TOKEN    *Token
     380  IN     MNP_SERVICE_DATA                      *MnpServiceData,
     381  IN     UINT8                                 *Packet,
     382  IN     UINT32                                Length,
     383  IN OUT EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token
    384384  );
    385385
     
    397397EFI_STATUS
    398398MnpInstanceDeliverPacket (
    399   IN OUT MNP_INSTANCE_DATA   *Instance
     399  IN OUT MNP_INSTANCE_DATA  *Instance
    400400  );
    401401
     
    411411EFIAPI
    412412MnpRecycleRxData (
    413   IN EFI_EVENT     Event,
    414   IN VOID          *Context
     413  IN EFI_EVENT  Event,
     414  IN VOID       *Context
    415415  );
    416416
     
    428428EFI_STATUS
    429429MnpReceivePacket (
    430   IN OUT MNP_DEVICE_DATA   *MnpDeviceData
     430  IN OUT MNP_DEVICE_DATA  *MnpDeviceData
    431431  );
    432432
     
    444444NET_BUF *
    445445MnpAllocNbuf (
    446   IN OUT MNP_DEVICE_DATA   *MnpDeviceData
     446  IN OUT MNP_DEVICE_DATA  *MnpDeviceData
    447447  );
    448448
     
    456456VOID
    457457MnpFreeNbuf (
    458   IN OUT MNP_DEVICE_DATA   *MnpDeviceData,
    459   IN OUT NET_BUF           *Nbuf
     458  IN OUT MNP_DEVICE_DATA  *MnpDeviceData,
     459  IN OUT NET_BUF          *Nbuf
    460460  );
    461461
     
    473473UINT8 *
    474474MnpAllocTxBuf (
    475   IN OUT MNP_DEVICE_DATA   *MnpDeviceData
     475  IN OUT MNP_DEVICE_DATA  *MnpDeviceData
    476476  );
    477477
     
    487487EFI_STATUS
    488488MnpRecycleTxBuf (
    489   IN OUT MNP_DEVICE_DATA   *MnpDeviceData
     489  IN OUT MNP_DEVICE_DATA  *MnpDeviceData
    490490  );
    491491
     
    500500EFIAPI
    501501MnpCheckPacketTimeout (
    502   IN EFI_EVENT     Event,
    503   IN VOID          *Context
     502  IN EFI_EVENT  Event,
     503  IN VOID       *Context
    504504  );
    505505
     
    514514EFIAPI
    515515MnpCheckMediaStatus (
    516   IN EFI_EVENT     Event,
    517   IN VOID          *Context
     516  IN EFI_EVENT  Event,
     517  IN VOID       *Context
    518518  );
    519519
     
    529529EFIAPI
    530530MnpSystemPoll (
    531   IN EFI_EVENT     Event,
    532   IN VOID          *Context
     531  IN EFI_EVENT  Event,
     532  IN VOID       *Context
    533533  );
    534534
     
    561561EFIAPI
    562562MnpGetModeData (
    563   IN     EFI_MANAGED_NETWORK_PROTOCOL      *This,
    564      OUT EFI_MANAGED_NETWORK_CONFIG_DATA   *MnpConfigData OPTIONAL,
    565      OUT EFI_SIMPLE_NETWORK_MODE           *SnpModeData OPTIONAL
     563  IN     EFI_MANAGED_NETWORK_PROTOCOL  *This,
     564  OUT EFI_MANAGED_NETWORK_CONFIG_DATA  *MnpConfigData OPTIONAL,
     565  OUT EFI_SIMPLE_NETWORK_MODE          *SnpModeData OPTIONAL
    566566  );
    567567
     
    621621EFIAPI
    622622MnpConfigure (
    623   IN EFI_MANAGED_NETWORK_PROTOCOL        *This,
    624   IN EFI_MANAGED_NETWORK_CONFIG_DATA     *MnpConfigData OPTIONAL
     623  IN EFI_MANAGED_NETWORK_PROTOCOL     *This,
     624  IN EFI_MANAGED_NETWORK_CONFIG_DATA  *MnpConfigData OPTIONAL
    625625  );
    626626
     
    658658EFIAPI
    659659MnpMcastIpToMac (
    660   IN     EFI_MANAGED_NETWORK_PROTOCOL    *This,
    661   IN     BOOLEAN                         Ipv6Flag,
    662   IN     EFI_IP_ADDRESS                  *IpAddress,
    663      OUT EFI_MAC_ADDRESS                 *MacAddress
     660  IN     EFI_MANAGED_NETWORK_PROTOCOL  *This,
     661  IN     BOOLEAN                       Ipv6Flag,
     662  IN     EFI_IP_ADDRESS                *IpAddress,
     663  OUT EFI_MAC_ADDRESS                  *MacAddress
    664664  );
    665665
     
    703703EFIAPI
    704704MnpGroups (
    705   IN EFI_MANAGED_NETWORK_PROTOCOL    *This,
    706   IN BOOLEAN                         JoinFlag,
    707   IN EFI_MAC_ADDRESS                 *MacAddress OPTIONAL
     705  IN EFI_MANAGED_NETWORK_PROTOCOL  *This,
     706  IN BOOLEAN                       JoinFlag,
     707  IN EFI_MAC_ADDRESS               *MacAddress OPTIONAL
    708708  );
    709709
     
    766766EFIAPI
    767767MnpTransmit (
    768   IN EFI_MANAGED_NETWORK_PROTOCOL            *This,
    769   IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN    *Token
     768  IN EFI_MANAGED_NETWORK_PROTOCOL          *This,
     769  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token
    770770  );
    771771
     
    802802EFIAPI
    803803MnpCancel (
    804   IN EFI_MANAGED_NETWORK_PROTOCOL            *This,
    805   IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN    *Token OPTIONAL
     804  IN EFI_MANAGED_NETWORK_PROTOCOL          *This,
     805  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token OPTIONAL
    806806  );
    807807
     
    844844EFIAPI
    845845MnpReceive (
    846   IN EFI_MANAGED_NETWORK_PROTOCOL            *This,
    847   IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN    *Token
     846  IN EFI_MANAGED_NETWORK_PROTOCOL          *This,
     847  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token
    848848  );
    849849
     
    877877EFIAPI
    878878MnpPoll (
    879   IN EFI_MANAGED_NETWORK_PROTOCOL    *This
     879  IN EFI_MANAGED_NETWORK_PROTOCOL  *This
    880880  );
    881881
     
    893893EFI_STATUS
    894894MnpConfigReceiveFilters (
    895   IN MNP_DEVICE_DATA     *MnpDeviceData
     895  IN MNP_DEVICE_DATA  *MnpDeviceData
    896896  );
    897897
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette