[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [edk2] [grub PATCH] efinet: disable MNP background polling
From: |
Daniel Kiper |
Subject: |
Re: [edk2] [grub PATCH] efinet: disable MNP background polling |
Date: |
Wed, 14 Oct 2015 13:08:47 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, Oct 14, 2015 at 05:19:32AM +0000, Ye, Ting wrote:
> Hi all,
>
> If I understand the issue correctly, I don't quite agree that UEFI
> spec is imprecise about SNP constraints described as following.
> The "constraint" described here is that the grub should use attribute
> "EXCLUSIVE" to open SNP protocol to gain exclusive access. This usage
> is clearly described in page 184, chapter 6.3
> EFI_BOOT_SERVICES.OpenProtocol().
>
> EXCLUSIVE Used by applications to gain exclusive access to a
> protocol interface.
> If any drivers have the protocol interface opened with
> an attribute of BY_DRIVER,
> then an attempt will be made to remove them by calling
> the driver's Stop() function.
>
> The grub code should not assume that the SNP is not occupied by other
> drivers, instead, it should use EXCLUSIVE to open SNP protocol, or to
> be more precise, use OpenProtocolInformation() to check whether SNP is
> already opened by other driver, then decide whether need to use EXCLUSIVE
> to disconnect the other drivers. This is the typical usage for all UEFI
> protocol, not particular constraints to SNP protocol.
Looks good! Great! However, it looks that we still have a problem if somebody
opens SNP in EXCLUSIVE mode. Then GRUB2 SNP open will fail according to UEFI
spec.
Sadly we do not have a control on other stuff and one day our approach may fail
because somebody decided to open SNP in EXCLUSIVE mode in e.g. a driver. Does
it mean that migration to MNP is one sensible solution for our problems? As I
know
this is huge overhaul, so, we should think twice before choosing that way.
Daniel
- Re: [grub PATCH] efinet: disable MNP background polling, (continued)
- Re: [grub PATCH] efinet: disable MNP background polling, Daniel Kiper, 2015/10/15
- Re: [grub PATCH] efinet: disable MNP background polling, Laszlo Ersek, 2015/10/15
- Re: [grub PATCH] efinet: disable MNP background polling, Daniel Kiper, 2015/10/13
- Re: [grub PATCH] efinet: disable MNP background polling, Seth Goldberg, 2015/10/13
- RE: [edk2] [grub PATCH] efinet: disable MNP background polling, Ye, Ting, 2015/10/14
- Re: [edk2] [grub PATCH] efinet: disable MNP background polling, Andrei Borzenkov, 2015/10/14
- RE: [edk2] [grub PATCH] efinet: disable MNP background polling, Ye, Ting, 2015/10/14
- Re: [edk2] [grub PATCH] efinet: disable MNP background polling, Andrei Borzenkov, 2015/10/15
- RE: [edk2] [grub PATCH] efinet: disable MNP background polling, Ye, Ting, 2015/10/14
- Re: [edk2] [grub PATCH] efinet: disable MNP background polling, Andrei Borzenkov, 2015/10/15
- Re: [edk2] [grub PATCH] efinet: disable MNP background polling,
Daniel Kiper <=
- Re: [edk2] [grub PATCH] efinet: disable MNP background polling, Seth Goldberg, 2015/10/14
- RE: [edk2] [grub PATCH] efinet: disable MNP background polling, Ye, Ting, 2015/10/14
- Re: [edk2] [grub PATCH] efinet: disable MNP background polling, Laszlo Ersek, 2015/10/15
- Re: [edk2] [grub PATCH] efinet: disable MNP background polling, Andrew Fish, 2015/10/16
- Re: [edk2] [grub PATCH] efinet: disable MNP background polling, Michael Brown, 2015/10/15
- Re: [edk2] [grub PATCH] efinet: disable MNP background polling, Laszlo Ersek, 2015/10/15
- Re: [edk2] [grub PATCH] efinet: disable MNP background polling, Vladimir 'φ-coder/phcoder' Serbinenko, 2015/10/29
Re: [PATCH] efinet: disable MNP background polling, Andrei Borzenkov, 2015/10/08