linux/arch/x86/kernel/cpu
Yinghai Lu 093af8d7f0 x86_32: trim memory by updating e820
when MTRRs are not covering the whole e820 table, we need to trim the
RAM and need to update e820.

reuse some code on 64-bit as well.

here need to add early_get_cap and use it in early_cpu_detect, and move
mtrr_bp_init early.

The code successfully trimmed the memory map on Justin's system:

from:

 [    0.000000]  BIOS-e820: 0000000100000000 - 000000022c000000 (usable)

to:

 [    0.000000]   modified: 0000000100000000 - 0000000228000000 (usable)
 [    0.000000]   modified: 0000000228000000 - 000000022c000000 (reserved)

According to Justin it makes quite a difference:

|  When I boot the box without any trimming it acts like a 286 or 386,
|  takes about 10 minutes to boot (using raptor disks).

Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Tested-by: Justin Piszcz <jpiszcz@lucidpixels.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-01-30 13:33:32 +01:00
..
cpufreq x86: remove unneded casts 2008-01-30 13:33:23 +01:00
mcheck x86: change x86 machine check handler to use unlocked_ioctl instead 2008-01-30 13:32:59 +01:00
mtrr x86_32: trim memory by updating e820 2008-01-30 13:33:32 +01:00
addon_cpuid_features.c x86: add set/clear_cpu_cap operations 2008-01-30 13:30:55 +01:00
amd.c x86: use the correct cpuid method to detect MWAIT support for C states 2008-01-30 13:33:16 +01:00
bugs.c x86: convert TSC disabling to generic cpuid disable bitmap 2008-01-30 13:33:20 +01:00
centaur.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
common.c x86_32: trim memory by updating e820 2008-01-30 13:33:32 +01:00
cpu.h x86: move X86_FEATURE_CONSTANT_TSC into early cpu feature detection 2008-01-30 13:32:40 +01:00
cyrix.c x86: use CR0 defines. 2008-01-30 13:30:39 +01:00
intel_cacheinfo.c Kobject: convert arch/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:39 -08:00
intel.c x86: move MWAIT idle check to generic CPU initialization on 32-bit 2008-01-30 13:33:16 +01:00
Makefile x86: prepare consolidation of cpu/ related Makefiles 2007-10-23 22:37:23 +02:00
nexgen.c i386: move kernel/cpu 2007-10-11 11:16:58 +02:00
perfctr-watchdog.c x86: nuke a ton of unused exports 2008-01-30 13:30:28 +01:00
proc.c x86: constify function pointer tables 2008-01-30 13:33:32 +01:00
transmeta.c i386: move kernel/cpu 2007-10-11 11:16:58 +02:00
umc.c i386: move kernel/cpu 2007-10-11 11:16:58 +02:00