diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2008-10-16 22:17:54 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2008-10-17 13:00:19 -0400 |
commit | f021c8b334cc00739b5d43b5be5f97a34b1ad16a (patch) | |
tree | c048aff2354a3b701adc458d464adbd4e40d7120 /arch/ia64/xen/xencomm.c | |
parent | 11d437789d0f35fa2e2ebcb4a983b29587bdfdc5 (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.c | 11 |
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 | ||
21 | static unsigned long kernel_virtual_offset; | 21 | static unsigned long kernel_virtual_offset; |
22 | static 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 | */ | ||
27 | int | ||
28 | xencomm_is_initialized(void) | ||
29 | { | ||
30 | return is_xencomm_initialized; | ||
31 | } | ||
22 | 32 | ||
23 | void | 33 | void |
24 | xencomm_initialize(void) | 34 | xencomm_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. */ |