summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/pc386/console/inch.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-07-10 15:43:18 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-07-10 15:43:18 +0000
commitdbfa314823105417fc3431052fbed43be24bf84a (patch)
treea1ecc5d4ea1cce8919ea6c7ee87f935011a9c7bd /c/src/lib/libbsp/i386/pc386/console/inch.c
parentPatch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. Comments: (diff)
downloadrtems-dbfa314823105417fc3431052fbed43be24bf84a.tar.bz2
Patch from Quality Quorum <qqi@world.std.com>. Comments:
c/src/lib/libbsp/i386/pc386/console/console.c __assert() modified so it prints on selected console instead of PC console c/src/lib/libbsp/i386/pc386/console/inch.c inch_sleep() modified, so it does not depend upon tmacros.h c/src/lib/libbsp/i386/pc386/pc386dev/GDB.HOWTO description updated c/src/lib/libbsp/i386/pc386/startup/exit.c last output before call to exit() will be printed properly on serial console c/src/lib/libbsp/i386/pc386/startup/irq.c re-submitted bug fix for problem in irqs over 7.
Diffstat (limited to 'c/src/lib/libbsp/i386/pc386/console/inch.c')
-rw-r--r--c/src/lib/libbsp/i386/pc386/console/inch.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/c/src/lib/libbsp/i386/pc386/console/inch.c b/c/src/lib/libbsp/i386/pc386/console/inch.c
index f29f6124c8..9159e62ab4 100644
--- a/c/src/lib/libbsp/i386/pc386/console/inch.c
+++ b/c/src/lib/libbsp/i386/pc386/console/inch.c
@@ -292,11 +292,10 @@ _IBMPC_inch(void)
char
_IBMPC_inch_sleep(void)
{
- char c;
- extern rtems_interval _TOD_Ticks_per_second; /* XXX should not do this */
- rtems_interval ticks_to_delay;
+ char c;
+ rtems_interval ticks_per_second;
- ticks_to_delay = (_TOD_Ticks_per_second + 24) / 25;
+ ticks_per_second = 0;
for(;;)
{
@@ -304,7 +303,13 @@ _IBMPC_inch_sleep(void)
{
return c;
}
- rtems_task_wake_after(ticks_to_delay);
+
+ if(ticks_per_second == 0)
+ {
+ rtems_clock_get(RTEMS_CLOCK_GET_TICKS_PER_SECOND,
+ &ticks_per_second);
+ }
+ rtems_task_wake_after((ticks_per_second+24)/25);
}
return c;