Glad to know BIOS is good. :-)

Thank you
Yao Jiewen

> -----Original Message-----
> From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org]
> Sent: Friday, April 1, 2016 12:08 AM
> To: Yao, Jiewen <jiewen....@intel.com>
> Cc: Gao, Liming <liming....@intel.com>; edk2-devel@lists.01.org
> <edk2-de...@ml01.01.org>
> Subject: Re: [edk2] [patch V3] MdeModulePkg: Fix Memory Attributes table
> type issue
> 
> On 31 March 2016 at 16:09, Yao, Jiewen <jiewen....@intel.com> wrote:
> > Thanks for your quick response.
> >
> > Then I will be waiting for your investigation result.
> >
> > If you see the value to have this dump tool check in, maybe we can put to
> MdeModulePkg/Application.
> > Next time, we do not need share it via email.
> >
> 
> 
> I have to apologise for the noise. This issue is an OS problem, not a
> firmware problem: if I dump the contents of the table very early
> during boot, it looks fine, but later when I process it, the first
> entry is corrupted.
> 
> Thanks for the help!
> Ard.
> 
> 
> >> -----Original Message-----
> >> From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org]
> >> Sent: Thursday, March 31, 2016 9:34 PM
> >> To: Yao, Jiewen <jiewen....@intel.com>
> >> Cc: Gao, Liming <liming....@intel.com>; edk2-devel@lists.01.org
> >> <edk2-de...@ml01.01.org>
> >> Subject: Re: [edk2] [patch V3] MdeModulePkg: Fix Memory Attributes
> table
> >> type issue
> >>
> >> On 31 March 2016 at 15:20, Yao, Jiewen <jiewen....@intel.com> wrote:
> >> > Hi Ard
> >> > Thanks for your log. Yes, it seems new issue, I have never encountered
> >> before.
> >> >
> >> > Here is what I found:
> >> >
> >> > 1) MemoryAttributeTable is always installed in ReadyToBoot event.
> (Sorry, I
> >> gave wrong info on EndOfDxe, that is for old properties table)
> >> >
> >>
> >> OK
> >>
> >> > 2) In this log, I have seen MemoryAttributeTable is installed 6 times. It
> >> means this system boot 6 boot options. First 5 fail, and last one success. 
> >> I
> am
> >> not clear what device you want to boot, but it seems "Booting EFI Misc
> >> Device" category. It is also weird that RT_Data entry is changed every
> time.
> >> Does this boot device allocate/free RT_Data?
> >> >
> >>
> >> Good question, I can investigate
> >>
> >> > 3) In this log, it shows MemoryAttributeTable is always correct. See line
> >> 1427. I do not know why it is corrupt in efimemmap.log.
> >> > This memory attribute table is allocated in "BootServicesData" type
> >> memory. Are you sure that system does not corrupt BootServicesData
> when
> >> efimemmap.log is created?
> >> >
> >> > 4) So I suggest we check *when* this table is corrupted. I have
> >> MemoryAttributesDump UEFI APPLICATION (See attachment, password:
> >> 12345678). Maybe can you help run it in UEFI shell to see if
> >> MemoryAttributes table is correct or not?
> >> > We can use this way to narrow down the corruption - *when* it is
> created,
> >> or *after* it is created.
> >> >
> >>
> >> Shell> MemoryAttributesDump.efi
> >> MemoryAttributesTable:
> >>   Version         - 0x00000001
> >>   NumberOfEntries - 0x00000019
> >>   DescriptorSize  - 0x00000030
> >>
> >> Type       Start            End              # Pages
> >> Attributes
> >> RT_Data    00000000F5B50000-0000000000000000
> 0000000000000030
> >> 8000000000004000
> >> RT_Code    00000000F5B80000-0000000000000000
> 0000000000000010
> >> 8000000000004000
> >> RT_Code    00000000F5B90000-0000000000000000
> 0000000000000010
> >> 8000000000020000
> >> RT_Code    00000000F5BA0000-0000000000000000
> 0000000000000030
> >> 8000000000004000
> >> RT_Code    00000000F5BD0000-0000000000000000
> 0000000000000010
> >> 8000000000020000
> >> RT_Code    00000000F5BE0000-0000000000000000
> 0000000000000020
> >> 8000000000004000
> >> RT_Code    00000000F5C80000-0000000000000000
> 0000000000000010
> >> 8000000000004000
> >> RT_Code    00000000F5C90000-0000000000000000
> 0000000000000010
> >> 8000000000020000
> >> RT_Code    00000000F5CA0000-0000000000000000
> 0000000000000020
> >> 8000000000004000
> >> RT_Data    00000000F5CC0000-0000000000000000
> 0000000000000090
> >> 8000000000004000
> >> RT_Code    00000000F5D50000-0000000000000000
> 0000000000000010
> >> 8000000000004000
> >> RT_Code    00000000F5D60000-0000000000000000
> 0000000000000010
> >> 8000000000020000
> >> RT_Code    00000000F5D70000-0000000000000000
> 0000000000000030
> >> 8000000000004000
> >> RT_Data    00000000F5DA0000-0000000000000000
> 00000000000000F0
> >> 8000000000004000
> >> RT_Code    00000000F5E90000-0000000000000000
> 0000000000000010
> >> 8000000000004000
> >> RT_Code    00000000F5EA0000-0000000000000000
> 0000000000000010
> >> 8000000000020000
> >> RT_Code    00000000F5EB0000-0000000000000000
> 0000000000000030
> >> 8000000000004000
> >> RT_Data    00000000F5EE0000-0000000000000000
> 0000000000000050
> >> 8000000000004000
> >> RT_Code    00000000F5F30000-0000000000000000
> 0000000000000010
> >> 8000000000004000
> >> RT_Code    00000000F5F40000-0000000000000000
> 0000000000000010
> >> 8000000000020000
> >> RT_Code    00000000F5F50000-0000000000000000
> 0000000000000030
> >> 8000000000004000
> >> RT_Code    00000000FAF50000-0000000000000000
> 0000000000000010
> >> 8000000000004000
> >> RT_Code    00000000FAF60000-0000000000000000
> 0000000000000010
> >> 8000000000020000
> >> RT_Code    00000000FAF70000-0000000000000000
> 0000000000000020
> >> 8000000000004000
> >> RT_Data    00000000FAFA0000-0000000000000000 0000000000000050
> >> 8000000000004000
> >>
> >> So it looks like the table gets corrupted by the OS loader. I will
> >> investigate a bit more
> >>
> >> Thanks,
> >> Ard.
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to