Mailing List Archive

[xen-unstable] [IA64] Modify sparse headers for PV-on-HVM/IPF
# HG changeset patch
# User awilliam@xenbuild.aw
# Node ID 896fcdd49c7ff59f7d28b6402fd4453e60c38232
# Parent 6bf652c677c829cc122547eaa8a777070662161e
[IA64] Modify sparse headers for PV-on-HVM/IPF

Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@jp.fujitsu.com>
---
linux-2.6-xen-sparse/include/asm-ia64/hypercall.h | 2 +
linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h | 38 ++++++++++++++++-----
2 files changed, 32 insertions(+), 8 deletions(-)

diff -r 6bf652c677c8 -r 896fcdd49c7f linux-2.6-xen-sparse/include/asm-ia64/hypercall.h
--- a/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h Mon Aug 28 16:09:28 2006 -0600
+++ b/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h Mon Aug 28 16:16:07 2006 -0600
@@ -315,7 +315,9 @@ static inline void exit_idle(void) {}
})

#include <linux/err.h>
+#ifdef CONFIG_XEN
#include <asm/xen/privop.h>
+#endif /* CONFIG_XEN */

static inline unsigned long
__HYPERVISOR_ioremap(unsigned long ioaddr, unsigned long size)
diff -r 6bf652c677c8 -r 896fcdd49c7f linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h
--- a/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h Mon Aug 28 16:09:28 2006 -0600
+++ b/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h Mon Aug 28 16:16:07 2006 -0600
@@ -33,7 +33,7 @@
#ifndef __HYPERVISOR_H__
#define __HYPERVISOR_H__

-#ifndef CONFIG_XEN
+#if !defined(CONFIG_XEN) && !defined(CONFIG_VMX_GUEST)
#define is_running_on_xen() (0)
#define HYPERVISOR_ioremap(offset, size) (offset)
#else
@@ -41,7 +41,7 @@ extern int running_on_xen;
#define is_running_on_xen() (running_on_xen)
#endif

-#ifdef CONFIG_XEN
+#if defined(CONFIG_XEN) || defined(CONFIG_VMX_GUEST)
#include <linux/config.h>
#include <linux/types.h>
#include <linux/kernel.h>
@@ -59,10 +59,9 @@ extern shared_info_t *HYPERVISOR_shared_
extern shared_info_t *HYPERVISOR_shared_info;
extern start_info_t *xen_start_info;

-#define is_initial_xendomain() (xen_start_info->flags & SIF_INITDOMAIN)
-
void force_evtchn_callback(void);

+#ifndef CONFIG_VMX_GUEST
/* Turn jiffies into Xen system time. XXX Implement me. */
#define jiffies_to_st(j) 0

@@ -145,10 +144,14 @@ int privcmd_mmap(struct file * file, str
#define scrub_pages(_p,_n) ((void)0)
#endif
#define pte_mfn(_x) pte_pfn(_x)
-#define __pte_ma(_x) ((pte_t) {(_x)})
#define phys_to_machine_mapping_valid(_x) (1)
-#define pfn_pte_ma(_x,_y) __pte_ma(0)
-
+
+#endif /* !CONFIG_VMX_GUEST */
+
+#define __pte_ma(_x) ((pte_t) {(_x)}) /* unmodified use */
+#define pfn_pte_ma(_x,_y) __pte_ma(0) /* unmodified use */
+
+#ifndef CONFIG_VMX_GUEST
int __xen_create_contiguous_region(unsigned long vstart, unsigned int order, unsigned int address_bits);
static inline int
xen_create_contiguous_region(unsigned long vstart,
@@ -170,6 +173,8 @@ xen_destroy_contiguous_region(unsigned l
__xen_destroy_contiguous_region(vstart, order);
}

+#endif /* !CONFIG_VMX_GUEST */
+
// for netfront.c, netback.c
#define MULTI_UVMFLAGS_INDEX 0 //XXX any value

@@ -180,12 +185,29 @@ MULTI_update_va_mapping(
{
mcl->op = __HYPERVISOR_update_va_mapping;
mcl->result = 0;
+}
+
+static inline void
+MULTI_grant_table_op(multicall_entry_t *mcl, unsigned int cmd,
+ void *uop, unsigned int count)
+{
+ mcl->op = __HYPERVISOR_grant_table_op;
+ mcl->args[0] = cmd;
+ mcl->args[1] = (unsigned long)uop;
+ mcl->args[2] = count;
}

// for debug
asmlinkage int xprintk(const char *fmt, ...);
#define xprintd(fmt, ...) xprintk("%s:%d " fmt, __func__, __LINE__, \
##__VA_ARGS__)
-#endif /* CONFIG_XEN */
+
+#endif /* CONFIG_XEN || CONFIG_VMX_GUEST */
+
+#ifdef CONFIG_XEN_PRIVILEGED_GUEST
+#define is_initial_xendomain() (xen_start_info->flags & SIF_INITDOMAIN)
+#else
+#define is_initial_xendomain() 0
+#endif

#endif /* __HYPERVISOR_H__ */

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xensource.com
http://lists.xensource.com/xen-changelog