ia64/xen-unstable

view xen/include/asm-ia64/vhpt.h @ 10929:7cde0d938ef4

[IA64] convert more privop_stat to perfc

Convert most privop stats to perfc.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
author awilliam@xenbuild.aw
date Fri Aug 04 09:02:43 2006 -0600 (2006-08-04)
parents 6d8136d0b302
children c3e20511c745
line source
1 #ifndef ASM_VHPT_H
2 #define ASM_VHPT_H
4 #define VHPT_ENABLED 1
6 /* Size of the VHPT. */
7 #ifdef CONFIG_XEN_IA64_DOM0_VP
8 // XXX work around to avoid trigerring xenLinux software lock up detection.
9 # define VHPT_SIZE_LOG2 16 // 64KB
10 #else
11 # define VHPT_SIZE_LOG2 24 // 16MB default
12 #endif
14 /* Number of entries in the VHPT. The size of an entry is 4*8B == 32B */
15 #define VHPT_NUM_ENTRIES (1 << (VHPT_SIZE_LOG2 - 5))
17 // FIXME: These should be automatically generated
18 #define VLE_PGFLAGS_OFFSET 0
19 #define VLE_ITIR_OFFSET 8
20 #define VLE_TITAG_OFFSET 16
21 #define VLE_CCHAIN_OFFSET 24
23 #ifndef __ASSEMBLY__
24 #include <xen/percpu.h>
26 //
27 // VHPT Long Format Entry (as recognized by hw)
28 //
29 struct vhpt_lf_entry {
30 unsigned long page_flags;
31 unsigned long itir;
32 unsigned long ti_tag;
33 unsigned long CChain;
34 };
36 #define INVALID_TI_TAG 0x8000000000000000L
38 extern void vhpt_init (void);
39 extern int dump_vhpt_stats(char *buf);
40 extern void vhpt_multiple_insert(unsigned long vaddr, unsigned long pte,
41 unsigned long logps);
42 extern void vhpt_insert (unsigned long vadr, unsigned long pte,
43 unsigned long logps);
44 void vhpt_flush(void);
46 /* Currently the VHPT is allocated per CPU. */
47 DECLARE_PER_CPU (unsigned long, vhpt_paddr);
48 DECLARE_PER_CPU (unsigned long, vhpt_pend);
50 #endif /* !__ASSEMBLY */
51 #endif