Fish.
I know it. But , I did it. Changed the TimerLib to my *dsc implementation and recompile .. doesn't worked TimerLib|MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf I removed the gBs->Stall() of the code and the message yet is showed . the code: ================== EFI_STATUS EFIAPI UefiMain ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ) { UINTN amountNode; UINTN indice; EFI_STATUS Status,StatusPort; EFI_HANDLE *myDevice; EFI_ATA_PASS_THRU_PROTOCOL *deviceCurrent; EFI_GUID gAtaPassThru = EFI_ATA_PASS_THRU_PROTOCOL_GUID; //Initialize variable UINT16 Port = 0xFFFF; UINT16 PortMultiplierport = 0xFFFF; Status = EFI_SUCCESS; StatusPort = EFI_SUCCESS; indice = 0; amountNode = 0; Status = gBS->LocateHandleBuffer( ByProtocol, &gAtaPassThru, NULL, &amountNode, &myDevice ); if(!EFI_ERROR(Status)) { Print(L"\namount found: %d \n",amountNode); for(indice = 0; indice < amountNode ; indice++) { Status = gBS->OpenProtocol( myDevice[indice], &gAtaPassThru, (void **) &deviceCurrent, ImageHandle, NULL, EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL ); Print(L"\nHandle: %d \n",indice+1); StatusPort = deviceCurrent->GetNextPort(deviceCurrent,&Port); while(StatusPort != EFI_NOT_FOUND && StatusPort != EFI_INVALID_PARAMETER) { Status = AtaIdentifyHdd(deviceCurrent,Port,PortMultiplierport); StatusPort = deviceCurrent->GetNextPort(deviceCurrent,&Port); } } } return EFI_SUCCESS; } ============= ============= the includes: #include <Guid/MemoryOverwriteControl.h> #include <Library/BaseLib.h> #include <Library/BaseMemoryLib.h> #include <Library/UefiRuntimeServicesTableLib.h> #include <Uefi.h> #include <Uefi/UefiSpec.h> #include <Library/PcdLib.h> #include <Library/UefiLib.h> #include <Library/UefiApplicationEntryPoint.h> #include <Library/UefiBootServicesTableLib.h> #include <Protocol/AtaPassThru.h> #include <IndustryStandard/Atapi.h> #include <Library/MemoryAllocationLib.h> ==== ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel