On Tue, 2008-11-25 at 13:26 -0800, Jeremy Fitzhardinge wrote: > I have a report of Xen breaking between 2.6.27.5 and .6. I bisected > it > down to change: > > commit 5c371b31be32033b0a4a993431484da8a2305369 > Author: Yinghai Lu > Date: Mon Sep 22 02:52:26 2008 -0700 > > x86: fix CONFIG_X86_RESERVE_LOW_64K=y > > commit 2216d199b1430d1c0affb1498a9ebdbd9c0de439 upstream Looks like 5dc64a3442b98eaa0e3730c35fcf00cf962a93e7 might be needed in stable too? commit 5dc64a3442b98eaa0e3730c35fcf00cf962a93e7 Author: Ian Campbell Date: Fri Oct 10 11:27:38 2008 +0100 xen: do not reserve 2 pages of padding between hypervisor and fixmap. When reserving space for the hypervisor the Xen paravirt backend adds an extra two pages (this was carried forward from the 2.6.18-xen tree which had them "for safety"). Depending on various CONFIG options this can cause the boot time fixmaps to span multiple PMDs which is not supported and triggers a WARN in early_ioremap_init(). This was exposed by 2216d199b1430d1c0affb1498a9ebdbd9c0de439 which moved the dmi table parsing earlier. x86: fix CONFIG_X86_RESERVE_LOW_64K=y The bad_bios_dmi_table() quirk never triggered because we do DMI setup too late. Move it a bit earlier. There is no real reason to reserve these two extra pages and the fixmap already incorporates FIX_HOLE which serves the same purpose. None of the other callers of reserve_top_address do this. -- Ian Campbell Moonchild without an opinion? Satan is skating to work tomorrow! -- Brett Manz