From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Date: Fri, 1 Sep 2017 08:54:35 -0400 Subject: [U-Boot] [PATCH 00/23] efi_loader implement missing functions In-Reply-To: <20170831144535.jxs5fasxtngjbiat@bivouac.eciton.net> References: <8dd266b9-9595-e8b7-5b92-5b37b019de49@gmx.de> <0d42bc48-9e8f-ab5e-8e15-c6fbc7829f00@suse.de> <20170829125755.4unqrcv6zbgc4jvz@bivouac.eciton.net> <4ee6eb75-c73c-f2ee-3fda-29266db511cd@gmx.de> <20170830075931.r3fibjazpwhvsado@bivouac.eciton.net> <20170831144535.jxs5fasxtngjbiat@bivouac.eciton.net> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Thu, Aug 31, 2017 at 10:45 AM, Leif Lindholm wrote: > On Wed, Aug 30, 2017 at 08:59:31AM +0100, Leif Lindholm wrote: >> On Wed, Aug 30, 2017 at 12:03:16AM +0200, Heinrich Schuchardt wrote: >> > I am able to provide a test application that will cover the API >> > functions that I have focused on (events, protocols, (dis)connect >> > controllers). To limit my effort I would like to write it for the HEAD >> > of my patch queue and not break it down into one test patch per >> > implementation patch. I hope that is ok for you. My effort estimate is >> > 40h+ so, please, be patient. >> >> I am not going to claim that getting SCT to run under U-Boot is going >> to come near the top of my priority queue any time soon, and it would >> certainly be useful for some sort of "make sure we don't break what we >> have" tests. > > Well, I spent a few hours looking at what the immediate issues may be > with running the UEFI Shell (built with -D NO_SHELL_PROFILES), same as > edk2/ShellBinPkg/MinUefiShell. Alex suggested I post an update. > > I've implemented stubs for the missing protocols preventing the Shell > from starting properly, and pushed everything to > https://git.linaro.org/people/leif.lindholm/u-boot.git/log/?h=uefi-shell from a quick look, at least we have part of the under-the-hood bits for "efi_loader: add stub EFI_DEVICE_PATH_UTILITIES_PROTOCOL" in: https://github.com/robclark/u-boot/commit/a00519e2fa7b716dda717a24799a0629d42eb362 I can take a stab at fleshing this one out over the weekend.. BR, -R > (As Alex points out, I forgot about the EFI_EXIT/EFI_ENTER macros.) > > With this, execution fails with > Found 2 disks > new_package_list: 99 > > ASSERT_EFI_ERROR (Status = Device Error) > ASSERT [Shell] > /work/git/edk2/Build/Shell/DEBUG_GCC5/AARCH64/ShellPkg/Application/Shell/Shell/DEBUG/AutoGen.c(615): > !EFI_ERROR (Status) > "Synchronous Abort" handler, esr 0x5600dbdb > > The AutoGen.c failure is a library constructor > (ShellLevel2CommandsLibConstructor) returning error because > MdeModulePkg/Library/UefiHiiLib/HiiLib.c : HiiAddPackages() received > an error return from new_package_list (in the non-camel-case u-boot > form). > > If you could look into implementing something useful in that function, > I could look into what causes the next stumbling block after that. > > I did overrun the "maximum number of open protocols" limit, so > randomly bumped that up to 12. It will need to go higher (and > preferably dynamic). As long as we're not planning to support > protocols staying around at runtime, I'd say that shouldn't be too > hard to resolve properly. > > I have pushed an update to the pre-built versions of UEFI Shell in edk2: > https://github.com/tianocore/edk2/tree/master/ShellBinPkg/MinUefiShell > These are built without ASSERTs, so won't actually give the above > messages, but should otherwise be identical to the one I've used here. > > / > Leif