Re: [edk2] SSH access on to UEFI shell
Hi Bilbbet, Thanks for sharing the link, I will contribute my changes also :) > On 31-Dec-2018, at 10:27 PM, Blibbet wrote: > > There is an open request for such a project; your contribution would be > appreciated! > > https://github.com/tianocore/tianocore.github.io/wiki/Tasks#Port_OpenSSH_as_a_shell_application > >> On 12/30/18 11:11 PM, prabin ca wrote: >> Hi Team, >> >> I would like to know is there any way to get UEFI shell remotely to my local >> setup over SSH/Telnet. >> >> I have spend hours for searching, Please help me if there any framework or >> EFI protocol support for this. >> >> Any sample code also helpful me to start >> >> Thanks In advance >> Prabin CA >> >> >> ___ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel >> ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] SSH access on to UEFI shell
Hi Team, I would like to know is there any way to get UEFI shell remotely to my local setup over SSH/Telnet. I have spend hours for searching, Please help me if there any framework or EFI protocol support for this. Any sample code also helpful me to start Thanks In advance Prabin CA ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] Display Architecture and Bring Up in UEFI
Thanks Ruiyu, for confirming. > On 27-Nov-2018, at 7:15 AM, Ni, Ruiyu wrote: > >> On 11/23/2018 5:19 PM, Laszlo Ersek wrote: >>> On 11/23/18 07:27, prabin ca wrote: >>> Hi Team, >>> >>> I’m new to UEFI and display interface in UEFI. I would like to have deep >>> dive into how display is working in UEFI (display architecture) and how >>> display is have been bring up (porting of display panel in a any platform >>> in general ). >>> >>> Please help me with sample codes and necessary documents. I would like to >>> get knowledge about display bring up and display architecture in UEFI >> The driver writers' guide and the UEFI spec have relevant chapters on >> this. I think it's best to start reading the former, at "23 Graphics >> Driver Design Guidelines"; that part will give you the pointers to the >> rest as well. >> https://github.com/tianocore/tianocore.github.io/wiki/UEFI-Driver-Writer%27s-Guide >> For a (hopefully educational) example, I refer you to >> OvmfPkg/VirtioGpuDxe. In the series that first added this driver to >> edk2, I managed to construct the driver in stages such that each stage >> would build and even function, at the level expected from that stage. In >> particular, commit a2a4fa66701d ("OvmfPkg/VirtioGpuDxe: introduce with >> Component Name 2 and Driver Binding", 2016-09-01) could prove helpful, >> as it adds the skeleton of the driver, mostly without VirtIo GPU specifics. >> In addition, you might want to look into the generic >> MdeModulePkg/Universal/Console/GraphicsOutputDxe >> driver. A platform may be able to incorporate that driver without any >> changes, and control it by first producing the two HOBs in the PEI phase >> that the driver consumes: >> MdePkg/Include/Guid/GraphicsInfoHob.h >> (... Interestingly, due to the fact that this header file is under >> MdePkg and not MdeModulePkg, I've just learned, from the related commit >> messages, that the PEI phase has standardized graphics support, >> described in the PI spec. From the following two commit messages: >> - 697c6cf32693 ("MdePkg: Add PI 1.4 Graphics HOB and PPI header files", >> 2015-04-28) >> - 2af538fbf667 ("MdeModulePkg: Add GraphicsOutputDxe driver.", 2016-10-12) >> it appears that enabling graphics support in the PEI phase could be a >> *requirement* for using GraphicsOutputDxe in the DXE phase. That might >> or might not match your use case, so perhaps it will prevent you from >> using GraphicsOutputDxe. I'm not sure.) > > Yes. GraphicsOutputDxe layers on the HOB produced in PEI phase to provide GOP > protocol. > > >> Thanks >> Laszlo >> ___ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel > > > -- > Thanks, > Ray ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] Display Architecture and Bring Up in UEFI
Hi Laszlo, Thanks for your support, let me look on this > On 23-Nov-2018, at 2:49 PM, Laszlo Ersek wrote: > >> On 11/23/18 07:27, prabin ca wrote: >> Hi Team, >> >> I’m new to UEFI and display interface in UEFI. I would like to have deep >> dive into how display is working in UEFI (display architecture) and how >> display is have been bring up (porting of display panel in a any platform in >> general ). >> >> Please help me with sample codes and necessary documents. I would like to >> get knowledge about display bring up and display architecture in UEFI > > The driver writers' guide and the UEFI spec have relevant chapters on > this. I think it's best to start reading the former, at "23 Graphics > Driver Design Guidelines"; that part will give you the pointers to the > rest as well. > > https://github.com/tianocore/tianocore.github.io/wiki/UEFI-Driver-Writer%27s-Guide > > > For a (hopefully educational) example, I refer you to > OvmfPkg/VirtioGpuDxe. In the series that first added this driver to > edk2, I managed to construct the driver in stages such that each stage > would build and even function, at the level expected from that stage. In > particular, commit a2a4fa66701d ("OvmfPkg/VirtioGpuDxe: introduce with > Component Name 2 and Driver Binding", 2016-09-01) could prove helpful, > as it adds the skeleton of the driver, mostly without VirtIo GPU specifics. > > > In addition, you might want to look into the generic > > MdeModulePkg/Universal/Console/GraphicsOutputDxe > > driver. A platform may be able to incorporate that driver without any > changes, and control it by first producing the two HOBs in the PEI phase > that the driver consumes: > > MdePkg/Include/Guid/GraphicsInfoHob.h > > (... Interestingly, due to the fact that this header file is under > MdePkg and not MdeModulePkg, I've just learned, from the related commit > messages, that the PEI phase has standardized graphics support, > described in the PI spec. From the following two commit messages: > > - 697c6cf32693 ("MdePkg: Add PI 1.4 Graphics HOB and PPI header files", > 2015-04-28) > > - 2af538fbf667 ("MdeModulePkg: Add GraphicsOutputDxe driver.", 2016-10-12) > > it appears that enabling graphics support in the PEI phase could be a > *requirement* for using GraphicsOutputDxe in the DXE phase. That might > or might not match your use case, so perhaps it will prevent you from > using GraphicsOutputDxe. I'm not sure.) > > Thanks > Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] Display Architecture and Bring Up in UEFI
Hi Team, I’m new to UEFI and display interface in UEFI. I would like to have deep dive into how display is working in UEFI (display architecture) and how display is have been bring up (porting of display panel in a any platform in general ). Please help me with sample codes and necessary documents. I would like to get knowledge about display bring up and display architecture in UEFI Thanks in advance ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] Updating/adding video mode
Thanks Andrew, For your reply. EDID overriding is the last solution for me. Any way thanks for pointing the EFI_EDID protocols. > On 19-Sep-2018, at 11:01 PM, Andrew Fish wrote: > > Prabin, > > There is not an easy answer to your question. > 1) What video resolution is available can be a function of what monitor is > plugged in to the graphics card. > 2) The monitor can publish an EDID that defines what resolutions the monitor > supports. EDID is a VESA standard. > 3) An EFI Platform can provide an EFI_EDID_OVERRIDE_PROTOCOL that can impact > the available video modes that get published. > 4) The GOP card will publish EDID information via the > EFI_EDID_DISCOVERED_PROTOCOL. > > As I mentioned the EDID data structure is defined by a VESA standard, but it > also has to be valid for what the monitor can support. Basically you can > override the EDID and tell the GOP card to does something the monitor can not > support. > > Some platforms use the ConSpliter and it produces a virtual GOP protocol that > will aggregate hardware GOPs. So for example if you system has an internal > panel and an external monitor installed you could end up with 2 HW GOP > protocols and a virtual GOP protocol that represents the ConSpliter. > > Thanks, > > Andrew Fish > >> On Sep 15, 2018, at 10:37 PM, prabin ca wrote: >> >> Any points on this really helpful for me. >> >>> On 15-Sep-2018, at 6:46 AM, prabin ca wrote: >>> >>> Hi Team, >>> I’m working with a platform having UHD (3840X2160as native resolution) >>> display screen. I have dump the video modes using EFI_GRAPHICS_PROTOCOL. >>> >>> Following are the dump result >>> >>> Mode 0 : hRes = 3840 Vres=2160 >>> Mode 1 : hRes = 640 Vres = 480 >>> Mode 2 : hRes = 800 Vres = 600 >>> Mode 3 : hRes = 1024 Vres = 768 >>> Mode 4 : hRes = 1280 Vres = 1024 >>> Mode 5 : hRes = 1600 Vres = 1200 >>> Mode 6 : hRes = 1920 Vres = 1440 >>> >>> In the supported video mode list, 1920X1080 is not there. Is there any way >>> to add support for this resolution. I have checked UEFI spec but didn’t >>> find any useful API/protocol >>> Any help really appreciate. >> ___ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] Updating/adding video mode
Any points on this really helpful for me. > On 15-Sep-2018, at 6:46 AM, prabin ca wrote: > > Hi Team, > I’m working with a platform having UHD (3840X2160as native resolution) > display screen. I have dump the video modes using EFI_GRAPHICS_PROTOCOL. > > Following are the dump result > > Mode 0 : hRes = 3840 Vres=2160 > Mode 1 : hRes = 640 Vres = 480 > Mode 2 : hRes = 800 Vres = 600 > Mode 3 : hRes = 1024 Vres = 768 > Mode 4 : hRes = 1280 Vres = 1024 > Mode 5 : hRes = 1600 Vres = 1200 > Mode 6 : hRes = 1920 Vres = 1440 > > In the supported video mode list, 1920X1080 is not there. Is there any way to > add support for this resolution. I have checked UEFI spec but didn’t find any > useful API/protocol > Any help really appreciate. ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] Updating/adding video mode
Hi Team, I’m working with a platform having UHD (3840X2160as native resolution) display screen. I have dump the video modes using EFI_GRAPHICS_PROTOCOL. Following are the dump result Mode 0 : hRes = 3840 Vres=2160 Mode 1 : hRes = 640 Vres = 480 Mode 2 : hRes = 800 Vres = 600 Mode 3 : hRes = 1024 Vres = 768 Mode 4 : hRes = 1280 Vres = 1024 Mode 5 : hRes = 1600 Vres = 1200 Mode 6 : hRes = 1920 Vres = 1440 In the supported video mode list, 1920X1080 is not there. Is there any way to add support for this resolution. I have checked UEFI spec but didn’t find any useful API/protocol Any help really appreciate. ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] Performance enabling of Event handler
Hi Team, Thank it’s got worked on dp -t 0. > On 07-Sep-2018, at 9:27 PM, prabin ca wrote: > > Hi > > Yes it is included in same module (both event handler and function handler), > and I’m not perf_start and perf_end only two times (one is by event handler > and one is by normal function handler). > > And I’m trying to print result using DP.efi, it shows entry for normal > function. > >> On 07-Sep-2018, at 8:46 AM, Bi, Dandan wrote: >> >> Hi Prabin, >> >> The Performance logging for the normal functions handlers and event handlers >> should be the same. >> Are the normal function calls and the event handler function calls you >> tested in the same module? >> If not, please double check to make sure the performance library instance >> used correctly for each module. >> >> >> Thanks, >> Dandan >> >> -Original Message- >> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of >> prabin ca >> Sent: Friday, September 7, 2018 10:30 AM >> To: Laszlo Ersek >> Cc: Bi, Dandan ; edk2-devel@lists.01.org; >> af...@apple.com >> Subject: Re: [edk2] Performance enabling of Event handler >> >> Hi, >> PerformancePkg is not working with event handlers, but it’s working with >> normal functions handlers. >> >>>> On 06-Sep-2018, at 3:28 PM, Laszlo Ersek wrote: >>>> >>>> On 09/06/18 08:10, prabin ca wrote: >>>> Hi Team, >>>> >>>> I’m used edk2 PerformancePkg for profiling cpu execution time taken by a >>>> event handler. Event is created successfully and event handler is also >>>> called successfully, but I can capture the performance of this event >>>> handler with PerformancePkg (by using perf_start and perf_end check >>>> points). This PerformancePkg is working fine with normal function calls. >>> >>> Do you mean "can not", instead of "can"? (Sorry, I don't understand.) >>> >>>> >>>> Please help me to enable PerformancePkg action on event handler also. >>>> >>> >>> Hmmm, even with the suggested typo correction, I wouldn't know what to >>> suggest. Sorry! >>> >>> Laszlo >> ___ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] Performance enabling of Event handler
Hi Yes it is included in same module (both event handler and function handler), and I’m not perf_start and perf_end only two times (one is by event handler and one is by normal function handler). And I’m trying to print result using DP.efi, it shows entry for normal function. > On 07-Sep-2018, at 8:46 AM, Bi, Dandan wrote: > > Hi Prabin, > > The Performance logging for the normal functions handlers and event handlers > should be the same. > Are the normal function calls and the event handler function calls you tested > in the same module? > If not, please double check to make sure the performance library instance > used correctly for each module. > > > Thanks, > Dandan > > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of prabin > ca > Sent: Friday, September 7, 2018 10:30 AM > To: Laszlo Ersek > Cc: Bi, Dandan ; edk2-devel@lists.01.org; af...@apple.com > Subject: Re: [edk2] Performance enabling of Event handler > > Hi, > PerformancePkg is not working with event handlers, but it’s working with > normal functions handlers. > >>> On 06-Sep-2018, at 3:28 PM, Laszlo Ersek wrote: >>> >>> On 09/06/18 08:10, prabin ca wrote: >>> Hi Team, >>> >>> I’m used edk2 PerformancePkg for profiling cpu execution time taken by a >>> event handler. Event is created successfully and event handler is also >>> called successfully, but I can capture the performance of this event >>> handler with PerformancePkg (by using perf_start and perf_end check >>> points). This PerformancePkg is working fine with normal function calls. >> >> Do you mean "can not", instead of "can"? (Sorry, I don't understand.) >> >>> >>> Please help me to enable PerformancePkg action on event handler also. >>> >> >> Hmmm, even with the suggested typo correction, I wouldn't know what to >> suggest. Sorry! >> >> Laszlo > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] Performance enabling of Event handler
Hi, PerformancePkg is not working with event handlers, but it’s working with normal functions handlers. > On 06-Sep-2018, at 3:28 PM, Laszlo Ersek wrote: > >> On 09/06/18 08:10, prabin ca wrote: >> Hi Team, >> >> I’m used edk2 PerformancePkg for profiling cpu execution time taken by a >> event handler. Event is created successfully and event handler is also >> called successfully, but I can capture the performance of this event handler >> with PerformancePkg (by using perf_start and perf_end check points). This >> PerformancePkg is working fine with normal function calls. > > Do you mean "can not", instead of "can"? (Sorry, I don't understand.) > >> >> Please help me to enable PerformancePkg action on event handler also. >> > > Hmmm, even with the suggested typo correction, I wouldn't know what to > suggest. Sorry! > > Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] Performance enabling of Event handler
Hi Team, I’m used edk2 PerformancePkg for profiling cpu execution time taken by a event handler. Event is created successfully and event handler is also called successfully, but I can capture the performance of this event handler with PerformancePkg (by using perf_start and perf_end check points). This PerformancePkg is working fine with normal function calls. Please help me to enable PerformancePkg action on event handler also. ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] PerformancePkg on multiple platform -
Hi Team It’s got resolved now, thanks for kind support. The link and documents mentioned help to resolve and understand the architecture as well Thanks for such kind support by Laszlo, Andrew and Dandan > On 04-Aug-2018, at 3:41 PM, Bi, Dandan wrote: > > Hi Prabin, > > Here is a simple introduction of current performance infrastructure in latest > Edk2 code base. > Hope it can have some help when you enable it. > https://github.com/dandanbi/edk2/wiki/Performance-Infrastructure > > > Thanks, > Dandan > > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of prabin > ca > Sent: Saturday, August 04, 2018 1:20 PM > To: Andrew Fish > Cc: edk2-devel ; Laszlo Ersek > Subject: Re: [edk2] PerformancePkg on multiple platform - > > Hi Andrew, > > I have already enabled that PCD in my DSC file, because of that its working > in some platform. > > What I'm doing is building my DP.efi and DXE driver from that dsc file and > testing it from UEFI shell. > > thanks for your help as well. > >> On Sat, Aug 4, 2018 at 12:08 AM, Andrew Fish wrote: >> >> Prabin, >> >> There is a PCD setting to configure performance collection. >> >> PCDs are defined in the .DEC file and it looks like the default is >> zero and that means disabled. >> MdePkg/MdePkg.dec >> ... >> ## The mask is used to control PerformanceLib behavior. >> # BIT0 - Enable Performance Measurement. >> # @Prompt Performance Measurement Property. >> # @Expression 0x8002 | (gEfiMdePkgTokenSpaceGuid. >> PcdPerformanceLibraryPropertyMask & 0xFE) == 0 >> gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyM >> ask|0|UINT8|0x0009 >> >> If you search the code you will see some platforms enabling >> performance measurement in their DSC files. >> >> /Volumes/Case/UDK2018(vUDK2018)>git grep gEfiMdePkgTokenSpaceGuid. >> PcdPerformanceLibraryPropertyMask -- *.dsc >> BeagleBoardPkg/BeagleBoardPkg.dsc:272: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|1 >> EmbeddedPkg/EmbeddedPkg.dsc:175: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0 >> QuarkPlatformPkg/Quark.dsc:373: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 >> QuarkPlatformPkg/Quark.dsc:376: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x00 >> QuarkPlatformPkg/QuarkMin.dsc:334: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 >> QuarkPlatformPkg/QuarkMin.dsc:337: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x00 >> Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc:682: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 >> Vlv2TbltDevicePkg/PlatformPkgIA32.dsc:682: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 >> Vlv2TbltDevicePkg/PlatformPkgX64.dsc:682: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 >> >> So I'd check that 1st. If that does not work I recommend adding >> -report-file=build.log to your build command. You can look at the >> given driver/app you care about and see what the PCD settings are and >> which instance of the PerformanceLib got linked. >> >> Thanks, >> >> Andrew Fish >> >> On Aug 3, 2018, at 11:17 AM, Laszlo Ersek wrote: >> >> Hi Prabin, >> >> On 08/03/18 09:29, prabin ca wrote: >> >> Hi Team, >> >> I’m new to uefi and edk. Currently I’m trying to get performance of my >> dxe driver using PerformancePkg of EDK source code. >> >> I’m using perf_start and perf_end T respected check points, it’s hot >> build and tested well in 2/3 platform. It’s giving proper response. >> >> But when I’m Checking with multiple platform, in some of platforms >> it’s not working and got hang in uefi she’ll itself. >> >> Please help me to resolve asap, it will be really helpful. >> >> >> I can only give you some hints, because thus far I have also failed to >> figure out how performance measurements should be enabled for a >> platform from scratch. >> >> Earlier I thought that an interested platform should include modules >> from PerformancePkg. I got some good results that way; however: >> >> - it wouldn't work for AARCH64, and so I filed >> <https://bugzilla.tianocore.org/show_bug.cgi?id=679> >> >> - ultimately PerformancePkg was removed in commit 922c1e94e4bb >> completely. (And for that reason I now closed TianoCore#679 as >
Re: [edk2] PerformancePkg on multiple platform -
Hi Dandan, This is also valuable input from your side, let me check this also. Thanks for kind support > On 04-Aug-2018, at 3:41 PM, Bi, Dandan wrote: > > Hi Prabin, > > Here is a simple introduction of current performance infrastructure in latest > Edk2 code base. > Hope it can have some help when you enable it. > https://github.com/dandanbi/edk2/wiki/Performance-Infrastructure > > > Thanks, > Dandan > > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of prabin > ca > Sent: Saturday, August 04, 2018 1:20 PM > To: Andrew Fish > Cc: edk2-devel ; Laszlo Ersek > Subject: Re: [edk2] PerformancePkg on multiple platform - > > Hi Andrew, > > I have already enabled that PCD in my DSC file, because of that its working > in some platform. > > What I'm doing is building my DP.efi and DXE driver from that dsc file and > testing it from UEFI shell. > > thanks for your help as well. > >> On Sat, Aug 4, 2018 at 12:08 AM, Andrew Fish wrote: >> >> Prabin, >> >> There is a PCD setting to configure performance collection. >> >> PCDs are defined in the .DEC file and it looks like the default is >> zero and that means disabled. >> MdePkg/MdePkg.dec >> ... >> ## The mask is used to control PerformanceLib behavior. >> # BIT0 - Enable Performance Measurement. >> # @Prompt Performance Measurement Property. >> # @Expression 0x8002 | (gEfiMdePkgTokenSpaceGuid. >> PcdPerformanceLibraryPropertyMask & 0xFE) == 0 >> gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyM >> ask|0|UINT8|0x0009 >> >> If you search the code you will see some platforms enabling >> performance measurement in their DSC files. >> >> /Volumes/Case/UDK2018(vUDK2018)>git grep gEfiMdePkgTokenSpaceGuid. >> PcdPerformanceLibraryPropertyMask -- *.dsc >> BeagleBoardPkg/BeagleBoardPkg.dsc:272: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|1 >> EmbeddedPkg/EmbeddedPkg.dsc:175: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0 >> QuarkPlatformPkg/Quark.dsc:373: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 >> QuarkPlatformPkg/Quark.dsc:376: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x00 >> QuarkPlatformPkg/QuarkMin.dsc:334: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 >> QuarkPlatformPkg/QuarkMin.dsc:337: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x00 >> Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc:682: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 >> Vlv2TbltDevicePkg/PlatformPkgIA32.dsc:682: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 >> Vlv2TbltDevicePkg/PlatformPkgX64.dsc:682: >> *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 >> >> So I'd check that 1st. If that does not work I recommend adding >> -report-file=build.log to your build command. You can look at the >> given driver/app you care about and see what the PCD settings are and >> which instance of the PerformanceLib got linked. >> >> Thanks, >> >> Andrew Fish >> >> On Aug 3, 2018, at 11:17 AM, Laszlo Ersek wrote: >> >> Hi Prabin, >> >> On 08/03/18 09:29, prabin ca wrote: >> >> Hi Team, >> >> I’m new to uefi and edk. Currently I’m trying to get performance of my >> dxe driver using PerformancePkg of EDK source code. >> >> I’m using perf_start and perf_end T respected check points, it’s hot >> build and tested well in 2/3 platform. It’s giving proper response. >> >> But when I’m Checking with multiple platform, in some of platforms >> it’s not working and got hang in uefi she’ll itself. >> >> Please help me to resolve asap, it will be really helpful. >> >> >> I can only give you some hints, because thus far I have also failed to >> figure out how performance measurements should be enabled for a >> platform from scratch. >> >> Earlier I thought that an interested platform should include modules >> from PerformancePkg. I got some good results that way; however: >> >> - it wouldn't work for AARCH64, and so I filed >> <https://bugzilla.tianocore.org/show_bug.cgi?id=679> >> >> - ultimately PerformancePkg was removed in commit 922c1e94e4bb >> completely. (And for that reason I now closed TianoCore#679 as >> WONTFIX.) >> >> Commit 922c1e94e4bb doesn't really give pointers for enablin
Re: [edk2] PerformancePkg on multiple platform -
Hi Andrew, I have already enabled that PCD in my DSC file, because of that its working in some platform. What I'm doing is building my DP.efi and DXE driver from that dsc file and testing it from UEFI shell. thanks for your help as well. On Sat, Aug 4, 2018 at 12:08 AM, Andrew Fish wrote: > Prabin, > > There is a PCD setting to configure performance collection. > > PCDs are defined in the .DEC file and it looks like the default is zero > and that means disabled. > MdePkg/MdePkg.dec > ... > ## The mask is used to control PerformanceLib behavior. > # BIT0 - Enable Performance Measurement. > # @Prompt Performance Measurement Property. > # @Expression 0x8002 | (gEfiMdePkgTokenSpaceGuid. > PcdPerformanceLibraryPropertyMask & 0xFE) == 0 > gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyM > ask|0|UINT8|0x0009 > > If you search the code you will see some platforms enabling performance > measurement in their DSC files. > > /Volumes/Case/UDK2018(vUDK2018)>git grep gEfiMdePkgTokenSpaceGuid. > PcdPerformanceLibraryPropertyMask -- *.dsc > BeagleBoardPkg/BeagleBoardPkg.dsc:272: > *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|1 > EmbeddedPkg/EmbeddedPkg.dsc:175: > *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0 > QuarkPlatformPkg/Quark.dsc:373: > *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 > QuarkPlatformPkg/Quark.dsc:376: > *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x00 > QuarkPlatformPkg/QuarkMin.dsc:334: > *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 > QuarkPlatformPkg/QuarkMin.dsc:337: > *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x00 > Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc:682: > *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 > Vlv2TbltDevicePkg/PlatformPkgIA32.dsc:682: > *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 > Vlv2TbltDevicePkg/PlatformPkgX64.dsc:682: > *gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask*|0x1 > > So I'd check that 1st. If that does not work I recommend > adding -report-file=build.log to your build command. You can look at the > given driver/app you care about and see what the PCD settings are and which > instance of the PerformanceLib got linked. > > Thanks, > > Andrew Fish > > On Aug 3, 2018, at 11:17 AM, Laszlo Ersek wrote: > > Hi Prabin, > > On 08/03/18 09:29, prabin ca wrote: > > Hi Team, > > I’m new to uefi and edk. Currently I’m trying to get performance of my dxe > driver using PerformancePkg of EDK source code. > > I’m using perf_start and perf_end T respected check points, it’s hot build > and tested well in 2/3 platform. It’s giving proper response. > > But when I’m Checking with multiple platform, in some of platforms it’s > not working and got hang in uefi she’ll itself. > > Please help me to resolve asap, it will be really helpful. > > > I can only give you some hints, because thus far I have also failed to > figure out how performance measurements should be enabled for a platform > from scratch. > > Earlier I thought that an interested platform should include modules > from PerformancePkg. I got some good results that way; however: > > - it wouldn't work for AARCH64, and so I filed > <https://bugzilla.tianocore.org/show_bug.cgi?id=679> > > - ultimately PerformancePkg was removed in commit 922c1e94e4bb > completely. (And for that reason I now closed TianoCore#679 as > WONTFIX.) > > Commit 922c1e94e4bb doesn't really give pointers for enabling > performance measurements in a platform -- it refers the user to the DP > shell command instead of the standalone DP application, but that's only > for displaying the stats, not for recording them. > > One document where I found information is the Intel whitepaper > > A Tour Beyond BIOS > Implementing Profiling in with EDK II > > (just google it). "Part III – Performance Profile" is relevant. > > The first section of that talks about enabling ACPI FPDT (ACPI Firmware > Performance Data Table) support in edk2, for exposing firmware > performance data to the OS. Again, that's not about *recording* the stats. > > The second section of the same chapter seems to describe how stats can > be recorded however. AIUI, the DXE Core can provide the PERFORMANCE[_EX] > protocols, if the DxeCorePerformanceLib instance is linked into it by > the platform DSC file. In turn DXE modules can send measurements to the > protocol via the PerformanceLib APIs / DxePerformanceLib instance. > > In fact, the relevant library INF files have good documentation, we just > have to know what to look at. > &
Re: [edk2] PerformancePkg on multiple platform
Hi Laszlo, Thank you for your valid input, Its really help full for me. I will look in the " A Tour Beyond BIOSImplementing Profiling in with EDK II" with your points. have a nice day. On Fri, Aug 3, 2018 at 11:47 PM, Laszlo Ersek wrote: > Hi Prabin, > > On 08/03/18 09:29, prabin ca wrote: > > Hi Team, > > > > I’m new to uefi and edk. Currently I’m trying to get performance of my > dxe driver using PerformancePkg of EDK source code. > > > > I’m using perf_start and perf_end T respected check points, it’s hot > build and tested well in 2/3 platform. It’s giving proper response. > > > > But when I’m Checking with multiple platform, in some of platforms it’s > not working and got hang in uefi she’ll itself. > > > > Please help me to resolve asap, it will be really helpful. > > I can only give you some hints, because thus far I have also failed to > figure out how performance measurements should be enabled for a platform > from scratch. > > Earlier I thought that an interested platform should include modules > from PerformancePkg. I got some good results that way; however: > > - it wouldn't work for AARCH64, and so I filed > <https://bugzilla.tianocore.org/show_bug.cgi?id=679> > > - ultimately PerformancePkg was removed in commit 922c1e94e4bb > completely. (And for that reason I now closed TianoCore#679 as > WONTFIX.) > > Commit 922c1e94e4bb doesn't really give pointers for enabling > performance measurements in a platform -- it refers the user to the DP > shell command instead of the standalone DP application, but that's only > for displaying the stats, not for recording them. > > One document where I found information is the Intel whitepaper > > A Tour Beyond BIOS > Implementing Profiling in with EDK II > > (just google it). "Part III – Performance Profile" is relevant. > > The first section of that talks about enabling ACPI FPDT (ACPI Firmware > Performance Data Table) support in edk2, for exposing firmware > performance data to the OS. Again, that's not about *recording* the stats. > > The second section of the same chapter seems to describe how stats can > be recorded however. AIUI, the DXE Core can provide the PERFORMANCE[_EX] > protocols, if the DxeCorePerformanceLib instance is linked into it by > the platform DSC file. In turn DXE modules can send measurements to the > protocol via the PerformanceLib APIs / DxePerformanceLib instance. > > In fact, the relevant library INF files have good documentation, we just > have to know what to look at. > > Recording stats in the PEI phase, via HOBs: > - MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf > > Recording stats in the DXE phase (protocol provider and consumer): > - MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf > - MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf > > Recording stats in SMM (protocol provider and consumer): > - MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.inf > - MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLib.inf > > Fetching the collected stats (for display or otherwise): > - MdeModulePkg/Library/DxeSmmPerformanceLib/DxeSmmPerformanceLib.inf > > "Do nothing" library instance for all module types: > - MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf > > > Now obviously this doesn't explain why it works for you on some > platforms and why it doesn't on others. You haven't shared much > information about the platforms in question. I can make one guess: if > the performance protocol provided by the platform's DXE Core > (DxeCorePerformanceLib) is incompatible with the DxePerformanceLib > instance that is linked into your DXE driver, then communication between > them will likely fail. > > To my understanding, the performance protocol is not standard (PI or > UEFI), so it's likely best if you build your DXE driver together with > the DXE Core, on all platforms that you want to check. It's probably > unsafe to link a DXE driver against DxePerformanceLib (rather than > BasePerformanceLibNull) and run it on a random platform. > > Hopefully this helps a little. > Laszlo > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] Performancepkg in edk2
It will be helpful if any one can give me a idea > On 03-Aug-2018, at 12:00 PM, prabin ca wrote: > > Hi Team, > > I’m new to uefi and edk. I’m facing or figure out one issue in PerformancePkg > in edk source code. > > My aim is to get performance of my dxe driver by using PerformancePkg API’s > (perf_start and perf_end). > > It’s got build and successfully tested and verified in some platforms well > without any failure. It giving proper output. > > But the issue I’m facing is, it’s not working in some other platform. Please > help me to resolve this ASAP. It will be really helpful. > > Is it a known issue with PerformancePkg > > ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] PerformancePkg on multiple platform
Hi Team, I’m new to uefi and edk. Currently I’m trying to get performance of my dxe driver using PerformancePkg of EDK source code. I’m using perf_start and perf_end T respected check points, it’s hot build and tested well in 2/3 platform. It’s giving proper response. But when I’m Checking with multiple platform, in some of platforms it’s not working and got hang in uefi she’ll itself. Please help me to resolve asap, it will be really helpful. ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel