the following patch was just integrated into master:
commit 79e36d90608a929c33b655c6fb6376f33f332e6f
Author: Ronald G. Minnich <rminnich at gmail.com>
Date: Wed Jan 30 14:29:34 2013 -0800
Improve how our printk calls do_div by using constants.
The do_div code has a nice optimization in it when it is called with
constants. The current highly generalized use of it defeats those
optimizations and causes trouble on ARM, resulting in a complex and
buggy code path.
Since we only need to print in bases 8, 10, and 16, do a minor
restructuring of the code so that we call do_div with constants.
If you need base 2, print in base 16 and do it in your head. :-)
This fixes an ongoing problem with ARM, will not harm X86, and will
help PPC should we ever want to support it again.
Plus, I don't have to ever try to understand the div64 assembly and where
it's going wrong :-)
Change-Id: I6a480011916eb0834e05c5bb10909d83330fe797
Signed-off-by: Ronald G. Minnich <rminnich at gmail.com>
Reviewed-on: http://review.coreboot.org/2235
Tested-by: build bot (Jenkins)
Reviewed-by: David Hendricks <dhendrix at chromium.org>
Reviewed-by: Stefan Reinauer <stefan.reinauer at coreboot.org>
Build-Tested: build bot (Jenkins) at Wed Jan 30 23:38:01 2013, giving +1
Reviewed-By: Stefan Reinauer <stefan.reinauer at coreboot.org> at Thu Jan 31 01:23:18 2013, giving +1
Reviewed-By: David Hendricks <dhendrix at chromium.org> at Thu Jan 31 01:04:27 2013, giving +2
See http://review.coreboot.org/2235 for details.
-gerrit