I've only been able to reproduce this on systems with an Intel IOMMU.
Disabling the IOMMU in the firmware (usually labelled "VT-d") lets the
latest 4.13 i386 kernel boot. It's also reproducible in qemu if you give
it an IOMMU, eg. "-machine q35 -device intel-iommu".

The problem is that the IDT page (0xffc00000) overlaps the FIX_BTMAPS
range. IOMMU detection tries to read ACPI tables, which eventually calls
early_ioremap, which maps an ACPI table over the IDT, and then
eventually unmaps it completely. The first kernel interrupt after that
(usually in test_wp_bit) triple-faults when it can't find the IDT.

I've built an experimental kernel with the FIX_BTMAPS vs IDT conflict
fixed at https://people.canonical.com/~wgrant/linux-
image-4.13.0-31-generic_4.13.0-31.34~16.04.1_i386.deb. It works on my
affected hardware and qemu, but it would be good to confirm that it's
the same issue that others have.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1745118

Title:
  Unable to boot with i386 4.13.0-25 / 4.13.0-26 / 4.13.0-31 kernel on
  Xenial / Artful

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1745118/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to