Re: Linux detects only 2.6GiB RAM in legacy boot

From: Yinghai Lu
Date: Sat Jan 19 2013 - 17:04:19 EST


On Sat, Jan 19, 2013 at 10:43 AM, richard -rw- weinberger
<richard.weinberger@xxxxxxxxx> wrote:
> Hi,
>
> My shiny new Thinkpad T430u comes with UEFI.
> To avoid broken bootloaders/distros I've enabled legacy boot mode.
>
> But Linux seems to detect only 2.6GB of RAM.
> [ 0.000000] On node 0 totalpages: 1008669
> vs.
> [ 0.000000] On node 0 totalpages: 701239
>
> Both dmesg logs are attached.
> This happens also with 3.7.x.
>
> Is there anything I can do or is this a plain UEFI/BIOS bug?

looks like BIOS problem:

UEFI one:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000008ffff] usable
[ 0.000000] BIOS-e820: [mem 0x0000000000090000-0x00000000000bffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffffff] usable
[ 0.000000] BIOS-e820: [mem 0x0000000020000000-0x00000000201fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000020200000-0x0000000040003fff] usable
[ 0.000000] BIOS-e820: [mem 0x0000000040004000-0x0000000040004fff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000040005000-0x000000008f465fff] usable
[ 0.000000] BIOS-e820: [mem 0x000000008f466000-0x000000008f667fff] reserved
[ 0.000000] BIOS-e820: [mem 0x000000008f668000-0x00000000d829efff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000d829f000-0x00000000dae9efff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000dae9f000-0x00000000daf9efff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000daf9f000-0x00000000daffefff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000dafff000-0x00000000daffffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000db000000-0x00000000df9fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000f80f8000-0x00000000f80f8fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000011e5fffff] usable

legacy one:

[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d7ff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009d800-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffffff] usable
[ 0.000000] BIOS-e820: [mem 0x0000000020000000-0x00000000201fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000020200000-0x0000000040003fff] usable
[ 0.000000] BIOS-e820: [mem 0x0000000040004000-0x0000000040004fff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000040005000-0x000000008cfaafff] usable
[ 0.000000] BIOS-e820: [mem 0x000000008cfab000-0x00000000dae9efff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000dae9f000-0x00000000daf9efff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000daf9f000-0x00000000daffefff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000dafff000-0x00000000df9fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed08000-0x00000000fed08fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed10000-0x00000000fed19fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000ffc00000-0x00000000ffffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000011e5fffff] usable

So difference:

[ 0.000000] BIOS-e820: [mem 0x000000008f466000-0x000000008f667fff] reserved
[ 0.000000] BIOS-e820: [mem 0x000000008f668000-0x00000000d829efff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000d829f000-0x00000000dae9efff] reserved

to

[ 0.000000] BIOS-e820: [mem 0x000000008cfab000-0x00000000dae9efff] reserved

at least about 1G get lost in e820.

Can you please apply attached patch to see the raw e820?

Thanks

Yinghai

Attachment: print_raw_e820.patch
Description: Binary data