I'm not sure I understand how the kernel calculates the amount of
physical RAM it can map during the boot process.
I've quoted two blocks of kernel messages below, one for a kernel with
NOHIGHMEM and another for a kernel with HIGHMEM4G.
If I do the math on the BIOS provided physical RAM map, there is less
than 5MiB of the address space reserved. Since I only have 1GiB of
physical RAM in the board, I figured that it would still be possible to
physically map 1019MiB, even with the 3GiB/1GiB split between user space
and kernel space that occurs with NOHIGHMEM.
However, What actually happens is that I'm 127MiB short of a full GiB.
What am I missing here? Why does that last 127MiB have to go in HIGHMEM?
Message log for a NOHIGHMEM kernel:
Sep 3 16:56:50 Tachyon kernel: Linux version 2.6.22-gentoo-r5 (root@Tachyon) (gcc version 4.1.2 (Gentoo 4.1.2 p1.0.1)) #2 PREEMPT Mon Sep 3 16:01:08 EDT 2007
Sep 3 16:56:50 Tachyon kernel: BIOS-provided physical RAM map:
Sep 3 16:56:50 Tachyon kernel: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
Sep 3 16:56:50 Tachyon kernel: BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
Sep 3 16:56:50 Tachyon kernel: BIOS-e820: 0000000000100000 - 000000003ffd3000 (usable)
Sep 3 16:56:50 Tachyon kernel: BIOS-e820: 000000003ffd3000 - 0000000040000000 (reserved)
Sep 3 16:56:50 Tachyon kernel: BIOS-e820: 00000000feda0000 - 00000000fee00000 (reserved)
Sep 3 16:56:50 Tachyon kernel: BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved)
Sep 3 16:56:50 Tachyon kernel: Warning only 896MB will be used.
Sep 3 16:56:50 Tachyon kernel: Use a HIGHMEM enabled kernel.
Sep 3 16:56:50 Tachyon kernel: 896MB LOWMEM available.
Sep 3 16:56:50 Tachyon kernel: Zone PFN ranges:
Sep 3 16:56:50 Tachyon kernel: DMA 0 -> 4096
Sep 3 16:56:50 Tachyon kernel: Normal 4096 -> 229376
Sep 3 16:56:50 Tachyon kernel: early_node_map[1] active PFN ranges
Sep 3 16:56:50 Tachyon kernel: 0: 0 -> 229376
Sep 3 16:56:50 Tachyon kernel: DMI 2.3 present.
Message log for a HIGHMEM4G kernel:
Sep 3 17:40:53 Tachyon kernel: BIOS-provided physical RAM map:
Sep 3 17:40:53 Tachyon kernel: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
Sep 3 17:40:53 Tachyon kernel: BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
Sep 3 17:40:53 Tachyon kernel: BIOS-e820: 0000000000100000 - 000000003ffd3000 (usable)
Sep 3 17:40:53 Tachyon kernel: BIOS-e820: 000000003ffd3000 - 0000000040000000 (reserved)
Sep 3 17:40:53 Tachyon kernel: BIOS-e820: 00000000feda0000 - 00000000fee00000 (reserved)
Sep 3 17:40:53 Tachyon kernel: BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved)
Sep 3 17:40:53 Tachyon kernel: 127MB HIGHMEM available.
Sep 3 17:40:53 Tachyon kernel: 896MB LOWMEM available.
Sep 3 17:40:53 Tachyon kernel: Zone PFN ranges:
Sep 3 17:40:53 Tachyon kernel: DMA 0 -> 4096
Sep 3 17:40:53 Tachyon kernel: Normal 4096 -> 229376
Sep 3 17:40:53 Tachyon kernel: HighMem 229376 -> 262099
Sep 3 17:40:53 Tachyon kernel: early_node_map[1] active PFN ranges
Sep 3 17:40:53 Tachyon kernel: 0: 0 -> 262099
Sep 3 17:40:53 Tachyon kernel: DMI 2.3 present.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]