aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/xen/xencomm.c
diff options
context:
space:
mode:
authorIsaku Yamahata <yamahata@valinux.co.jp>2008-10-16 22:17:54 -0400
committerTony Luck <tony.luck@intel.com>2008-10-17 13:00:19 -0400
commitf021c8b334cc00739b5d43b5be5f97a34b1ad16a (patch)
treec048aff2354a3b701adc458d464adbd4e40d7120 /arch/ia64/xen/xencomm.c
parent11d437789d0f35fa2e2ebcb4a983b29587bdfdc5 (diff)
ia64/xen: xencomm conversion functions for hypercalls
On ia64/xen, pointer arguments for hypercall is passed by pseudo physical address(guest physical address.) So such hypercalls needs address conversion functions. This patch implements concrete conversion functions for such hypercalls. Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com> Signed-off-by: Yaozu (Eddie) Dong <eddie.dong@intel.com> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/xen/xencomm.c')
-rw-r--r--arch/ia64/xen/xencomm.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/ia64/xen/xencomm.c b/arch/ia64/xen/xencomm.c
index 3dc307f0a40d..1f5d7ac82e97 100644
--- a/arch/ia64/xen/xencomm.c
+++ b/arch/ia64/xen/xencomm.c
@@ -19,11 +19,22 @@
19#include <linux/mm.h> 19#include <linux/mm.h>
20 20
21static unsigned long kernel_virtual_offset; 21static unsigned long kernel_virtual_offset;
22static int is_xencomm_initialized;
23
24/* for xen early printk. It uses console io hypercall which uses xencomm.
25 * However early printk may use it before xencomm initialization.
26 */
27int
28xencomm_is_initialized(void)
29{
30 return is_xencomm_initialized;
31}
22 32
23void 33void
24xencomm_initialize(void) 34xencomm_initialize(void)
25{ 35{
26 kernel_virtual_offset = KERNEL_START - ia64_tpa(KERNEL_START); 36 kernel_virtual_offset = KERNEL_START - ia64_tpa(KERNEL_START);
37 is_xencomm_initialized = 1;
27} 38}
28 39
29/* Translate virtual address to physical address. */ 40/* Translate virtual address to physical address. */