diff options
Diffstat (limited to 'arch/ia64/include/asm/xen/privop.h')
-rw-r--r-- | arch/ia64/include/asm/xen/privop.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/ia64/include/asm/xen/privop.h b/arch/ia64/include/asm/xen/privop.h index 71ec7546e100..fb4ec5e0b066 100644 --- a/arch/ia64/include/asm/xen/privop.h +++ b/arch/ia64/include/asm/xen/privop.h | |||
@@ -55,6 +55,8 @@ | |||
55 | #define XSI_BANK1_R16 (XSI_BASE + XSI_BANK1_R16_OFS) | 55 | #define XSI_BANK1_R16 (XSI_BASE + XSI_BANK1_R16_OFS) |
56 | #define XSI_BANKNUM (XSI_BASE + XSI_BANKNUM_OFS) | 56 | #define XSI_BANKNUM (XSI_BASE + XSI_BANKNUM_OFS) |
57 | #define XSI_IHA (XSI_BASE + XSI_IHA_OFS) | 57 | #define XSI_IHA (XSI_BASE + XSI_IHA_OFS) |
58 | #define XSI_ITC_OFFSET (XSI_BASE + XSI_ITC_OFFSET_OFS) | ||
59 | #define XSI_ITC_LAST (XSI_BASE + XSI_ITC_LAST_OFS) | ||
58 | #endif | 60 | #endif |
59 | 61 | ||
60 | #ifndef __ASSEMBLY__ | 62 | #ifndef __ASSEMBLY__ |
@@ -67,7 +69,7 @@ | |||
67 | * may have different semantics depending on whether they are executed | 69 | * may have different semantics depending on whether they are executed |
68 | * at PL0 vs PL!=0. When paravirtualized, these instructions mustn't | 70 | * at PL0 vs PL!=0. When paravirtualized, these instructions mustn't |
69 | * be allowed to execute directly, lest incorrect semantics result. */ | 71 | * be allowed to execute directly, lest incorrect semantics result. */ |
70 | extern void xen_fc(unsigned long addr); | 72 | extern void xen_fc(void *addr); |
71 | extern unsigned long xen_thash(unsigned long addr); | 73 | extern unsigned long xen_thash(unsigned long addr); |
72 | 74 | ||
73 | /* Note that "ttag" and "cover" are also privilege-sensitive; "ttag" | 75 | /* Note that "ttag" and "cover" are also privilege-sensitive; "ttag" |
@@ -80,8 +82,10 @@ extern unsigned long xen_thash(unsigned long addr); | |||
80 | extern unsigned long xen_get_cpuid(int index); | 82 | extern unsigned long xen_get_cpuid(int index); |
81 | extern unsigned long xen_get_pmd(int index); | 83 | extern unsigned long xen_get_pmd(int index); |
82 | 84 | ||
85 | #ifndef ASM_SUPPORTED | ||
83 | extern unsigned long xen_get_eflag(void); /* see xen_ia64_getreg */ | 86 | extern unsigned long xen_get_eflag(void); /* see xen_ia64_getreg */ |
84 | extern void xen_set_eflag(unsigned long); /* see xen_ia64_setreg */ | 87 | extern void xen_set_eflag(unsigned long); /* see xen_ia64_setreg */ |
88 | #endif | ||
85 | 89 | ||
86 | /************************************************/ | 90 | /************************************************/ |
87 | /* Instructions paravirtualized for performance */ | 91 | /* Instructions paravirtualized for performance */ |
@@ -106,6 +110,7 @@ extern void xen_set_eflag(unsigned long); /* see xen_ia64_setreg */ | |||
106 | #define xen_get_virtual_pend() \ | 110 | #define xen_get_virtual_pend() \ |
107 | (*(((uint8_t *)XEN_MAPPEDREGS->interrupt_mask_addr) - 1)) | 111 | (*(((uint8_t *)XEN_MAPPEDREGS->interrupt_mask_addr) - 1)) |
108 | 112 | ||
113 | #ifndef ASM_SUPPORTED | ||
109 | /* Although all privileged operations can be left to trap and will | 114 | /* Although all privileged operations can be left to trap and will |
110 | * be properly handled by Xen, some are frequent enough that we use | 115 | * be properly handled by Xen, some are frequent enough that we use |
111 | * hyperprivops for performance. */ | 116 | * hyperprivops for performance. */ |
@@ -123,6 +128,7 @@ extern void xen_set_rr0_to_rr4(unsigned long val0, unsigned long val1, | |||
123 | unsigned long val4); | 128 | unsigned long val4); |
124 | extern void xen_set_kr(unsigned long index, unsigned long val); | 129 | extern void xen_set_kr(unsigned long index, unsigned long val); |
125 | extern void xen_ptcga(unsigned long addr, unsigned long size); | 130 | extern void xen_ptcga(unsigned long addr, unsigned long size); |
131 | #endif /* !ASM_SUPPORTED */ | ||
126 | 132 | ||
127 | #endif /* !__ASSEMBLY__ */ | 133 | #endif /* !__ASSEMBLY__ */ |
128 | 134 | ||