Ignore physical memory below 1 MB. This is a work-around for buggy BIOSes
providing incorrect memory types. It doesn't cost us anything, since the kernel reserves all but the unusable range later anyway. Should fix #1925. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35736 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -656,6 +656,15 @@ mmu_init(void)
|
|||||||
// we ignore all memory beyond 4 GB
|
// we ignore all memory beyond 4 GB
|
||||||
if (end > 0x100000000ULL)
|
if (end > 0x100000000ULL)
|
||||||
end = 0x100000000ULL;
|
end = 0x100000000ULL;
|
||||||
|
|
||||||
|
// Also ignore memory below 1 MB. Apparently some BIOSes fail to
|
||||||
|
// provide the correct range type for some ranges (cf. #1925).
|
||||||
|
// Later in the kernel we will reserve the range 0x0 - 0xa0000
|
||||||
|
// and apparently 0xa0000 - 0x100000 never contain usable
|
||||||
|
// memory, so we don't lose anything by doing that.
|
||||||
|
if (base < 0x100000)
|
||||||
|
base = 0x100000;
|
||||||
|
|
||||||
if (end <= base)
|
if (end <= base)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user