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/Mtftp6Dxe/Mtftp6Wrq.c

    r85718 r99404  
    99
    1010#include "Mtftp6Impl.h"
    11 
    12 
    1311
    1412/**
     
    2523EFI_STATUS
    2624Mtftp6WrqSendBlock (
    27   IN MTFTP6_INSTANCE        *Instance,
    28   IN UINT16                 BlockNum
     25  IN MTFTP6_INSTANCE  *Instance,
     26  IN UINT16           BlockNum
    2927  )
    3028{
    31   EFI_MTFTP6_PACKET         *Packet;
    32   EFI_MTFTP6_TOKEN          *Token;
    33   NET_BUF                   *UdpPacket;
    34   EFI_STATUS                Status;
    35   UINT16                    DataLen;
    36   UINT8                     *DataBuf;
    37   UINT64                    Start;
     29  EFI_MTFTP6_PACKET  *Packet;
     30  EFI_MTFTP6_TOKEN   *Token;
     31  NET_BUF            *UdpPacket;
     32  EFI_STATUS         Status;
     33  UINT16             DataLen;
     34  UINT8              *DataBuf;
     35  UINT64             Start;
    3836
    3937  //
     
    4644  }
    4745
    48   Packet = (EFI_MTFTP6_PACKET *) NetbufAllocSpace (
    49                                    UdpPacket,
    50                                    MTFTP6_DATA_HEAD_LEN,
    51                                    FALSE
    52                                    );
     46  Packet = (EFI_MTFTP6_PACKET *)NetbufAllocSpace (
     47                                  UdpPacket,
     48                                  MTFTP6_DATA_HEAD_LEN,
     49                                  FALSE
     50                                  );
    5351  ASSERT (Packet != NULL);
    5452
     
    6664
    6765    if (Token->BufferSize < Start + Instance->BlkSize) {
    68       DataLen           = (UINT16) (Token->BufferSize - Start);
     66      DataLen           = (UINT16)(Token->BufferSize - Start);
    6967      Instance->LastBlk = BlockNum;
    7068      Mtftp6SetLastBlockNum (&Instance->BlkList, BlockNum);
     
    7371    if (DataLen > 0) {
    7472      NetbufAllocSpace (UdpPacket, DataLen, FALSE);
    75       CopyMem (Packet->Data.Data, (UINT8 *) Token->Buffer + Start, DataLen);
    76     }
    77 
     73      CopyMem (Packet->Data.Data, (UINT8 *)Token->Buffer + Start, DataLen);
     74    }
    7875  } else {
    7976    //
     
    8178    //
    8279    DataBuf = NULL;
    83     Status  = Token->PacketNeeded (&Instance->Mtftp6, Token, &DataLen, (VOID*) &DataBuf);
     80    Status  = Token->PacketNeeded (&Instance->Mtftp6, Token, &DataLen, (VOID *)&DataBuf);
    8481
    8582    if (EFI_ERROR (Status) || (DataLen > Instance->BlkSize)) {
     
    8784        gBS->FreePool (DataBuf);
    8885      }
     86
    8987      //
    9088      // The received packet has already been freed.
     
    9391        Instance,
    9492        EFI_MTFTP6_ERRORCODE_REQUEST_DENIED,
    95         (UINT8 *) "User aborted the transfer"
     93        (UINT8 *)"User aborted the transfer"
    9694        );
    9795
     
    118116  return Mtftp6TransmitPacket (Instance, UdpPacket);
    119117}
    120 
    121118
    122119/**
     
    139136EFI_STATUS
    140137Mtftp6WrqHandleAck (
    141   IN  MTFTP6_INSTANCE       *Instance,
    142   IN  EFI_MTFTP6_PACKET     *Packet,
    143   IN  UINT32                Len,
    144   OUT NET_BUF               **UdpPacket,
    145   OUT BOOLEAN               *IsCompleted
     138  IN  MTFTP6_INSTANCE    *Instance,
     139  IN  EFI_MTFTP6_PACKET  *Packet,
     140  IN  UINT32             Len,
     141  OUT NET_BUF            **UdpPacket,
     142  OUT BOOLEAN            *IsCompleted
    146143  )
    147144{
    148   UINT16                    AckNum;
    149   INTN                      Expected;
    150   UINT64                    BlockCounter;
     145  UINT16  AckNum;
     146  INTN    Expected;
     147  UINT64  BlockCounter;
    151148
    152149  *IsCompleted = FALSE;
     
    183180      *IsCompleted = TRUE;
    184181      return EFI_SUCCESS;
    185 
    186182    } else {
    187183      //
     
    197193        Instance,
    198194        EFI_MTFTP6_ERRORCODE_REQUEST_DENIED,
    199         (UINT8 *) "Block number rolls back, not supported, try blksize option"
     195        (UINT8 *)"Block number rolls back, not supported, try blksize option"
    200196        );
    201197
     
    211207  *UdpPacket = NULL;
    212208
    213   return Mtftp6WrqSendBlock (Instance, (UINT16) Expected);
     209  return Mtftp6WrqSendBlock (Instance, (UINT16)Expected);
    214210}
    215 
    216211
    217212/**
     
    232227BOOLEAN
    233228Mtftp6WrqOackValid (
    234   IN MTFTP6_EXT_OPTION_INFO     *ReplyInfo,
    235   IN MTFTP6_EXT_OPTION_INFO     *RequestInfo
     229  IN MTFTP6_EXT_OPTION_INFO  *ReplyInfo,
     230  IN MTFTP6_EXT_OPTION_INFO  *RequestInfo
    236231  )
    237232{
     
    249244  if ((((ReplyInfo->BitMap & MTFTP6_OPT_BLKSIZE_BIT) != 0) && (ReplyInfo->BlkSize > RequestInfo->BlkSize)) ||
    250245      (((ReplyInfo->BitMap & MTFTP6_OPT_TIMEOUT_BIT) != 0) && (ReplyInfo->Timeout != RequestInfo->Timeout))
    251       ) {
    252 
     246      )
     247  {
    253248    return FALSE;
    254249  }
     
    256251  return TRUE;
    257252}
    258 
    259253
    260254/**
     
    275269EFI_STATUS
    276270Mtftp6WrqHandleOack (
    277   IN  MTFTP6_INSTANCE       *Instance,
    278   IN  EFI_MTFTP6_PACKET     *Packet,
    279   IN  UINT32                Len,
    280   OUT NET_BUF               **UdpPacket,
    281   OUT BOOLEAN               *IsCompleted
     271  IN  MTFTP6_INSTANCE    *Instance,
     272  IN  EFI_MTFTP6_PACKET  *Packet,
     273  IN  UINT32             Len,
     274  OUT NET_BUF            **UdpPacket,
     275  OUT BOOLEAN            *IsCompleted
    282276  )
    283277{
    284   EFI_MTFTP6_OPTION         *Options;
    285   UINT32                    Count;
    286   MTFTP6_EXT_OPTION_INFO    ExtInfo;
    287   EFI_MTFTP6_PACKET         Dummy;
    288   EFI_STATUS                Status;
    289   INTN                      Expected;
     278  EFI_MTFTP6_OPTION       *Options;
     279  UINT32                  Count;
     280  MTFTP6_EXT_OPTION_INFO  ExtInfo;
     281  EFI_MTFTP6_PACKET       Dummy;
     282  EFI_STATUS              Status;
     283  INTN                    Expected;
    290284
    291285  *IsCompleted = FALSE;
    292   Options = NULL;
     286  Options      = NULL;
    293287
    294288  //
     
    311305    return Status;
    312306  }
     307
    313308  ASSERT (Options != NULL);
    314309
    315310  Status = Mtftp6ParseExtensionOption (Options, Count, FALSE, Instance->Operation, &ExtInfo);
    316311
    317   if (EFI_ERROR(Status) || !Mtftp6WrqOackValid (&ExtInfo, &Instance->ExtInfo)) {
     312  if (EFI_ERROR (Status) || !Mtftp6WrqOackValid (&ExtInfo, &Instance->ExtInfo)) {
    318313    //
    319314    // Don't send a MTFTP error packet when out of resource, it can
     
    333328        Instance,
    334329        EFI_MTFTP6_ERRORCODE_ILLEGAL_OPERATION,
    335         (UINT8 *) "Malformatted OACK packet"
     330        (UINT8 *)"Malformatted OACK packet"
    336331        );
    337332    }
     
    364359}
    365360
    366 
    367361/**
    368362  The packet process callback for Mtftp6 upload.
     
    377371EFIAPI
    378372Mtftp6WrqInput (
    379   IN NET_BUF                *UdpPacket,
    380   IN UDP_END_POINT          *UdpEpt,
    381   IN EFI_STATUS             IoStatus,
    382   IN VOID                   *Context
     373  IN NET_BUF        *UdpPacket,
     374  IN UDP_END_POINT  *UdpEpt,
     375  IN EFI_STATUS     IoStatus,
     376  IN VOID           *Context
    383377  )
    384378{
    385   MTFTP6_INSTANCE           *Instance;
    386   EFI_MTFTP6_PACKET         *Packet;
    387   BOOLEAN                   IsCompleted;
    388   EFI_STATUS                Status;
    389   UINT32                    TotalNum;
    390   UINT32                    Len;
    391   UINT16                    Opcode;
    392 
    393   Instance = (MTFTP6_INSTANCE *) Context;
     379  MTFTP6_INSTANCE    *Instance;
     380  EFI_MTFTP6_PACKET  *Packet;
     381  BOOLEAN            IsCompleted;
     382  EFI_STATUS         Status;
     383  UINT32             TotalNum;
     384  UINT32             Len;
     385  UINT16             Opcode;
     386
     387  Instance = (MTFTP6_INSTANCE *)Context;
    394388
    395389  NET_CHECK_SIGNATURE (Instance, MTFTP6_INSTANCE_SIGNATURE);
     
    440434    }
    441435
    442     NetbufCopy (UdpPacket, 0, Len, (UINT8 *) Packet);
    443 
     436    NetbufCopy (UdpPacket, 0, Len, (UINT8 *)Packet);
    444437  } else {
    445     Packet = (EFI_MTFTP6_PACKET *) NetbufGetByte (UdpPacket, 0, NULL);
     438    Packet = (EFI_MTFTP6_PACKET *)NetbufGetByte (UdpPacket, 0, NULL);
    446439    ASSERT (Packet != NULL);
    447440  }
     
    453446  // if CheckPacket returns an EFI_ERROR code.
    454447  //
    455   if (Instance->Token->CheckPacket != NULL &&
    456       (Opcode == EFI_MTFTP6_OPCODE_OACK || Opcode == EFI_MTFTP6_OPCODE_ERROR)
    457       ) {
    458 
     448  if ((Instance->Token->CheckPacket != NULL) &&
     449      ((Opcode == EFI_MTFTP6_OPCODE_OACK) || (Opcode == EFI_MTFTP6_OPCODE_ERROR))
     450      )
     451  {
    459452    Status = Instance->Token->CheckPacket (
    460453                                &Instance->Mtftp6,
    461454                                Instance->Token,
    462                                 (UINT16) Len,
     455                                (UINT16)Len,
    463456                                Packet
    464457                                );
     
    481474          Instance,
    482475          EFI_MTFTP6_ERRORCODE_REQUEST_DENIED,
    483           (UINT8 *) "User aborted the transfer"
     476          (UINT8 *)"User aborted the transfer"
    484477          );
    485478      }
     
    494487  //
    495488  switch (Opcode) {
    496   case EFI_MTFTP6_OPCODE_ACK:
    497     if (Len != MTFTP6_OPCODE_LEN + MTFTP6_BLKNO_LEN) {
    498       goto ON_EXIT;
    499     }
    500     //
    501     // Handle the Ack packet of Wrq.
    502     //
    503     Status = Mtftp6WrqHandleAck (Instance, Packet, Len, &UdpPacket, &IsCompleted);
    504     break;
    505 
    506   case EFI_MTFTP6_OPCODE_OACK:
    507     if (Len <= MTFTP6_OPCODE_LEN) {
    508       goto ON_EXIT;
    509     }
    510     //
    511     // Handle the Oack packet of Wrq.
    512     //
    513     Status = Mtftp6WrqHandleOack (Instance, Packet, Len, &UdpPacket, &IsCompleted);
    514     break;
    515 
    516   default:
    517     //
    518     // Drop and return eror if received error message.
    519     //
    520     Status = EFI_TFTP_ERROR;
    521     break;
     489    case EFI_MTFTP6_OPCODE_ACK:
     490      if (Len != MTFTP6_OPCODE_LEN + MTFTP6_BLKNO_LEN) {
     491        goto ON_EXIT;
     492      }
     493
     494      //
     495      // Handle the Ack packet of Wrq.
     496      //
     497      Status = Mtftp6WrqHandleAck (Instance, Packet, Len, &UdpPacket, &IsCompleted);
     498      break;
     499
     500    case EFI_MTFTP6_OPCODE_OACK:
     501      if (Len <= MTFTP6_OPCODE_LEN) {
     502        goto ON_EXIT;
     503      }
     504
     505      //
     506      // Handle the Oack packet of Wrq.
     507      //
     508      Status = Mtftp6WrqHandleOack (Instance, Packet, Len, &UdpPacket, &IsCompleted);
     509      break;
     510
     511    default:
     512      //
     513      // Drop and return eror if received error message.
     514      //
     515      Status = EFI_TFTP_ERROR;
     516      break;
    522517  }
    523518
     
    527522  // restart the receive, otherwise end the session.
    528523  //
    529   if (Packet != NULL && TotalNum > 1) {
     524  if ((Packet != NULL) && (TotalNum > 1)) {
    530525    FreePool (Packet);
    531526  }
     
    543538               );
    544539  }
     540
    545541  //
    546542  // Clean up the current session if failed to continue.
     
    550546  }
    551547}
    552 
    553548
    554549/**
     
    565560EFI_STATUS
    566561Mtftp6WrqStart (
    567   IN MTFTP6_INSTANCE        *Instance,
    568   IN UINT16                 Operation
     562  IN MTFTP6_INSTANCE  *Instance,
     563  IN UINT16           Operation
    569564  )
    570565{
    571   EFI_STATUS                Status;
     566  EFI_STATUS  Status;
    572567
    573568  //
     
    596591           );
    597592}
    598 
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