VirtualBox

Ignore:
Timestamp:
Mar 12, 2019 12:40:12 PM (6 years ago)
Author:
vboxsync
Message:

EFI: First step in UDK2018 merge. Does not build yet.

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
1 added
2 deleted
19 edited

Legend:

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

  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/AtapiPassThruDxe/AtapiPassThru.c

    r48674 r77662  
    301301Routine Description:
    302302
    303   Stop this driver on ControllerHandle. Support stoping any child handles
     303  Stop this driver on ControllerHandle. Support stopping any child handles
    304304  created by this driver.
    305305
     
    17531753
    17541754  OpCode = (UINT8 *) (Packet->Cdb);
    1755   ArrayLen = (UINT8) (sizeof (gSupportedATAPICommands) / sizeof (gSupportedATAPICommands[0]));
     1755  ArrayLen = (UINT8) (ARRAY_SIZE (gSupportedATAPICommands));
    17561756
    17571757  for (Index = 0; (Index < ArrayLen) && (CompareMem (&gSupportedATAPICommands[Index], &gEndTable, sizeof (SCSI_COMMAND_SET)) != 0); Index++) {
     
    18861886Routine Description:
    18871887
    1888   Sumbit request sense command
    1889 
    1890 Arguments:
    1891 
    1892   AtapiScsiPrivate  - The pionter of ATAPI_SCSI_PASS_THRU_DEV
     1888  Submit request sense command
     1889
     1890Arguments:
     1891
     1892  AtapiScsiPrivate  - The pointer of ATAPI_SCSI_PASS_THRU_DEV
    18931893  Target            - The target ID
    18941894  Timeout           - The time to complete the command
     
    19961996
    19971997  OpCode = (UINT8 *) (Packet->Cdb);
    1998   ArrayLen = (UINT8) (sizeof (gSupportedATAPICommands) / sizeof (gSupportedATAPICommands[0]));
     1998  ArrayLen = (UINT8) (ARRAY_SIZE (gSupportedATAPICommands));
    19991999
    20002000  for (Index = 0; (Index < ArrayLen) && (CompareMem (&gSupportedATAPICommands[Index], &gEndTable, sizeof (SCSI_COMMAND_SET)) != 0); Index++) {
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/AtapiPassThruDxe/AtapiPassThru.h

    r58466 r77662  
    11201120Routine Description:
    11211121
    1122   Sumbit request sense command
    1123 
    1124 Arguments:
    1125 
    1126   AtapiScsiPrivate  - The pionter of ATAPI_SCSI_PASS_THRU_DEV
     1122  Submit request sense command
     1123
     1124Arguments:
     1125
     1126  AtapiScsiPrivate  - The pointer of ATAPI_SCSI_PASS_THRU_DEV
    11271127  Target            - The target ID
    11281128  Timeout           - The time to complete the command
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/Bus/Usb/FtdiUsbSerialDxe/CompatibleDevices.txt

    • Property svn:eol-style set to native
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/Bus/Usb/FtdiUsbSerialDxe/FtdiUsbSerialDriver.c

    r58466 r77662  
    13711371  Resets the USB Serial Device
    13721372
    1373   This function is the internal method for reseting the device and is called by
     1373  This function is the internal method for resetting the device and is called by
    13741374  SerialReset()
    13751375
     
    17111711  UART_DEVICE_PATH                    *Uart;
    17121712  UART_FLOW_CONTROL_DEVICE_PATH       *FlowControl;
    1713   UINT32                              FlowControlMap;
    17141713  UINT32                              Control;
    17151714  EFI_DEVICE_PATH_PROTOCOL            *TempDevicePath;
     
    19701969  UsbSerialDevice->ControllerHandle = NULL;
    19711970  FlowControl                       = NULL;
    1972   FlowControlMap                    = 0;
    19731971
    19741972  //
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/Bus/Usb/FtdiUsbSerialDxe/ReadMe.txt

    • Property svn:eol-style set to native
    r58464 r77662  
    1818        Data Bits:    8
    1919        Stop Bits:    1
    20 Notes: 
     20Notes:
    2121        Data Bits setting of 6,7,8 can not be combined with a Stop Bits setting of 1.5
    2222
     
    2626
    2727Tested with:
    28 An FTDI8U232AM based USB-To-Serial adapter, the UEFI Shell, and the SerialTest application 
     28An FTDI8U232AM based USB-To-Serial adapter, the UEFI Shell, and the SerialTest application
    2929using a PuTTY Terminal
    3030
    31 See CompatibleDevices.txt for a list of devices which have been confirmed to work with this 
     31See CompatibleDevices.txt for a list of devices which have been confirmed to work with this
    3232driver.
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772/Ax88772.c

    r58466 r77662  
    668668  UINT32 offset;
    669669  RX_TX_PACKET * pRxPacket;
    670   UINTN LengthInBytes;
    671670  EFI_STATUS Status;
    672671
     
    685684
    686685    pRxPacket = pNicDevice->pRxFree;
    687     LengthInBytes = sizeof ( *pRxPacket ) - sizeof ( pRxPacket->pNext );
    688686    if ( NULL == pRxPacket ) {
    689687      Status = gBS->AllocatePool ( EfiRuntimeServicesData,
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772/Ax88772.h

    r58466 r77662  
    22  Definitions for ASIX AX88772 Ethernet adapter.
    33
    4   Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
    55  This program and the accompanying materials
    66  are licensed and made available under the terms and conditions of the BSD License
     
    1919
    2020#include <Guid/EventGroup.h>
    21 #include <Guid/NicIp4ConfigNvData.h>
    2221
    2322#include <IndustryStandard/Pci.h>
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772/SimpleNetwork.c

    r58466 r77662  
    22  Provides the Simple Network functions.
    33
    4   Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
    55  This program and the accompanying materials
    66  are licensed and made available under the terms and conditions of the BSD License
     
    217217  @retval EFI_SUCCESS           This operation was successful.
    218218  @retval EFI_NOT_STARTED       The network interface was not started.
    219   @retval EFI_OUT_OF_RESORUCES  There was not enough memory for the transmit and receive buffers
     219  @retval EFI_OUT_OF_RESOURCES  There was not enough memory for the transmit and receive buffers
    220220  @retval EFI_INVALID_PARAMETER pSimpleNetwork parameter was NULL or did not point to a valid
    221221                                EFI_SIMPLE_NETWORK_PROTOCOL structure.
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.c

    r58466 r77662  
    626626  if (EFI_ERROR(Status)) goto err;
    627627
    628   SetupMsg.RequestType = USB_REQ_TYPE_VENDOR
     628  if (pNicDevice->Flags != FLAG_TYPE_AX88772) {
     629        SetupMsg.RequestType = USB_REQ_TYPE_VENDOR
    629630                        | USB_TARGET_DEVICE;
    630   SetupMsg.Request = CMD_RXQTC;
    631   SetupMsg.Value = 0x8000;
    632   SetupMsg.Index = 0x8001;
    633   SetupMsg.Length = 0;
    634   Status = Ax88772UsbCommand ( pNicDevice,
     631        SetupMsg.Request = CMD_RXQTC;
     632        SetupMsg.Value = 0x8000;
     633        SetupMsg.Index = 0x8001;
     634        SetupMsg.Length = 0;
     635        Status = Ax88772UsbCommand ( pNicDevice,
    635636                                  &SetupMsg,
    636637                                  NULL );
     638  }
     639
    637640err:
    638641  return Status;
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.h

    r58466 r77662  
    22  Definitions for ASIX AX88772 Ethernet adapter.
    33
    4   Copyright (c) 2011, Intel Corporation
     4  Copyright (c) 2011 - 2015, Intel Corporation
    55  All rights reserved. This program and the accompanying materials
    66  are licensed and made available under the terms and conditions of the BSD License
     
    1919
    2020#include <Guid/EventGroup.h>
    21 #include <Guid/NicIp4ConfigNvData.h>
    2221
    2322#include <IndustryStandard/Pci.h>
     
    142141
    143142#define DEV_SIGNATURE     SIGNATURE_32 ('A','X','8','8')  ///<  Signature of data structures in memory
    144 
    145 #define VENDOR_ID         0x0B95  ///<  Vendor ID for Asix
    146 #define PRODUCT_ID        0x772B  ///<  Product ID for the AX88772 USB 10/100 Ethernet controller
    147143
    148144#define RESET_MSEC        1000    ///<  Reset duration
     
    299295#define AN_CSMA_CD                      0x0001  ///<  1 = IEEE 802.3 CSMA/CD support
    300296
    301 
     297// asix_flags defines
     298#define FLAG_NONE               0
     299#define FLAG_TYPE_AX88172       BIT0
     300#define FLAG_TYPE_AX88772       BIT1
     301#define FLAG_TYPE_AX88772B      BIT2
     302#define FLAG_EEPROM_MAC         BIT3  // initial mac address in eeprom
    302303
    303304//------------------------------------------------------------------------------
    304305//  Data Types
    305306//------------------------------------------------------------------------------
     307
     308typedef struct {
     309   UINT16  VendorId;
     310   UINT16  ProductId;
     311   INT32   Flags;
     312}ASIX_DONGLE;
    306313
    307314/**
     
    398405  UINTN   PktCntInQueue;
    399406  UINT8 * pBulkInBuff;
     407
     408  INT32 Flags;
    400409
    401410} NIC_DEVICE;
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/DriverBinding.c

    r58466 r77662  
    1414
    1515#include "Ax88772.h"
     16
     17ASIX_DONGLE ASIX_DONGLES[] = {
     18  { 0x05AC, 0x1402, FLAG_TYPE_AX88772 }, // Apple USB Ethernet Adapter
     19  // ASIX 88772B
     20  { 0x0B95, 0x772B, FLAG_TYPE_AX88772B | FLAG_EEPROM_MAC },
     21  { 0x0000, 0x0000, FLAG_NONE }   // END - Do not remove
     22};
    1623
    1724/**
     
    3744  EFI_USB_IO_PROTOCOL * pUsbIo;
    3845  EFI_STATUS Status;
     46  UINT32 Index;
     47
    3948  //
    4049  //  Connect to the USB stack
     
    6271      //  Validate the adapter
    6372      //
    64       if ( VENDOR_ID == Device.IdVendor ) {
    65 
    66         if (PRODUCT_ID == Device.IdProduct) {
    67             DEBUG ((EFI_D_INFO, "Found the AX88772B\r\n"));
     73      for (Index = 0; ASIX_DONGLES[Index].VendorId != 0; Index++) {
     74        if (ASIX_DONGLES[Index].VendorId == Device.IdVendor &&
     75            ASIX_DONGLES[Index].ProductId == Device.IdProduct) {
     76              DEBUG ((EFI_D_INFO, "Found the AX88772B\r\n"));
     77              break;
    6878        }
    69                     else  {
    70                              Status = EFI_UNSUPPORTED;
    71                     }
    7279      }
    73             else {
    74                       Status = EFI_UNSUPPORTED;
    75        }
     80
     81      if (ASIX_DONGLES[Index].VendorId == 0)
     82         Status = EFI_UNSUPPORTED;
    7683    }
    7784
     
    118125        EFI_DEVICE_PATH_PROTOCOL        *ParentDevicePath = NULL;
    119126        MAC_ADDR_DEVICE_PATH            MacDeviceNode;
     127        EFI_USB_DEVICE_DESCRIPTOR       Device;
     128        UINT32                          Index;
    120129
    121130  //
     
    170179                  gBS->FreePool ( pNicDevice );
    171180                  goto EXIT;
     181  }
     182
     183  Status = pNicDevice->pUsbIo->UsbGetDeviceDescriptor ( pNicDevice->pUsbIo, &Device );
     184  if (EFI_ERROR ( Status )) {
     185     gBS->CloseProtocol (
     186               Controller,
     187               &gEfiUsbIoProtocolGuid,
     188               pThis->DriverBindingHandle,
     189               Controller
     190               );
     191     gBS->FreePool ( pNicDevice );
     192              goto EXIT;
     193  } else {
     194      //
     195      //  Validate the adapter
     196      //
     197      for (Index = 0; ASIX_DONGLES[Index].VendorId != 0; Index++) {
     198          if (ASIX_DONGLES[Index].VendorId == Device.IdVendor &&
     199              ASIX_DONGLES[Index].ProductId == Device.IdProduct) {
     200                break;
     201          }
     202      }
     203
     204      if (ASIX_DONGLES[Index].VendorId == 0) {
     205         gBS->CloseProtocol (
     206                   Controller,
     207                   &gEfiUsbIoProtocolGuid,
     208                   pThis->DriverBindingHandle,
     209                   Controller
     210                   );
     211          gBS->FreePool ( pNicDevice );
     212                   goto EXIT;
     213      }
     214
     215      pNicDevice->Flags = ASIX_DONGLES[Index].Flags;
    172216  }
    173217
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/SimpleNetwork.c

    r58466 r77662  
    22  Provides the Simple Network functions.
    33
    4   Copyright (c) 2011 - 2013, Intel Corporation
     4  Copyright (c) 2011 - 2016, Intel Corporation
    55  All rights reserved. This program and the accompanying materials
    66  are licensed and made available under the terms and conditions of the BSD License
     
    234234  @retval EFI_SUCCESS           This operation was successful.
    235235  @retval EFI_NOT_STARTED       The network interface was not started.
    236   @retval EFI_OUT_OF_RESORUCES  There was not enough memory for the transmit and receive buffers
     236  @retval EFI_OUT_OF_RESOURCES  There was not enough memory for the transmit and receive buffers
    237237  @retval EFI_INVALID_PARAMETER pSimpleNetwork parameter was NULL or did not point to a valid
    238238                                EFI_SIMPLE_NETWORK_PROTOCOL structure.
     
    701701  EFI_STATUS Status = EFI_SUCCESS;
    702702  EFI_TPL TplPrevious;
    703   NIC_DEVICE * pNicDevice;
    704703
    705704  TplPrevious = gBS->RaiseTPL(TPL_CALLBACK);
    706   pNicDevice = DEV_FROM_SIMPLE_NETWORK ( pSimpleNetwork );
    707705  pMode = pSimpleNetwork->Mode;
    708706
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.c

    r58466 r77662  
    237237{
    238238  UINTN                           DstY;
    239   VOID                            *BltMemSrc;
    240239  VOID                            *BltMemDst;
    241240  UINTN                           X;
     
    348347            X = X + MIN (X, Width - X);
    349348          }
    350           BltMemSrc = (VOID *) mBltLibLineBuffer;
    351349          LineBufferReady = TRUE;
    352350        }
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/OptionRomPkg.dsc

    r58466 r77662  
    88#
    99# Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
     10# Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
    1011#
    1112# This program and the accompanying materials
     
    3031  DSC_SPECIFICATION              = 0x00010005
    3132  OUTPUT_DIRECTORY               = Build/OptionRomPkg
    32   SUPPORTED_ARCHITECTURES        = IA32|IPF|X64|EBC
     33  SUPPORTED_ARCHITECTURES        = IA32|IPF|X64|EBC|ARM|AARCH64
    3334  BUILD_TARGETS                  = DEBUG|RELEASE
    3435  SKUID_IDENTIFIER               = DEFAULT
     
    6061  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
    6162  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
     63
     64[LibraryClasses.AARCH64, LibraryClasses.ARM]
     65  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
     66
     67[LibraryClasses.ARM]
     68  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
    6269
    6370################################################################################
     
    106113  OptionRomPkg/UndiRuntimeDxe/UndiRuntimeDxe.inf
    107114  OptionRomPkg/Bus/Usb/FtdiUsbSerialDxe/FtdiUsbSerialDxe.inf
     115  OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772/Ax88772.inf
     116  OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772b.inf
    108117
    109118[Components.IA32, Components.X64, Components.IPF]
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/UndiRuntimeDxe/Decode.c

    r58466 r77662  
    22  Provides the basic UNID functions.
    33
    4 Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
     4Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
    55This program and the accompanying materials
    66are licensed and made available under the terms and conditions of the BSD License
     
    12771277// TODO:    cdb - add argument and description to function comment
    12781278VOID
     1279EFIAPI
    12791280UNDI_APIEntry_new (
    12801281  IN  UINT64 cdb
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/UndiRuntimeDxe/Init.c

    r58459 r77662  
    22  Initialization functions for EFI UNDI32 driver.
    33
    4 Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
     4Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
    55This program and the accompanying materials
    66are licensed and made available under the terms and conditions of the BSD License
     
    100100VOID
    101101EFIAPI
    102 UndiNotifyExitBs (
     102UndiNotifyReadyToBoot (
    103103  EFI_EVENT Event,
    104104  VOID      *Context
     
    436436  UNDI32Device->NIIProtocol_31.ImageSize      = 0;
    437437  UNDI32Device->NIIProtocol_31.ImageAddr      = 0;
    438   UNDI32Device->NIIProtocol_31.Ipv6Supported  = FALSE;
     438  UNDI32Device->NIIProtocol_31.Ipv6Supported  = TRUE;
    439439
    440440  UNDI32Device->NIIProtocol_31.StringId[0]    = 'U';
     
    444444
    445445  UNDI32Device->DeviceHandle                  = NULL;
     446
     447  UNDI32Device->Aip.GetInformation            = UndiAipGetInfo;
     448  UNDI32Device->Aip.SetInformation            = UndiAipSetInfo;
     449  UNDI32Device->Aip.GetSupportedTypes         = UndiAipGetSupportedTypes;
    446450
    447451  //
     
    454458                  &gEfiDevicePathProtocolGuid,
    455459                  UNDI32Device->Undi32DevPath,
     460                  &gEfiAdapterInformationProtocolGuid,
     461                  &UNDI32Device->Aip,
    456462                  NULL
    457463                  );
     
    498504                  &gEfiDevicePathProtocolGuid,
    499505                  UNDI32Device->Undi32DevPath,
     506                  &gEfiAdapterInformationProtocolGuid,
     507                  &UNDI32Device->Aip,
    500508                  NULL
    501509                  );
     
    10291037                  EVT_NOTIFY_SIGNAL,
    10301038                  TPL_NOTIFY,
    1031                   UndiNotifyExitBs,
     1039                  UndiNotifyReadyToBoot,
    10321040                  NULL,
    1033                   &gEfiEventExitBootServicesGuid,
     1041                  &gEfiEventReadyToBootGuid,
    10341042                  &Event
    10351043                  );
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/UndiRuntimeDxe/Undi32.h

    r58459 r77662  
    22  EFI internal structures for the EFI UNDI driver.
    33
    4 Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
     4Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
    55This program and the accompanying materials
    66are licensed and made available under the terms and conditions of the BSD License
     
    2222#include <Protocol/NetworkInterfaceIdentifier.h>
    2323#include <Protocol/DevicePath.h>
     24#include <Protocol/AdapterInformation.h>
    2425
    2526#include <Library/UefiDriverEntryPoint.h>
     
    3132#include <Library/BaseLib.h>
    3233#include <Library/DevicePathLib.h>
     34#include <Library/MemoryAllocationLib.h>
    3335
    3436#include <IndustryStandard/Pci.h>
     
    5860#define UNDI_DEV_FROM_THIS(a) CR(a, UNDI32_DEV, NIIProtocol_31, UNDI_DEV_SIGNATURE)
    5961#define UNDI_DEV_FROM_NIC(a) CR(a, UNDI32_DEV, NicInfo, UNDI_DEV_SIGNATURE)
     62#define UNDI_DEV_FROM_AIP(a) CR(a, UNDI32_DEV, Aip, UNDI_DEV_SIGNATURE)
    6063
    6164typedef struct {
    6265  UINTN                                     Signature;
    6366  EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL NIIProtocol_31;
     67  EFI_ADAPTER_INFORMATION_PROTOCOL          Aip;
    6468  EFI_HANDLE                                DeviceHandle;
    6569  EFI_DEVICE_PATH_PROTOCOL                  *Undi32BaseDevPath;
     
    177181  );
    178182
    179 VOID
    180 EFIAPI
    181 UndiNotifyExitBs (
    182   EFI_EVENT Event,
    183   VOID      *Context
    184   );
    185 
    186183EFI_STATUS
    187184EFIAPI
     
    342339  );
    343340
    344 VOID UNDI_APIEntry_new(UINT64);
     341VOID EFIAPI UNDI_APIEntry_new(UINT64);
    345342VOID UNDI_APIEntry_Common(UINT64);
    346343
     
    351348VOID PxeUpdate (NIC_DATA_INSTANCE *NicPtr, PXE_SW_UNDI *PxePtr);
    352349
     350//
     351// functions defined in UndiAipImpl.c
     352//
     353
     354/**
     355  Returns the current state information for the adapter.
     356
     357  This function returns information of type InformationType from the adapter.
     358  If an adapter does not support the requested informational type, then
     359  EFI_UNSUPPORTED is returned.
     360
     361  @param[in]  This                   A pointer to the EFI_ADAPTER_INFORMATION_PROTOCOL instance.
     362  @param[in]  InformationType        A pointer to an EFI_GUID that defines the contents of InformationBlock.
     363  @param[out] InforamtionBlock       The service returns a pointer to the buffer with the InformationBlock
     364                                     structure which contains details about the data specific to InformationType.
     365  @param[out] InforamtionBlockSize   The driver returns the size of the InformationBlock in bytes.
     366
     367  @retval EFI_SUCCESS                The InformationType information was retrieved.
     368  @retval EFI_UNSUPPORTED            The InformationType is not known.
     369  @retval EFI_DEVICE_ERROR           The device reported an error.
     370  @retval EFI_OUT_OF_RESOURCES       The request could not be completed due to a lack of resources.
     371  @retval EFI_INVALID_PARAMETER      This is NULL.
     372  @retval EFI_INVALID_PARAMETER      InformationBlock is NULL.
     373  @retval EFI_INVALID_PARAMETER      InformationBlockSize is NULL.
     374
     375**/
     376EFI_STATUS
     377EFIAPI
     378UndiAipGetInfo (
     379  IN   EFI_ADAPTER_INFORMATION_PROTOCOL *This,
     380  IN   EFI_GUID                         *InformationType,
     381  OUT  VOID                             **InformationBlock,
     382  OUT  UINTN                            *InformationBlockSize
     383  );
     384
     385/**
     386  Sets state information for an adapter.
     387
     388  This function sends information of type InformationType for an adapter.
     389  If an adapter does not support the requested information type, then EFI_UNSUPPORTED
     390  is returned.
     391
     392  @param[in]  This                   A pointer to the EFI_ADAPTER_INFORMATION_PROTOCOL instance.
     393  @param[in]  InformationType        A pointer to an EFI_GUID that defines the contents of InformationBlock.
     394  @param[in]  InforamtionBlock       A pointer to the InformationBlock structure which contains details
     395                                     about the data specific to InformationType.
     396  @param[in]  InforamtionBlockSize   The size of the InformationBlock in bytes.
     397
     398  @retval EFI_SUCCESS                The information was received and interpreted successfully.
     399  @retval EFI_UNSUPPORTED            The InformationType is not known.
     400  @retval EFI_DEVICE_ERROR           The device reported an error.
     401  @retval EFI_INVALID_PARAMETER      This is NULL.
     402  @retval EFI_INVALID_PARAMETER      InformationBlock is NULL.
     403  @retval EFI_WRITE_PROTECTED        The InformationType cannot be modified using EFI_ADAPTER_INFO_SET_INFO().
     404
     405**/
     406EFI_STATUS
     407EFIAPI
     408UndiAipSetInfo (
     409  IN   EFI_ADAPTER_INFORMATION_PROTOCOL *This,
     410  IN   EFI_GUID                         *InformationType,
     411  IN   VOID                             *InformationBlock,
     412  IN   UINTN                            InformationBlockSize
     413  );
     414
     415/**
     416  Get a list of supported information types for this instance of the protocol.
     417
     418  This function returns a list of InformationType GUIDs that are supported on an
     419  adapter with this instance of EFI_ADAPTER_INFORMATION_PROTOCOL. The list is returned
     420  in InfoTypesBuffer, and the number of GUID pointers in InfoTypesBuffer is returned in
     421  InfoTypesBufferCount.
     422
     423  @param[in]  This                  A pointer to the EFI_ADAPTER_INFORMATION_PROTOCOL instance.
     424  @param[out] InfoTypesBuffer       A pointer to the list of InformationType GUID pointers that are supported
     425                                    by This.
     426  @param[out] InfoTypesBufferCount  A pointer to the number of GUID pointers present in InfoTypesBuffer.
     427
     428  @retval EFI_SUCCESS               The list of information type GUIDs that are supported on this adapter was
     429                                    returned in InfoTypesBuffer. The number of information type GUIDs was
     430                                    returned in InfoTypesBufferCount.
     431  @retval EFI_INVALID_PARAMETER     This is NULL.
     432  @retval EFI_INVALID_PARAMETER     InfoTypesBuffer is NULL.
     433  @retval EFI_INVALID_PARAMETER     InfoTypesBufferCount is NULL.
     434  @retval EFI_OUT_OF_RESOURCES      There is not enough pool memory to store the results.
     435
     436**/
     437EFI_STATUS
     438EFIAPI
     439UndiAipGetSupportedTypes (
     440  IN    EFI_ADAPTER_INFORMATION_PROTOCOL *This,
     441  OUT   EFI_GUID                         **InfoTypesBuffer,
     442  OUT   UINTN                            *InfoTypesBufferCount
     443  );
     444
    353445#endif
  • trunk/src/VBox/Devices/EFI/FirmwareNew/OptionRomPkg/UndiRuntimeDxe/UndiRuntimeDxe.inf

    r58459 r77662  
    22# Component description file for Undi module.
    33#
    4 # This module provides support for Universal Network Driver Interface
    5 # Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
     4# This module provides support for Universal Network Driver Interface.
     5# Notes: this module is no longer regular maintained/validated.
     6#
     7# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
    68#
    79#  This program and the accompanying materials
     
    3537  Init.c
    3638  ComponentName.c
     39  UndiAipImpl.c
    3740
    3841[Packages]
    3942  MdePkg/MdePkg.dec
    40 
    4143
    4244[LibraryClasses]
     
    4850  UefiDriverEntryPoint
    4951  BaseLib
     52  MemoryAllocationLib
    5053
    5154[Protocols]
     
    5356  gEfiPciIoProtocolGuid
    5457  gEfiDevicePathProtocolGuid
     58  gEfiAdapterInformationProtocolGuid
    5559
    5660[Guids]
    5761  gEfiEventExitBootServicesGuid        ## PRODUCES ## Event
    5862  gEfiEventVirtualAddressChangeGuid    ## PRODUCES ## Event
     63  gEfiAdapterInfoUndiIpv6SupportGuid   ## PRODUCES
    5964
    6065[Depex]
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