ia64/xen-unstable

view xen/include/asm-x86/hpet.h @ 15812:86a154e1ef5d

[HVM] Shadow: don't shadow the p2m table.
For HVM vcpus with paging disabled, we used to shadow the p2m table,
and skip the p2m lookup to go from gfn to mfn. Instead, we now
provide a simple pagetable that gives a one-to-one mapping of 4GB, and
shadow that, making the translations from gfn to mfn via the p2m.
This removes the paging-disabled special-case code from the shadow
fault handler, and allows us to expand the p2m interface, since all HVM
translations now go through the same p2m lookups.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
author Tim Deegan <Tim.Deegan@xensource.com>
date Fri Aug 31 11:06:22 2007 +0100 (2007-08-31)
parents 06d84bf87159
children d795e15b85a7
line source
1 #ifndef __X86_HPET_H__
2 #define __X86_HPET_H__
4 /*
5 * Documentation on HPET can be found at:
6 * http://www.intel.com/ial/home/sp/pcmmspec.htm
7 * ftp://download.intel.com/ial/home/sp/mmts098.pdf
8 */
10 #define HPET_MMAP_SIZE 1024
12 #define HPET_ID 0x000
13 #define HPET_PERIOD 0x004
14 #define HPET_CFG 0x010
15 #define HPET_STATUS 0x020
16 #define HPET_COUNTER 0x0f0
17 #define HPET_T0_CFG 0x100
18 #define HPET_T0_CMP 0x108
19 #define HPET_T0_ROUTE 0x110
20 #define HPET_T1_CFG 0x120
21 #define HPET_T1_CMP 0x128
22 #define HPET_T1_ROUTE 0x130
23 #define HPET_T2_CFG 0x140
24 #define HPET_T2_CMP 0x148
25 #define HPET_T2_ROUTE 0x150
27 #define HPET_ID_VENDOR 0xffff0000
28 #define HPET_ID_LEGSUP 0x00008000
29 #define HPET_ID_NUMBER 0x00001f00
30 #define HPET_ID_REV 0x000000ff
31 #define HPET_ID_NUMBER_SHIFT 8
33 #define HPET_ID_VENDOR_SHIFT 16
34 #define HPET_ID_VENDOR_8086 0x8086
36 #define HPET_CFG_ENABLE 0x001
37 #define HPET_CFG_LEGACY 0x002
38 #define HPET_LEGACY_8254 2
39 #define HPET_LEGACY_RTC 8
41 #define HPET_TN_ENABLE 0x004
42 #define HPET_TN_PERIODIC 0x008
43 #define HPET_TN_PERIODIC_CAP 0x010
44 #define HPET_TN_SETVAL 0x040
45 #define HPET_TN_32BIT 0x100
47 #define hpet_read32(x) \
48 (*(volatile u32 *)(fix_to_virt(FIX_HPET_BASE) + (x)))
49 #define hpet_write32(y,x) \
50 (*(volatile u32 *)(fix_to_virt(FIX_HPET_BASE) + (x)) = (y))
52 #endif /* __X86_HPET_H__ */