Messages in this thread | | | Date | Mon, 28 Mar 2005 06:36:58 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [RFC 2.6.11.2 1/1] Add reboot fixup for gx1/cs5530a |
| |
jayalk@intworks.biz wrote: > Hi Riley, Dave, Peter, i386 boot/workaround maintainers, > > I ran into a problem getting reboot working with 2.6.11 on an embedded > board. The board has a Geode GX1 with a CS5530A companion. What I observe on > reboot is the "Restarting system" printk, and then a cpu stall/hang. I think > the problem arises because the keyboard controller is disabled by the BIOS, > so the traditional mach_reboot()'s output to port 0x64 is ignored. Then the > 386 triple fault issued after mach_reboot() results in a shutdown (because > the hardware doesn't have to detect the triple fault and issue a reset). > That then gives the end result of a stalled cpu/hang. > > I found that the CS5530A in question has a "issue system wide reset" bit. > The reboot works cleanly if I write that bit rather than do mach_reboot(). > So the following patch is my attempt to incorporate that change into 2.6.11 > by adding a X86_REBOOTFIXUPS option. In order to keep reboot.c free of hw > specific fixups, I put it in another file, reboot_fixups.c. I tried to make > it a bit generic so that if there are other reboot related fixups for other > chipsets/boards, there'd be a clean place to put it. Please let me know what > you think. >
This makes a lot of sense to me. I appreciate the fact that you took the time to properly add detection/abstraction code.
-hpa - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |