diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2008-10-17 11:17:54 +0900 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2008-10-17 10:00:19 -0700 |
commit | f021c8b334cc00739b5d43b5be5f97a34b1ad16a (patch) | |
tree | c048aff2354a3b701adc458d464adbd4e40d7120 /arch/ia64/xen/xencomm.c | |
parent | 11d437789d0f35fa2e2ebcb4a983b29587bdfdc5 (diff) | |
download | talos-obmc-linux-f021c8b334cc00739b5d43b5be5f97a34b1ad16a.tar.gz talos-obmc-linux-f021c8b334cc00739b5d43b5be5f97a34b1ad16a.zip |
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 @@ #include <linux/mm.h> static unsigned long kernel_virtual_offset; +static int is_xencomm_initialized; + +/* for xen early printk. It uses console io hypercall which uses xencomm. + * However early printk may use it before xencomm initialization. + */ +int +xencomm_is_initialized(void) +{ + return is_xencomm_initialized; +} void xencomm_initialize(void) { kernel_virtual_offset = KERNEL_START - ia64_tpa(KERNEL_START); + is_xencomm_initialized = 1; } /* Translate virtual address to physical address. */ |