[coreboot] [PATCH]es 7 assorted fixes

Jens Rottmann JRottmann at LiPPERTEmbedded.de
Tue Oct 21 11:18:52 CEST 2008


route_irq15.diff (changes pirq_routing.c):
Fixes a off-by-one error when routing the IRQs. This led to IRQ15 not
getting assigned.

autoboot_delay.diff (changes filo.c):
Fixes compile error when AUTOBOOT_DELAY=0.

dword_copy.diff (changes crt0.S.lb, cache_as_ram.inc (Geode LX)):
Speed up copying coreboot to ram by using "movsl" instead of "movsb".
Also use different console messages for copying and uncompressing, like
it's already done in similar code in other places.

speed_calc.diff (changes raminit.c (Geode LX)):
Changed RAM speed calculation to fix RAM modules getting rejected only
due to integer rounding errors. Previously, the formula was:
	speed = 2 * (10000/spd_value)
For spd_value=60 this means speed = 2 * 166 = 332, which is less than
333 and coreboot died saying RAM was incompatible. The new formula is:
	speed = 20000 / spd_value
For spd_value=60, speed=333, which is fine.

await_ide.diff (changes ide.c):
Made await_ide(), which polls for an ide status change, check the status
reg much more often. In my case this reduced the time spent in coreboot
by 1.5 sec!
The timeout values of course aren't changed, only the granularity. Also,
I didn't see any udelay() implementation that looked like it couldn't
cope with 10 us delays. (Most are written as for (...) inb(0x80) loops.)

fs_arch.diff (changes ext2fs.c, fat.c):
#if ARCH == 'i386' results in a compile error: character constant too
long (or something alike). Changed it to
#ifdef __i386
I'm unsure if this is correct, though! Why didn't anyone hit this
problem before? Is this some ROMCC-special?

it8712_gpio.diff (changes superio.c (IT8712F)):
Added the missing I/O resources for IT8712F GPIOs. Our boards need these
e.g. to switch the com ports between RS232 and RS485.

Signed-off-by: Jens Rottmann <JRottmann at LiPPERTEmbedded.de>
---

Above are fixes for some issues I tripped over while working on coreboot
support for some of our boards. The patches can be applied in any order.
(Should I have sent 7 seperate mails? I deemed it easier this way ...)
I'll contribute the actual mainboard files as soon as I'm done.

Regards,
Jens Rottmann

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fs_arch.diff
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20081021/79c79e40/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: it8712_gpio.diff
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20081021/79c79e40/attachment-0001.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: route_irq15.diff
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20081021/79c79e40/attachment-0002.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: speed_calc.diff
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20081021/79c79e40/attachment-0003.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: autoboot_delay.diff
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20081021/79c79e40/attachment-0004.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: await_ide.diff
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20081021/79c79e40/attachment-0005.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dword_copy.diff
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20081021/79c79e40/attachment-0006.ksh>


More information about the coreboot mailing list