diff options
Diffstat (limited to 'c/src/lib/libbsp/m68k/mcf5206elite/include')
-rw-r--r-- | c/src/lib/libbsp/m68k/mcf5206elite/include/bsp.h | 185 | ||||
-rw-r--r-- | c/src/lib/libbsp/m68k/mcf5206elite/include/coverhd.h | 86 | ||||
-rw-r--r-- | c/src/lib/libbsp/m68k/mcf5206elite/include/i2c.h | 243 | ||||
-rw-r--r-- | c/src/lib/libbsp/m68k/mcf5206elite/include/nvram.h | 71 | ||||
-rw-r--r-- | c/src/lib/libbsp/m68k/mcf5206elite/include/tm27.h | 35 |
5 files changed, 0 insertions, 620 deletions
diff --git a/c/src/lib/libbsp/m68k/mcf5206elite/include/bsp.h b/c/src/lib/libbsp/m68k/mcf5206elite/include/bsp.h deleted file mode 100644 index a9cb868b1b..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5206elite/include/bsp.h +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Board Support Package for MCF5206eLITE evaluation board - * BSP definitions - * - * Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia - * Author: Victor V. Vengerov <vvv@oktet.ru> - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef LIBBSP_M68K_MCF5206ELITE_BSP_H -#define LIBBSP_M68K_MCF5206ELITE_BSP_H - -#include "mcf5206/mcf5206e.h" - -/*** Board resources allocation ***/ - -/* - * To achieve some compatibility with dBUG monitor, we use the same - * memory resources allocation as it is used in dBUG. - * - * If this definitions will be changed, change the linker script also. - */ - -/* Memory mapping */ -/* CS0: Boot Flash */ -#define BSP_MEM_ADDR_FLASH (0xFFE00000) -#define BSP_MEM_SIZE_FLASH (1*1024*1024) -#define BSP_MEM_MASK_FLASH (MCF5206E_CSMR_MASK_1M) - -/* CS2: External SRAM */ -#define BSP_MEM_ADDR_ESRAM (0x30000000) -#define BSP_MEM_SIZE_ESRAM (1*1024*1024) -#define BSP_MEM_MASK_ESRAM (MCF5206E_CSMR_MASK_1M) - -/* CS3: General-Purpose I/O register */ -#define BSP_MEM_ADDR_GPIO (0x40000000) -#define BSP_MEM_SIZE_GPIO (64*1024) -#define BSP_MEM_MASK_GPIO (MCF5206E_CSMR_MASK_64K) - -/* DRAM0: Dynamic RAM */ -#define BSP_MEM_ADDR_DRAM (0x00000000) -#define BSP_MEM_SIZE_DRAM (16*1024*1024) -#define BSP_MEM_MASK_DRAM (MCF5206E_DCMR_MASK_16M) - -/* On-chip SRAM */ -#define BSP_MEM_ADDR_SRAM (0x20000000) -#define BSP_MEM_SIZE_SRAM (8*1024) - -/* On-chip peripherial registers */ -#define BSP_MEM_ADDR_IMM (0x10000000) -#define BSP_MEM_SIZE_IMM (1*1024) -#define MBAR BSP_MEM_ADDR_IMM - -/* Interrupt vector assignment */ -#define BSP_INTVEC_AVEC1 (25) -#define BSP_INTLVL_AVEC1 (1) -#define BSP_INTPRIO_AVEC1 (3) - -#define BSP_INTVEC_AVEC2 (26) -#define BSP_INTLVL_AVEC2 (2) -#define BSP_INTPRIO_AVEC2 (3) - -#define BSP_INTVEC_AVEC3 (27) -#define BSP_INTLVL_AVEC3 (3) -#define BSP_INTPRIO_AVEC3 (3) - -#define BSP_INTVEC_AVEC4 (28) -#define BSP_INTLVL_AVEC4 (4) -#define BSP_INTPRIO_AVEC4 (3) - -#define BSP_INTVEC_AVEC5 (29) -#define BSP_INTLVL_AVEC5 (5) -#define BSP_INTPRIO_AVEC5 (3) - -#define BSP_INTVEC_AVEC6 (30) -#define BSP_INTLVL_AVEC6 (6) -#define BSP_INTPRIO_AVEC6 (3) - -#define BSP_INTVEC_AVEC7 (31) -#define BSP_INTLVL_AVEC7 (7) -#define BSP_INTPRIO_AVEC7 (3) - -#define BSP_INTVEC_TIMER1 (BSP_INTVEC_AVEC5) -#define BSP_INTLVL_TIMER1 (BSP_INTLVL_AVEC5) -#define BSP_INTPRIO_TIMER1 (2) - -#define BSP_INTVEC_TIMER2 (BSP_INTVEC_AVEC6) -#define BSP_INTLVL_TIMER2 (BSP_INTLVL_AVEC6) -#define BSP_INTPRIO_TIMER2 (2) - -#define BSP_INTVEC_MBUS (BSP_INTVEC_AVEC4) -#define BSP_INTLVL_MBUS (BSP_INTLVL_AVEC4) -#define BSP_INTPRIO_MBUS (2) - -#define BSP_INTVEC_UART1 (64) -#define BSP_INTLVL_UART1 (4) -#define BSP_INTPRIO_UART1 (0) - -#define BSP_INTVEC_UART2 (65) -#define BSP_INTLVL_UART2 (4) -#define BSP_INTPRIO_UART2 (1) - -#define BSP_INTVEC_DMA0 (66) -#define BSP_INTLVL_DMA0 (3) -#define BSP_INTPRIO_DMA0 (1) - -#define BSP_INTVEC_DMA1 (67) -#define BSP_INTLVL_DMA1 (3) -#define BSP_INTPRIO_DMA1 (2) - -/* Location of DS1307 Real-Time Clock/NVRAM chip */ -#define DS1307_I2C_BUS_NUMBER (0) - -#ifndef ASM - -#include <bspopts.h> -#include <rtems.h> -#include <rtems/console.h> -#include <rtems/iosupp.h> -#include <rtems/clockdrv.h> -#include <rtems/rtc.h> -#include <bsp/default-initial-extension.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/* System frequency */ -#define BSP_SYSTEM_FREQUENCY ((unsigned int)&_SYS_CLOCK_FREQUENCY) -extern char _SYS_CLOCK_FREQUENCY; /* Don't use this variable directly!!! */ - -/* MBUS I2C bus clock default frequency */ -#define BSP_MBUS_FREQUENCY (16000) - -/* Number of I2C buses supported in this board */ -#define I2C_NUMBER_OF_BUSES (1) - -/* I2C bus selection */ -#define I2C_SELECT_BUS(bus) - -/* - * Simple spin delay in microsecond units for device drivers. - * This is very dependent on the clock speed of the target. - */ - -#define delay( microseconds ) \ - { register uint32_t _delay=(microseconds); \ - register uint32_t _tmp=123; \ - __asm__ volatile( "0: \ - nbcd %0 ; \ - nbcd %0 ; \ - dbf %1,0b" \ - : "=d" (_tmp), "=d" (_delay) \ - : "0" (_tmp), "1" (_delay) ); \ - } - - -extern rtems_isr_entry M68Kvec[]; /* vector table address */ - -extern rtems_isr (*rtems_clock_hook)(rtems_vector_number); - -/* functions */ - -rtems_isr_entry set_vector( - rtems_isr_entry handler, - rtems_vector_number vector, - int type -); - -/* - * Prototypes for BSP methods that cross file boundaries - */ -void Init5206e(void); - -#ifdef __cplusplus -} -#endif - -#endif /* ASM */ - -#endif diff --git a/c/src/lib/libbsp/m68k/mcf5206elite/include/coverhd.h b/c/src/lib/libbsp/m68k/mcf5206elite/include/coverhd.h deleted file mode 100644 index 1ff260d1a1..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5206elite/include/coverhd.h +++ /dev/null @@ -1,86 +0,0 @@ -/** - * @file - * @ingroup m68k_mcf5206elite - * @brief C Overhead definitions - */ - -/* - * This file based on output of tmoverhd test. - */ - -#ifndef __COVERHD_H__ -#define __COVERHD_H__ - -#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE 0 -#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE 0 -#define CALLING_OVERHEAD_TASK_CREATE 1 -#define CALLING_OVERHEAD_TASK_IDENT 0 -#define CALLING_OVERHEAD_TASK_START 0 -#define CALLING_OVERHEAD_TASK_RESTART 0 -#define CALLING_OVERHEAD_TASK_DELETE 0 -#define CALLING_OVERHEAD_TASK_SUSPEND 0 -#define CALLING_OVERHEAD_TASK_RESUME 0 -#define CALLING_OVERHEAD_TASK_SET_PRIORITY 0 -#define CALLING_OVERHEAD_TASK_MODE 0 -#define CALLING_OVERHEAD_TASK_GET_NOTE 0 -#define CALLING_OVERHEAD_TASK_SET_NOTE 0 -#define CALLING_OVERHEAD_TASK_WAKE_WHEN 2 -#define CALLING_OVERHEAD_TASK_WAKE_AFTER 0 -#define CALLING_OVERHEAD_INTERRUPT_CATCH 0 -#define CALLING_OVERHEAD_CLOCK_GET 2 -#define CALLING_OVERHEAD_CLOCK_SET 2 -#define CALLING_OVERHEAD_CLOCK_TICK 0 -#define CALLING_OVERHEAD_TIMER_CREATE 0 -#define CALLING_OVERHEAD_TIMER_DELETE 0 -#define CALLING_OVERHEAD_TIMER_IDENT 0 -#define CALLING_OVERHEAD_TIMER_FIRE_AFTER 0 -#define CALLING_OVERHEAD_TIMER_FIRE_WHEN 2 -#define CALLING_OVERHEAD_TIMER_RESET 0 -#define CALLING_OVERHEAD_TIMER_CANCEL 0 -#define CALLING_OVERHEAD_SEMAPHORE_CREATE 1 -#define CALLING_OVERHEAD_SEMAPHORE_DELETE 0 -#define CALLING_OVERHEAD_SEMAPHORE_IDENT 0 -#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN 0 -#define CALLING_OVERHEAD_SEMAPHORE_RELEASE 0 -#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE 0 -#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT 0 -#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE 0 -#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND 0 -#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT 0 -#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST 0 -#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE 0 -#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH 0 -#define CALLING_OVERHEAD_EVENT_SEND 0 -#define CALLING_OVERHEAD_EVENT_RECEIVE 0 -#define CALLING_OVERHEAD_SIGNAL_CATCH 0 -#define CALLING_OVERHEAD_SIGNAL_SEND 0 -#define CALLING_OVERHEAD_PARTITION_CREATE 1 -#define CALLING_OVERHEAD_PARTITION_IDENT 0 -#define CALLING_OVERHEAD_PARTITION_DELETE 0 -#define CALLING_OVERHEAD_PARTITION_GET_BUFFER 0 -#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER 0 -#define CALLING_OVERHEAD_REGION_CREATE 1 -#define CALLING_OVERHEAD_REGION_IDENT 0 -#define CALLING_OVERHEAD_REGION_DELETE 0 -#define CALLING_OVERHEAD_REGION_GET_SEGMENT 1 -#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT 0 -#define CALLING_OVERHEAD_PORT_CREATE 1 -#define CALLING_OVERHEAD_PORT_IDENT 0 -#define CALLING_OVERHEAD_PORT_DELETE 0 -#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 0 -#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 0 -#define CALLING_OVERHEAD_IO_INITIALIZE 0 -#define CALLING_OVERHEAD_IO_OPEN 0 -#define CALLING_OVERHEAD_IO_CLOSE 0 -#define CALLING_OVERHEAD_IO_READ 0 -#define CALLING_OVERHEAD_IO_WRITE 0 -#define CALLING_OVERHEAD_IO_CONTROL 0 -#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED 0 -#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE 0 -#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT 0 -#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE 0 -#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL 0 -#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD 0 -#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE 0 - -#endif /* __COVERHD_H__ */ diff --git a/c/src/lib/libbsp/m68k/mcf5206elite/include/i2c.h b/c/src/lib/libbsp/m68k/mcf5206elite/include/i2c.h deleted file mode 100644 index 8bec067a3a..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5206elite/include/i2c.h +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Generic I2C bus interface for RTEMS - * - * Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia - * Author: Victor V. Vengerov <vvv@oktet.ru> - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef __RTEMS__I2C_H__ -#define __RTEMS__I2C_H__ - -#include <rtems.h> -#include <bsp.h> -/* This header file define the generic interface to i2c buses available in - * system. This interface may be used by user applications or i2c-device - * drivers (like RTC, NVRAM, etc). - * - * Functions i2c_initialize and i2c_transfer declared in this header usually - * implemented in particular board support package. Usually this - * implementation is a simple wrapper or multiplexor to I2C controller - * driver which is available in system. It may be generic "software - * controller" I2C driver which control SDA and SCL signals directly (if SDA - * and SCL is general-purpose I/O pins), or driver for hardware I2C - * controller (standalone or integrated with processors: MBus controller in - * ColdFire processors, I2C controller in PowerQUICC and so on). - * - * i2c_transfer is a very generic low-level function. Higher-level function - * i2c_write, i2c_read, i2c_wrrd, i2c_wbrd is defined here too. - */ - -/* I2C Bus Number type */ -typedef uint32_t i2c_bus_number; - -/* I2C device address */ -typedef uint16_t i2c_address; - -/* I2C error codes generated during message transfer */ -typedef enum i2c_message_status { - I2C_SUCCESSFUL = 0, - I2C_TIMEOUT, - I2C_NO_DEVICE, - I2C_ARBITRATION_LOST, - I2C_NO_ACKNOWLEDGE, - I2C_NO_DATA, - I2C_RESOURCE_NOT_AVAILABLE -} i2c_message_status; - -/* I2C Message */ -typedef struct i2c_message { - i2c_address addr; /* I2C slave device address */ - uint16_t flags; /* message flags (see below) */ - i2c_message_status status; /* message transfer status code */ - uint16_t len; /* Number of bytes to read or write */ - uint8_t *buf; /* pointer to data array */ -} i2c_message; - -/* I2C message flag */ -#define I2C_MSG_ADDR_10 (0x01) /* 10-bit address */ -#define I2C_MSG_WR (0x02) /* transfer direction for this message - from master to slave */ -#define I2C_MSG_ERRSKIP (0x04) /* Skip message if last transfered message - is failed */ -/* Type for function which is called when transfer over I2C bus is finished */ -typedef void (*i2c_transfer_done) (void *arg); - -/* i2c_initialize -- - * I2C driver initialization. This function usually called on device - * driver initialization state, before initialization task. All I2C - * buses are initialized; reasonable slow data transfer rate is - * selected for each bus. - * - * PARAMETERS: - * major - I2C device major number - * minor - I2C device minor number - * arg - RTEMS driver initialization argument - * - * RETURNS: - * RTEMS status code - */ -rtems_device_driver -i2c_initialize(rtems_device_major_number major, - rtems_device_minor_number minor, - void *arg); - -/* i2c_select_clock_rate -- - * select I2C bus clock rate for specified bus. Some bus controller do not - * allow to select arbitrary clock rate; in this case nearest possible - * slower clock rate is selected. - * - * PARAMETERS: - * bus - I2C bus number - * bps - data transfer rate for this bytes in bits per second - * - * RETURNS: - * RTEMS_SUCCESSFUL, if operation performed successfully, - * RTEMS_INVALID_NUMBER, if wrong bus number is specified, - * RTEMS_UNSATISFIED, if bus do not support data transfer rate selection - * or specified data transfer rate could not be used. - */ -rtems_status_code -i2c_select_clock_rate(i2c_bus_number bus, int bps); - -/* i2c_transfer -- - * Initiate multiple-messages transfer over specified I2C bus or - * put request into queue if bus or some other resource is busy. (This - * is non-blocking function). - * - * PARAMETERS: - * bus - I2C bus number - * nmsg - number of messages - * msg - pointer to messages array - * done - function which is called when transfer is finished - * done_arg_ptr - arbitrary argument ptr passed to done funciton - * - * RETURNS: - * RTEMS_SUCCESSFUL if transfer initiated successfully, or error - * code if something failed. - */ -rtems_status_code -i2c_transfer(i2c_bus_number bus, int nmsg, i2c_message *msg, - i2c_transfer_done done, void * done_arg_ptr); - -/* i2c_transfer_wait -- - * Initiate I2C bus transfer and block until this transfer will be - * finished. This function wait the semaphore if system in - * SYSTEM_STATE_UP state, or poll done flag in other states. - * - * PARAMETERS: - * bus - I2C bus number - * msg - pointer to transfer messages array - * nmsg - number of messages in transfer - * - * RETURNS: - * I2C_SUCCESSFUL, if transfer finished successfully, - * I2C_RESOURCE_NOT_AVAILABLE, if semaphore operations has failed, - * value of status field of first error-finished message in transfer, - * if something wrong. - */ -i2c_message_status -i2c_transfer_wait(i2c_bus_number bus, i2c_message *msg, int nmsg); - -/* i2c_poll -- - * Poll I2C bus controller for events and hanle it. This function is - * used when I2C driver operates in poll-driven mode. - * - * PARAMETERS: - * bus - bus number to be polled - * - * RETURNS: - * none - */ -void -i2c_poll(i2c_bus_number bus); - -/* i2c_write -- - * Send single message over specified I2C bus to addressed device and - * wait while transfer is finished. - * - * PARAMETERS: - * bus - I2C bus number - * addr - address of I2C device - * buf - data to be sent to device - * size - data buffer size - * - * RETURNS: - * transfer status - */ -i2c_message_status -i2c_write(i2c_bus_number bus, i2c_address addr, void *buf, int size); - -/* i2c_wrbyte -- - * Send single one-byte long message over specified I2C bus to - * addressed device and wait while transfer is finished. - * - * PARAMETERS: - * bus - I2C bus number - * addr - address of I2C device - * cmd - byte message to be sent to device - * - * RETURNS: - * transfer status - */ -i2c_message_status -i2c_wrbyte(i2c_bus_number bus, i2c_address addr, uint8_t cmd); - -/* i2c_read -- - * receive single message over specified I2C bus from addressed device. - * This call will wait while transfer is finished. - * - * PARAMETERS: - * bus - I2C bus number - * addr - address of I2C device - * buf - buffer for received message - * size - receive buffer size - * - * RETURNS: - * transfer status - */ -i2c_message_status -i2c_read(i2c_bus_number bus, i2c_address addr, void *buf, int size); - -/* i2c_wrrd -- - * Send message over I2C bus to specified device and receive message - * from the same device during single transfer. - * - * PARAMETERS: - * bus - I2C bus number - * addr - address of I2C device - * bufw - data to be sent to device - * sizew - send data buffer size - * bufr - buffer for received message - * sizer - receive buffer size - * - * RETURNS: - * transfer status - */ -i2c_message_status -i2c_wrrd(i2c_bus_number bus, i2c_address addr, void *bufw, int sizew, - void *bufr, int sizer); - -/* i2c_wbrd -- - * Send one-byte message over I2C bus to specified device and receive - * message from the same device during single transfer. - * - * PARAMETERS: - * bus - I2C bus number - * addr - address of I2C device - * cmd - one-byte message to be sent over I2C bus - * bufr - buffer for received message - * sizer - receive buffer size - * - * RETURNS: - * transfer status - */ -i2c_message_status -i2c_wbrd(i2c_bus_number bus, i2c_address addr, uint8_t cmd, - void *bufr, int sizer); - -#endif diff --git a/c/src/lib/libbsp/m68k/mcf5206elite/include/nvram.h b/c/src/lib/libbsp/m68k/mcf5206elite/include/nvram.h deleted file mode 100644 index fd75db2363..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5206elite/include/nvram.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * nvram.h -- DS1307-based non-volatile memory device driver. - * - * This driver support file-like operations to 56-bytes long non-volatile - * memory of DS1307 I2C real-time clock chip. - * - * Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia - * Author: Victor V. Vengerov <vvv@oktet.ru> - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef __DRIVER__NVRAM_H__ -#define __DRIVER__NVRAM_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#define NVRAM_DRIVER_TABLE_ENTRY \ - { nvram_driver_initialize, nvram_driver_open, nvram_driver_close, \ - nvram_driver_read, nvram_driver_write, NULL } - -/* nvram_driver_initialize -- - * Non-volatile memory device driver initialization. - */ -rtems_device_driver -nvram_driver_initialize(rtems_device_major_number major, - rtems_device_minor_number minor, - void *arg); - -/* nvram_driver_open -- - * Non-volatile memory device driver open primitive. - */ -rtems_device_driver -nvram_driver_open(rtems_device_major_number major, - rtems_device_minor_number minor, - void *arg); - -/* nvram_driver_close -- - * Non-volatile memory device driver close primitive. - */ -rtems_device_driver -nvram_driver_close(rtems_device_major_number major, - rtems_device_minor_number minor, - void *arg); - -/* nvram_driver_read -- - * Non-volatile memory device driver read primitive. - */ -rtems_device_driver -nvram_driver_read(rtems_device_major_number major, - rtems_device_minor_number minor, - void *arg); - -/* nvram_driver_write -- - * Non-volatile memory device driver write primitive. - */ -rtems_device_driver -nvram_driver_write(rtems_device_major_number major, - rtems_device_minor_number minor, - void *arg); - -#ifdef __cplusplus -} -#endif - -#endif /* __VFDDRV_H__ */ diff --git a/c/src/lib/libbsp/m68k/mcf5206elite/include/tm27.h b/c/src/lib/libbsp/m68k/mcf5206elite/include/tm27.h deleted file mode 100644 index 2abef68311..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5206elite/include/tm27.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * @file - * @ingroup m68k_mcf5206elite - * @brief Implementations for interrupt mechanisms for Time Test 27 - */ - -/* - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef _RTEMS_TMTEST27 -#error "This is an RTEMS internal file you must not include directly." -#endif - -#ifndef __tm27_h -#define __tm27_h - -/* - * Stuff for Time Test 27 - * Don't bother with hardware -- just use a software-interrupt - */ - -#define MUST_WAIT_FOR_INTERRUPT 0 - -#define Install_tm27_vector( handler ) set_vector( (handler), 34, 1 ) - -#define Cause_tm27_intr() asm volatile ("trap #2"); - -#define Clear_tm27_intr() /* empty */ - -#define Lower_tm27_intr() /* empty */ - -#endif |