kernel-fxtec-pro1x/arch
Matthew Garrett 660e34cebf x86: Reorder reboot method preferences
We have a never ending stream of 'reboot quirks' for new boxes
that will not reboot properly under Linux (they will hang on
reboot).

The reason is widespread 'Windows compatible' assumption of modern
x86 hardware, which expects the following reboot sequence:

 - hitting the ACPI reboot vector (if available)
 - trying the keyboard controller
 - hitting the ACPI reboot vector again
 - then giving the keyboard controller one last go

This sequence expectation gets more and more embedded in modern
hardware, which often lacks a keyboard controller and may even
lock up if the legacy io ports are hit - and which hardware is
often not tested with Linux during development.

The end result is that reboot works under Windows-alike OSs but not
under Linux.

Rework our reboot process to meet this hardware externality a little
better and match this assumption of newer x86 hardware.

In addition to the ACPI,kbd,ACPI,kbd sequence we'll still fall
through to attempting a legacy triple fault if nothing else
works - and keep trying that and the kbd reset.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
[ this commit will also save special casing Oaktrail boards ]
Acked-by: Alan Cox <alan@linux.intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Leann Ogasawara <leann.ogasawara@canonical.com>
Cc: Dave Jones <davej@redhat.com>
Cc: Len Brown <len.brown@intel.com>
LKML-Reference: <1301939705-2404-1-git-send-email-mjg@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2011-04-06 10:36:50 +02:00
..
alpha genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
arm Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-03-30 09:35:52 -07:00
avr32 avr32: Fix missing irq namespace conversion 2011-03-30 15:38:03 +02:00
blackfin Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-03-30 09:35:52 -07:00
cris genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
frv genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
h8300 genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
ia64 [IA64] fix build warning: argument 1 of 'irqd_irq_disabled' 2011-04-01 10:56:03 -07:00
m32r genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
m68k genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
microblaze Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze 2011-04-04 17:54:46 -07:00
mips mips: vr41xx: Use irdq_irq_disabled() 2011-03-29 14:48:07 +02:00
mn10300 genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
parisc genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
powerpc powerpc/pseries: Fix build without CONFIG_HOTPLUG_CPU 2011-04-05 16:22:11 +10:00
s390 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 2011-03-25 17:47:04 -07:00
score genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
sh genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2011-04-01 08:54:14 -07:00
tile genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
um genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
unicore32 Merge branch 'unicore32' of git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32 2011-04-04 08:33:21 -07:00
x86 x86: Reorder reboot method preferences 2011-04-06 10:36:50 +02:00
xtensa genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
.gitignore
Kconfig oprofile, s390: Cleanups 2011-03-16 14:30:40 +01:00