VirtualBox

Ignore:
Timestamp:
Apr 14, 2023 3:17:44 PM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
156854
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/UefiPxeBcDxe/PxeBcImpl.h

    r80721 r99404  
    5050#include <Library/PcdLib.h>
    5151
    52 typedef struct _PXEBC_PRIVATE_DATA  PXEBC_PRIVATE_DATA;
    53 typedef struct _PXEBC_PRIVATE_PROTOCOL PXEBC_PRIVATE_PROTOCOL;
    54 typedef struct _PXEBC_VIRTUAL_NIC   PXEBC_VIRTUAL_NIC;
     52typedef struct _PXEBC_PRIVATE_DATA      PXEBC_PRIVATE_DATA;
     53typedef struct _PXEBC_PRIVATE_PROTOCOL  PXEBC_PRIVATE_PROTOCOL;
     54typedef struct _PXEBC_VIRTUAL_NIC       PXEBC_VIRTUAL_NIC;
    5555
    5656#include "PxeBcDriver.h"
     
    6161#include "PxeBcSupport.h"
    6262
    63 #define PXEBC_DEFAULT_HOPLIMIT        64
    64 #define PXEBC_DEFAULT_LIFETIME        50000    // 50 ms, unit is microsecond
    65 #define PXEBC_UDP_TIMEOUT             30000000 // 3 seconds, unit is 100nanosecond
    66 #define PXEBC_DAD_ADDITIONAL_DELAY    30000000 // 3 seconds
    67 #define PXEBC_MTFTP_TIMEOUT           4
    68 #define PXEBC_MTFTP_RETRIES           6
    69 #define PXEBC_DHCP_RETRIES            4        // refers to mPxeDhcpTimeout, also by PXE2.1 spec.
    70 #define PXEBC_MENU_MAX_NUM            24
    71 #define PXEBC_OFFER_MAX_NUM           16
    72 
    73 #define PXEBC_CHECK_MEDIA_WAITING_TIME        EFI_TIMER_PERIOD_SECONDS(20)
    74 
    75 #define PXEBC_PRIVATE_DATA_SIGNATURE          SIGNATURE_32 ('P', 'X', 'E', 'P')
    76 #define PXEBC_VIRTUAL_NIC_SIGNATURE           SIGNATURE_32 ('P', 'X', 'E', 'V')
    77 #define PXEBC_PRIVATE_DATA_FROM_PXEBC(a)      CR (a, PXEBC_PRIVATE_DATA, PxeBc, PXEBC_PRIVATE_DATA_SIGNATURE)
    78 #define PXEBC_PRIVATE_DATA_FROM_ID(a)         CR (a, PXEBC_PRIVATE_DATA, Id, PXEBC_PRIVATE_DATA_SIGNATURE)
    79 #define PXEBC_VIRTUAL_NIC_FROM_LOADFILE(a)    CR (a, PXEBC_VIRTUAL_NIC, LoadFile, PXEBC_VIRTUAL_NIC_SIGNATURE)
    80 
    81 #define PXE_ENABLED                           0x01
    82 #define PXE_DISABLED                          0x00
     63#define PXEBC_DEFAULT_HOPLIMIT      64
     64#define PXEBC_DEFAULT_LIFETIME      50000      // 50 ms, unit is microsecond
     65#define PXEBC_UDP_TIMEOUT           30000000  // 3 seconds, unit is 100nanosecond
     66#define PXEBC_DAD_ADDITIONAL_DELAY  30000000  // 3 seconds
     67#define PXEBC_MTFTP_TIMEOUT         4
     68#define PXEBC_MTFTP_RETRIES         6
     69#define PXEBC_DHCP_RETRIES                  // refers to mPxeDhcpTimeout, also by PXE2.1 spec.
     70#define PXEBC_MENU_MAX_NUM          24
     71#define PXEBC_OFFER_MAX_NUM         16
     72
     73#define PXEBC_CHECK_MEDIA_WAITING_TIME  EFI_TIMER_PERIOD_SECONDS(20)
     74
     75#define PXEBC_PRIVATE_DATA_SIGNATURE  SIGNATURE_32 ('P', 'X', 'E', 'P')
     76#define PXEBC_VIRTUAL_NIC_SIGNATURE   SIGNATURE_32 ('P', 'X', 'E', 'V')
     77#define PXEBC_PRIVATE_DATA_FROM_PXEBC(a)    CR (a, PXEBC_PRIVATE_DATA, PxeBc, PXEBC_PRIVATE_DATA_SIGNATURE)
     78#define PXEBC_PRIVATE_DATA_FROM_ID(a)       CR (a, PXEBC_PRIVATE_DATA, Id, PXEBC_PRIVATE_DATA_SIGNATURE)
     79#define PXEBC_VIRTUAL_NIC_FROM_LOADFILE(a)  CR (a, PXEBC_VIRTUAL_NIC, LoadFile, PXEBC_VIRTUAL_NIC_SIGNATURE)
     80
     81#define PXE_ENABLED   0x01
     82#define PXE_DISABLED  0x00
    8383
    8484typedef union {
    85   PXEBC_DHCP4_PACKET_CACHE            Dhcp4;
    86   PXEBC_DHCP6_PACKET_CACHE            Dhcp6;
     85  PXEBC_DHCP4_PACKET_CACHE    Dhcp4;
     86  PXEBC_DHCP6_PACKET_CACHE    Dhcp6;
    8787} PXEBC_DHCP_PACKET_CACHE;
    8888
    8989struct _PXEBC_PRIVATE_PROTOCOL {
    90   UINT64                                    Reserved;
     90  UINT64    Reserved;
    9191};
    9292
    9393struct _PXEBC_VIRTUAL_NIC {
    94   UINT32                                    Signature;
    95   EFI_HANDLE                                Controller;
    96   EFI_LOAD_FILE_PROTOCOL                    LoadFile;
    97   EFI_DEVICE_PATH_PROTOCOL                  *DevicePath;
    98   PXEBC_PRIVATE_DATA                        *Private;
     94  UINT32                      Signature;
     95  EFI_HANDLE                  Controller;
     96  EFI_LOAD_FILE_PROTOCOL      LoadFile;
     97  EFI_DEVICE_PATH_PROTOCOL    *DevicePath;
     98  PXEBC_PRIVATE_DATA          *Private;
    9999};
    100100
    101101struct _PXEBC_PRIVATE_DATA {
    102   UINT32                                    Signature;
    103   EFI_HANDLE                                Controller;
    104   EFI_HANDLE                                Image;
    105 
    106   PXEBC_PRIVATE_PROTOCOL                    Id;
    107   EFI_SIMPLE_NETWORK_PROTOCOL               *Snp;
    108 
    109   PXEBC_VIRTUAL_NIC                         *Ip4Nic;
    110   PXEBC_VIRTUAL_NIC                         *Ip6Nic;
    111 
    112   EFI_HANDLE                                ArpChild;
    113   EFI_HANDLE                                Ip4Child;
    114   EFI_HANDLE                                Dhcp4Child;
    115   EFI_HANDLE                                Mtftp4Child;
    116   EFI_HANDLE                                Udp4ReadChild;
    117   EFI_HANDLE                                Udp4WriteChild;
    118 
    119   EFI_ARP_PROTOCOL                          *Arp;
    120   EFI_IP4_PROTOCOL                          *Ip4;
    121   EFI_IP4_CONFIG2_PROTOCOL                  *Ip4Config2;
    122   EFI_DHCP4_PROTOCOL                        *Dhcp4;
    123   EFI_MTFTP4_PROTOCOL                       *Mtftp4;
    124   EFI_UDP4_PROTOCOL                         *Udp4Read;
    125   EFI_UDP4_PROTOCOL                         *Udp4Write;
    126 
    127   EFI_HANDLE                                Ip6Child;
    128   EFI_HANDLE                                Dhcp6Child;
    129   EFI_HANDLE                                Mtftp6Child;
    130   EFI_HANDLE                                Udp6ReadChild;
    131   EFI_HANDLE                                Udp6WriteChild;
    132 
    133   EFI_IP6_PROTOCOL                          *Ip6;
    134   EFI_IP6_CONFIG_PROTOCOL                   *Ip6Cfg;
    135   EFI_DHCP6_PROTOCOL                        *Dhcp6;
    136   EFI_MTFTP6_PROTOCOL                       *Mtftp6;
    137   EFI_UDP6_PROTOCOL                         *Udp6Read;
    138   EFI_UDP6_PROTOCOL                         *Udp6Write;
    139   EFI_DNS6_PROTOCOL                         *Dns6;
    140 
    141   EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL *Nii;
    142   EFI_PXE_BASE_CODE_PROTOCOL                PxeBc;
    143   EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL       LoadFileCallback;
    144   EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL       *PxeBcCallback;
    145   EFI_DEVICE_PATH_PROTOCOL                  *DevicePath;
    146 
    147   EFI_PXE_BASE_CODE_MODE                    Mode;
    148   EFI_PXE_BASE_CODE_FUNCTION                Function;
    149   UINT32                                    Ip6Policy;
    150   UINT32                                    SolicitTimes;
    151   UINT64                                    ElapsedTime;
    152 
    153   EFI_UDP4_CONFIG_DATA                      Udp4CfgData;
    154   EFI_UDP6_CONFIG_DATA                      Udp6CfgData;
    155   EFI_IP4_CONFIG_DATA                       Ip4CfgData;
    156   EFI_IP6_CONFIG_DATA                       Ip6CfgData;
    157 
    158   EFI_EVENT                                 UdpTimeOutEvent;
    159   EFI_EVENT                                 ArpUpdateEvent;
    160   EFI_IP4_COMPLETION_TOKEN                  IcmpToken;
    161   EFI_IP6_COMPLETION_TOKEN                  Icmp6Token;
    162 
    163   BOOLEAN                                   IsAddressOk;
    164   BOOLEAN                                   IsOfferSorted;
    165   BOOLEAN                                   IsProxyRecved;
    166   BOOLEAN                                   IsDoDiscover;
    167 
    168   EFI_IP_ADDRESS                            TmpStationIp;
    169   EFI_IP_ADDRESS                            StationIp;
    170   EFI_IP_ADDRESS                            SubnetMask;
    171   EFI_IP_ADDRESS                            GatewayIp;
    172   EFI_IP_ADDRESS                            ServerIp;
    173   EFI_IPv6_ADDRESS                          *DnsServer;
    174   UINT16                                    CurSrcPort;
    175   UINT32                                    IaId;
    176 
    177   UINT32                                    Ip4MaxPacketSize;
    178   UINT32                                    Ip6MaxPacketSize;
    179   UINT8                                     *BootFileName;
    180   UINTN                                     BootFileSize;
    181   UINTN                                     BlockSize;
    182 
    183   PXEBC_DHCP_PACKET_CACHE                   ProxyOffer;
    184   PXEBC_DHCP_PACKET_CACHE                   DhcpAck;
    185   PXEBC_DHCP_PACKET_CACHE                   PxeReply;
    186   EFI_DHCP6_PACKET                          *Dhcp6Request;
    187   EFI_DHCP4_PACKET                          SeedPacket;
     102  UINT32                                       Signature;
     103  EFI_HANDLE                                   Controller;
     104  EFI_HANDLE                                   Image;
     105
     106  PXEBC_PRIVATE_PROTOCOL                       Id;
     107  EFI_SIMPLE_NETWORK_PROTOCOL                  *Snp;
     108
     109  PXEBC_VIRTUAL_NIC                            *Ip4Nic;
     110  PXEBC_VIRTUAL_NIC                            *Ip6Nic;
     111
     112  EFI_HANDLE                                   ArpChild;
     113  EFI_HANDLE                                   Ip4Child;
     114  EFI_HANDLE                                   Dhcp4Child;
     115  EFI_HANDLE                                   Mtftp4Child;
     116  EFI_HANDLE                                   Udp4ReadChild;
     117  EFI_HANDLE                                   Udp4WriteChild;
     118
     119  EFI_ARP_PROTOCOL                             *Arp;
     120  EFI_IP4_PROTOCOL                             *Ip4;
     121  EFI_IP4_CONFIG2_PROTOCOL                     *Ip4Config2;
     122  EFI_DHCP4_PROTOCOL                           *Dhcp4;
     123  EFI_MTFTP4_PROTOCOL                          *Mtftp4;
     124  EFI_UDP4_PROTOCOL                            *Udp4Read;
     125  EFI_UDP4_PROTOCOL                            *Udp4Write;
     126
     127  EFI_HANDLE                                   Ip6Child;
     128  EFI_HANDLE                                   Dhcp6Child;
     129  EFI_HANDLE                                   Mtftp6Child;
     130  EFI_HANDLE                                   Udp6ReadChild;
     131  EFI_HANDLE                                   Udp6WriteChild;
     132
     133  EFI_IP6_PROTOCOL                             *Ip6;
     134  EFI_IP6_CONFIG_PROTOCOL                      *Ip6Cfg;
     135  EFI_DHCP6_PROTOCOL                           *Dhcp6;
     136  EFI_MTFTP6_PROTOCOL                          *Mtftp6;
     137  EFI_UDP6_PROTOCOL                            *Udp6Read;
     138  EFI_UDP6_PROTOCOL                            *Udp6Write;
     139  EFI_DNS6_PROTOCOL                            *Dns6;
     140
     141  EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL    *Nii;
     142  EFI_PXE_BASE_CODE_PROTOCOL                   PxeBc;
     143  EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL          LoadFileCallback;
     144  EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL          *PxeBcCallback;
     145  EFI_DEVICE_PATH_PROTOCOL                     *DevicePath;
     146
     147  EFI_PXE_BASE_CODE_MODE                       Mode;
     148  EFI_PXE_BASE_CODE_FUNCTION                   Function;
     149  UINT32                                       Ip6Policy;
     150  UINT32                                       SolicitTimes;
     151  UINT64                                       ElapsedTime;
     152
     153  EFI_UDP4_CONFIG_DATA                         Udp4CfgData;
     154  EFI_UDP6_CONFIG_DATA                         Udp6CfgData;
     155  EFI_IP4_CONFIG_DATA                          Ip4CfgData;
     156  EFI_IP6_CONFIG_DATA                          Ip6CfgData;
     157
     158  EFI_EVENT                                    UdpTimeOutEvent;
     159  EFI_EVENT                                    ArpUpdateEvent;
     160  EFI_IP4_COMPLETION_TOKEN                     IcmpToken;
     161  EFI_IP6_COMPLETION_TOKEN                     Icmp6Token;
     162
     163  BOOLEAN                                      IsAddressOk;
     164  BOOLEAN                                      IsOfferSorted;
     165  BOOLEAN                                      IsProxyRecved;
     166  BOOLEAN                                      IsDoDiscover;
     167
     168  EFI_IP_ADDRESS                               TmpStationIp;
     169  EFI_IP_ADDRESS                               StationIp;
     170  EFI_IP_ADDRESS                               SubnetMask;
     171  EFI_IP_ADDRESS                               GatewayIp;
     172  EFI_IP_ADDRESS                               ServerIp;
     173  EFI_IPv6_ADDRESS                             *DnsServer;
     174  UINT16                                       CurSrcPort;
     175  UINT32                                       IaId;
     176
     177  UINT32                                       Ip4MaxPacketSize;
     178  UINT32                                       Ip6MaxPacketSize;
     179  UINT8                                        *BootFileName;
     180  UINTN                                        BootFileSize;
     181  UINTN                                        BlockSize;
     182
     183  PXEBC_DHCP_PACKET_CACHE                      ProxyOffer;
     184  PXEBC_DHCP_PACKET_CACHE                      DhcpAck;
     185  PXEBC_DHCP_PACKET_CACHE                      PxeReply;
     186  EFI_DHCP6_PACKET                             *Dhcp6Request;
     187  EFI_DHCP4_PACKET                             SeedPacket;
    188188
    189189  //
     
    214214  //
    215215  //
    216   UINT32                                    SelectIndex;
    217   UINT32                                    SelectProxyType;
    218   PXEBC_DHCP_PACKET_CACHE                   OfferBuffer[PXEBC_OFFER_MAX_NUM];
    219   UINT32                                    OfferNum;
    220   UINT32                                    OfferCount[PxeOfferTypeMax];
    221   UINT32                                    OfferIndex[PxeOfferTypeMax][PXEBC_OFFER_MAX_NUM];
     216  UINT32                     SelectIndex;
     217  UINT32                     SelectProxyType;
     218  PXEBC_DHCP_PACKET_CACHE    OfferBuffer[PXEBC_OFFER_MAX_NUM];
     219  UINT32                     OfferNum;
     220  UINT32                     OfferCount[PxeOfferTypeMax];
     221  UINT32                     OfferIndex[PxeOfferTypeMax][PXEBC_OFFER_MAX_NUM];
    222222};
    223223
Note: See TracChangeset for help on using the changeset viewer.

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