VirtualBox

Ignore:
Timestamp:
Oct 12, 2015 12:04:16 PM (9 years ago)
Author:
vboxsync
Message:

EFI: Remove VBoxPkg PartitionDxe and merge changes into MdeModulePkg PartitionDxe

Location:
trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe
Files:
6 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c

    r48674 r58179  
    6060  UINT32                  VolSpaceSize;
    6161
     62#ifdef VBOX
     63  VBoxLogFlowFuncMarkDP(DevicePath);
     64#endif
    6265  Found         = EFI_NOT_FOUND;
    6366  Media         = BlockIo->Media;
  • trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c

    r48674 r58179  
    195195  UINT32                      MediaId;
    196196
     197#ifdef VBOX
     198  VBoxLogFlowFuncMarkDP(DevicePath);
     199#endif
    197200  ProtectiveMbr = NULL;
    198201  PrimaryHeader = NULL;
  • trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c

    r48674 r58179  
    144144  LastBlock = BlockIo->Media->LastBlock;
    145145
     146#ifdef VBOX
     147  VBoxLogFlowFuncMarkDP(DevicePath);
     148#endif
    146149  Mbr = AllocatePool (BlockSize);
    147150  if (Mbr == NULL) {
  • trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c

    r48674 r58179  
    4343//
    4444PARTITION_DETECT_ROUTINE mPartitionDetectRoutineTable[] = {
     45#ifdef VBOX
     46  PartitionInstallAppleChildHandles,
     47#endif
    4548  PartitionInstallGptChildHandles,
    4649  PartitionInstallElToritoChildHandles,
     
    7679  EFI_DISK_IO_PROTOCOL      *DiskIo;
    7780  EFI_DEV_PATH              *Node;
     81#ifdef VBOX
     82  VBoxLogFlowFuncEnter();
     83#endif
    7884
    7985  //
     
    8591    // if yes, go on checking other conditions
    8692    //
     93#ifdef VBOX
     94    VBoxLogFlowFuncMarkDP(RemainingDevicePath);
     95#endif
    8796    if (!IsDevicePathEnd (RemainingDevicePath)) {
    8897      //
     
    91100      //
    92101      Node = (EFI_DEV_PATH *) RemainingDevicePath;
     102#ifndef VBOX
    93103      if (Node->DevPath.Type != MEDIA_DEVICE_PATH ||
    94104        Node->DevPath.SubType != MEDIA_HARDDRIVE_DP ||
     
    96106        return EFI_UNSUPPORTED;
    97107      }
     108#else
     109      if (   Node->DevPath.Type != MEDIA_DEVICE_PATH
     110          || Node->DevPath.SubType != MEDIA_HARDDRIVE_DP
     111          || DevicePathNodeLength (&Node->DevPath) != sizeof (HARDDRIVE_DEVICE_PATH)
     112          || Node->DevPath.Type != MESSAGING_DEVICE_PATH
     113          || Node->DevPath.SubType != MSG_SATA_DP) {
     114        VBoxLogFlowFuncLeaveRC(EFI_UNSUPPORTED);
     115         return EFI_UNSUPPORTED;
     116      }
     117#endif
    98118    }
    99119  }
     
    111131                  );
    112132  if (Status == EFI_ALREADY_STARTED) {
     133#ifdef VBOX
     134    VBoxLogFlowFuncLeaveRC(EFI_SUCCESS);
     135#endif
    113136    return EFI_SUCCESS;
    114137  }
    115138  if (EFI_ERROR (Status)) {
     139#ifdef VBOX
     140    VBoxLogFlowFuncLeaveRC(Status);
     141#endif
    116142    return Status;
    117143  }
     
    138164                  );
    139165  if (Status == EFI_ALREADY_STARTED) {
     166#ifdef VBOX
     167    VBoxLogFlowFuncMarkDP(ParentDevicePath);
     168#endif
    140169    return EFI_SUCCESS;
    141170  }
    142171
    143172  if (EFI_ERROR (Status)) {
     173#ifdef VBOX
     174    VBoxLogFlowFuncLeaveRC(Status);
     175#endif
    144176    return Status;
    145177  }
     
    167199                  );
    168200  if (EFI_ERROR (Status)) {
     201#ifdef VBOX
     202    VBoxLogFlowFuncLeaveRC(Status);
     203#endif
    169204    return Status;
    170205  }
    171206
     207#ifdef VBOX
     208  VBoxLogFlowFuncLeaveRC(EFI_SUCCESS);
     209#endif
    172210  return EFI_SUCCESS; 
    173211}
     
    205243  BOOLEAN                   MediaPresent;
    206244  EFI_TPL                   OldTpl;
     245#ifdef VBOX
     246  int                       idxRoutine = 0;
     247
     248  VBoxLogFlowFuncEnter();
     249#endif
    207250
    208251  BlockIo2 = NULL;
     
    235278                  );
    236279  if (EFI_ERROR (Status)) {
     280#ifdef VBOX
     281    VBoxLogFlowFuncMarkRC(Status);
     282#endif
    237283    goto Exit;
    238284  }
     
    259305                  );
    260306  if (EFI_ERROR (Status) && Status != EFI_ALREADY_STARTED) {
     307#ifdef VBOX
     308    VBoxLogFlowFuncMarkRC(Status);
     309#endif
    261310    goto Exit;
    262311  }
     
    277326          ControllerHandle
    278327          );
     328#ifdef VBOX
     329    VBoxLogFlowFuncMarkRC(Status);
     330#endif
    279331    goto Exit;
    280332  }
     
    304356                   ParentDevicePath
    305357                   );
     358#ifdef VBOX
     359      VBoxLogFlowFuncMarkRC(Status);
     360#endif
    306361      if (!EFI_ERROR (Status) || Status == EFI_MEDIA_CHANGED || Status == EFI_NO_MEDIA) {
     362#ifdef VBOX
     363        VBoxLogFlowFuncMarkVar(idxRoutine, "%d");
     364#endif
    307365        break;
    308366      }
    309367      Routine++;
     368#ifdef VBOX
     369      idxRoutine++;
     370#endif
    310371    }
    311372  }
     
    352413Exit:
    353414  gBS->RestoreTPL (OldTpl);
     415#ifdef VBOX
     416  VBoxLogFlowFuncLeaveRC(Status);
     417#endif
    354418  return Status;
    355419}
  • trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.h

    r48674 r58179  
    414414  );
    415415
    416 typedef
    417 EFI_STATUS
    418 (*PARTITION_DETECT_ROUTINE) (
     416#ifdef VBOX
     417/**
     418  Install child handles if the Handle supports Apple format.
     419
     420  @param  This              Calling context.
     421  @param  Handle            Parent Handle.
     422  @param  DiskIo            Parent DiskIo interface.
     423  @param  BlockIo           Parent BlockIo interface.
     424  @param[in]  BlockIo2          Parent BlockIo2 interface.
     425  @param  DevicePath        Parent Device Path.
     426
     427  @retval EFI_SUCCESS       A child handle was added.
     428  @retval EFI_MEDIA_CHANGED Media change was detected.
     429  @retval Others            Apple partition was not found.
     430
     431**/
     432EFI_STATUS
     433PartitionInstallAppleChildHandles (
    419434  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,
    420435  IN  EFI_HANDLE                   Handle,
     
    424439  IN  EFI_DEVICE_PATH_PROTOCOL     *DevicePath
    425440  );
    426 
    427441#endif
     442
     443typedef
     444EFI_STATUS
     445(*PARTITION_DETECT_ROUTINE) (
     446  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,
     447  IN  EFI_HANDLE                   Handle,
     448  IN  EFI_DISK_IO_PROTOCOL         *DiskIo,
     449  IN  EFI_BLOCK_IO_PROTOCOL        *BlockIo,
     450  IN  EFI_BLOCK_IO2_PROTOCOL       *BlockIo2,
     451  IN  EFI_DEVICE_PATH_PROTOCOL     *DevicePath
     452  );
     453
     454#endif
  • trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf

    r48674 r58179  
    4242  Gpt.c
    4343  ElTorito.c
     44  Apple.c                                       # VBox specific
    4445  Partition.c
    4546  Partition.h
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