OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-x86_64/] [timex.h] - Rev 1275

Go to most recent revision | Compare with Previous | Blame | View Log

/*
 * linux/include/asm-x8664/timex.h
 *
 * x8664 architecture timex specifications
 */
#ifndef _ASMx8664_TIMEX_H
#define _ASMx8664_TIMEX_H
 
#include <linux/config.h>
#include <asm/msr.h>
#include <asm/vsyscall.h>
 
#define CLOCK_TICK_RATE (vxtime_hz)
#define FINETUNE	((((((long)LATCH * HZ - CLOCK_TICK_RATE) << SHIFT_HZ) * \
			1000000 / CLOCK_TICK_RATE) << (SHIFT_SCALE - SHIFT_HZ)) / HZ)
 
/*
 * We only use the low 32 bits, and we'd simply better make sure
 * that we reschedule before that wraps. Scheduling at least every
 * four billion cycles just basically sounds like a good idea,
 * regardless of how fast the machine is.
 */
typedef unsigned long long cycles_t;
 
extern cycles_t cacheflush_time;
 
static inline cycles_t get_cycles (void)
{
	unsigned long long ret;
	rdtscll(ret);
	return ret;
}
 
extern unsigned int cpu_khz;
 
/*
 * Documentation on HPET can be found at:
 *      http://www.intel.com/ial/home/sp/pcmmspec.htm
 *      ftp://download.intel.com/ial/home/sp/mmts098.pdf
 */
 
#define HPET_ID		0x000
#define HPET_PERIOD	0x004
#define HPET_CFG	0x010
#define HPET_STATUS	0x020
#define HPET_COUNTER	0x0f0
#define HPET_T0_CFG	0x100
#define HPET_T0_CMP	0x108
#define HPET_T0_ROUTE	0x110
 
#define HPET_ID_VENDOR	0xffff0000
#define HPET_ID_LEGSUP	0x00008000
#define HPET_ID_NUMBER	0x00000f00
#define HPET_ID_REV	0x000000ff
 
#define HPET_CFG_ENABLE	0x001
#define HPET_CFG_LEGACY	0x002
 
#define HPET_T0_ENABLE		0x004
#define HPET_T0_PERIODIC	0x008
#define HPET_T0_SETVAL		0x040
#define HPET_T0_32BIT		0x100
 
extern struct vxtime_data vxtime;
extern unsigned long vxtime_hz;
extern unsigned long hpet_address;
 
#endif
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.