This patch changes all flushes in init_64.c to be __flush_tlb_all()
and fixes the problem here.
Hmm, I see new early crashes with that patch here in some cases unfortunately:
PANIC: early exception 06 rip 10:ffffffff8082df2d error 0 cr2 0
Pid: 0, comm: swapper Not tainted 2.6.24-rc8-g7ada4254 #39
Call Trace:
[<ffffffff8082df2d>] free_bootmem_core+0x1a/0x6b
[<ffffffff8082f143>] free_bootmem_with_active_regions+0x51/0x67
[<ffffffff8082a0f3>] setup_node_bootmem+0x16b/0x1b3
[<ffffffff8082b3a4>] acpi_scan_nodes+0x136/0x230
[<ffffffff8082a6bb>] numa_initmem_init+0x331/0x459
[<ffffffff80234ef6>] release_console_sem+0x1b4/0x1cd
[<ffffffff80234ef6>] release_console_sem+0x1b4/0x1cd
[<ffffffff80355726>] number+0x10e/0x1f9
[<ffffffff802354d8>] printk+0x4e/0x56
[<ffffffff80355726>] number+0x10e/0x1f9
[<ffffffff803563f8>] vsnprintf+0x53f/0x583
[<ffffffff80355726>] number+0x10e/0x1f9
[<ffffffff80234ef6>] release_console_sem+0x1b4/0x1cd
[<ffffffff803563f8>] vsnprintf+0x53f/0x583
[<ffffffff8022468a>] early_serial_write+0x22/0x32
Not sure what's going wrong. I think the patch is correct, but there
are probably more bugs around triggered by some change. Perhaps it is better to just revert Jeremy's patch (789bad4ca2b604f2f21ae7e3d64b67325ec8f9bb) for now.