See patch
--
coresystems GmbH . Brahmsstr. 16 . D-79104 Freiburg i. Br.
Tel.: +49 761 7668825 . Fax: +49 761 7664613
Email: [email protected] . http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg . HRB 7656
Geschäftsführer: Stefan Reinauer . Ust-IdNr.: DE245674866
prevent timer overflows in libpayload
Signed-off-by: Stefan Reinauer <[email protected]>
--- arch/i386/timer.c (revision 5280)
+++ arch/i386/timer.c (working copy)
@@ -88,7 +88,7 @@
*/
void ndelay(unsigned int n)
{
- _delay(n * cpu_khz / 1000000);
+ _delay((unsigned long long)n * cpu_khz / 1000000);
}
/**
@@ -98,7 +98,7 @@
*/
void udelay(unsigned int n)
{
- _delay(n * cpu_khz / 1000);
+ _delay((unsigned long long)n * cpu_khz / 1000);
}
/**
@@ -108,7 +108,7 @@
*/
void mdelay(unsigned int m)
{
- _delay(m * cpu_khz);
+ _delay((unsigned long long)m * cpu_khz);
}
/**
@@ -118,5 +118,7 @@
*/
void delay(unsigned int s)
{
- _delay(s * cpu_khz * 1000);
+ int i;
+ for (i=0; i<1000; i++)
+ _delay((unsigned long long)s * cpu_khz);
}
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot