Hi Laszlo,

This is what is happening. When I boot the system and run 'devtree' shell 
command, I get the following. Parent @7A and child @7B.

 Ctrl[33] PciRoot(0x2)
   Ctrl[78] PciRoot(0x2)/Pci(0x1,0x0)
   Ctrl[79] PciRoot(0x2)/Pci(0x2,0x0)
   Ctrl[7A] PciRoot(0x2)/Pci(0x2,0x0)/Pci(0x0,0x0)
     Ctrl[7B] PciRoot(0x2)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(121212121212,0x1)

Then I issue 'disconnect 7A' command and see the following.

 Ctrl[33] PciRoot(0x2)
   Ctrl[78] PciRoot(0x2)/Pci(0x1,0x0)
   Ctrl[79] PciRoot(0x2)/Pci(0x2,0x0)
   Ctrl[7A] PciRoot(0x2)/Pci(0x2,0x0)/Pci(0x0,0x0)

Then I issue 'connect 7A' and see the following from 'devtree' command.

 Ctrl[33] PciRoot(0x2)
   Ctrl[78] PciRoot(0x2)/Pci(0x1,0x0)
   Ctrl[79] PciRoot(0x2)/Pci(0x2,0x0)
   Ctrl[7A] PciRoot(0x2)/Pci(0x2,0x0)/Pci(0x0,0x0)
     Ctrl[89] PciRoot(0x2)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(121212121212,0x1)

Now if I issue 'connect 89', then the MNP Support function will get called to 
bind the MNP driver to the SNP protocol produced by '89'.

Looks to me, that connecting the parent does not result in child handles being 
connected recursively. This can happen if the child counting loop that is 
looking for protocol opened by child does not see the protocol opened by child.

Narinder Dhillon

From: nd6...@hotmail.com
To: edk2-devel@lists.sourceforge.net
Date: Thu, 7 Aug 2014 22:08:46 +0000
Subject: Re: [edk2] UEFI Shell Command "ifconfig" Error‏




Hi Laszlo,

I don't understand. When I break into UEFI shell, and run 'dh', I can see 
device driver handles. This means that 'BdsConnectAllDrivers' was called and 
that in turn called 'CoreConnectController'. Now the question is, if a driver 
generates a child handle, 'CoreConnectController' should be called on that 
child handle. From the code, I see that is only possible if protocol has not 
been opened by child handle.
What do you think ?


Date: Thu, 7 Aug 2014 23:29:46 +0200
From: ler...@redhat.com
To: edk2-devel@lists.sourceforge.net
Subject: Re: [edk2]     UEFI Shell Command "ifconfig" Error‏

On 08/07/14 23:05, Chris Cuthbert wrote:
> This is ARM from edk2. All open source, nothing proprietary.
 
Ah. Yes. I recall that. Actually I have a downstream hack that is
related. I'll attach it just as illustration (the other tree patches
just increase the convenience). The point is (IIRC!) that ARM BDS does
not call BdsConnectAllDrivers() before reaching the boot menu. I guess
that's probably the issue.
 
In my case I wanted to auto-generate a boot option (for the boot menu)
for whatever disk partition that looked like an EFI System Partition.
The disk in question that I had was a virtio-blk disk, and the patch
didn't work initially. The reason was that at that point the disk had
not been connected yet. So, IMHO you can solve this by inserting a call
to BdsConnectAllDrivers() in a strategic point. You should probably find
that point yourself; for me it was DefineDefaultBootEntries().
 
(Note: I haven't tested this patch in a while, but the above was
certainly the case when I last run it.)
 
Laszlo
 

------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel                         
                  

------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel                         
                  
------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to