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/SnpDxe/Receive.c

    r80721 r99404  
    66
    77**/
    8 
    98
    109#include "Snp.h"
     
    3837EFI_STATUS
    3938PxeReceive (
    40   SNP_DRIVER      *Snp,
    41   VOID            *Buffer,
    42   UINTN           *BufferSize,
    43   UINTN           *HeaderSize,
    44   EFI_MAC_ADDRESS *SrcAddr,
    45   EFI_MAC_ADDRESS *DestAddr,
    46   UINT16          *Protocol
     39  SNP_DRIVER       *Snp,
     40  VOID             *Buffer,
     41  UINTN            *BufferSize,
     42  UINTN            *HeaderSize,
     43  EFI_MAC_ADDRESS  *SrcAddr,
     44  EFI_MAC_ADDRESS  *DestAddr,
     45  UINT16           *Protocol
    4746  )
    4847{
    49   PXE_CPB_RECEIVE *Cpb;
    50   PXE_DB_RECEIVE  *Db;
    51   UINTN           BuffSize;
    52 
    53   Cpb       = Snp->Cpb;
    54   Db        = Snp->Db;
    55   BuffSize  = *BufferSize;
    56 
    57   Cpb->BufferAddr = (UINT64)(UINTN) Buffer;
    58   Cpb->BufferLen  = (UINT32) *BufferSize;
    59 
    60   Cpb->reserved       = 0;
    61 
    62   Snp->Cdb.OpCode     = PXE_OPCODE_RECEIVE;
    63   Snp->Cdb.OpFlags    = PXE_OPFLAGS_NOT_USED;
    64 
    65   Snp->Cdb.CPBsize    = (UINT16) sizeof (PXE_CPB_RECEIVE);
    66   Snp->Cdb.CPBaddr    = (UINT64)(UINTN) Cpb;
    67 
    68   Snp->Cdb.DBsize     = (UINT16) sizeof (PXE_DB_RECEIVE);
    69   Snp->Cdb.DBaddr     = (UINT64)(UINTN) Db;
    70 
    71   Snp->Cdb.StatCode   = PXE_STATCODE_INITIALIZE;
    72   Snp->Cdb.StatFlags  = PXE_STATFLAGS_INITIALIZE;
    73   Snp->Cdb.IFnum      = Snp->IfNum;
    74   Snp->Cdb.Control    = PXE_CONTROL_LAST_CDB_IN_LIST;
     48  PXE_CPB_RECEIVE  *Cpb;
     49  PXE_DB_RECEIVE   *Db;
     50  UINTN            BuffSize;
     51
     52  Cpb      = Snp->Cpb;
     53  Db       = Snp->Db;
     54  BuffSize = *BufferSize;
     55
     56  Cpb->BufferAddr = (UINT64)(UINTN)Buffer;
     57  Cpb->BufferLen  = (UINT32)*BufferSize;
     58
     59  Cpb->reserved = 0;
     60
     61  Snp->Cdb.OpCode  = PXE_OPCODE_RECEIVE;
     62  Snp->Cdb.OpFlags = PXE_OPFLAGS_NOT_USED;
     63
     64  Snp->Cdb.CPBsize = (UINT16)sizeof (PXE_CPB_RECEIVE);
     65  Snp->Cdb.CPBaddr = (UINT64)(UINTN)Cpb;
     66
     67  Snp->Cdb.DBsize = (UINT16)sizeof (PXE_DB_RECEIVE);
     68  Snp->Cdb.DBaddr = (UINT64)(UINTN)Db;
     69
     70  Snp->Cdb.StatCode  = PXE_STATCODE_INITIALIZE;
     71  Snp->Cdb.StatFlags = PXE_STATFLAGS_INITIALIZE;
     72  Snp->Cdb.IFnum     = Snp->IfNum;
     73  Snp->Cdb.Control   = PXE_CONTROL_LAST_CDB_IN_LIST;
    7574
    7675  //
    7776  // Issue UNDI command and check result.
    7877  //
    79   DEBUG ((EFI_D_NET, "\nsnp->undi.receive ()  "));
    80 
    81   (*Snp->IssueUndi32Command) ((UINT64)(UINTN) &Snp->Cdb);
     78  DEBUG ((DEBUG_NET, "\nsnp->undi.receive ()  "));
     79
     80  (*Snp->IssueUndi32Command)((UINT64)(UINTN)&Snp->Cdb);
    8281
    8382  switch (Snp->Cdb.StatCode) {
    84   case PXE_STATCODE_SUCCESS:
    85     break;
    86 
    87   case PXE_STATCODE_NO_DATA:
    88     DEBUG (
    89       (EFI_D_NET,
    90       "\nsnp->undi.receive ()  %xh:%xh\n",
    91       Snp->Cdb.StatFlags,
    92       Snp->Cdb.StatCode)
    93       );
    94 
    95     return EFI_NOT_READY;
    96 
    97   default:
    98     DEBUG (
    99       (EFI_D_ERROR,
    100       "\nsnp->undi.receive()  %xh:%xh\n",
    101       Snp->Cdb.StatFlags,
    102       Snp->Cdb.StatCode)
    103       );
    104 
    105     return EFI_DEVICE_ERROR;
     83    case PXE_STATCODE_SUCCESS:
     84      break;
     85
     86    case PXE_STATCODE_NO_DATA:
     87      DEBUG (
     88        (DEBUG_NET,
     89         "\nsnp->undi.receive ()  %xh:%xh\n",
     90         Snp->Cdb.StatFlags,
     91         Snp->Cdb.StatCode)
     92        );
     93
     94      return EFI_NOT_READY;
     95
     96    default:
     97      DEBUG (
     98        (DEBUG_ERROR,
     99         "\nsnp->undi.receive()  %xh:%xh\n",
     100         Snp->Cdb.StatFlags,
     101         Snp->Cdb.StatCode)
     102        );
     103
     104      return EFI_DEVICE_ERROR;
    106105  }
    107106
     
    124123    // We need to do the byte swapping
    125124    //
    126     *Protocol = (UINT16) PXE_SWAP_UINT16 (Db->Protocol);
     125    *Protocol = (UINT16)PXE_SWAP_UINT16 (Db->Protocol);
    127126  }
    128127
     
    191190EFIAPI
    192191SnpUndi32Receive (
    193   IN EFI_SIMPLE_NETWORK_PROTOCOL *This,
    194   OUT UINTN                      *HeaderSize OPTIONAL,
    195   IN OUT UINTN                   *BufferSize,
    196   OUT VOID                       *Buffer,
    197   OUT EFI_MAC_ADDRESS            *SrcAddr OPTIONAL,
    198   OUT EFI_MAC_ADDRESS            *DestAddr OPTIONAL,
    199   OUT UINT16                     *Protocol OPTIONAL
     192  IN EFI_SIMPLE_NETWORK_PROTOCOL  *This,
     193  OUT UINTN                       *HeaderSize OPTIONAL,
     194  IN OUT UINTN                    *BufferSize,
     195  OUT VOID                        *Buffer,
     196  OUT EFI_MAC_ADDRESS             *SrcAddr OPTIONAL,
     197  OUT EFI_MAC_ADDRESS             *DestAddr OPTIONAL,
     198  OUT UINT16                      *Protocol OPTIONAL
    200199  )
    201200{
     
    213212
    214213  switch (Snp->Mode.State) {
    215   case EfiSimpleNetworkInitialized:
    216     break;
    217 
    218   case EfiSimpleNetworkStopped:
    219     Status = EFI_NOT_STARTED;
    220     goto ON_EXIT;
    221 
    222   default:
    223     Status = EFI_DEVICE_ERROR;
    224     goto ON_EXIT;
     214    case EfiSimpleNetworkInitialized:
     215      break;
     216
     217    case EfiSimpleNetworkStopped:
     218      Status = EFI_NOT_STARTED;
     219      goto ON_EXIT;
     220
     221    default:
     222      Status = EFI_DEVICE_ERROR;
     223      goto ON_EXIT;
    225224  }
    226225
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