> On Apr 17, 2015, at 11:02 AM, S.Vieira <jwvsan...@outlook.com> wrote: > > Fish. > > > I know it. > But , I did it. > Changed the TimerLib to my *dsc implementation and recompile .. doesn't worked >
I don’t know what “doesn’t work(ed)” means? > TimerLib|MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf > If you are writing an UEFI driver you should NOT use the TimerLib and use gBS->Stall(). > > I removed the gBs->Stall() of the code and the message yet is showed . > I don’t know what you are talking about? Did you remove the TimerLib from the INF file? Thanks, Andrew Fish > 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 ------------------------------------------------------------------------------ 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