ia64/xen-unstable

view xen/include/asm-ia64/regionreg.h @ 5704:9b73afea874e

Certain types of event channel are now auto-bound to vcpu0 by Xen.
Make sure that xenolinux agrees with this.
author sos22@douglas.cl.cam.ac.uk
date Fri Jul 08 15:35:43 2005 +0000 (2005-07-08)
parents c91f74efda05
children 24dd9a53dd95 1efe6f4163ee e173a853dc46 d4fd332df775 04dfb5158f3a f294acb25858
line source
1 #ifndef _REGIONREG_H_
2 #define _REGIONREG_H_
3 #ifdef CONFIG_VTI
4 #define XEN_DEFAULT_RID 0xf00000
5 #define DOMAIN_RID_SHIFT 20
6 #define DOMAIN_RID_MASK (~(1U<<DOMAIN_RID_SHIFT -1))
7 #else //CONFIG_VTI
8 #define XEN_DEFAULT_RID 7
9 #endif // CONFIG_VTI
10 #define IA64_MIN_IMPL_RID_MSB 17
11 #define _REGION_ID(x) ({ia64_rr _v; _v.rrval = (long) (x); _v.rid;})
12 #define _REGION_PAGE_SIZE(x) ({ia64_rr _v; _v.rrval = (long) (x); _v.ps;})
13 #define _REGION_HW_WALKER(x) ({ia64_rr _v; _v.rrval = (long) (x); _v.ve;})
14 #define _MAKE_RR(r, sz, v) ({ia64_rr _v; _v.rrval=0;_v.rid=(r);_v.ps=(sz);_v.ve=(v);_v.rrval;})
16 typedef union ia64_rr {
17 struct {
18 unsigned long ve : 1; /* enable hw walker */
19 unsigned long reserved0 : 1; /* reserved */
20 unsigned long ps : 6; /* log page size */
21 unsigned long rid: 24; /* region id */
22 unsigned long reserved1 : 32; /* reserved */
23 };
24 unsigned long rrval;
25 } ia64_rr;
27 //
28 // region register macros
29 //
30 #define RR_TO_VE(arg) (((arg) >> 0) & 0x0000000000000001)
31 #define RR_VE(arg) (((arg) & 0x0000000000000001) << 0)
32 #define RR_VE_MASK 0x0000000000000001L
33 #define RR_VE_SHIFT 0
34 #define RR_TO_PS(arg) (((arg) >> 2) & 0x000000000000003f)
35 #define RR_PS(arg) (((arg) & 0x000000000000003f) << 2)
36 #define RR_PS_MASK 0x00000000000000fcL
37 #define RR_PS_SHIFT 2
38 #define RR_TO_RID(arg) (((arg) >> 8) & 0x0000000000ffffff)
39 #define RR_RID(arg) (((arg) & 0x0000000000ffffff) << 8)
40 #define RR_RID_MASK 0x00000000ffffff00L
42 #endif /* !_REGIONREG_H_ */