aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/include
diff options
context:
space:
mode:
authorIsaku Yamahata <yamahata@valinux.co.jp>2009-03-04 07:06:55 -0500
committerTony Luck <tony.luck@intel.com>2009-03-26 14:03:14 -0400
commit0a7d32440294faea84c9aae4cb99239fe6ddb8ed (patch)
treedff11ebbb3f6371c40aef93c4db734877852a826 /arch/ia64/include
parentdae17da60d1797c9049d21d06de0db1873eee153 (diff)
ia64/pv_ops/bp/xen: implemented binary patchable pv_cpu_ops.
implemented xen binary patch for pv_cpu_ops. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/include')
-rw-r--r--arch/ia64/include/asm/xen/privop.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/ia64/include/asm/xen/privop.h b/arch/ia64/include/asm/xen/privop.h
index 2261dda578ff..e5fbaeeb161a 100644
--- a/arch/ia64/include/asm/xen/privop.h
+++ b/arch/ia64/include/asm/xen/privop.h
@@ -82,8 +82,10 @@ extern unsigned long xen_thash(unsigned long addr);
82extern unsigned long xen_get_cpuid(int index); 82extern unsigned long xen_get_cpuid(int index);
83extern unsigned long xen_get_pmd(int index); 83extern unsigned long xen_get_pmd(int index);
84 84
85#ifndef ASM_SUPPORTED
85extern unsigned long xen_get_eflag(void); /* see xen_ia64_getreg */ 86extern unsigned long xen_get_eflag(void); /* see xen_ia64_getreg */
86extern void xen_set_eflag(unsigned long); /* see xen_ia64_setreg */ 87extern void xen_set_eflag(unsigned long); /* see xen_ia64_setreg */
88#endif
87 89
88/************************************************/ 90/************************************************/
89/* Instructions paravirtualized for performance */ 91/* Instructions paravirtualized for performance */
@@ -108,6 +110,7 @@ extern void xen_set_eflag(unsigned long); /* see xen_ia64_setreg */
108#define xen_get_virtual_pend() \ 110#define xen_get_virtual_pend() \
109 (*(((uint8_t *)XEN_MAPPEDREGS->interrupt_mask_addr) - 1)) 111 (*(((uint8_t *)XEN_MAPPEDREGS->interrupt_mask_addr) - 1))
110 112
113#ifndef ASM_SUPPORTED
111/* Although all privileged operations can be left to trap and will 114/* Although all privileged operations can be left to trap and will
112 * 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
113 * hyperprivops for performance. */ 116 * hyperprivops for performance. */
@@ -125,6 +128,7 @@ extern void xen_set_rr0_to_rr4(unsigned long val0, unsigned long val1,
125 unsigned long val4); 128 unsigned long val4);
126extern void xen_set_kr(unsigned long index, unsigned long val); 129extern void xen_set_kr(unsigned long index, unsigned long val);
127extern void xen_ptcga(unsigned long addr, unsigned long size); 130extern void xen_ptcga(unsigned long addr, unsigned long size);
131#endif /* !ASM_SUPPORTED */
128 132
129#endif /* !__ASSEMBLY__ */ 133#endif /* !__ASSEMBLY__ */
130 134