summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/ods68302
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2004-04-21 10:43:04 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2004-04-21 10:43:04 +0000
commit6128a4aa5e791ed4e0a655bfd346a52d92da7883 (patch)
treeaf53ca3f67ce405b6fbc6c98399c8e0c87e01a9e /c/src/lib/libbsp/m68k/ods68302
parent2004-04-20 Ralf Corsepius <ralf_corsepius@rtems.org> (diff)
downloadrtems-6128a4aa5e791ed4e0a655bfd346a52d92da7883.tar.bz2
Remove stray white spaces.
Diffstat (limited to 'c/src/lib/libbsp/m68k/ods68302')
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c20
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/console/console.c14
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/include/bare.h32
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/include/bsp.h2
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/include/crc.h2
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/include/debugport.h8
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/include/m68302scc.h8
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/start/debugreset.S32
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/start/reset.S186
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/startup/bspstart.c6
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/startup/cpuboot.c22
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/startup/debugport.c18
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/startup/gdb-hooks.c10
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/startup/m68302scc.c30
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/startup/m68k-stub.c282
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/startup/memcheck.c2
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/startup/trace.c18
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/timer/timer.c2
18 files changed, 347 insertions, 347 deletions
diff --git a/c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c b/c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c
index 95c9024d81..eff3b5580f 100644
--- a/c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c
+++ b/c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c
@@ -50,11 +50,11 @@ volatile uint32_t Clock_driver_ticks;
uint32_t Clock_isrs;
void Clock_exit( void );
-
+
/*
* These are set by clock driver during its init
*/
-
+
rtems_device_major_number rtems_clock_major = ~0;
rtems_device_minor_number rtems_clock_minor;
@@ -112,17 +112,17 @@ rtems_device_driver Clock_initialize(
)
{
Install_clock( Clock_isr );
-
+
/*
* make major/minor avail to others such as shared memory driver
*/
-
+
rtems_clock_major = major;
rtems_clock_minor = minor;
-
+
return RTEMS_SUCCESSFUL;
}
-
+
rtems_device_driver Clock_control(
rtems_device_major_number major,
rtems_device_minor_number minor,
@@ -131,15 +131,15 @@ rtems_device_driver Clock_control(
{
uint32_t isrlevel;
rtems_libio_ioctl_args_t *args = pargp;
-
+
if (args == 0)
goto done;
-
+
/*
* This is hokey, but until we get a defined interface
* to do this, it will just be this simple...
*/
-
+
if (args->command == rtems_build_name('I', 'S', 'R', ' '))
{
Clock_isr( CLOCK_VECTOR);
@@ -150,7 +150,7 @@ rtems_device_driver Clock_control(
(void) set_vector( args->buffer, CLOCK_VECTOR, 1 );
rtems_interrupt_enable( isrlevel );
}
-
+
done:
return RTEMS_SUCCESSFUL;
}
diff --git a/c/src/lib/libbsp/m68k/ods68302/console/console.c b/c/src/lib/libbsp/m68k/ods68302/console/console.c
index 292d9396f8..f471b44a71 100644
--- a/c/src/lib/libbsp/m68k/ods68302/console/console.c
+++ b/c/src/lib/libbsp/m68k/ods68302/console/console.c
@@ -43,10 +43,10 @@ rtems_device_driver console_initialize(
major,
(rtems_device_minor_number) 0
);
-
+
if (status != RTEMS_SUCCESSFUL)
rtems_fatal_error_occurred(status);
-
+
return RTEMS_SUCCESSFUL;
}
@@ -91,9 +91,9 @@ rtems_boolean is_character_ready(
char inbyte( void )
{
char ch;
-
+
while (!is_character_ready(&ch));
-
+
return ch;
}
@@ -128,7 +128,7 @@ rtems_device_driver console_open(
{
return RTEMS_SUCCESSFUL;
}
-
+
/*
* Close entry point
*/
@@ -156,7 +156,7 @@ rtems_device_driver console_read(
char *buffer;
int maximum;
int count = 0;
-
+
rw_args = (rtems_libio_rw_args_t *) arg;
buffer = rw_args->buffer;
@@ -175,7 +175,7 @@ rtems_device_driver console_read(
}
/*
- * write bytes to the serial port. Stdout and stderr are the same.
+ * write bytes to the serial port. Stdout and stderr are the same.
*/
rtems_device_driver console_write(
diff --git a/c/src/lib/libbsp/m68k/ods68302/include/bare.h b/c/src/lib/libbsp/m68k/ods68302/include/bare.h
index 3942ce9732..81352f4f3d 100644
--- a/c/src/lib/libbsp/m68k/ods68302/include/bare.h
+++ b/c/src/lib/libbsp/m68k/ods68302/include/bare.h
@@ -13,7 +13,7 @@
Chip selects are programmed as required. Three are controlled in the
boot code. They are RAM, ROM, and peripherals. You can optionally
configure the other two chip selects.
-
+
SYSTEM_CLOCK - You must defined this. It is used for setting the
baud rate.
@@ -30,7 +30,7 @@
CSEL_1, CSEL_2 - If defined the other macros needed to define the
chip select must be defined. If not defined they are not programmed
and registers are left in the reset state.
-
+
Card Specific Devices - The MVF card uses a chip select to address a
range of peripherials (CSEL_2). These include front panel leds, and
4 digit diagnostic display device. Put what ever you need.
@@ -45,7 +45,7 @@
This file allows a range of common parameters which vary from one
variant of card to another to placed in a central file.
-
+
*/
/*****************************************************************************/
@@ -53,7 +53,7 @@
#define _BARE_H_
#if __cplusplus
-extern "C"
+extern "C"
{
#endif
@@ -84,8 +84,8 @@ extern "C"
#define CSEL_2_SIZE (0x00040000)
#define CSEL_2_WAIT_STATES (OR_DTACK_EXT)
-/*
- * Need to define a watchdog period
+/*
+ * Need to define a watchdog period
*/
#define WATCHDOG_TIMEOUT_PERIOD (3000 * 2)
@@ -182,42 +182,42 @@ extern "C"
#define PIA_BASE (PERIPHERIALS_BASE + 0x0001C000)
#define LED_1 0x0002
-#define LED_1_GREEN 0xFFFD
+#define LED_1_GREEN 0xFFFD
#define LED_1_RED 0xFFFF
-#define LED_1_OFF 0xFFFC
+#define LED_1_OFF 0xFFFC
#define LED_2 0x0001
-#define LED_2_GREEN 0xFFFE
+#define LED_2_GREEN 0xFFFE
#define LED_2_RED 0xFFFF
#define LED_2_OFF 0xFFFC
#define LED_3 0x0000
-#define LED_3_GREEN 0xFFFC
+#define LED_3_GREEN 0xFFFC
#define LED_3_RED 0xFFFC
#define LED_3_OFF 0xFFFC
#define LED_4 0x0000
-#define LED_4_GREEN 0xFFFC
+#define LED_4_GREEN 0xFFFC
#define LED_4_RED 0xFFFC
#define LED_4_OFF 0xFFFC
#define LED_5 0x0000
-#define LED_5_GREEN 0xFFFC
+#define LED_5_GREEN 0xFFFC
#define LED_5_RED 0xFFFC
#define LED_5_OFF 0xFFFC
#define LED_6 0x0000
-#define LED_6_GREEN 0xFFFC
+#define LED_6_GREEN 0xFFFC
#define LED_6_RED 0xFFFC
#define LED_6_OFF 0xFFFC
#define LED_7 0x0000
-#define LED_7_GREEN 0xFFFC
+#define LED_7_GREEN 0xFFFC
#define LED_7_RED 0xFFFC
#define LED_7_OFF 0xFFFC
#define LED_8 0x0000
-#define LED_8_GREEN 0xFFFC
+#define LED_8_GREEN 0xFFFC
#define LED_8_RED 0xFFFC
#define LED_8_OFF 0xFFFC
@@ -239,7 +239,7 @@ extern "C"
#else
#define GDB_RUN_MONITOR() (1 == 0)
#endif
-
+
#if __cplusplus
}
#endif
diff --git a/c/src/lib/libbsp/m68k/ods68302/include/bsp.h b/c/src/lib/libbsp/m68k/ods68302/include/bsp.h
index 8d9cfbafde..5e36be8064 100644
--- a/c/src/lib/libbsp/m68k/ods68302/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/ods68302/include/bsp.h
@@ -110,7 +110,7 @@ extern "C" {
/*
* NOTE: Use the standard Console driver entry
*/
-
+
/*
* NOTE: Use the standard Clock driver entry
*/
diff --git a/c/src/lib/libbsp/m68k/ods68302/include/crc.h b/c/src/lib/libbsp/m68k/ods68302/include/crc.h
index c245c39a15..1c5be55e32 100644
--- a/c/src/lib/libbsp/m68k/ods68302/include/crc.h
+++ b/c/src/lib/libbsp/m68k/ods68302/include/crc.h
@@ -14,7 +14,7 @@
F U N C T I O N S
*/
#if __cplusplus
-extern "C"
+extern "C"
{
#endif
diff --git a/c/src/lib/libbsp/m68k/ods68302/include/debugport.h b/c/src/lib/libbsp/m68k/ods68302/include/debugport.h
index a54756e514..0ce0f66b94 100644
--- a/c/src/lib/libbsp/m68k/ods68302/include/debugport.h
+++ b/c/src/lib/libbsp/m68k/ods68302/include/debugport.h
@@ -11,23 +11,23 @@
#define _DEBUGPORT_H_
#if __cplusplus
-extern "C"
+extern "C"
{
#endif
/* normall automatic, only need when re-initialising */
void debug_port_initialise(void);
-
+
unsigned char debug_port_status(const unsigned char status);
unsigned char debug_port_in(void);
- void debug_port_out(const unsigned char character);
+ void debug_port_out(const unsigned char character);
void debug_port_write(const char *buffer);
void debug_port_write_buffer(const char *buffer, unsigned int size);
void debug_port_write_hex_uint(const unsigned int value);
void debug_port_write_hex_ulong(const unsigned long value);
-
+
/*
* special banner message for CPU specific boot code,
* initialises the debug port
diff --git a/c/src/lib/libbsp/m68k/ods68302/include/m68302scc.h b/c/src/lib/libbsp/m68k/ods68302/include/m68302scc.h
index d6eb37ccda..4b8b72a328 100644
--- a/c/src/lib/libbsp/m68k/ods68302/include/m68302scc.h
+++ b/c/src/lib/libbsp/m68k/ods68302/include/m68302scc.h
@@ -1,7 +1,7 @@
/*****************************************************************************/
/*
$Id$
-
+
M68302 Scc Polled Uart Support
*/
@@ -11,7 +11,7 @@
#define _M68302SCC_H_
#if __cplusplus
-extern "C"
+extern "C"
{
#endif
@@ -21,11 +21,11 @@ extern "C"
#define SCC_38400 (3)
#define SCC_57600 (4)
#define SCC_115700 (5)
-
+
void scc_initialise(int channel, int baud_rate, int lf_translate);
unsigned char scc_status(int channel, const unsigned char status);
unsigned char scc_in(int channel);
-void scc_out(int channel, const unsigned char character);
+void scc_out(int channel, const unsigned char character);
#if __cplusplus
}
diff --git a/c/src/lib/libbsp/m68k/ods68302/start/debugreset.S b/c/src/lib/libbsp/m68k/ods68302/start/debugreset.S
index 60e7277245..915621b8b5 100644
--- a/c/src/lib/libbsp/m68k/ods68302/start/debugreset.S
+++ b/c/src/lib/libbsp/m68k/ods68302/start/debugreset.S
@@ -1,21 +1,21 @@
-/*
+/*
* $Id$
*
* Re-written the gen68302 start-up code.
- *
+ *
* Uses gas syntax only, removed the OAR asm.h.
- *
+ *
* Supplies a complete vector table in ROM.
- *
+ *
* Manages all vectors with seperate handlers to trap unhandled
* execptions.
- *
- * Uses the target specific header file to get the runtime
+ *
+ * Uses the target specific header file to get the runtime
* configuration
- *
+ *
* COPYRIGHT (c) 1996
* Objective Design Systems Pty Ltd (ODS)
- *
+ *
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
* On-Line Applications Research Corporation (OAR).
*
@@ -31,7 +31,7 @@
|
| Entered from a hardware reset.
|
-
+
.global start | Default entry point for GNU
start:
@@ -45,9 +45,9 @@ zerobss:
moveal #_clear_end,%a0 | find end of .bss
moveal #_clear_start,%a1 | find beginning of .bss
moveq #0,%d0
-
+
zerobss_loop:
-
+
movel %d0,%a1@+ | to zero out uninitialized
cmpal %a0,%a1
jlt zerobss_loop | loop until end reached
@@ -60,14 +60,14 @@ zerobss_loop:
jsr boot_phase_3
-|
+|
| Initialised data
|
.sect .data
-
+
.global start_frame
-
+
start_frame:
.space 4,0
@@ -76,10 +76,10 @@ start_frame:
|
.sect .bss
-
+
.global environ
.align 2
-
+
environ:
.long 0
diff --git a/c/src/lib/libbsp/m68k/ods68302/start/reset.S b/c/src/lib/libbsp/m68k/ods68302/start/reset.S
index b07588e9b2..c6f80950f1 100644
--- a/c/src/lib/libbsp/m68k/ods68302/start/reset.S
+++ b/c/src/lib/libbsp/m68k/ods68302/start/reset.S
@@ -1,21 +1,21 @@
-/*
+/*
* $Id$
*
* Re-written the gen68302 start-up code.
- *
+ *
* Uses gas syntax only, removed the OAR asm.h.
- *
+ *
* Supplies a complete vector table in ROM.
- *
+ *
* Manages all vectors with seperate handlers to trap unhandled
* execptions.
- *
- * Uses the target specific header file to get the runtime
+ *
+ * Uses the target specific header file to get the runtime
* configuration
- *
+ *
* COPYRIGHT (c) 1996
* Objective Design Systems Pty Ltd (ODS)
- *
+ *
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
* On-Line Applications Research Corporation (OAR).
*
@@ -36,16 +36,16 @@
.sect .resettext
.global M68Kvec | Vector Table
-
+
M68Kvec: | standard location for vectors
-
+
|
| Make relative, can have the code positioned any where
|
V___ISSP: .long MC68302_BASE + MC68302_SYS_RAM_SIZE
V____IPC: .long start - V___ISSP
-
+
|
| Create the rest of the vector table to point to the unhandled expection
| handler
@@ -64,7 +64,7 @@ MAKE_EXCEPTION_VECTOR(6)
MAKE_EXCEPTION_VECTOR(7)
MAKE_EXCEPTION_VECTOR(8)
MAKE_EXCEPTION_VECTOR(9)
-
+
MAKE_EXCEPTION_VECTOR(10)
MAKE_EXCEPTION_VECTOR(11)
MAKE_EXCEPTION_VECTOR(12)
@@ -86,7 +86,7 @@ MAKE_EXCEPTION_VECTOR(26)
MAKE_EXCEPTION_VECTOR(27)
MAKE_EXCEPTION_VECTOR(28)
MAKE_EXCEPTION_VECTOR(29)
-
+
MAKE_EXCEPTION_VECTOR(30)
MAKE_EXCEPTION_VECTOR(31)
MAKE_EXCEPTION_VECTOR(32)
@@ -97,7 +97,7 @@ MAKE_EXCEPTION_VECTOR(36)
MAKE_EXCEPTION_VECTOR(37)
MAKE_EXCEPTION_VECTOR(38)
MAKE_EXCEPTION_VECTOR(39)
-
+
MAKE_EXCEPTION_VECTOR(40)
MAKE_EXCEPTION_VECTOR(41)
MAKE_EXCEPTION_VECTOR(42)
@@ -108,7 +108,7 @@ MAKE_EXCEPTION_VECTOR(46)
MAKE_EXCEPTION_VECTOR(47)
MAKE_EXCEPTION_VECTOR(48)
MAKE_EXCEPTION_VECTOR(49)
-
+
MAKE_EXCEPTION_VECTOR(50)
MAKE_EXCEPTION_VECTOR(51)
MAKE_EXCEPTION_VECTOR(52)
@@ -119,7 +119,7 @@ MAKE_EXCEPTION_VECTOR(56)
MAKE_EXCEPTION_VECTOR(57)
MAKE_EXCEPTION_VECTOR(58)
MAKE_EXCEPTION_VECTOR(59)
-
+
MAKE_EXCEPTION_VECTOR(60)
MAKE_EXCEPTION_VECTOR(61)
MAKE_EXCEPTION_VECTOR(62)
@@ -130,7 +130,7 @@ MAKE_EXCEPTION_VECTOR(66)
MAKE_EXCEPTION_VECTOR(67)
MAKE_EXCEPTION_VECTOR(68)
MAKE_EXCEPTION_VECTOR(69)
-
+
MAKE_EXCEPTION_VECTOR(70)
MAKE_EXCEPTION_VECTOR(71)
MAKE_EXCEPTION_VECTOR(72)
@@ -141,7 +141,7 @@ MAKE_EXCEPTION_VECTOR(76)
MAKE_EXCEPTION_VECTOR(77)
MAKE_EXCEPTION_VECTOR(78)
MAKE_EXCEPTION_VECTOR(79)
-
+
MAKE_EXCEPTION_VECTOR(80)
MAKE_EXCEPTION_VECTOR(81)
MAKE_EXCEPTION_VECTOR(82)
@@ -152,7 +152,7 @@ MAKE_EXCEPTION_VECTOR(86)
MAKE_EXCEPTION_VECTOR(87)
MAKE_EXCEPTION_VECTOR(88)
MAKE_EXCEPTION_VECTOR(89)
-
+
MAKE_EXCEPTION_VECTOR(90)
MAKE_EXCEPTION_VECTOR(91)
MAKE_EXCEPTION_VECTOR(92)
@@ -163,7 +163,7 @@ MAKE_EXCEPTION_VECTOR(96)
MAKE_EXCEPTION_VECTOR(97)
MAKE_EXCEPTION_VECTOR(98)
MAKE_EXCEPTION_VECTOR(99)
-
+
MAKE_EXCEPTION_VECTOR(100)
MAKE_EXCEPTION_VECTOR(101)
MAKE_EXCEPTION_VECTOR(102)
@@ -174,7 +174,7 @@ MAKE_EXCEPTION_VECTOR(106)
MAKE_EXCEPTION_VECTOR(107)
MAKE_EXCEPTION_VECTOR(108)
MAKE_EXCEPTION_VECTOR(109)
-
+
MAKE_EXCEPTION_VECTOR(110)
MAKE_EXCEPTION_VECTOR(111)
MAKE_EXCEPTION_VECTOR(112)
@@ -196,7 +196,7 @@ MAKE_EXCEPTION_VECTOR(126)
MAKE_EXCEPTION_VECTOR(127)
MAKE_EXCEPTION_VECTOR(128)
MAKE_EXCEPTION_VECTOR(129)
-
+
MAKE_EXCEPTION_VECTOR(130)
MAKE_EXCEPTION_VECTOR(131)
MAKE_EXCEPTION_VECTOR(132)
@@ -207,7 +207,7 @@ MAKE_EXCEPTION_VECTOR(136)
MAKE_EXCEPTION_VECTOR(137)
MAKE_EXCEPTION_VECTOR(138)
MAKE_EXCEPTION_VECTOR(139)
-
+
MAKE_EXCEPTION_VECTOR(140)
MAKE_EXCEPTION_VECTOR(141)
MAKE_EXCEPTION_VECTOR(142)
@@ -218,7 +218,7 @@ MAKE_EXCEPTION_VECTOR(146)
MAKE_EXCEPTION_VECTOR(147)
MAKE_EXCEPTION_VECTOR(148)
MAKE_EXCEPTION_VECTOR(149)
-
+
MAKE_EXCEPTION_VECTOR(150)
MAKE_EXCEPTION_VECTOR(151)
MAKE_EXCEPTION_VECTOR(152)
@@ -229,7 +229,7 @@ MAKE_EXCEPTION_VECTOR(156)
MAKE_EXCEPTION_VECTOR(157)
MAKE_EXCEPTION_VECTOR(158)
MAKE_EXCEPTION_VECTOR(159)
-
+
MAKE_EXCEPTION_VECTOR(160)
MAKE_EXCEPTION_VECTOR(161)
MAKE_EXCEPTION_VECTOR(162)
@@ -240,7 +240,7 @@ MAKE_EXCEPTION_VECTOR(166)
MAKE_EXCEPTION_VECTOR(167)
MAKE_EXCEPTION_VECTOR(168)
MAKE_EXCEPTION_VECTOR(169)
-
+
MAKE_EXCEPTION_VECTOR(170)
MAKE_EXCEPTION_VECTOR(171)
MAKE_EXCEPTION_VECTOR(172)
@@ -251,7 +251,7 @@ MAKE_EXCEPTION_VECTOR(176)
MAKE_EXCEPTION_VECTOR(177)
MAKE_EXCEPTION_VECTOR(178)
MAKE_EXCEPTION_VECTOR(179)
-
+
MAKE_EXCEPTION_VECTOR(180)
MAKE_EXCEPTION_VECTOR(181)
MAKE_EXCEPTION_VECTOR(182)
@@ -262,7 +262,7 @@ MAKE_EXCEPTION_VECTOR(186)
MAKE_EXCEPTION_VECTOR(187)
MAKE_EXCEPTION_VECTOR(188)
MAKE_EXCEPTION_VECTOR(189)
-
+
MAKE_EXCEPTION_VECTOR(190)
MAKE_EXCEPTION_VECTOR(191)
MAKE_EXCEPTION_VECTOR(192)
@@ -273,7 +273,7 @@ MAKE_EXCEPTION_VECTOR(196)
MAKE_EXCEPTION_VECTOR(197)
MAKE_EXCEPTION_VECTOR(198)
MAKE_EXCEPTION_VECTOR(199)
-
+
MAKE_EXCEPTION_VECTOR(200)
MAKE_EXCEPTION_VECTOR(201)
MAKE_EXCEPTION_VECTOR(202)
@@ -284,7 +284,7 @@ MAKE_EXCEPTION_VECTOR(206)
MAKE_EXCEPTION_VECTOR(207)
MAKE_EXCEPTION_VECTOR(208)
MAKE_EXCEPTION_VECTOR(209)
-
+
MAKE_EXCEPTION_VECTOR(210)
MAKE_EXCEPTION_VECTOR(211)
MAKE_EXCEPTION_VECTOR(212)
@@ -295,7 +295,7 @@ MAKE_EXCEPTION_VECTOR(216)
MAKE_EXCEPTION_VECTOR(217)
MAKE_EXCEPTION_VECTOR(218)
MAKE_EXCEPTION_VECTOR(219)
-
+
MAKE_EXCEPTION_VECTOR(220)
MAKE_EXCEPTION_VECTOR(221)
MAKE_EXCEPTION_VECTOR(222)
@@ -306,7 +306,7 @@ MAKE_EXCEPTION_VECTOR(226)
MAKE_EXCEPTION_VECTOR(227)
MAKE_EXCEPTION_VECTOR(228)
MAKE_EXCEPTION_VECTOR(229)
-
+
MAKE_EXCEPTION_VECTOR(230)
MAKE_EXCEPTION_VECTOR(231)
MAKE_EXCEPTION_VECTOR(232)
@@ -317,7 +317,7 @@ MAKE_EXCEPTION_VECTOR(236)
MAKE_EXCEPTION_VECTOR(237)
MAKE_EXCEPTION_VECTOR(238)
MAKE_EXCEPTION_VECTOR(239)
-
+
MAKE_EXCEPTION_VECTOR(240)
MAKE_EXCEPTION_VECTOR(241)
MAKE_EXCEPTION_VECTOR(242)
@@ -328,20 +328,20 @@ MAKE_EXCEPTION_VECTOR(246)
MAKE_EXCEPTION_VECTOR(247)
MAKE_EXCEPTION_VECTOR(248)
MAKE_EXCEPTION_VECTOR(249)
-
+
MAKE_EXCEPTION_VECTOR(250)
MAKE_EXCEPTION_VECTOR(251)
MAKE_EXCEPTION_VECTOR(252)
MAKE_EXCEPTION_VECTOR(253)
MAKE_EXCEPTION_VECTOR(254)
-MAKE_EXCEPTION_VECTOR(255)
+MAKE_EXCEPTION_VECTOR(255)
|
| Start
|
| Entered from a hardware reset.
|
-
+
.global start | Default entry point for GNU
start:
@@ -368,27 +368,27 @@ start:
| watch for sign extended maths with the linker on (boot_phase_1-V___ISSP)
| manage the address with code, limited address of 2K at reset for CS0
|
-
+
move.l #boot_phase_1,%d0
and.l #0x1FFF,%d0
move.l %d0,%a0
jsr %a0@(0) | programs all basic 302 registers
-
+
|
| Map to the 68302 registers
|
-
+
move.l #MC68302_BASE,%a5
-
+
|
| Make a vector table in RAM
|
-
+
move.l #RAM_BASE,%a0 | a0 -> rom vector table
moveal #ROM_BASE,%a1 | d1 -> start of tmp SRAM
-
+
move.l #255,%d0
-
+
copy_vec_table:
move.l (%a0)+,%d1
@@ -397,7 +397,7 @@ copy_vec_table:
subq.l #1,%d0
bne copy_vec_table
-#if defined(SYSTEM_TABLE_ANCHOR_OFFSET)
+#if defined(SYSTEM_TABLE_ANCHOR_OFFSET)
|
| Clear the system table
|
@@ -405,11 +405,11 @@ copy_vec_table:
move.l #SYSTEM_TABLE_ANCHOR_OFFSET,%a0
move.l #0,(%a0)
#endif
-
+
|
| Copy the chip select swap code to DPRAM and run it
|
-
+
move.l #boot_phase_2,%d0
and.l #(ROM_SIZE - 1),%d0
move.l %d0,%a0 | a0 -> remap code
@@ -418,7 +418,7 @@ copy_vec_table:
move.l #boot_phase_3,%d0
and.l #(ROM_SIZE - 1),%d0
sub.l %a0,%d0
-
+
copy_remap:
move.b (%a0)+,(%a1)+ | copy
dbra %d0,copy_remap
@@ -432,9 +432,9 @@ copy_remap:
|
| Map to the 68302 registers
|
-
+
move.l #MC68302_BASE,%a5
-
+
|
| Copy initialized data area from ROM to RAM
|
@@ -443,13 +443,13 @@ copy_data:
moveal #_etext,%a0 | find the end of .text
moveal #_copy_start,%a1 | find the beginning of .data
moveal #_edata,%a2 | find the end of .data
-
+
copy_data_loop:
-
+
movel %a0@+,%a1@+ | copy the data
cmpal %a2,%a1
jlt copy_data_loop | loop until edata reached
-
+
|
| zero out uninitialized data area
|
@@ -458,16 +458,16 @@ zerobss:
moveal #_clear_end,%a0 | find end of .bss
moveal #_clear_start,%a1 | find beginning of .bss
moveq #0,%d0
-
+
zerobss_loop:
-
+
movel %d0,%a1@+ | to zero out uninitialized
cmpal %a0,%a1
jlt zerobss_loop | loop until _end reached
movel #stack_end,%d0
andl #0xfffffffc,%d0 | align it on 16 byte boundary
-
+
movw #0x3700,%sr | SUPV MODE,INTERRUPTS OFF!!!
movel %d0,%a7 | set master stack pointer
movel %d0,%a6 | set base pointer
@@ -478,17 +478,17 @@ zerobss_loop:
| Create an unhandled exception jump table. The table has an entry for
| each vector in the vector table. The entry pushes the vector number onto
| the stack and then calls a common exception handler using PIC.
-|
+|
| The macros are to create the labels and format vectors.
|
-
+
#define FORMAT_ID(n) (n << 2)
#define EXPAND(x) x
#define EXCEPTION_HANDLER(h, n) EH__##n: move.w EXPAND(h) FORMAT_ID(n),-(%sp) ; \
bra common_exception_handler
unhandled_exception:
-
+
EXCEPTION_HANDLER(#, 0)
EXCEPTION_HANDLER(#, 1)
EXCEPTION_HANDLER(#, 2)
@@ -499,7 +499,7 @@ EXCEPTION_HANDLER(#, 6)
EXCEPTION_HANDLER(#, 7)
EXCEPTION_HANDLER(#, 8)
EXCEPTION_HANDLER(#, 9)
-
+
EXCEPTION_HANDLER(#, 10)
EXCEPTION_HANDLER(#, 11)
EXCEPTION_HANDLER(#, 12)
@@ -521,7 +521,7 @@ EXCEPTION_HANDLER(#, 26)
EXCEPTION_HANDLER(#, 27)
EXCEPTION_HANDLER(#, 28)
EXCEPTION_HANDLER(#, 29)
-
+
EXCEPTION_HANDLER(#, 30)
EXCEPTION_HANDLER(#, 31)
EXCEPTION_HANDLER(#, 32)
@@ -532,7 +532,7 @@ EXCEPTION_HANDLER(#, 36)
EXCEPTION_HANDLER(#, 37)
EXCEPTION_HANDLER(#, 38)
EXCEPTION_HANDLER(#, 39)
-
+
EXCEPTION_HANDLER(#, 40)
EXCEPTION_HANDLER(#, 41)
EXCEPTION_HANDLER(#, 42)
@@ -543,7 +543,7 @@ EXCEPTION_HANDLER(#, 46)
EXCEPTION_HANDLER(#, 47)
EXCEPTION_HANDLER(#, 48)
EXCEPTION_HANDLER(#, 49)
-
+
EXCEPTION_HANDLER(#, 50)
EXCEPTION_HANDLER(#, 51)
EXCEPTION_HANDLER(#, 52)
@@ -554,7 +554,7 @@ EXCEPTION_HANDLER(#, 56)
EXCEPTION_HANDLER(#, 57)
EXCEPTION_HANDLER(#, 58)
EXCEPTION_HANDLER(#, 59)
-
+
EXCEPTION_HANDLER(#, 60)
EXCEPTION_HANDLER(#, 61)
EXCEPTION_HANDLER(#, 62)
@@ -565,7 +565,7 @@ EXCEPTION_HANDLER(#, 66)
EXCEPTION_HANDLER(#, 67)
EXCEPTION_HANDLER(#, 68)
EXCEPTION_HANDLER(#, 69)
-
+
EXCEPTION_HANDLER(#, 70)
EXCEPTION_HANDLER(#, 71)
EXCEPTION_HANDLER(#, 72)
@@ -576,7 +576,7 @@ EXCEPTION_HANDLER(#, 76)
EXCEPTION_HANDLER(#, 77)
EXCEPTION_HANDLER(#, 78)
EXCEPTION_HANDLER(#, 79)
-
+
EXCEPTION_HANDLER(#, 80)
EXCEPTION_HANDLER(#, 81)
EXCEPTION_HANDLER(#, 82)
@@ -587,7 +587,7 @@ EXCEPTION_HANDLER(#, 86)
EXCEPTION_HANDLER(#, 87)
EXCEPTION_HANDLER(#, 88)
EXCEPTION_HANDLER(#, 89)
-
+
EXCEPTION_HANDLER(#, 90)
EXCEPTION_HANDLER(#, 91)
EXCEPTION_HANDLER(#, 92)
@@ -598,7 +598,7 @@ EXCEPTION_HANDLER(#, 96)
EXCEPTION_HANDLER(#, 97)
EXCEPTION_HANDLER(#, 98)
EXCEPTION_HANDLER(#, 99)
-
+
EXCEPTION_HANDLER(#, 100)
EXCEPTION_HANDLER(#, 101)
EXCEPTION_HANDLER(#, 102)
@@ -609,7 +609,7 @@ EXCEPTION_HANDLER(#, 106)
EXCEPTION_HANDLER(#, 107)
EXCEPTION_HANDLER(#, 108)
EXCEPTION_HANDLER(#, 109)
-
+
EXCEPTION_HANDLER(#, 110)
EXCEPTION_HANDLER(#, 111)
EXCEPTION_HANDLER(#, 112)
@@ -631,7 +631,7 @@ EXCEPTION_HANDLER(#, 126)
EXCEPTION_HANDLER(#, 127)
EXCEPTION_HANDLER(#, 128)
EXCEPTION_HANDLER(#, 129)
-
+
EXCEPTION_HANDLER(#, 130)
EXCEPTION_HANDLER(#, 131)
EXCEPTION_HANDLER(#, 132)
@@ -642,7 +642,7 @@ EXCEPTION_HANDLER(#, 136)
EXCEPTION_HANDLER(#, 137)
EXCEPTION_HANDLER(#, 138)
EXCEPTION_HANDLER(#, 139)
-
+
EXCEPTION_HANDLER(#, 140)
EXCEPTION_HANDLER(#, 141)
EXCEPTION_HANDLER(#, 142)
@@ -653,7 +653,7 @@ EXCEPTION_HANDLER(#, 146)
EXCEPTION_HANDLER(#, 147)
EXCEPTION_HANDLER(#, 148)
EXCEPTION_HANDLER(#, 149)
-
+
EXCEPTION_HANDLER(#, 150)
EXCEPTION_HANDLER(#, 151)
EXCEPTION_HANDLER(#, 152)
@@ -664,7 +664,7 @@ EXCEPTION_HANDLER(#, 156)
EXCEPTION_HANDLER(#, 157)
EXCEPTION_HANDLER(#, 158)
EXCEPTION_HANDLER(#, 159)
-
+
EXCEPTION_HANDLER(#, 160)
EXCEPTION_HANDLER(#, 161)
EXCEPTION_HANDLER(#, 162)
@@ -675,7 +675,7 @@ EXCEPTION_HANDLER(#, 166)
EXCEPTION_HANDLER(#, 167)
EXCEPTION_HANDLER(#, 168)
EXCEPTION_HANDLER(#, 169)
-
+
EXCEPTION_HANDLER(#, 170)
EXCEPTION_HANDLER(#, 171)
EXCEPTION_HANDLER(#, 172)
@@ -686,7 +686,7 @@ EXCEPTION_HANDLER(#, 176)
EXCEPTION_HANDLER(#, 177)
EXCEPTION_HANDLER(#, 178)
EXCEPTION_HANDLER(#, 179)
-
+
EXCEPTION_HANDLER(#, 180)
EXCEPTION_HANDLER(#, 181)
EXCEPTION_HANDLER(#, 182)
@@ -697,7 +697,7 @@ EXCEPTION_HANDLER(#, 186)
EXCEPTION_HANDLER(#, 187)
EXCEPTION_HANDLER(#, 188)
EXCEPTION_HANDLER(#, 189)
-
+
EXCEPTION_HANDLER(#, 190)
EXCEPTION_HANDLER(#, 191)
EXCEPTION_HANDLER(#, 192)
@@ -708,7 +708,7 @@ EXCEPTION_HANDLER(#, 196)
EXCEPTION_HANDLER(#, 197)
EXCEPTION_HANDLER(#, 198)
EXCEPTION_HANDLER(#, 199)
-
+
EXCEPTION_HANDLER(#, 200)
EXCEPTION_HANDLER(#, 201)
EXCEPTION_HANDLER(#, 202)
@@ -719,7 +719,7 @@ EXCEPTION_HANDLER(#, 206)
EXCEPTION_HANDLER(#, 207)
EXCEPTION_HANDLER(#, 208)
EXCEPTION_HANDLER(#, 209)
-
+
EXCEPTION_HANDLER(#, 210)
EXCEPTION_HANDLER(#, 211)
EXCEPTION_HANDLER(#, 212)
@@ -730,7 +730,7 @@ EXCEPTION_HANDLER(#, 216)
EXCEPTION_HANDLER(#, 217)
EXCEPTION_HANDLER(#, 218)
EXCEPTION_HANDLER(#, 219)
-
+
EXCEPTION_HANDLER(#, 220)
EXCEPTION_HANDLER(#, 221)
EXCEPTION_HANDLER(#, 222)
@@ -741,7 +741,7 @@ EXCEPTION_HANDLER(#, 226)
EXCEPTION_HANDLER(#, 227)
EXCEPTION_HANDLER(#, 228)
EXCEPTION_HANDLER(#, 229)
-
+
EXCEPTION_HANDLER(#, 230)
EXCEPTION_HANDLER(#, 231)
EXCEPTION_HANDLER(#, 232)
@@ -752,7 +752,7 @@ EXCEPTION_HANDLER(#, 236)
EXCEPTION_HANDLER(#, 237)
EXCEPTION_HANDLER(#, 238)
EXCEPTION_HANDLER(#, 239)
-
+
EXCEPTION_HANDLER(#, 240)
EXCEPTION_HANDLER(#, 241)
EXCEPTION_HANDLER(#, 242)
@@ -763,15 +763,15 @@ EXCEPTION_HANDLER(#, 246)
EXCEPTION_HANDLER(#, 247)
EXCEPTION_HANDLER(#, 248)
EXCEPTION_HANDLER(#, 249)
-
+
EXCEPTION_HANDLER(#, 250)
EXCEPTION_HANDLER(#, 251)
EXCEPTION_HANDLER(#, 252)
EXCEPTION_HANDLER(#, 253)
EXCEPTION_HANDLER(#, 254)
-EXCEPTION_HANDLER(#, 255)
+EXCEPTION_HANDLER(#, 255)
-common_exception_handler:
+common_exception_handler:
|
| Need to put the format/vector above the PC and status register
@@ -792,14 +792,14 @@ common_exception_handler:
beq ceh_10
bra ceh_20
-ceh_10:
+ceh_10:
move.w %d0,12(%sp) | need to move the format/id
move.l (%sp)+,%d0 | recover d0
addq #8,%sp | trash the stack
move.l %d0,-(%sp) | free a register, again
move.w 4(%sp),%d0 | get the format/vector id
-
+
ceh_20:
move.w 6(%sp),4(%sp)
@@ -829,7 +829,7 @@ ceh_20:
move.l %d0,%a0 | need an address register for jumping
jsr %a0@(0)
-ceh_30:
+ceh_30:
jmp ceh_30
|
@@ -840,17 +840,17 @@ ceh_30:
.global vector_table
-vector_table:
+vector_table:
.space (256 * 4),0
-|
+|
| Initialised data
|
.sect .data
-
+
.global start_frame
-
+
start_frame:
.space 4,0
@@ -860,10 +860,10 @@ start_frame:
|
.sect .bss
-
+
.global environ
.align 2
-
+
environ:
.long 0
@@ -873,7 +873,7 @@ environ:
.global stack_size
.set stack_size,0x1000
.global stack_start
-
+
stack_start:
stack_base:
.space 0x2000, 0
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/bspstart.c b/c/src/lib/libbsp/m68k/ods68302/startup/bspstart.c
index eb5bde8e54..09c38108d0 100644
--- a/c/src/lib/libbsp/m68k/ods68302/startup/bspstart.c
+++ b/c/src/lib/libbsp/m68k/ods68302/startup/bspstart.c
@@ -19,7 +19,7 @@
#include <bsp.h>
#include <rtems/libio.h>
#include <rtems/libcsupport.h>
-
+
/*
* The original table from the application and our copy of it with
* some changes.
@@ -36,7 +36,7 @@ char *rtems_progname;
/*
* Use the shared implementations of the following routines
*/
-
+
void bsp_postdriver_hook(void);
void bsp_libc_init( void *, uint32_t, int );
void bsp_pretasking_hook(void); /* m68k version */
@@ -54,7 +54,7 @@ void bsp_start( void )
extern unsigned long _M68k_Ramsize;
_M68k_Ramsize = (unsigned long)&_RamSize; /* RAM size set in linker script */
-
+
#if 0
Cpu_table.interrupt_vector_table = (mc68000_isr *) 0/*&M68Kvec*/;
#endif
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/cpuboot.c b/c/src/lib/libbsp/m68k/ods68302/startup/cpuboot.c
index 29fdcf9de9..25fd3ddc75 100644
--- a/c/src/lib/libbsp/m68k/ods68302/startup/cpuboot.c
+++ b/c/src/lib/libbsp/m68k/ods68302/startup/cpuboot.c
@@ -26,9 +26,9 @@
This code executes with a valid C environment. That is the data
section has been intialised and the bss section set to 0. This phase
performs any special card initialisation and then calls boot card.
-
+
$Id$
-
+
*/
/*****************************************************************************/
@@ -62,12 +62,12 @@ void boot_phase_1()
WRITE_OR(CSEL_1, CSEL_1_SIZE, CSEL_1_WAIT_STATES, OR_MASK_RW, OR_MASK_FC);
WRITE_BR(CSEL_1, CSEL_1_BASE, BR_READ_WRITE, BR_FC_NULL, BR_ENABLED);
#endif
-
+
#if defined(CSEL_2)
WRITE_OR(CSEL_2, CSEL_2_SIZE, CSEL_2_WAIT_STATES, OR_MASK_RW, OR_MASK_FC);
WRITE_BR(CSEL_2, CSEL_2_BASE, BR_READ_WRITE, BR_FC_NULL, BR_ENABLED);
#endif
-
+
m302.reg.ipr = m302.reg.imr = m302.reg.isr = 0;
m302.reg.gimr = 0x0080;
@@ -86,7 +86,7 @@ void boot_phase_1()
#if defined(LED_CONTROL)
LED_CONTROL(LED_1_RED, LED_2_OFF, LED_3_OFF, LED_4_OFF,
LED_5_OFF, LED_6_OFF, LED_7_OFF, LED_8_OFF);
-#endif
+#endif
}
/*
@@ -96,15 +96,15 @@ void boot_phase_1()
void boot_phase_2(void)
{
uint32_t stack;
-
+
#if defined(LED_CONTROL)
LED_CONTROL(LED_1_RED, LED_2_RED, LED_3_OFF, LED_4_OFF,
LED_5_OFF, LED_6_OFF, LED_7_OFF, LED_8_OFF);
#endif
-
+
WRITE_BR(CSEL_ROM, _ROM_BASE, BR_READ_ONLY, BR_FC_NULL, BR_ENABLED);
WRITE_BR(CSEL_RAM, _RAM_BASE, BR_READ_WRITE, BR_FC_NULL, BR_ENABLED);
-
+
#if defined(LED_CONTROL)
LED_CONTROL(LED_1_GREEN, LED_2_RED, LED_3_OFF, LED_4_OFF,
LED_5_OFF, LED_6_OFF, LED_7_OFF, LED_8_OFF);
@@ -130,11 +130,11 @@ void boot_phase_3(void)
set_debug_traps();
breakpoint();
}
-
+
debug_port_banner();
-
+
/* FIXME : add RAM and ROM checks */
-
+
/* boot the bsp, what ever this means */
boot_card();
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/debugport.c b/c/src/lib/libbsp/m68k/ods68302/startup/debugport.c
index be9da857b5..7ef16eb9a8 100644
--- a/c/src/lib/libbsp/m68k/ods68302/startup/debugport.c
+++ b/c/src/lib/libbsp/m68k/ods68302/startup/debugport.c
@@ -3,7 +3,7 @@
High Level Debug Port Functions
$Id$
-
+
*/
/*****************************************************************************/
@@ -28,10 +28,10 @@ unsigned char debug_port_status(const unsigned char status)
{
if (!initialised)
{
- initialised = 1;
+ initialised = 1;
debug_port_initialise();
}
-
+
return scc_status(CONSOLE_PORT, status);
}
@@ -39,10 +39,10 @@ unsigned char debug_port_in(void)
{
if (!initialised)
{
- initialised = 1;
+ initialised = 1;
debug_port_initialise();
}
-
+
return scc_in(CONSOLE_PORT);
}
@@ -50,10 +50,10 @@ void debug_port_out(const unsigned char character)
{
if (!initialised)
{
- initialised = 1;
+ initialised = 1;
debug_port_initialise();
}
-
+
scc_out(CONSOLE_PORT, character);
}
@@ -137,7 +137,7 @@ void debug_port_printf(const char *format, ...)
written = vsprintf(buffer, format, args);
/* try an trap format buffer overflows */
- if ((buffer[BUFFER_SIZE - 2] != '\xAA') ||
+ if ((buffer[BUFFER_SIZE - 2] != '\xAA') ||
(buffer[BUFFER_SIZE - 1] != '\x55'))
{
debug_port_write("debug port buffer overflow, halting...");
@@ -155,7 +155,7 @@ void debug_port_printf(const char *format, ...)
void debug_port_banner(void)
{
#define CARD_LABEL "ods68302-" #VARIANT
-
+
debug_port_write("\n\n\r");
debug_port_write(_Copyright_Notice);
debug_port_write("\n\r " CARD_ID "\n\r");
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/gdb-hooks.c b/c/src/lib/libbsp/m68k/ods68302/startup/gdb-hooks.c
index 3c3cb72582..957535389a 100644
--- a/c/src/lib/libbsp/m68k/ods68302/startup/gdb-hooks.c
+++ b/c/src/lib/libbsp/m68k/ods68302/startup/gdb-hooks.c
@@ -1,7 +1,7 @@
/*****************************************************************************/
/*
$Id$
-
+
Hooks for GDB
*/
@@ -21,7 +21,7 @@ void putDebugChar(char ch)
scc_initialise(DEBUG_PORT, DEBUG_BAUD, 0);
initialised = 1;
}
-
+
scc_out(DEBUG_PORT, ch);
}
@@ -34,8 +34,8 @@ char getDebugChar(void)
}
while (!scc_status(DEBUG_PORT, 0));
-
- return scc_in(DEBUG_PORT);
+
+ return scc_in(DEBUG_PORT);
}
/*
@@ -65,7 +65,7 @@ static GDB_HANDLER_ENTRY gdb_jump_table[256];
void exceptionHandler(unsigned int vector, void *handler)
{
uint32_t *interrupt_table = 0;
-
+
gdb_jump_table[vector].move_a7 = M68K_MOVE_A7;
gdb_jump_table[vector].format_id = vector;
gdb_jump_table[vector].jmp = M68K_JMP;
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/m68302scc.c b/c/src/lib/libbsp/m68k/ods68302/startup/m68302scc.c
index 542ad8d9ad..4b7c7d9440 100644
--- a/c/src/lib/libbsp/m68k/ods68302/startup/m68302scc.c
+++ b/c/src/lib/libbsp/m68k/ods68302/startup/m68302scc.c
@@ -1,7 +1,7 @@
/*****************************************************************************/
/*
$Id$
-
+
M68302 SCC Polled Driver
*/
@@ -27,29 +27,29 @@ static const uint16_t baud_clocks[] =
(SYSTEM_CLOCK / ( 57600 * 16)),
(SYSTEM_CLOCK / (115700 * 16))
};
-
+
void scc_initialise(int channel, int baud, int translate)
{
uint16_t scon;
-
+
if (channel < M68302_SCC_COUNT)
{
scc[channel] = &m302.scc1 + channel;
scc_reg[channel] = &m302.reg.scc[channel];
scc_translate[channel] = translate;
-
+
scon = (baud_clocks[baud] & 0xF800) == 0 ? 0 : 1;
scon |= (((baud_clocks[baud] / (1 + scon * 3)) - 1) << 1) & 0x0FFE;
-
+
scc_reg[channel]->scon = scon;
scc_reg[channel]->scm = 0x0171;
- scc[channel]->bd.tx[0].status = 0x2000;
+ scc[channel]->bd.tx[0].status = 0x2000;
scc[channel]->bd.tx[0].length = 0;
scc[channel]->bd.tx[0].buffer =
(uint8_t*) &(scc[channel]->bd.tx[1].buffer);
- scc[channel]->bd.rx[0].status = 0x2000;
+ scc[channel]->bd.rx[0].status = 0x2000;
scc[channel]->bd.rx[0].length = 0;
scc[channel]->bd.rx[0].buffer =
(uint8_t*) &(scc[channel]->bd.rx[1].buffer);
@@ -73,7 +73,7 @@ void scc_initialise(int channel, int baud, int translate)
scc_reg[channel]->sccm = 0x15;
scc_reg[channel]->scm = 0x17d;
- }
+ }
}
unsigned char scc_status(int channel, unsigned char status)
@@ -84,7 +84,7 @@ unsigned char scc_status(int channel, unsigned char status)
if ((channel < M68302_SCC_COUNT) && scc[channel])
{
- rx_status = scc[channel]->bd.rx[0].status;
+ rx_status = scc[channel]->bd.rx[0].status;
if ((rx_status & 0x8000) == 0)
{
@@ -98,7 +98,7 @@ unsigned char scc_status(int channel, unsigned char status)
}
}
}
-
+
return 0;
}
@@ -115,11 +115,11 @@ unsigned char scc_in(int channel)
c = *(scc[channel]->bd.rx[0].buffer);
scc[channel]->bd.rx[0].status = 0xa000;
-
+
return c;
}
}
-
+
return 0;
}
@@ -139,11 +139,11 @@ void scc_out(int channel, unsigned char character)
scc[channel]->bd.tx[0].status = 0xa000;
if (scc_translate[channel])
- {
+ {
if (character == '\n')
- {
+ {
scc_out(channel, '\r');
}
}
- }
+ }
}
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/m68k-stub.c b/c/src/lib/libbsp/m68k/ods68302/startup/m68k-stub.c
index cf9b4c2e39..95e404677f 100644
--- a/c/src/lib/libbsp/m68k/ods68302/startup/m68k-stub.c
+++ b/c/src/lib/libbsp/m68k/ods68302/startup/m68k-stub.c
@@ -1,9 +1,9 @@
/****************************************************************************
- THIS SOFTWARE IS NOT COPYRIGHTED
-
+ THIS SOFTWARE IS NOT COPYRIGHTED
+
HP offers the following for use in the public domain. HP makes no
- warranty with regard to the software or it's performance and the
+ warranty with regard to the software or it's performance and the
user accepts the software "AS IS" with all faults.
HP DISCLAIMS ANY WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD
@@ -13,22 +13,22 @@
****************************************************************************/
/****************************************************************************
- * Header: remcom.c,v 1.34 91/03/09 12:29:49 glenne Exp $
+ * Header: remcom.c,v 1.34 91/03/09 12:29:49 glenne Exp $
*
- * Module name: remcom.c $
+ * Module name: remcom.c $
* Revision: 1.34 $
* Date: 91/03/09 12:29:49 $
* Contributor: Lake Stevens Instrument Division$
- *
+ *
* Description: low level support for gdb debugger. $
*
* Considerations: only works on target hardware $
*
* Written by: Glenn Engel $
- * ModuleState: Experimental $
+ * ModuleState: Experimental $
*
* NOTES: See Below $
- *
+ *
* To enable debugger support, two things need to happen. One, a
* call to set_debug_traps() is necessary in order to allow any breakpoints
* or error conditions to be properly intercepted and reported to gdb.
@@ -39,15 +39,15 @@
* there either should be a standard breakpoint instruction, or the protocol
* should be extended to provide some means to communicate which breakpoint
* instruction is in use (or have the stub insert the breakpoint).
- *
+ *
* Some explanation is probably necessary to explain how exceptions are
* handled. When an exception is encountered the 68000 pushes the current
* program counter and status register onto the supervisor stack and then
* transfers execution to a location specified in it's vector table.
* The handlers for the exception vectors are hardwired to jmp to an address
- * given by the relation: (exception - 256) * 6. These are decending
+ * given by the relation: (exception - 256) * 6. These are decending
* addresses starting from -6, -12, -18, ... By allowing 6 bytes for
- * each entry, a jsr, jmp, bsr, ... can be used to enter the exception
+ * each entry, a jsr, jmp, bsr, ... can be used to enter the exception
* handler. Using a jsr to handle an exception has an added benefit of
* allowing a single handler to service several exceptions and use the
* return address as the key differentiation. The vector number can be
@@ -59,50 +59,50 @@
* For 68020 machines, the ability to have a return address around just
* so the vector can be determined is not necessary because the '020 pushes an
* extra word onto the stack containing the vector offset
- *
+ *
* Because gdb will sometimes write to the stack area to execute function
* calls, this program cannot rely on using the supervisor stack so it
- * uses it's own stack area reserved in the int array remcomStack.
- *
+ * uses it's own stack area reserved in the int array remcomStack.
+ *
*************
*
* The following gdb commands are supported:
- *
+ *
* command function Return value
- *
+ *
* g return the value of the CPU registers hex data or ENN
* G set the value of the CPU registers OK or ENN
- *
+ *
* mAA..AA,LLLL Read LLLL bytes at address AA..AA hex data or ENN
* MAA..AA,LLLL: Write LLLL bytes at address AA.AA OK or ENN
- *
+ *
* c Resume at current address SNN ( signal NN)
* cAA..AA Continue at address AA..AA SNN
- *
+ *
* s Step one instruction SNN
* sAA..AA Step one instruction from AA..AA SNN
- *
+ *
* k kill
*
* ? What was the last sigval ? SNN (signal NN)
- *
- * All commands and responses are sent with a packet which includes a
- * checksum. A packet consists of
- *
+ *
+ * All commands and responses are sent with a packet which includes a
+ * checksum. A packet consists of
+ *
* $<packet info>#<checksum>.
- *
+ *
* where
* <packet info> :: <characters representing the command or response>
* <checksum> :: < two hex digits computed as modulo 256 sum of <packetinfo>>
- *
+ *
* When a packet is received, it is first acknowledged with either '+' or '-'.
* '+' indicates a successful transfer. '-' indicates a failed transfer.
- *
+ *
* Example:
- *
+ *
* Host: Reply:
* $m0,10#2a +$00010203040506070809101112131415#42
- *
+ *
* $Id$
*
****************************************************************************/
@@ -116,7 +116,7 @@
/************************************************************************
*
- * external low-level support routines
+ * external low-level support routines
*/
typedef void (*ExceptionHook)(int); /* pointer to function with int parm */
typedef void (*Function)(void); /* pointer to a function */
@@ -153,15 +153,15 @@ void breakpoint(void);
static char initialized; /* boolean flag. != 0 means we've been initialized */
int remote_debug;
-/* debug > 0 prints ill-formed commands in valid packets & checksum errors */
+/* debug > 0 prints ill-formed commands in valid packets & checksum errors */
static const char hexchars[]="0123456789abcdef";
/* there are 180 bytes of registers on a 68020 w/68881 */
/* many of the fpa registers are 12 byte (96 bit) registers */
#define NUMREGBYTES 180
-enum regnames {D0,D1,D2,D3,D4,D5,D6,D7,
- A0,A1,A2,A3,A4,A5,A6,A7,
+enum regnames {D0,D1,D2,D3,D4,D5,D6,D7,
+ A0,A1,A2,A3,A4,A5,A6,A7,
PS,PC,
FP0,FP1,FP2,FP3,FP4,FP5,FP6,FP7,
FPCONTROL,FPSTATUS,FPIADDR
@@ -205,7 +205,7 @@ static int* stackPtr = &remcomStack[STACKSIZE/sizeof(int) - 1];
/*
* In many cases, the system will want to continue exception processing
- * when a continue command is given.
+ * when a continue command is given.
* oldExceptionHook is a function to invoke in this case.
*/
@@ -351,11 +351,11 @@ extern void _catchException(void);
* stack on entry: stack on exit:
* N bytes of junk exception # MSWord
* Exception Format Word exception # MSWord
- * Program counter LSWord
- * Program counter MSWord
- * Status Register
- *
- *
+ * Program counter LSWord
+ * Program counter MSWord
+ * Status Register
+ *
+ *
*/
asm(" \n\
.text\n\
@@ -371,7 +371,7 @@ asm("\n\
moveml %d0-%d7/%a0-%a6,registers /* save registers */\n\
movel lastFrame,%a0 /* last frame pointer */\n\
");
-SAVE_FP_REGS();
+SAVE_FP_REGS();
asm("\n\
lea registers,%a5 /* get address of registers */\n\
movew %sp@,%d1 /* get status register */\n\
@@ -445,14 +445,14 @@ a7saveDone:\n\
/* This function is called when an exception occurs. It translates the
* return address found on the stack into an exception vector # which
* is then handled by either handle_exception or a system handler.
- * _catchException provides a front end for both.
+ * _catchException provides a front end for both.
*
* stack on entry: stack on exit:
- * Program counter MSWord exception # MSWord
+ * Program counter MSWord exception # MSWord
* Program counter LSWord exception # MSWord
- * Status Register
- * Return Address MSWord
- * Return Address LSWord
+ * Status Register
+ * Return Address MSWord
+ * Return Address LSWord
*/
asm("\n\
.text\n\
@@ -466,7 +466,7 @@ asm("\n\
movel lastFrame,%a0 /* last frame pointer */\n\
");
-SAVE_FP_REGS();
+SAVE_FP_REGS();
asm("\n\
moveq.l #0,%d2\n\
movew %sp@+,%d2\n\
@@ -566,7 +566,7 @@ void _returnFromException(Frame *frame)
frame->pc = registers[(int) PC];
if (registers[(int) PS] & 0x2000)
- {
+ {
/* return to supervisor mode... */
return_to_super();
}
@@ -592,15 +592,15 @@ void getpacket(char *buffer)
int i;
int count;
char ch;
-
+
do {
/* wait around for the start character, ignore all other characters */
- while ((ch = (getDebugChar() & 0x7f)) != '$');
+ while ((ch = (getDebugChar() & 0x7f)) != '$');
checksum = 0;
xmitcsum = -1;
-
+
count = 0;
-
+
/* now, read until a # or end of buffer is found */
while (count < BUFMAX) {
ch = getDebugChar() & 0x7f;
@@ -618,8 +618,8 @@ void getpacket(char *buffer)
debug_port_printf ("bad checksum. My count = 0x%x, sent=0x%x. buf=%s\n",
checksum,xmitcsum,buffer);
}
-
- if (checksum != xmitcsum) putDebugChar('-'); /* failed checksum */
+
+ if (checksum != xmitcsum) putDebugChar('-'); /* failed checksum */
else {
putDebugChar('+'); /* successful transfer */
/* if a sequence char is present, reply the sequence ID */
@@ -629,13 +629,13 @@ void getpacket(char *buffer)
/* remove sequence chars from buffer */
count = strlen(buffer);
for (i=3; i <= count; i++) buffer[i-3] = buffer[i];
- }
- }
- }
- } while (checksum != xmitcsum);
+ }
+ }
+ }
+ } while (checksum != xmitcsum);
}
-/* send the packet in buffer. The host get's one chance to read it.
+/* send the packet in buffer. The host get's one chance to read it.
This routine does not wait for a positive acknowledge. */
@@ -645,25 +645,25 @@ putpacket(char *buffer)
unsigned char checksum;
int count;
char ch;
-
+
/* $<packet info>#<checksum>. */
do {
putDebugChar('$');
checksum = 0;
count = 0;
-
+
while ((ch=buffer[count])) {
if (! putDebugChar(ch)) return;
checksum += ch;
count += 1;
}
-
+
putDebugChar('#');
putDebugChar(hexchars[checksum >> 4]);
putDebugChar(hexchars[checksum % 16]);
} while (1 == 0); /* (getDebugChar() != '+'); */
-
+
}
char remcomInBuffer[BUFMAX];
@@ -676,16 +676,16 @@ char *mem2hex(char *mem, char *buf, int count)
{
int i;
unsigned char ch;
-
+
if (remote_debug)
- debug_port_printf("mem=0x%x, count=0x%x\n", mem, count);
-
+ debug_port_printf("mem=0x%x, count=0x%x\n", mem, count);
+
for (i=0;i<count;i++) {
ch = *mem++;
*buf++ = hexchars[ch >> 4];
*buf++ = hexchars[ch % 16];
}
- *buf = 0;
+ *buf = 0;
return(buf);
}
@@ -695,10 +695,10 @@ char *hex2mem(char *buf, char *mem, int count)
{
int i;
unsigned char ch;
-
+
if (remote_debug)
- debug_port_printf("mem=0x%x, count=0x%x\n", mem, count);
-
+ debug_port_printf("mem=0x%x, count=0x%x\n", mem, count);
+
for (i=0;i<count;i++) {
ch = hex(*buf++) << 4;
ch = ch + hex(*buf++);
@@ -715,7 +715,7 @@ void handle_buserror()
longjmp(remcomEnv,1);
}
-/* this function takes the 68000 exception number and attempts to
+/* this function takes the 68000 exception number and attempts to
translate this number into a unix compatible signal value */
int computeSignal(int exceptionVector)
{
@@ -752,7 +752,7 @@ int computeSignal(int exceptionVector)
case 52: sigval = 8; break; /* operand error */
case 53: sigval = 8; break; /* overflow */
case 54: sigval = 8; break; /* NAN */
- default:
+ default:
sigval = 7; /* "software generated"*/
}
return (sigval);
@@ -766,7 +766,7 @@ int hexToInt(char **ptr, int *intValue)
{
int numChars = 0;
int hexValue;
-
+
*intValue = 0;
while (**ptr)
@@ -779,7 +779,7 @@ int hexToInt(char **ptr, int *intValue)
}
else
break;
-
+
(*ptr)++;
}
@@ -796,11 +796,11 @@ void handle_exception(int exceptionVector)
char * ptr;
int newPC;
Frame *frame;
-
+
if (remote_debug)
- printf("vector=%d, sr=0x%x, pc=0x%x\n",
+ printf("vector=%d, sr=0x%x, pc=0x%x\n",
exceptionVector,
- registers[ PS ],
+ registers[ PS ],
registers[ PC ]);
/* reply to host that an exception has occurred */
@@ -810,9 +810,9 @@ void handle_exception(int exceptionVector)
remcomOutBuffer[2] = hexchars[sigval % 16];
remcomOutBuffer[3] = 0;
- putpacket(remcomOutBuffer);
+ putpacket(remcomOutBuffer);
- while (1==1) {
+ while (1==1) {
error = 0;
remcomOutBuffer[0] = 0;
getpacket(remcomInBuffer);
@@ -821,19 +821,19 @@ void handle_exception(int exceptionVector)
remcomOutBuffer[1] = hexchars[sigval >> 4];
remcomOutBuffer[2] = hexchars[sigval % 16];
remcomOutBuffer[3] = 0;
- break;
+ break;
case 'd' :
remote_debug = !(remote_debug); /* toggle debug flag */
debug_port_printf("debug mode ");
if (remote_debug)
- {
+ {
debug_port_printf("on\n");
}
else
- {
+ {
debug_port_printf("off\n");
- }
- break;
+ }
+ break;
case 'g' : /* return the value of the CPU registers */
mem2hex((char*) registers, remcomOutBuffer, NUMREGBYTES);
break;
@@ -841,18 +841,18 @@ void handle_exception(int exceptionVector)
hex2mem(&remcomInBuffer[1], (char*) registers, NUMREGBYTES);
strcpy(remcomOutBuffer,"OK");
break;
-
+
/* mAA..AA,LLLL Read LLLL bytes at address AA..AA */
- case 'm' :
+ case 'm' :
if (setjmp(remcomEnv) == 0)
{
- exceptionHandler(2,handle_buserror);
+ exceptionHandler(2,handle_buserror);
/* TRY TO READ %x,%x. IF SUCCEED, SET PTR = 0 */
ptr = &remcomInBuffer[1];
if (hexToInt(&ptr,&addr))
if (*(ptr++) == ',')
- if (hexToInt(&ptr,&length))
+ if (hexToInt(&ptr,&length))
{
ptr = 0;
mem2hex((char*) addr, remcomOutBuffer, length);
@@ -863,24 +863,24 @@ void handle_exception(int exceptionVector)
strcpy(remcomOutBuffer,"E01");
if (remote_debug)
printf("malformed read memory command: %s",remcomInBuffer);
- }
- }
+ }
+ }
else {
- exceptionHandler(2,_catchException);
+ exceptionHandler(2,_catchException);
strcpy(remcomOutBuffer,"E03");
if (remote_debug)
printf("bus error");
- }
-
+ }
+
/* restore handler for bus error */
- exceptionHandler(2,_catchException);
+ exceptionHandler(2,_catchException);
break;
-
+
/* MAA..AA,LLLL: Write LLLL bytes at address AA.AA return OK */
- case 'M' :
+ case 'M' :
if (setjmp(remcomEnv) == 0) {
- exceptionHandler(2,handle_buserror);
-
+ exceptionHandler(2,handle_buserror);
+
/* TRY TO READ '%x,%x:'. IF SUCCEED, SET PTR = 0 */
ptr = &remcomInBuffer[1];
if (hexToInt(&ptr,&addr))
@@ -897,43 +897,43 @@ void handle_exception(int exceptionVector)
strcpy(remcomOutBuffer,"E02");
if (remote_debug)
printf("malformed write memory command: %s",remcomInBuffer);
- }
- }
+ }
+ }
else {
- exceptionHandler(2,_catchException);
+ exceptionHandler(2,_catchException);
strcpy(remcomOutBuffer,"E03");
if (remote_debug)
printf("bus error");
- }
+ }
/* restore handler for bus error */
- exceptionHandler(2,_catchException);
+ exceptionHandler(2,_catchException);
break;
-
+
/* cAA..AA Continue at address AA..AA(optional) */
/* sAA..AA Step one instruction from AA..AA(optional) */
- case 'c' :
- case 's' :
+ case 'c' :
+ case 's' :
/* try to read optional parameter, pc unchanged if no parm */
ptr = &remcomInBuffer[1];
if (hexToInt(&ptr,&addr))
registers[ PC ] = addr;
-
+
newPC = registers[ PC];
-
+
/* clear the trace bit */
registers[ PS ] &= 0x7fff;
-
+
/* set the trace bit if we're stepping */
if (remcomInBuffer[0] == 's') registers[ PS ] |= 0x8000;
-
+
/*
* look for newPC in the linked list of exception frames.
* if it is found, use the old frame it. otherwise,
* fake up a dummy frame in returnFromException().
*/
if (remote_debug) debug_port_printf("new pc = 0x%x\n",newPC);
-
+
frame = lastFrame;
while (frame)
{
@@ -951,24 +951,24 @@ void handle_exception(int exceptionVector)
(frame->exceptionPC == newPC)) break;
if (frame == frame->previous)
{
- frame = 0; /* no match found */
- break;
+ frame = 0; /* no match found */
+ break;
}
frame = frame->previous;
}
-
+
/*
* If we found a match for the PC AND we are not returning
* as a result of a breakpoint (33),
* trace exception (9), nmi (31), jmp to
* the old exception handler as if this code never ran.
*/
- if (frame)
+ if (frame)
{
- if ((frame->exceptionVector != 9) &&
- (frame->exceptionVector != 31) &&
+ if ((frame->exceptionVector != 9) &&
+ (frame->exceptionVector != 31) &&
(frame->exceptionVector != 33))
- {
+ {
/*
* invoke the previous handler.
*/
@@ -986,13 +986,13 @@ void handle_exception(int exceptionVector)
_returnFromException( frame ); /* this is a jump */
}
}
- }
+ }
/* if we couldn't find a frame, create one */
if (frame == 0)
{
frame = lastFrame -1 ;
-
+
/* by using a bunch of print commands with breakpoints,
it's possible for the frame stack to creep down. If it creeps
too far, give up and reset it to the top. Normal use should
@@ -1001,28 +1001,28 @@ void handle_exception(int exceptionVector)
if ((unsigned int) (frame-2) < (unsigned int) &gdbFrameStack)
{
initializeRemcomErrorFrame();
- frame = lastFrame;
+ frame = lastFrame;
}
frame->previous = lastFrame;
lastFrame = frame;
- frame = 0; /* null so _return... will properly initialize it */
- }
-
+ frame = 0; /* null so _return... will properly initialize it */
+ }
+
_returnFromException( frame ); /* this is a jump */
break;
-
+
/* kill the program */
case 'k' :
/* reset the board */
WATCHDOG_TRIGGER();
while (1 == 1);
break;
-
- } /* switch */
-
+
+ } /* switch */
+
/* reply to the request */
- putpacket(remcomOutBuffer);
+ putpacket(remcomOutBuffer);
}
}
@@ -1033,13 +1033,13 @@ void initializeRemcomErrorFrame()
lastFrame->previous = lastFrame;
}
-/* this function is used to set up exception handlers for tracing and
+/* this function is used to set up exception handlers for tracing and
breakpoints */
void set_debug_traps()
{
extern void _debug_level7(void);
extern void remcomHandler(void);
-
+
int exception;
initializeRemcomErrorFrame();
@@ -1047,39 +1047,39 @@ void set_debug_traps()
registers[ PC ] = 0x400;
registers[ PS ] = 0x2700;
-
+
for (exception = 2; exception <= 30; exception++)
- exceptionHandler(exception,_catchException);
+ exceptionHandler(exception,_catchException);
/* level 7 interrupt */
- exceptionHandler(31,_debug_level7);
-
+ exceptionHandler(31,_debug_level7);
+
for (exception = 32; exception <= 47; exception++)
- exceptionHandler(exception,_catchException);
+ exceptionHandler(exception,_catchException);
/* exclude the unassigned, reserved vector locations */
-
+
for (exception = 64; exception <= 255; exception++)
- exceptionHandler(exception,_catchException);
+ exceptionHandler(exception,_catchException);
if (oldExceptionHook != (ExceptionHook) remcomHandler)
{
oldExceptionHook = exceptionHook;
exceptionHook = (ExceptionHook) remcomHandler;
}
-
+
initialized = 1;
-#if defined(UPDATE_DISPLAY)
+#if defined(UPDATE_DISPLAY)
UPDATE_DISPLAY("gdb ");
-#endif
+#endif
}
/* This function will generate a breakpoint exception. It is used at the
beginning of a program to sync up with a debugger and can be used
otherwise as a quick means to stop program execution and "break" into
the debugger. */
-
+
void breakpoint()
{
if (initialized) BREAKPOINT();
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/memcheck.c b/c/src/lib/libbsp/m68k/ods68302/startup/memcheck.c
index 4341a88e37..140a62e1e5 100644
--- a/c/src/lib/libbsp/m68k/ods68302/startup/memcheck.c
+++ b/c/src/lib/libbsp/m68k/ods68302/startup/memcheck.c
@@ -8,7 +8,7 @@
The boot test is a minimal, non-desctructive.
The partial memory test performs a scetion at a time, and gets
called in a repeated fashion to completely check the memory,
-
+
*/
/*****************************************************************************/
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/trace.c b/c/src/lib/libbsp/m68k/ods68302/startup/trace.c
index a712c0bb52..7d0945bc9a 100644
--- a/c/src/lib/libbsp/m68k/ods68302/startup/trace.c
+++ b/c/src/lib/libbsp/m68k/ods68302/startup/trace.c
@@ -1,7 +1,7 @@
/*****************************************************************************/
/*
$Id$
-
+
Trace Exception dumps a back trace to the debug serial port
*/
@@ -135,13 +135,13 @@ void trace_exception(unsigned long d0,
}
else
{
- debug_port_out(' ');
+ debug_port_out(' ');
}
-
+
ch = (*(((char*) &index) + index) >> 4) & 0x0F;
-
+
if (ch < 10)
- {
+ {
ch += '0';
}
else
@@ -152,9 +152,9 @@ void trace_exception(unsigned long d0,
debug_port_out((char) ch);
ch = *(((char*) &index) + index) & 0x0F;
-
+
if (ch < 10)
- {
+ {
ch += '0';
}
else
@@ -167,9 +167,9 @@ void trace_exception(unsigned long d0,
debug_port_write("\nhalting cpu...");
#if defined(UPDATE_DISPLAY)
- UPDATE_DISPLAY("HALT");
+ UPDATE_DISPLAY("HALT");
#endif
-
+
WATCHDOG_TRIGGER();
while (1 == 1);
}
diff --git a/c/src/lib/libbsp/m68k/ods68302/timer/timer.c b/c/src/lib/libbsp/m68k/ods68302/timer/timer.c
index 6e53830bdf..b3927487c7 100644
--- a/c/src/lib/libbsp/m68k/ods68302/timer/timer.c
+++ b/c/src/lib/libbsp/m68k/ods68302/timer/timer.c
@@ -6,7 +6,7 @@
*
* Output parameters: NONE
*
- * NOTE: It is important that the timer start/stop overhead be
+ * NOTE: It is important that the timer start/stop overhead be
* determined when porting or modifying this code.
*
* COPYRIGHT (c) 1989-1999.