Re: [edk2] BdsDxe: about always regenerating a bunch of boot options

Subject: Re: [edk2] BdsDxe: about always regenerating a bunch of boot options

From: Bill Paul <wpaul@windriver.com>

To: edk2-devel@lists.sourceforge.net

Date: 2014-02-22 04:34:34

Of all the gin joints in all the towns in all the world, Laszlo Ersek had to 
walk into mine at 17:05:52 on Friday 21 February 2014 and say:

> On 02/20/14 06:53, Sergey Isakov wrote:
> > Hi Laszlo,
> > I think there may be a bug: Variable.c
> > Look
> > -------------------
> > NewLoadContext->ForceReconnect = (BOOLEAN) (NewLoadContext->Attributes &
> > LOAD_OPTION_FORCE_RECONNECT);
> > -------------------
> > But LOAD_OPTION_FORCE_RECONNECT == 2 and BOOLEAN == UINT8
> > so ForceReconnect will be 2. Then
> > --------------
> > *((UINT32 *) Ptr) = LOAD_OPTION_ACTIVE | (ForceReconnect << 1);
> > --------------
> > I am not sure it is a bug but I think it should be corrected as
> > -------------
> > NewLoadContext->ForceReconnect = (BOOLEAN) ((NewLoadContext->Attributes
> > & LOAD_OPTION_FORCE_RECONNECT)?1:0);
> > -------------
> > Wishes,
> > Sergey
> 
> Thanks for the tip!
> 
> I'll look into this as soon as I can, because the bug is for real,
> wherever it is -- while working on my OVMF vidmode series, I rebooted
> one of my VMs so many times that it had *completely* run out flash
> storage, hit an ASSERT() *before* reaching the setup screens, and that
> was it.
> 
> Of course I could find out about this only because my nvvarstore is
> split off into a separate file, and when I test a new OVMF build, the
> varstore remains intact (as it should do)... but with ever less room :)
> There were warning signs: after some point, the nvvar reclaim code ran
> at each boot, but in vain: the free workspace continued to decrease.
> 
> The ASSERT() wasn't very hard to deal with, using a virtual machine
> (restore pristine nvvarstore file from fresh build), but I suspect the
> bug (wherever it is) might have bricked a real HW box :(

You think? :)

On that note, don't you think maybe, just maybe, there should a way to force 
entry to the setup screen in general so that this becomes less of an issue?

It's especially frustrating when the machine taunts you by telling you it's 
"Entering Setup..." and then never actually gets there, even though that's 
exactly what you need to it to do so you can cure problem that's gotten it 
stuck in the first place. (OVMF doesn't do this exactly, but I have had it 
happen on real hardware. Luckily I had JTAG to unjam it.)

I expect the reason it behaves the way it does now is that somebody said "But, 
we need to gather up all this information before we enter the setup screen so 
that we can display what we found." If so, I would have to disagree: given 
what could happen if you don't let me into the setup screen, when I ask you to 
do it, you should drop everything and let me do just that. Maybe you can defer 
scanning the boot options and just jump straight to the menu and then ask me 
if I want to scan them, giving me the chance to say "no."

There has to be a better way.

-Bill

> So we need to exterminate this insect.
> 
> Laszlo
> 
> 
> ---------------------------------------------------------------------------
> --- Managing the Performance of Cloud-Based Applications
> Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
> Read the Whitepaper.
> http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktr
> k _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel

-- 
=============================================================================
-Bill Paul            (510) 749-2329 | Senior Member of Technical Staff,
                 wpaul@windriver.com | Master of Unix-Fu - Wind River Systems
=============================================================================
   "I put a dollar in a change machine. Nothing changed." - George Carlin
=============================================================================

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel