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/EmbeddedPkg/Application/AndroidFastboot/Arm/BootAndroidBootImg.c

    r85718 r99404  
    1919#pragma pack(1)
    2020typedef struct {
    21   MEMMAP_DEVICE_PATH                      Node1;
    22   EFI_DEVICE_PATH_PROTOCOL                End;
     21  MEMMAP_DEVICE_PATH          Node1;
     22  EFI_DEVICE_PATH_PROTOCOL    End;
    2323} MEMORY_DEVICE_PATH;
    2424#pragma pack()
    2525
    26 STATIC CONST MEMORY_DEVICE_PATH MemoryDevicePathTemplate =
     26STATIC CONST MEMORY_DEVICE_PATH  MemoryDevicePathTemplate =
    2727{
    2828  {
     
    4545};
    4646
    47 
    4847/**
    4948  Start an EFI Application from a Device Path
     
    6059EFI_STATUS
    6160StartEfiApplication (
    62   IN EFI_HANDLE                  ParentImageHandle,
    63   IN EFI_DEVICE_PATH_PROTOCOL    *DevicePath,
    64   IN UINTN                       LoadOptionsSize,
    65   IN VOID*                       LoadOptions
     61  IN EFI_HANDLE                ParentImageHandle,
     62  IN EFI_DEVICE_PATH_PROTOCOL  *DevicePath,
     63  IN UINTN                     LoadOptionsSize,
     64  IN VOID                      *LoadOptions
    6665  )
    6766{
    68   EFI_STATUS                   Status;
    69   EFI_HANDLE                   ImageHandle;
    70   EFI_LOADED_IMAGE_PROTOCOL*   LoadedImage;
     67  EFI_STATUS                 Status;
     68  EFI_HANDLE                 ImageHandle;
     69  EFI_LOADED_IMAGE_PROTOCOL  *LoadedImage;
    7170
    7271  // Load the image from the device path with Boot Services function
    73   Status = gBS->LoadImage (TRUE, ParentImageHandle, DevicePath, NULL, 0,
    74                   &ImageHandle);
     72  Status = gBS->LoadImage (
     73                  TRUE,
     74                  ParentImageHandle,
     75                  DevicePath,
     76                  NULL,
     77                  0,
     78                  &ImageHandle
     79                  );
    7580  if (EFI_ERROR (Status)) {
    7681    //
     
    8388      gBS->UnloadImage (ImageHandle);
    8489    }
     90
    8591    return Status;
    8692  }
     
    8894  // Passed LoadOptions to the EFI Application
    8995  if (LoadOptionsSize != 0) {
    90     Status = gBS->HandleProtocol (ImageHandle, &gEfiLoadedImageProtocolGuid,
    91                     (VOID **) &LoadedImage);
     96    Status = gBS->HandleProtocol (
     97                    ImageHandle,
     98                    &gEfiLoadedImageProtocolGuid,
     99                    (VOID **)&LoadedImage
     100                    );
    92101    if (EFI_ERROR (Status)) {
    93102      return Status;
    94103    }
    95104
    96     LoadedImage->LoadOptionsSize  = LoadOptionsSize;
    97     LoadedImage->LoadOptions      = LoadOptions;
     105    LoadedImage->LoadOptionsSize = LoadOptionsSize;
     106    LoadedImage->LoadOptions     = LoadOptions;
    98107  }
    99108
     
    110119EFI_STATUS
    111120BootAndroidBootImg (
    112   IN UINTN    BufferSize,
    113   IN VOID    *Buffer
     121  IN UINTN  BufferSize,
     122  IN VOID   *Buffer
    114123  )
    115124{
    116   EFI_STATUS                          Status;
    117   CHAR8                               KernelArgs[ANDROID_BOOTIMG_KERNEL_ARGS_SIZE];
    118   VOID                               *Kernel;
    119   UINTN                               KernelSize;
    120   VOID                               *Ramdisk;
    121   UINTN                               RamdiskSize;
    122   MEMORY_DEVICE_PATH                  KernelDevicePath;
    123   CHAR16                              *LoadOptions, *NewLoadOptions;
     125  EFI_STATUS          Status;
     126  CHAR8               KernelArgs[ANDROID_BOOTIMG_KERNEL_ARGS_SIZE];
     127  VOID                *Kernel;
     128  UINTN               KernelSize;
     129  VOID                *Ramdisk;
     130  UINTN               RamdiskSize;
     131  MEMORY_DEVICE_PATH  KernelDevicePath;
     132  CHAR16              *LoadOptions, *NewLoadOptions;
    124133
    125134  Status = ParseAndroidBootImg (
    126             Buffer,
    127             &Kernel,
    128             &KernelSize,
    129             &Ramdisk,
    130             &RamdiskSize,
    131             KernelArgs
    132             );
     135             Buffer,
     136             &Kernel,
     137             &KernelSize,
     138             &Ramdisk,
     139             &RamdiskSize,
     140             KernelArgs
     141             );
    133142  if (EFI_ERROR (Status)) {
    134143    return Status;
     
    139148  // Have to cast to UINTN before casting to EFI_PHYSICAL_ADDRESS in order to
    140149  // appease GCC.
    141   KernelDevicePath.Node1.StartingAddress = (EFI_PHYSICAL_ADDRESS)(UINTN) Kernel;
    142   KernelDevicePath.Node1.EndingAddress   = (EFI_PHYSICAL_ADDRESS)(UINTN) Kernel + KernelSize;
     150  KernelDevicePath.Node1.StartingAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)Kernel;
     151  KernelDevicePath.Node1.EndingAddress   = (EFI_PHYSICAL_ADDRESS)(UINTN)Kernel + KernelSize;
    143152
    144153  // Initialize Linux command line
     
    149158
    150159  if (RamdiskSize != 0) {
    151     NewLoadOptions = CatSPrint (LoadOptions, L" initrd=0x%x,0x%x",
    152                        (UINTN)Ramdisk, RamdiskSize);
     160    NewLoadOptions = CatSPrint (
     161                       LoadOptions,
     162                       L" initrd=0x%x,0x%x",
     163                       (UINTN)Ramdisk,
     164                       RamdiskSize
     165                       );
    153166    FreePool (LoadOptions);
    154167    if (NewLoadOptions == NULL) {
    155168      return EFI_OUT_OF_RESOURCES;
    156169    }
     170
    157171    LoadOptions = NewLoadOptions;
    158172  }
    159173
    160   Status = StartEfiApplication (gImageHandle,
    161              (EFI_DEVICE_PATH_PROTOCOL *) &KernelDevicePath,
     174  Status = StartEfiApplication (
     175             gImageHandle,
     176             (EFI_DEVICE_PATH_PROTOCOL *)&KernelDevicePath,
    162177             StrSize (LoadOptions),
    163              LoadOptions);
     178             LoadOptions
     179             );
    164180  if (EFI_ERROR (Status)) {
    165     DEBUG ((EFI_D_ERROR, "Couldn't Boot Linux: %d\n", Status));
     181    DEBUG ((DEBUG_ERROR, "Couldn't Boot Linux: %d\n", Status));
    166182    Status = EFI_DEVICE_ERROR;
    167183    goto FreeLoadOptions;
     
    170186  // If we got here we do a confused face because BootLinuxFdt returned,
    171187  // reporting success.
    172   DEBUG ((EFI_D_ERROR, "WARNING: BdsBootLinuxFdt returned EFI_SUCCESS.\n"));
     188  DEBUG ((DEBUG_ERROR, "WARNING: BdsBootLinuxFdt returned EFI_SUCCESS.\n"));
    173189  return EFI_SUCCESS;
    174190
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