linux-efi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ESRT failures ... was Re: [PATCH 04/11] efi: Add efi_memmap_init_late() for permanent EFI memmap
@ 2016-07-13 17:49 Prarit Bhargava
       [not found] ` <57867F32.8040001-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Prarit Bhargava @ 2016-07-13 17:49 UTC (permalink / raw)
  To: Matt Fleming, Lenny Szubowicz, Peter Jones,
	linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org

[I am not subscribed to linux-efi.  Sorry for the bad threading.  Please include
me on the cc on any replies.]

Matt, I grabbed your patches which are similar to a change that I wanted to make
to the kernel.  There is one issue though that I want to bring up.

With or without your changeset, I see the following issue on Dell system with a
valid ESRT table.


[    0.000000] efi:  SMBIOS=0x8ce95000  ACPI=0x8d2fe000  ACPI 2.0=0x8d2fe014
ESRT=0x8d0f5000  MPS=0x8d0dd000
[    0.000000] efi: requested map not found.
[    0.000000] esrt: ESRT header is not in the memory map.
[    0.000000] SMBIOS 2.8 present.

This occurs AFAICT (with or without your changes) because of this check in
efi_mem_desc_lookup():

                if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
                    md->type != EFI_BOOT_SERVICES_DATA &&
                    md->type != EFI_RUNTIME_SERVICES_DATA) {
                        continue;
                }

which then results in skipping the appropriate region.  IIUC (and that's part of
my question ;)) the above check means that the region has already been
permanently mapped.  That is,

rc = efi_mem_desc_lookup(efi.esrt, &md);
        if (rc < 0) {
                pr_err("ESRT header is not in the memory map.\n");
                return;
        }
...
        va = early_memremap(efi.esrt, size);
        if (!va) {

and rc is -ENOENT because a matching region couldn't be found.  As can be seen
the existing ESRT code will attempt to remap the region if not mapped.

I think that perhaps the function should be changed to do

        for_each_efi_memory_desc(md) {
                u64 size;
                u64 end;

                size = md->num_pages << EFI_PAGE_SHIFT;
                end = md->phys_addr + size;
                if (phys_addr >= md->phys_addr && phys_addr < end) {
                        memcpy(out_md, md, sizeof(*out_md));

                        if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
                            md->type != EFI_BOOT_SERVICES_DATA &&
                            md->type != EFI_RUNTIME_SERVICES_DATA) {
                                return UNMAPPED;
                        }

                        return MAPPED;
                }
        }

so that individual callers (like the ESRT code) can then make a decision on
whether or not the area needs to be mapped.

Thoughts/concerns?

P.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: ESRT failures ... was Re: [PATCH 04/11] efi: Add efi_memmap_init_late() for permanent EFI memmap
       [not found] ` <57867F32.8040001-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2016-07-21 12:11   ` Matt Fleming
       [not found]     ` <20160721121136.GF26504-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Matt Fleming @ 2016-07-21 12:11 UTC (permalink / raw)
  To: Prarit Bhargava
  Cc: Lenny Szubowicz, Peter Jones, linux-efi-u79uwXL29TY76Z2rM5mHXA

On Wed, 13 Jul, at 01:49:38PM, Prarit Bhargava wrote:
> [I am not subscribed to linux-efi.  Sorry for the bad threading.  Please include
> me on the cc on any replies.]
> 
> Matt, I grabbed your patches which are similar to a change that I wanted to make
> to the kernel.  There is one issue though that I want to bring up.
> 
> With or without your changeset, I see the following issue on Dell system with a
> valid ESRT table.
> 
> 
> [    0.000000] efi:  SMBIOS=0x8ce95000  ACPI=0x8d2fe000  ACPI 2.0=0x8d2fe014
> ESRT=0x8d0f5000  MPS=0x8d0dd000
> [    0.000000] efi: requested map not found.
> [    0.000000] esrt: ESRT header is not in the memory map.
> [    0.000000] SMBIOS 2.8 present.
> 
> This occurs AFAICT (with or without your changes) because of this check in
> efi_mem_desc_lookup():
> 
>                 if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
>                     md->type != EFI_BOOT_SERVICES_DATA &&
>                     md->type != EFI_RUNTIME_SERVICES_DATA) {
>                         continue;
>                 }
> 
> which then results in skipping the appropriate region.  IIUC (and that's part of
> my question ;)) the above check means that the region has already been
> permanently mapped.  That is,
 
No, the above check is intended to skip any regions that are not
required at runtime and so won't be found in the EFI memmap.

The question is, what does the EFI memmap descriptor look like that
describes your ESRT table?

> rc = efi_mem_desc_lookup(efi.esrt, &md);
>         if (rc < 0) {
>                 pr_err("ESRT header is not in the memory map.\n");
>                 return;
>         }
> ...
>         va = early_memremap(efi.esrt, size);
>         if (!va) {
> 
> and rc is -ENOENT because a matching region couldn't be found.  As can be seen
> the existing ESRT code will attempt to remap the region if not mapped.
> 
> I think that perhaps the function should be changed to do
> 
>         for_each_efi_memory_desc(md) {
>                 u64 size;
>                 u64 end;
> 
>                 size = md->num_pages << EFI_PAGE_SHIFT;
>                 end = md->phys_addr + size;
>                 if (phys_addr >= md->phys_addr && phys_addr < end) {
>                         memcpy(out_md, md, sizeof(*out_md));
> 
>                         if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
>                             md->type != EFI_BOOT_SERVICES_DATA &&
>                             md->type != EFI_RUNTIME_SERVICES_DATA) {
>                                 return UNMAPPED;
>                         }
> 
>                         return MAPPED;
>                 }
>         }
> 
> so that individual callers (like the ESRT code) can then make a decision on
> whether or not the area needs to be mapped.
> 
> Thoughts/concerns?

efi_mem_desc_lookup() should just return the correct EFI memory
descriptor now that we have efi_mem_reserve() coming in v4.9.

What does the EFI memmap (as printed with efi=debug) look like on your
machine?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: ESRT failures ... was Re: [PATCH 04/11] efi: Add efi_memmap_init_late() for permanent EFI memmap
       [not found]     ` <20160721121136.GF26504-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
@ 2016-07-21 14:44       ` Prarit Bhargava
       [not found]         ` <5790DFD0.4020806-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Prarit Bhargava @ 2016-07-21 14:44 UTC (permalink / raw)
  To: Matt Fleming
  Cc: Lenny Szubowicz, Peter Jones, linux-efi-u79uwXL29TY76Z2rM5mHXA



On 07/21/2016 08:11 AM, Matt Fleming wrote:
> 
> efi_mem_desc_lookup() should just return the correct EFI memory
> descriptor now that we have efi_mem_reserve() coming in v4.9.
> 
> What does the EFI memmap (as printed with efi=debug) look like on your
> machine?
> 

[    0.000000] efi: EFI v2.40 by Dell Inc.
[    0.000000] efi:  ESRT=0x8eb1c000  ACPI=0x8efe7000  ACPI 2.0=0x8efe7014
SMBIOS=0x8ef69000

and

[    0.000000] efi: mem249: [Reserved           |   |  |  |  |  |  |  |
|WB|WT|WC|UC] range=[0x000000008d6df000-0x000000008ef69fff] (24MB)

P.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: ESRT failures ... was Re: [PATCH 04/11] efi: Add efi_memmap_init_late() for permanent EFI memmap
       [not found]         ` <5790DFD0.4020806-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2016-07-22 13:11           ` Matt Fleming
       [not found]             ` <20160722131101.GJ26504-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Matt Fleming @ 2016-07-22 13:11 UTC (permalink / raw)
  To: Prarit Bhargava
  Cc: Lenny Szubowicz, Peter Jones, linux-efi-u79uwXL29TY76Z2rM5mHXA,
	Ard Biesheuvel

On Thu, 21 Jul, at 10:44:32AM, Prarit Bhargava wrote:
> 
> 
> On 07/21/2016 08:11 AM, Matt Fleming wrote:
> > 
> > efi_mem_desc_lookup() should just return the correct EFI memory
> > descriptor now that we have efi_mem_reserve() coming in v4.9.
> > 
> > What does the EFI memmap (as printed with efi=debug) look like on your
> > machine?
> > 
> 
> [    0.000000] efi: EFI v2.40 by Dell Inc.
> [    0.000000] efi:  ESRT=0x8eb1c000  ACPI=0x8efe7000  ACPI 2.0=0x8efe7014
> SMBIOS=0x8ef69000
> 
> and
> 
> [    0.000000] efi: mem249: [Reserved           |   |  |  |  |  |  |  |
> |WB|WT|WC|UC] range=[0x000000008d6df000-0x000000008ef69fff] (24MB)

Yeah, that's a Dell firmware bug. This should be EFI boot services
data. Quoting the spec Section 22.3 EFI System Resource Table,

  "See Section 4.6 for description of how to publish ESRT using
   EFI_CONFIGURATION_TABLE. The ESRT shall be stored in memory of type
   EfiBootServicesData."

We do not use regions mark EFI_RESERVED_TYPE because they're basically
supposed to be unusable by the OS, AFAIK. I guess we'll have to update
efi_mem_desc_lookup() to return reserved regions and make sure they're
always contained within the memmap.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: ESRT failures ... was Re: [PATCH 04/11] efi: Add efi_memmap_init_late() for permanent EFI memmap
       [not found]             ` <20160722131101.GJ26504-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
@ 2016-07-22 13:31               ` Prarit Bhargava
       [not found]                 ` <57922028.7070103-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Prarit Bhargava @ 2016-07-22 13:31 UTC (permalink / raw)
  To: Matt Fleming
  Cc: Lenny Szubowicz, Peter Jones, linux-efi-u79uwXL29TY76Z2rM5mHXA,
	Ard Biesheuvel



On 07/22/2016 09:11 AM, Matt Fleming wrote:
> On Thu, 21 Jul, at 10:44:32AM, Prarit Bhargava wrote:
>>
>>
>> On 07/21/2016 08:11 AM, Matt Fleming wrote:
>>>
>>> efi_mem_desc_lookup() should just return the correct EFI memory
>>> descriptor now that we have efi_mem_reserve() coming in v4.9.
>>>
>>> What does the EFI memmap (as printed with efi=debug) look like on your
>>> machine?
>>>
>>
>> [    0.000000] efi: EFI v2.40 by Dell Inc.
>> [    0.000000] efi:  ESRT=0x8eb1c000  ACPI=0x8efe7000  ACPI 2.0=0x8efe7014
>> SMBIOS=0x8ef69000
>>
>> and
>>
>> [    0.000000] efi: mem249: [Reserved           |   |  |  |  |  |  |  |
>> |WB|WT|WC|UC] range=[0x000000008d6df000-0x000000008ef69fff] (24MB)
> 
> Yeah, that's a Dell firmware bug. This should be EFI boot services
> data. Quoting the spec Section 22.3 EFI System Resource Table,
> 
>   "See Section 4.6 for description of how to publish ESRT using
>    EFI_CONFIGURATION_TABLE. The ESRT shall be stored in memory of type
>    EfiBootServicesData."
> 
> We do not use regions mark EFI_RESERVED_TYPE because they're basically
> supposed to be unusable by the OS, AFAIK. I guess we'll have to update
> efi_mem_desc_lookup() to return reserved regions and make sure they're
> always contained within the memmap.
> 

Hmm ... maybe just a Dell specific quirk?

P.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: ESRT failures ... was Re: [PATCH 04/11] efi: Add efi_memmap_init_late() for permanent EFI memmap
       [not found]                 ` <57922028.7070103-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2016-07-25 14:44                   ` Matt Fleming
       [not found]                     ` <20160725144431.GA31759-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Matt Fleming @ 2016-07-25 14:44 UTC (permalink / raw)
  To: Prarit Bhargava
  Cc: Lenny Szubowicz, Peter Jones, linux-efi-u79uwXL29TY76Z2rM5mHXA,
	Ard Biesheuvel

On Fri, 22 Jul, at 09:31:20AM, Prarit Bhargava wrote:
> 
> Hmm ... maybe just a Dell specific quirk?

Quirks are best avoided at all costs, platform-specific quirks doubly
so because there are just so many in the EFI arena that maintaining
them all would be a nightmare.

Where possible we adopt a "most buggy implementation" approach to
compatibility, as a least common denominator.

Could you try this patch out? It's not a final version, but I'd just
like to see if anything else explodes when we start returning reserved
regions.

---

diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
index 05509f3aaee8..9857796c4cd4 100644
--- a/drivers/firmware/efi/efi.c
+++ b/drivers/firmware/efi/efi.c
@@ -299,7 +299,8 @@ int __init efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md)
 
 		if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
 		    md->type != EFI_BOOT_SERVICES_DATA &&
-		    md->type != EFI_RUNTIME_SERVICES_DATA) {
+		    md->type != EFI_RUNTIME_SERVICES_DATA &&
+		    md->type != EFI_RESERVED_TYPE) {
 			early_memunmap(md, sizeof (*md));
 			continue;
 		}

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: ESRT failures ... was Re: [PATCH 04/11] efi: Add efi_memmap_init_late() for permanent EFI memmap
       [not found]                     ` <20160725144431.GA31759-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
@ 2016-07-25 15:11                       ` Prarit Bhargava
       [not found]                         ` <57962C23.5090705-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Prarit Bhargava @ 2016-07-25 15:11 UTC (permalink / raw)
  To: Matt Fleming
  Cc: Lenny Szubowicz, Peter Jones, linux-efi-u79uwXL29TY76Z2rM5mHXA,
	Ard Biesheuvel



On 07/25/2016 10:44 AM, Matt Fleming wrote:
> On Fri, 22 Jul, at 09:31:20AM, Prarit Bhargava wrote:
>>
>> Hmm ... maybe just a Dell specific quirk?
> 
> Quirks are best avoided at all costs, platform-specific quirks doubly
> so because there are just so many in the EFI arena that maintaining
> them all would be a nightmare.
> 
> Where possible we adopt a "most buggy implementation" approach to
> compatibility, as a least common denominator.
> 
> Could you try this patch out? It's not a final version, but I'd just
> like to see if anything else explodes when we start returning reserved
> regions.
> 
> ---
> 
> diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
> index 05509f3aaee8..9857796c4cd4 100644
> --- a/drivers/firmware/efi/efi.c
> +++ b/drivers/firmware/efi/efi.c
> @@ -299,7 +299,8 @@ int __init efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md)
>  
>  		if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
>  		    md->type != EFI_BOOT_SERVICES_DATA &&
> -		    md->type != EFI_RUNTIME_SERVICES_DATA) {
> +		    md->type != EFI_RUNTIME_SERVICES_DATA &&
> +		    md->type != EFI_RESERVED_TYPE) {

I had tried this fix earlier FWIW and it causes the boot to hang.

P.

>  			early_memunmap(md, sizeof (*md));
>  			continue;
>  		}
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: ESRT failures ... was Re: [PATCH 04/11] efi: Add efi_memmap_init_late() for permanent EFI memmap
       [not found]                         ` <57962C23.5090705-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2016-07-25 15:13                           ` Matt Fleming
       [not found]                             ` <20160725151344.GB31759-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Matt Fleming @ 2016-07-25 15:13 UTC (permalink / raw)
  To: Prarit Bhargava
  Cc: Lenny Szubowicz, Peter Jones, linux-efi-u79uwXL29TY76Z2rM5mHXA,
	Ard Biesheuvel

On Mon, 25 Jul, at 11:11:31AM, Prarit Bhargava wrote:
> 
> 
> On 07/25/2016 10:44 AM, Matt Fleming wrote:
> > On Fri, 22 Jul, at 09:31:20AM, Prarit Bhargava wrote:
> >>
> >> Hmm ... maybe just a Dell specific quirk?
> > 
> > Quirks are best avoided at all costs, platform-specific quirks doubly
> > so because there are just so many in the EFI arena that maintaining
> > them all would be a nightmare.
> > 
> > Where possible we adopt a "most buggy implementation" approach to
> > compatibility, as a least common denominator.
> > 
> > Could you try this patch out? It's not a final version, but I'd just
> > like to see if anything else explodes when we start returning reserved
> > regions.
> > 
> > ---
> > 
> > diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
> > index 05509f3aaee8..9857796c4cd4 100644
> > --- a/drivers/firmware/efi/efi.c
> > +++ b/drivers/firmware/efi/efi.c
> > @@ -299,7 +299,8 @@ int __init efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md)
> >  
> >  		if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
> >  		    md->type != EFI_BOOT_SERVICES_DATA &&
> > -		    md->type != EFI_RUNTIME_SERVICES_DATA) {
> > +		    md->type != EFI_RUNTIME_SERVICES_DATA &&
> > +		    md->type != EFI_RESERVED_TYPE) {
> 
> I had tried this fix earlier FWIW and it causes the boot to hang.

Do you know where it hangs? earlyprintk=efi might shed some light on
that if you don't have a serial console setup.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: ESRT failures ... was Re: [PATCH 04/11] efi: Add efi_memmap_init_late() for permanent EFI memmap
       [not found]                             ` <20160725151344.GB31759-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
@ 2016-07-25 15:38                               ` Prarit Bhargava
       [not found]                                 ` <57963289.2090805-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Prarit Bhargava @ 2016-07-25 15:38 UTC (permalink / raw)
  To: Matt Fleming
  Cc: Lenny Szubowicz, Peter Jones, linux-efi-u79uwXL29TY76Z2rM5mHXA,
	Ard Biesheuvel



On 07/25/2016 11:13 AM, Matt Fleming wrote:
> On Mon, 25 Jul, at 11:11:31AM, Prarit Bhargava wrote:
>>
>>
>> On 07/25/2016 10:44 AM, Matt Fleming wrote:
>>> On Fri, 22 Jul, at 09:31:20AM, Prarit Bhargava wrote:
>>>>
>>>> Hmm ... maybe just a Dell specific quirk?
>>>
>>> Quirks are best avoided at all costs, platform-specific quirks doubly
>>> so because there are just so many in the EFI arena that maintaining
>>> them all would be a nightmare.
>>>
>>> Where possible we adopt a "most buggy implementation" approach to
>>> compatibility, as a least common denominator.
>>>
>>> Could you try this patch out? It's not a final version, but I'd just
>>> like to see if anything else explodes when we start returning reserved
>>> regions.
>>>
>>> ---
>>>
>>> diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
>>> index 05509f3aaee8..9857796c4cd4 100644
>>> --- a/drivers/firmware/efi/efi.c
>>> +++ b/drivers/firmware/efi/efi.c
>>> @@ -299,7 +299,8 @@ int __init efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md)
>>>  
>>>  		if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
>>>  		    md->type != EFI_BOOT_SERVICES_DATA &&
>>> -		    md->type != EFI_RUNTIME_SERVICES_DATA) {
>>> +		    md->type != EFI_RUNTIME_SERVICES_DATA &&
>>> +		    md->type != EFI_RESERVED_TYPE) {
>>
>> I had tried this fix earlier FWIW and it causes the boot to hang.
> 
> Do you know where it hangs? earlyprintk=efi might shed some light on
> that if you don't have a serial console setup.
> 

Nope, nothing else is displayed with "earlyprintk=efi" as a kernel parameter (I
already had that as a kernel parameter).

P.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: ESRT failures ... was Re: [PATCH 04/11] efi: Add efi_memmap_init_late() for permanent EFI memmap
       [not found]                                 ` <57963289.2090805-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2016-07-26 11:33                                   ` Prarit Bhargava
       [not found]                                     ` <57974AA4.7090907-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Prarit Bhargava @ 2016-07-26 11:33 UTC (permalink / raw)
  To: Matt Fleming
  Cc: Lenny Szubowicz, Peter Jones, linux-efi-u79uwXL29TY76Z2rM5mHXA,
	Ard Biesheuvel



On 07/25/2016 11:38 AM, Prarit Bhargava wrote:
> 
> 
> On 07/25/2016 11:13 AM, Matt Fleming wrote:
>> On Mon, 25 Jul, at 11:11:31AM, Prarit Bhargava wrote:
>>>
>>>
>>> On 07/25/2016 10:44 AM, Matt Fleming wrote:
>>>> On Fri, 22 Jul, at 09:31:20AM, Prarit Bhargava wrote:
>>>>>
>>>>> Hmm ... maybe just a Dell specific quirk?
>>>>
>>>> Quirks are best avoided at all costs, platform-specific quirks doubly
>>>> so because there are just so many in the EFI arena that maintaining
>>>> them all would be a nightmare.
>>>>
>>>> Where possible we adopt a "most buggy implementation" approach to
>>>> compatibility, as a least common denominator.
>>>>
>>>> Could you try this patch out? It's not a final version, but I'd just
>>>> like to see if anything else explodes when we start returning reserved
>>>> regions.
>>>>
>>>> ---
>>>>
>>>> diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
>>>> index 05509f3aaee8..9857796c4cd4 100644
>>>> --- a/drivers/firmware/efi/efi.c
>>>> +++ b/drivers/firmware/efi/efi.c
>>>> @@ -299,7 +299,8 @@ int __init efi_mem_desc_lookup(u64 phys_addr, efi_memory_desc_t *out_md)
>>>>  
>>>>  		if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
>>>>  		    md->type != EFI_BOOT_SERVICES_DATA &&
>>>> -		    md->type != EFI_RUNTIME_SERVICES_DATA) {
>>>> +		    md->type != EFI_RUNTIME_SERVICES_DATA &&
>>>> +		    md->type != EFI_RESERVED_TYPE) {
>>>
>>> I had tried this fix earlier FWIW and it causes the boot to hang.
>>
>> Do you know where it hangs? earlyprintk=efi might shed some light on
>> that if you don't have a serial console setup.
>>
> 
> Nope, nothing else is displayed with "earlyprintk=efi" as a kernel parameter (I
> already had that as a kernel parameter).

I was ping'd by a Dell engineer who says that Dell is taking a look at this.
Most likely a BIOS fix will be released.

... I think that means I should drop the issue :)

P.

> 
> P.
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: ESRT failures ... was Re: [PATCH 04/11] efi: Add efi_memmap_init_late() for permanent EFI memmap
       [not found]                                     ` <57974AA4.7090907-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2016-07-26 14:26                                       ` Matt Fleming
  0 siblings, 0 replies; 11+ messages in thread
From: Matt Fleming @ 2016-07-26 14:26 UTC (permalink / raw)
  To: Prarit Bhargava
  Cc: Lenny Szubowicz, Peter Jones, linux-efi-u79uwXL29TY76Z2rM5mHXA,
	Ard Biesheuvel

On Tue, 26 Jul, at 07:33:56AM, Prarit Bhargava wrote:
> 
> I was ping'd by a Dell engineer who says that Dell is taking a look at this.
> Most likely a BIOS fix will be released.
> 
> ... I think that means I should drop the issue :)

It would be valuable if they could still provide details on the issue
though. Not everyone will upgrade their BIOS and it would be nice to
have things work out of the box for those machines currently sat on
shelves in warehouses, i.e. where a fixed BIOS cannot be installed
before the user receives it. 

Feel free to pull whoever pinged you into this thread.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-07-26 14:26 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-13 17:49 ESRT failures ... was Re: [PATCH 04/11] efi: Add efi_memmap_init_late() for permanent EFI memmap Prarit Bhargava
     [not found] ` <57867F32.8040001-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-07-21 12:11   ` Matt Fleming
     [not found]     ` <20160721121136.GF26504-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2016-07-21 14:44       ` Prarit Bhargava
     [not found]         ` <5790DFD0.4020806-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-07-22 13:11           ` Matt Fleming
     [not found]             ` <20160722131101.GJ26504-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2016-07-22 13:31               ` Prarit Bhargava
     [not found]                 ` <57922028.7070103-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-07-25 14:44                   ` Matt Fleming
     [not found]                     ` <20160725144431.GA31759-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2016-07-25 15:11                       ` Prarit Bhargava
     [not found]                         ` <57962C23.5090705-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-07-25 15:13                           ` Matt Fleming
     [not found]                             ` <20160725151344.GB31759-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2016-07-25 15:38                               ` Prarit Bhargava
     [not found]                                 ` <57963289.2090805-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-07-26 11:33                                   ` Prarit Bhargava
     [not found]                                     ` <57974AA4.7090907-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-07-26 14:26                                       ` Matt Fleming

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).