Bug 10232
Summary: | intel mtrr fixups apparently broke display and e1000 probe | ||
---|---|---|---|
Product: | Platform Specific/Hardware | Reporter: | Stephen Gran (steve) |
Component: | x86-64 | Assignee: | platform_x86_64 (platform_x86_64) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | bunk, jbarnes, yhlu.kernel |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.25-rc4 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Bug Depends on: | |||
Bug Blocks: | 9832 | ||
Attachments: |
fix trimming #2
more generic patch |
Description
Stephen Gran
2008-03-12 08:37:16 UTC
This may be due to the e820 fixup code Yinghai added. Any ideas Yinghai? 32 bit trimming http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=093af8d7f0ba3c6be1485973508584ef081e9f93 and one fix http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=20651af9ac60fd6e31360688ad44861a7d05256a should fix that. it seems BIOS-e820: 00000000cf700000 - 00000000d0000000 (reserved) BIOS-e820: 00000000fff00000 - 0000000100000000 (reserved) BIOS-e820: 0000000100000000 - 000000012c000000 (usable) change to modified: 00000000cf700000 - 000000012c000000 (reserved) and we should get BIOS-e820: 00000000cf700000 - 00000000d0000000 (reserved) BIOS-e820: 00000000fff00000 - 000000012c000000 (reserved) can you send out your /proc/mtrr? Created attachment 15271 [details]
fix trimming #2
please test this patch
(In reply to comment #2) > can you send out your /proc/mtrr? 2.6.24 reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 reg01: base=0x80000000 (2048MB), size=1024MB: write-back, count=1 reg02: base=0xc0000000 (3072MB), size= 256MB: write-back, count=1 reg03: base=0xcf800000 (3320MB), size= 8MB: uncachable, count=1 reg04: base=0xcf700000 (3319MB), size= 1MB: uncachable, count=1 reg05: base=0xd0000000 (3328MB), size= 256MB: write-combining, count=1 2.6.25 (+your patch) reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 reg01: base=0x80000000 (2048MB), size=1024MB: write-back, count=1 reg02: base=0xc0000000 (3072MB), size= 256MB: write-back, count=1 reg03: base=0xcf800000 (3320MB), size= 8MB: uncachable, count=1 reg04: base=0xcf700000 (3319MB), size= 1MB: uncachable, count=1 reg05: base=0xd0000000 (3328MB), size= 256MB: write-combining, count=1 (In reply to comment #3) > Created an attachment (id=15271) [details] > fix trimming #2 > > please test this patch That fixes it. Your rock! Thanks a lot. (In reply to comment #5) > (In reply to comment #3) > > Created an attachment (id=15271) [details] [details] > > fix trimming #2 > > > > please test this patch > > That fixes it. Your rock! Oh, and just for reference in case it's helpful: Mar 15 12:59:50 gashuffer kernel: BIOS-provided physical RAM map: Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 0000000000000000 - 000000000008f000 (usable) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 000000000008f000 - 00000000000a0000 (reserved) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 0000000000100000 - 00000000cf561000 (usable) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 00000000cf561000 - 00000000cf56e000 (reserved) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 00000000cf56e000 - 00000000cf612000 (usable) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 00000000cf612000 - 00000000cf6e9000 (ACPI NVS) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 00000000cf6e9000 - 00000000cf6ec000 (usable) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 00000000cf6ec000 - 00000000cf6f1000 (ACPI data) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 00000000cf6f1000 - 00000000cf6f2000 (usable) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 00000000cf6f2000 - 00000000cf6ff000 (ACPI data) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 00000000cf6ff000 - 00000000cf700000 (usable) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 00000000cf700000 - 00000000d0000000 (reserved) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 00000000fff00000 - 0000000100000000 (reserved) Mar 15 12:59:50 gashuffer kernel: BIOS-e820: 0000000100000000 - 000000012c000000 (usable) Mar 15 12:59:50 gashuffer kernel: 3904MB HIGHMEM available. Mar 15 12:59:50 gashuffer kernel: 896MB LOWMEM available. Mar 15 12:59:50 gashuffer kernel: Scan SMP from c0000000 for 1024 bytes. Mar 15 12:59:50 gashuffer kernel: Scan SMP from c009fc00 for 1024 bytes. Mar 15 12:59:50 gashuffer kernel: Scan SMP from c00f0000 for 65536 bytes. Mar 15 12:59:50 gashuffer kernel: found SMP MP-table at [c00fe200] 000fe200 Mar 15 12:59:50 gashuffer kernel: WARNING: BIOS bug: CPU MTRRs don't cover all of memory, losing 704MB of RAM. Mar 15 12:59:50 gashuffer kernel: ------------[ cut here ]------------ Mar 15 12:59:50 gashuffer kernel: WARNING: at arch/x86/kernel/cpu/mtrr/main.c:716 mtrr_trim_uncached_memory+0x17e/0x1e2() Mar 15 12:59:50 gashuffer kernel: Modules linked in: Mar 15 12:59:50 gashuffer kernel: Pid: 0, comm: swapper Not tainted 2.6.25-rc4 #1 Mar 15 12:59:50 gashuffer kernel: [<c0120dd7>] warn_on_slowpath+0x40/0x4f Mar 15 12:59:50 gashuffer kernel: [<c02b57a9>] _spin_unlock_irqrestore+0xd/0x10 Mar 15 12:59:50 gashuffer kernel: [<c0121535>] release_console_sem+0x185/0x19e Mar 15 12:59:50 gashuffer kernel: [<c012194a>] vprintk+0x2bf/0x2ed Mar 15 12:59:50 gashuffer kernel: [<c0381425>] __alloc_bootmem_core+0x11e/0x2b8 Mar 15 12:59:50 gashuffer kernel: [<c010d743>] generic_get_mtrr+0x2e/0xdc Mar 15 12:59:50 gashuffer kernel: [<c012198c>] printk+0x14/0x18 Mar 15 12:59:50 gashuffer kernel: [<c0376add>] mtrr_trim_uncached_memory+0x17e/0x1e2 Mar 15 12:59:50 gashuffer kernel: [<c0376d4d>] mtrr_bp_init+0x20c/0x214 Mar 15 12:59:50 gashuffer kernel: [<c0374ed2>] setup_arch+0x28e/0x3e8 Mar 15 12:59:50 gashuffer kernel: [<c036f5f9>] start_kernel+0x65/0x33f Mar 15 12:59:50 gashuffer kernel: ======================= Mar 15 12:59:50 gashuffer kernel: ---[ end trace ca143223eefdc828 ]--- Mar 15 12:59:50 gashuffer kernel: update e820 for mtrr Mar 15 12:59:50 gashuffer kernel: modified physical RAM map: Mar 15 12:59:50 gashuffer kernel: modified: 0000000000000000 - 000000000008f000 (usable) Mar 15 12:59:50 gashuffer kernel: modified: 000000000008f000 - 00000000000a0000 (reserved) Mar 15 12:59:50 gashuffer kernel: modified: 00000000000e0000 - 0000000000100000 (reserved) Mar 15 12:59:50 gashuffer kernel: modified: 0000000000100000 - 00000000cf561000 (usable) Mar 15 12:59:50 gashuffer kernel: modified: 00000000cf561000 - 00000000cf56e000 (reserved) Mar 15 12:59:50 gashuffer kernel: modified: 00000000cf56e000 - 00000000cf612000 (usable) Mar 15 12:59:50 gashuffer kernel: modified: 00000000cf612000 - 00000000cf6e9000 (ACPI NVS) Mar 15 12:59:50 gashuffer kernel: modified: 00000000cf6e9000 - 00000000cf6ec000 (usable) Mar 15 12:59:50 gashuffer kernel: modified: 00000000cf6ec000 - 00000000cf6f1000 (ACPI data) Mar 15 12:59:50 gashuffer kernel: modified: 00000000cf6f1000 - 00000000cf6f2000 (usable) Mar 15 12:59:50 gashuffer kernel: modified: 00000000cf6f2000 - 00000000cf6ff000 (ACPI data) Mar 15 12:59:50 gashuffer kernel: modified: 00000000cf6ff000 - 00000000cf700000 (usable) Mar 15 12:59:50 gashuffer kernel: modified: 00000000cf700000 - 00000000d0000000 (reserved) Mar 15 12:59:50 gashuffer kernel: modified: 00000000fff00000 - 000000012c000000 (reserved) Mar 15 12:59:50 gashuffer kernel: only 2423MB highmem pages available, ignoring highmem size of 3904MB. Regressions list annotation: Handled-By : Yinghai Lu <yhlu.kenrel@gmail.com> Patch : http://bugzilla.kernel.org/attachment.cgi?id=15271&action=view Created attachment 15316 [details]
more generic patch
more generic by changing range type instead of add one big chunk for E820_RESERVED
Regressions list annotation: Patch : http://bugzilla.kernel.org/attachment.cgi?id=15316&action=view fixed by commit 5dca6a1bb014875a17289fdaae8c31e0a3641c99 |