diff options
author | Yinghai Lu <yhlu.kernel.send@gmail.com> | 2008-04-29 06:52:33 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2008-05-25 04:55:09 -0400 |
commit | 95ffa2438d0e9c48779f0106b1c0eb36165e759c (patch) | |
tree | 63829c04435fd99fb655a0d1b94fbd2094549ceb /arch/x86/Kconfig | |
parent | 0dbfafa5fcd4dd189e2adc7b6ed9e0405e846d79 (diff) |
x86: mtrr cleanup for converting continuous to discrete layout, v8
some BIOS like to use continus MTRR layout, and X driver can not add
WB entries for graphical cards when 4g or more RAM installed.
the patch will change MTRR to discrete.
mtrr_chunk_size= could be used to have smaller continuous block to hold holes.
default is 256m, could be set according to size of graphics card memory.
mtrr_gran_size= could be used to send smallest mtrr block to avoid run out of MTRRs
v2: fix -1 for UC checking
v3: default to disable, and need use enable_mtrr_cleanup to enable this feature
skip the var state change warning.
remove next_basek in range_to_mtrr()
v4: correct warning mask.
v5: CONFIG_MTRR_SANITIZER
v6: fix 1g, 2g, 512 aligment with extra hole
v7: gran_sizek to prevent running out of MTRRs.
v8: fix hole_basek caculation caused when removing next_basek
gran_sizek using when basek is 0.
need to apply
[PATCH] x86: fix trimming e820 with MTRR holes.
right after this one.
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r-- | arch/x86/Kconfig | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index fe361ae7ef2f..97a1764a3d20 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -1092,6 +1092,32 @@ config MTRR | |||
1092 | 1092 | ||
1093 | See <file:Documentation/mtrr.txt> for more information. | 1093 | See <file:Documentation/mtrr.txt> for more information. |
1094 | 1094 | ||
1095 | config MTRR_SANITIZER | ||
1096 | def_bool y | ||
1097 | prompt "MTRR cleanup support" | ||
1098 | depends on MTRR | ||
1099 | help | ||
1100 | Convert MTRR layout from continuous to discrete, so some X driver | ||
1101 | could add WB entries. | ||
1102 | |||
1103 | Say N here if you see bootup problems (boot crash, boot hang, | ||
1104 | spontaneous reboots). | ||
1105 | |||
1106 | Could be disabled with disable_mtrr_cleanup. Also mtrr_chunk_size | ||
1107 | could be used to send largest mtrr entry size for continuous block | ||
1108 | to hold holes (aka. UC entries) | ||
1109 | |||
1110 | If unsure, say Y. | ||
1111 | |||
1112 | config MTRR_SANITIZER_ENABLE_DEFAULT | ||
1113 | def_bool y | ||
1114 | prompt "Enable MTRR cleanup by default" | ||
1115 | depends on MTRR_SANITIZER | ||
1116 | help | ||
1117 | Enable mtrr cleanup by default | ||
1118 | |||
1119 | If unsure, say Y. | ||
1120 | |||
1095 | config X86_PAT | 1121 | config X86_PAT |
1096 | bool | 1122 | bool |
1097 | prompt "x86 PAT support" | 1123 | prompt "x86 PAT support" |