summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/include
diff options
context:
space:
mode:
authorMichael Brown2015-02-17 17:24:02 +0100
committerMichael Brown2015-02-17 17:24:02 +0100
commit08189df4e0e4d2a4e941e638fb5f8a17115190b8 (patch)
treecf63e0279522a13ec07db1d9a8e041b00138ec59 /src/arch/i386/include
parent[ncm] Use generic USB network device framework (diff)
downloadipxe-08189df4e0e4d2a4e941e638fb5f8a17115190b8.tar.gz
ipxe-08189df4e0e4d2a4e941e638fb5f8a17115190b8.tar.xz
ipxe-08189df4e0e4d2a4e941e638fb5f8a17115190b8.zip
[timer] Rewrite the 8254 Programmable Interval Timer support
The 8254 timer code (used to implement udelay()) has an unknown provenance. Rewrite this code to avoid potential licensing uncertainty. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch/i386/include')
-rw-r--r--src/arch/i386/include/ipxe/bios_timer.h6
-rw-r--r--src/arch/i386/include/ipxe/timer2.h14
2 files changed, 3 insertions, 17 deletions
diff --git a/src/arch/i386/include/ipxe/bios_timer.h b/src/arch/i386/include/ipxe/bios_timer.h
index f9fc80412..407780a6a 100644
--- a/src/arch/i386/include/ipxe/bios_timer.h
+++ b/src/arch/i386/include/ipxe/bios_timer.h
@@ -15,7 +15,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
#define TIMER_PREFIX_pcbios __pcbios_
#endif
-#include <ipxe/timer2.h>
+#include <ipxe/pit8254.h>
/**
* Delay for a fixed number of microseconds
@@ -25,9 +25,9 @@ FILE_LICENCE ( GPL2_OR_LATER );
static inline __always_inline void
TIMER_INLINE ( pcbios, udelay ) ( unsigned long usecs ) {
/* BIOS timer is not high-resolution enough for udelay(), so
- * we use timer2
+ * we use the 8254 Programmable Interval Timer.
*/
- timer2_udelay ( usecs );
+ pit8254_udelay ( usecs );
}
/**
diff --git a/src/arch/i386/include/ipxe/timer2.h b/src/arch/i386/include/ipxe/timer2.h
deleted file mode 100644
index 322a3ed59..000000000
--- a/src/arch/i386/include/ipxe/timer2.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _IPXE_TIMER2_H
-#define _IPXE_TIMER2_H
-
-/** @file
- *
- * Timer chip control
- *
- */
-
-FILE_LICENCE ( GPL2_OR_LATER );
-
-extern void timer2_udelay ( unsigned long usecs );
-
-#endif /* _IPXE_TIMER2_H */