[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: grub causing NVDIMMs to be treated as normal memory
From: |
Dan Williams |
Subject: |
Re: grub causing NVDIMMs to be treated as normal memory |
Date: |
Wed, 25 Nov 2015 08:51:19 -0800 |
On Wed, Nov 25, 2015 at 6:08 AM, Andrei Borzenkov <address@hidden> wrote:
> On Wed, Nov 25, 2015 at 2:52 AM, Elliott, Robert (Persistent Memory)
> <address@hidden> wrote:
>> We've noticed that some combinations of grub and old linux kernels
>>
>> end up interpreting the UEFI memory map EfiPersistentMemory type 14
>>
>> (formerly a reserved value) as regular memory in the linux e820
>>
>> table, causing silent data corruption on the NVDIMMs. That occurs
>>
>> even though grub prints this message suggesting everything is safe:
>>
>> Unknown memory type 14, considering reserved
>>
>>
>>
>> In broken versions of grub, the code parsing the UEFI memory map
>>
>> has a "default" case that falls through to the
>>
>> GRUB_EFI_BOOT_SERVICES_DATA case,
>
> This is fallout of 9be4c45dbe3c877d1f4856e99ee15133c6cd2261; thank you
> for report!
>
>> which marks the memory range
>>
>> as GRUB_MEMORY_AVAILABLE and ends up in e820 as regular memory.
>>
>
> According to EFI spec, EfiPersistentMemory is "A memory region that
> operates as EfiConventionalMemory". Why it should be treated
> differently?
Because it needs to be reserved from the OS and attached via a driver.
See the ACPI 6 definition for "AddressRangePersistentMemory":
"OSPM must comprehend this memory as having non-volatile attributes
and handle distinct from conventional volatile memory. The memory
region supports byte-addressable nonvolatility"
- grub causing NVDIMMs to be treated as normal memory, Elliott, Robert (Persistent Memory), 2015/11/25
- Re: grub causing NVDIMMs to be treated as normal memory, Andrei Borzenkov, 2015/11/25
- Re: grub causing NVDIMMs to be treated as normal memory, Andrei Borzenkov, 2015/11/25
- RE: grub causing NVDIMMs to be treated as normal memory, Elliott, Robert (Persistent Memory), 2015/11/25
- Re: grub causing NVDIMMs to be treated as normal memory, Andrei Borzenkov, 2015/11/25
- RE: grub causing NVDIMMs to be treated as normal memory, Elliott, Robert (Persistent Memory), 2015/11/26
- Re: grub causing NVDIMMs to be treated as normal memory, Andrei Borzenkov, 2015/11/26
- RE: grub causing NVDIMMs to be treated as normal memory, Elliott, Robert (Persistent Memory), 2015/11/26
- Re: grub causing NVDIMMs to be treated as normal memory, Andrei Borzenkov, 2015/11/26
- RE: grub causing NVDIMMs to be treated as normal memory, Elliott, Robert (Persistent Memory), 2015/11/27
- Re: grub causing NVDIMMs to be treated as normal memory, Vladimir 'φ-coder/phcoder' Serbinenko, 2015/11/27