diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2009-03-04 07:06:55 -0500 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2009-03-26 14:03:14 -0400 |
commit | 0a7d32440294faea84c9aae4cb99239fe6ddb8ed (patch) | |
tree | dff11ebbb3f6371c40aef93c4db734877852a826 /arch/ia64/include | |
parent | dae17da60d1797c9049d21d06de0db1873eee153 (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.h | 4 |
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); | |||
82 | extern unsigned long xen_get_cpuid(int index); | 82 | extern unsigned long xen_get_cpuid(int index); |
83 | extern unsigned long xen_get_pmd(int index); | 83 | extern unsigned long xen_get_pmd(int index); |
84 | 84 | ||
85 | #ifndef ASM_SUPPORTED | ||
85 | extern unsigned long xen_get_eflag(void); /* see xen_ia64_getreg */ | 86 | extern unsigned long xen_get_eflag(void); /* see xen_ia64_getreg */ |
86 | 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 | ||
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); |
126 | extern void xen_set_kr(unsigned long index, unsigned long val); | 129 | extern void xen_set_kr(unsigned long index, unsigned long val); |
127 | 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 */ | ||
128 | 132 | ||
129 | #endif /* !__ASSEMBLY__ */ | 133 | #endif /* !__ASSEMBLY__ */ |
130 | 134 | ||