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/asm/xen | |
| 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/asm/xen')
| -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 2261dda578f..e5fbaeeb161 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 | ||
