On Thu, Jan 17, 2008 at 10:42:28PM +0100, Andreas Herrmann3 wrote: > On Thu, Jan 17, 2008 at 10:13:08PM +0100, Ingo Molnar wrote: > > > > * Andreas Herrmann3 <[EMAIL PROTECTED]> wrote: > > > > > Yes. > > > > > > Meanwhile I have figured out that it is some ACPI stuff that maps the > > > page cached. I've changed the ioremap's in drivers/acpi/osl.c to > > > ioremap_nocache. See attached patch. > > > > > > Now the machine boots without conflicts. > > > > ah, nice! > > > > but in general we must be robust enough in this case and just degrade > > any overlapping page to UC (and emit a warning perhaps) - instead of > > failing the ioremap and thus failing the driver (and the bootup). > > > > Does my third patch (which falls back to UC in case of attribute > > conflicts, also attached below) instead of your ioremap_nocache() patch > > solve your bootup problem too? > > I'll check this asap
Ok, here is the result: sata_sil 0000:00:12.0: version 2.3 ACPI: PCI Interrupt 0000:00:12.0[A] -> GSI 22 (level, low) -> IRQ 22 ioremap_nocache: addr c0403000, size 200 swapper:1 conflicting cache attribute c0403000-c0404000 uncached<->default Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP: [<ffffffff8102905d>] ? reserve_mat 1a5/0x221 PGD 0 Oops: 0000 [1] SMP CPU 3 Modules linked in: Pid: 1, comm: swapper Not tainted 2.6.24-rc8-gd294e9ed-dirty #1 RIP: 0010:[<ffffffff8102905d>] [<ffffffff8102905d>] ? reserve_mattr+0x1a5/0x221 RSP: 0018:ffff810077581c60 EFLAGS: 00010282 RAX: 000000000000004e RBX: ffff8100775a7a00 RCX: 0000000000004c12 RDX: 000000000000a9a9 RSI: 0000000000000018 RDI: ffffffff8153bed4 RBP: 0000000000000000 R08: ffffffff81540fe7 R09: ffffffff81329d70 R10: 0000000000000000 R11: 0000000000000000 R12: 00000000c0404000 R13: 0000000000000018 R14: 00000000c0403000 R15: 00000000c0403000 FS: 0000000000000000(0000) GS:ffff8100775d6bc0(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 0000000000000000 CR3: 0000000001001000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process swapper (pid: 1, threadinfo ffff810077580000, task ffff810077564790) Stack: ffffffff81411900 0000000000001000 0000000000001000 00000000c0404000 ffffc200008ac000 00000000c0403000 ffff8100775a7a40 ffffffff810281e9 0000000000000018 0000000000000005 ffff810077631680 ffff8100777b7800 Call Trace: [<ffffffff810281e9>] __ioremap+0xc2/0x11a [<ffffffff8114a6b0>] pcim_iomap+0x43/0x53 [<ffffffff8114a74f>] pcim_iomap_regions+0x8f/0x104 [<ffffffff811fba72>] sil_init_one+0xb0/0x1eb [<ffffffff81150f98>] pci_device_probe+0xd1/0x138 [<ffffffff811a4d9c>] driver_probe_device+0xe1/0x16a [<ffffffff811a4f6d>] __driver_attach+0x90/0xcd [<ffffffff811a4edd>] __driver_attach+0x0/0xcd [<ffffffff811a4edd>] __driver_attach+0x0/0xcd [<ffffffff811a4149>] bus_for_each_dev+0x43/0x6e [<ffffffff811a44c9>] bus_add_driver+0x77/0x1be [<ffffffff8115116e>] __pci_register_driver+0x58/0x8a [<ffffffff814d2634>] kernel_init+0x170/0x2e0 [<ffffffff8100cb58>] child_rip+0xa/0x12 [<ffffffff814d24c4>] kernel_init+0x0/0x2e0 [<ffffffff8100cb4e>] child_rip+0x0/0x12 Code: 00 49 89 c9 48 81 c6 e0 02 00 00 48 89 3c 24 31 c0 4d 89 e0 4c 89 f1 48 c7 c7 c3 97 3e 81 e8 71 ef 00 00 48 c7 43 10 18 00 00 00 <48> 83 3c 25 00 00 00 00 00 74 36 48 c7 04 25 00 00 00 00 18 00 RIP [<ffffffff8102905d>] ? reserve_mattr+0x1a5/0x221 RSP <ffff810077581c60> CR2: 0000000000000000 ---[ end trace 5516cbea98bb72f9 ]--- Kernel panic - not syncing: Attempted to kill init! I should have reviewed your patch. I guess it must be "if (fattr)" instead of "if (*fattr)" I'll give it another try ... Andreas -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/