lkml.org 
[lkml]   [2005]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: [discuss] Re: [PATCH][Fix][Resend] Fix Bug #4959: Page tables corrupted during resume on x86-64 (take 3)
Date
Hi,

On Saturday, 1 of October 2005 09:47, Rafael J. Wysocki wrote:
> On Saturday, 1 of October 2005 03:25, Siddha, Suresh B wrote:
]-- snip --[
> > I looked at init_apic_mappings() and didn't give me any clue.
> > alloc_bootmem_pages() don't use low direct mappings.
>
> OK, I'll try to narrow this a bit more.

Done.

I got this from the early printk:

Bootdata ok (command line is root=/dev/hdc6 vga=792 selinux=0 noapic resume=/dev/hdc3 console=ttyS0,57600 console=tty0 debug earlyprintk=serial,tt
yS0,57600 init=/bin/bash)
Linux version 2.6.14-rc3 (rafael@chimera) (gcc version 3.3.5 20050117 (prerelease) (SUSE Linux)) #3 PREEMPT Sat Oct 1 10:54:55 CEST 2005
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000002ff40000 (usable)
BIOS-e820: 000000002ff40000 - 000000002ff50000 (ACPI data)
BIOS-e820: 000000002ff50000 - 0000000030000000 (ACPI NVS)
BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
kernel direct mapping tables upto ffff8100fee01000 @ 8000-b000
>>> ERROR: Invalid checksum
Nvidia board detected. Ignoring ACPI timer override.
ACPI: PM-Timer IO Port: 0x4008
Intel MultiProcessor Specification v1.1
Virtual Wire compatibility mode.
PANIC: early exception rip ffffffff804c7467 error 0 cr2 fbd90

Call Trace:<ffffffff804c7467>{get_smp_config+695} <ffffffff804c9891>{paging_init+161}
<ffffffff804c3b37>{acpi_parse_fadt+135} <ffffffff804d0b3a>{acpi_table_parse+76}
<ffffffff804c19b7>{setup_arch+2183} <ffffffff804ba5fd>{start_kernel+45}
<ffffffff804ba260>{_sinittext+608}

It shows that there's something wrong with get_smp_config(), but it shouldn't
have been called in the first place, as it was a non-SMP kernel.

The appended patch fixes the issue for me, but still if I run an SMP kernel on this
box, it crashes in get_smp_config().

If you want me to debug this further, please tell me what to do next.

Greetings,
Rafael


Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>

Index: linux-2.6.14-rc3/arch/x86_64/kernel/mpparse.c
===================================================================
--- linux-2.6.14-rc3.orig/arch/x86_64/kernel/mpparse.c 2005-10-01 10:37:53.000000000 +0200
+++ linux-2.6.14-rc3/arch/x86_64/kernel/mpparse.c 2005-10-01 11:17:56.000000000 +0200
@@ -658,7 +658,7 @@
*/
void __init find_smp_config (void)
{
-#ifdef CONFIG_X86_LOCAL_APIC
+#if defined(CONFIG_SMP) && defined(CONFIG_X86_LOCAL_APIC)
find_intel_smp();
#endif
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-10-01 12:11    [W:0.096 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site