示例#1
0
文件: port.c 项目: abzde/dock9
/*
 * Initialize the microsecond clock.
 */
void init_usec_clock()
{
#ifdef _SEQUENT_
    usclk_init();
#endif
}
示例#2
0
VOID usc_init()
{

#if defined(MULTIMAX)

	usc_multimax_timer = timer_init();
	usc_MD_rollover_val = (usc_time_t) ((1<<usc_MD_timer_size)-1);
#define TIMER_FOUND "multimax"

#endif


#if defined(SYMMETRY) || defined(SYMMETRY_PTX)

	unsigned long roll;

	usclk_init();

	roll = 1 << (usc_MD_timer_size-1);
	usc_MD_rollover_val = (usc_time_t) (roll + roll - 1);

#define TIMER_FOUND "symmetry"
#endif


#if defined(TC_2000) || defined(TC_2000_TCMP)

	unsigned long roll;

	roll = 1 << (usc_MD_timer_size-1);
	usc_MD_rollover_val = (usc_time_t) (roll + roll - 1);

#define TIMER_FOUND "tc2000 butterfly"
#endif


#if defined(IPSC860)

	esize_t hwtime;
	unsigned long ustime;

	hwtime.shigh = hwtime.slow = ~0x0;
        hwtime.shigh = (hwtime.shigh & 0x7) << (sizeof(long)*8-3);
        hwtime.slow = ((hwtime.slow >> 3) & ~(0x7 << (sizeof(long)*8-3)))
				| hwtime.shigh;
        ustime = (unsigned long)hwtime.slow * 0.8;
	usc_MD_rollover_val = (usc_time_t) ustime; 

#define TIMER_FOUND "ipsc"
#endif

#if defined(NCUBE)

        unsigned long roll;

        roll = 1 << (usc_MD_timer_size-1);
        usc_MD_rollover_val = (usc_time_t) (roll + roll - 1);

#define TIMER_FOUND "ncube"
#endif


#if defined(FX2800)  ||  defined(FX2800_SWITCH)

    struct hrcval temptime;
    unsigned long roll;

    hrcstamp(&temptime);
    roll = 1 << ((sizeof(usc_time_t) * 8) - 1);
    usc_MD_rollover_val = (usc_time_t) (roll + roll - 1);

#define TIMER_FOUND "Alliant fx2800"
#endif


#if defined(SUN) || defined(HP) || defined(DEC5000) || \
    defined(SUN_SOLARIS) || defined(FREEBSD) || defined(LINUX) || \
    defined(I86_SOLARIS) || defined(NETBSD) || \
    defined(BALANCE) || \
    defined(RS6000)  ||  defined(IBM3090) || \
    defined(NEXT) || defined(TITAN) || defined(GP_1000) || \
    defined(KSR)  || \
    defined(MEIKO_CS2)  || \
    defined(SGI)  || defined(FX8) || defined(CRAY)

	struct timeval tp;
	struct timezone tzp;
	unsigned long roll;

#if defined(SUN_SOLARIS) && defined(USE_WIERDGETTIMEOFDAY)
	gettimeofday(&tp);
#else
	gettimeofday(&tp,&tzp);
#endif
	roll = (usc_time_t) ((usc_time_t) 1 << ((sizeof(usc_time_t)*8)-1));
	roll = roll + roll - 1;
	usc_MD_rollover_val = (usc_time_t) (roll / 1000000);
#define TIMER_FOUND "gettimeofday"
#endif

#ifndef TIMER_FOUND
   'Error - no timer defined.  Please file a bug report'
#endif
}