# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID ef88c2db00ad5076594dc5921e14db89bdf6cb7e
# Parent 4b1efe4c9e0b643079560ac6e20f1088742f5ae6
# Parent 9d72a5b18107a3482157b2d6b816a4324a5f8ad4
merge
diff -r 4b1efe4c9e0b -r ef88c2db00ad
linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_ia64
--- a/linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_ia64 Sat Jan 14
09:35:39 2006
+++ b/linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_ia64 Sat Jan 14
09:36:40 2006
@@ -91,8 +91,7 @@
# CONFIG_IA64_PAGE_SIZE_64KB is not set
CONFIG_IA64_L1_CACHE_SHIFT=7
# CONFIG_NUMA is not set
-CONFIG_VIRTUAL_MEM_MAP=y
-CONFIG_HOLES_IN_ZONE=y
+CONFIG_VIRTUAL_MEM_MAP=n
CONFIG_IA64_CYCLONE=y
CONFIG_IOSAPIC=y
CONFIG_FORCE_MAX_ZONEORDER=18
diff -r 4b1efe4c9e0b -r ef88c2db00ad tools/examples/xmexample.vti
--- a/tools/examples/xmexample.vti Sat Jan 14 09:35:39 2006
+++ b/tools/examples/xmexample.vti Sat Jan 14 09:36:40 2006
@@ -21,7 +21,7 @@
memory = 256
# A name for your domain. All domains must have different names.
-name = "ExampleVMXDomain"
+name = "ExampleVTIDomain"
# List of which CPUS this domain is allowed to use, default Xen picks
#cpus = "" # leave to Xen to pick
@@ -30,7 +30,11 @@
# Optionally define mac and/or bridge for the network interfaces.
# Random MACs are assigned if not given.
-#vif = [ 'mac=00:16:3e:00:00:11, bridge=xen-br0' ]
+#vif = [ 'type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0' ]
+# type=ioemu specify the NIC is an ioemu device not netfront
+vif = [ 'type=ioemu, bridge=xenbr0' ]
+# for multiple NICs in device model, 3 in this example
+#vif = [ 'type=ioemu, bridge=xenbr0', 'type=ioemu', 'type=ioemu']
#----------------------------------------------------------------------------
# Define the disk devices you want the domain to have access to, and
@@ -53,7 +57,7 @@
#============================================================================
# New stuff
-device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm.debug'
+device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
# Advanced users only. Don't touch if you don't know what you're doing
memmap = '/usr/lib/xen/boot/mem-map.sxp'
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/arch/ia64/Rules.mk
--- a/xen/arch/ia64/Rules.mk Sat Jan 14 09:35:39 2006
+++ b/xen/arch/ia64/Rules.mk Sat Jan 14 09:36:40 2006
@@ -23,10 +23,10 @@
-I$(BASEDIR)/include/asm-ia64/linux-xen \
-I$(BASEDIR)/include/asm-ia64/linux-null \
-I$(BASEDIR)/arch/ia64/linux -I$(BASEDIR)/arch/ia64/linux-xen
-CFLAGS += -Wno-pointer-arith -Wredundant-decls
+#CFLAGS += -Wno-pointer-arith -Wredundant-decls
CFLAGS += -DIA64 -DXEN -DLINUX_2_6 -DV_IOSAPIC_READY
CFLAGS += -ffixed-r13 -mfixed-range=f12-f15,f32-f127
-CFLAGS += -w -g
+CFLAGS += -g
#CFLAGS += -DVTI_DEBUG
ifeq ($(VALIDATE_VT),y)
CFLAGS += -DVALIDATE_VT
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/arch/ia64/asm-offsets.c
--- a/xen/arch/ia64/asm-offsets.c Sat Jan 14 09:35:39 2006
+++ b/xen/arch/ia64/asm-offsets.c Sat Jan 14 09:36:40 2006
@@ -15,7 +15,7 @@
#define task_struct vcpu
#define DEFINE(sym, val) \
- asm volatile("\n->" #sym " %0 " #val : : "i" (val))
+ asm volatile("\n->" #sym " (%0) " #val : : "i" (val))
#define BLANK() asm volatile("\n->" : : )
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/arch/ia64/asm-xsi-offsets.c
--- a/xen/arch/ia64/asm-xsi-offsets.c Sat Jan 14 09:35:39 2006
+++ b/xen/arch/ia64/asm-xsi-offsets.c Sat Jan 14 09:36:40 2006
@@ -38,7 +38,7 @@
#define task_struct vcpu
#define DEFINE(sym, val) \
- asm volatile("\n->" #sym " %0 " #val : : "i" (val))
+ asm volatile("\n->" #sym " (%0) " #val : : "i" (val))
#define BLANK() asm volatile("\n->" : : )
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/arch/ia64/linux-xen/sal.c
--- a/xen/arch/ia64/linux-xen/sal.c Sat Jan 14 09:35:39 2006
+++ b/xen/arch/ia64/linux-xen/sal.c Sat Jan 14 09:36:40 2006
@@ -16,6 +16,7 @@
#ifdef XEN
#include <linux/smp.h>
+#include <xen/lib.h>
#endif
#include <asm/page.h>
#include <asm/sal.h>
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/arch/ia64/linux-xen/smp.c
--- a/xen/arch/ia64/linux-xen/smp.c Sat Jan 14 09:35:39 2006
+++ b/xen/arch/ia64/linux-xen/smp.c Sat Jan 14 09:36:40 2006
@@ -57,8 +57,21 @@
void flush_tlb_mask(cpumask_t mask)
{
#ifdef CONFIG_SMP
- printf("flush_tlb_mask called, not implemented for SMP\n");
- dummy();
+ int cpu;
+
+ cpu = smp_processor_id();
+ if (cpu_isset (cpu, mask)) {
+ cpu_clear(cpu, mask);
+ local_flush_tlb_all ();
+ }
+
+ if (cpus_empty(mask))
+ return;
+
+ for (cpu = 0; cpu < NR_CPUS; ++cpu)
+ if (cpu_isset(cpu, mask))
+ smp_call_function_single
+ (cpu, (void (*)(void *))local_flush_tlb_all, NULL, 1, 1);
#endif
}
//#if CONFIG_SMP || IA64
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/arch/ia64/linux-xen/smpboot.c
--- a/xen/arch/ia64/linux-xen/smpboot.c Sat Jan 14 09:35:39 2006
+++ b/xen/arch/ia64/linux-xen/smpboot.c Sat Jan 14 09:36:40 2006
@@ -64,6 +64,10 @@
#ifdef XEN
#include <asm/hw_irq.h>
int ht_per_core = 1;
+#ifndef CONFIG_SMP
+cpumask_t cpu_online_map = CPU_MASK_CPU0;
+EXPORT_SYMBOL(cpu_online_map);
+#endif
#endif
#ifdef CONFIG_SMP /* ifdef XEN */
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/arch/ia64/xen/mm_init.c
--- a/xen/arch/ia64/xen/mm_init.c Sat Jan 14 09:35:39 2006
+++ b/xen/arch/ia64/xen/mm_init.c Sat Jan 14 09:36:40 2006
@@ -502,6 +502,7 @@
}
#endif /* CONFIG_VIRTUAL_MEM_MAP */
+#ifndef XEN
static int
count_reserved_pages (u64 start, u64 end, void *arg)
{
@@ -514,6 +515,7 @@
*count += num_reserved;
return 0;
}
+#endif
/*
* Boot command-line option "nolwsys" can be used to disable the use of any
light-weight
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/arch/ia64/xen/sn_console.c
--- a/xen/arch/ia64/xen/sn_console.c Sat Jan 14 09:35:39 2006
+++ b/xen/arch/ia64/xen/sn_console.c Sat Jan 14 09:36:40 2006
@@ -4,6 +4,7 @@
* Copyright (c) 2005 Silicon Graphics, Inc. All Rights Reserved.
*/
+#include <xen/lib.h>
#include <asm/acpi.h>
#include <asm/sn/sn_sal.h>
#include <xen/serial.h>
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/arch/ia64/xen/xenmisc.c
--- a/xen/arch/ia64/xen/xenmisc.c Sat Jan 14 09:35:39 2006
+++ b/xen/arch/ia64/xen/xenmisc.c Sat Jan 14 09:36:40 2006
@@ -202,6 +202,8 @@
{
printk("dump_pageframe_info not implemented\n");
}
+
+int nmi_count(int x) { return x; }
///////////////////////////////
// called from arch/ia64/head.S
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/arch/ia64/xen/xensetup.c
--- a/xen/arch/ia64/xen/xensetup.c Sat Jan 14 09:35:39 2006
+++ b/xen/arch/ia64/xen/xensetup.c Sat Jan 14 09:36:40 2006
@@ -21,6 +21,7 @@
#include <asm/page.h>
#include <asm/setup.h>
#include <xen/string.h>
+#include <asm/vmx.h>
unsigned long xenheap_phys_end;
@@ -436,9 +437,10 @@
{
char *p=info;
- *p=0;
-
- p+=sprintf(p,"xen_%d.%d_ia64 ",XEN_VERSION,XEN_SUBVERSION);
+ p += sprintf(p,"xen-%d.%d-ia64 ", XEN_VERSION, XEN_SUBVERSION);
+
+ if (vmx_enabled)
+ p += sprintf(p,"hvm-%d.%d-ia64 ", XEN_VERSION, XEN_SUBVERSION);
*(p-1) = 0;
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/include/asm-ia64/config.h
--- a/xen/include/asm-ia64/config.h Sat Jan 14 09:35:39 2006
+++ b/xen/include/asm-ia64/config.h Sat Jan 14 09:36:40 2006
@@ -92,7 +92,7 @@
//#define __acquire(x) (void)0
//#define __release(x) (void)0
//#define __cond_lock(x) (x)
-#define __must_check
+//#define __must_check
#define __deprecated
#ifndef RELOC_HIDE
# define RELOC_HIDE(ptr, off) \
@@ -121,7 +121,7 @@
// from include/asm-ia64/smp.h
#ifdef CONFIG_SMP
-#warning "Lots of things to fix to enable CONFIG_SMP!"
+//#warning "Lots of things to fix to enable CONFIG_SMP!"
#endif
#define get_cpu() smp_processor_id()
#define put_cpu() do {} while(0)
@@ -183,7 +183,9 @@
struct exception_table_entry *finish);
void sort_main_extable(void);
+#if 0 /* Already defined in xen/lib.h */
#define printk printf
+#endif
#undef __ARCH_IRQ_STAT
@@ -201,7 +203,6 @@
#define OPT_CONSOLE_STR "com2"
#endif
-#define __attribute_used__ __attribute__ ((unused))
#define __nocast
// see include/asm-x86/atomic.h (different from standard linux)
@@ -251,9 +252,6 @@
#define seq_printf(a,b...) printf(b)
#define CONFIG_BLK_DEV_INITRD // needed to reserve memory for domain0
-// needed for newer ACPI code
-#define asmlinkage
-
#define FORCE_CRASH() asm("break 0;;");
void dummy_called(char *function);
@@ -302,13 +300,8 @@
#endif
-// FOLLOWING ADDED FOR XEN POST-NGIO and/or LINUX 2.6.7
-
-// following derived from linux/include/linux/compiler-gcc3.h
-// problem because xen (over?)simplifies include/xen/compiler.h
-#if __GNUC_MAJOR < 3 || __GNUC_MINOR__ >= 3
-# define __attribute_used__ __attribute__((__used__))
-#else
-# define __attribute_used__ __attribute__((__unused__))
-#endif
+#ifndef __ASSEMBLY__
+#include <linux/linkage.h>
+#endif
+
#endif /* _IA64_CONFIG_H_ */
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/include/asm-ia64/linux-xen/asm/ptrace.h
--- a/xen/include/asm-ia64/linux-xen/asm/ptrace.h Sat Jan 14 09:35:39 2006
+++ b/xen/include/asm-ia64/linux-xen/asm/ptrace.h Sat Jan 14 09:36:40 2006
@@ -110,6 +110,7 @@
return (struct cpu_user_regs *) ((unsigned long) v + IA64_STK_OFFSET) - 1;
}
+struct pt_regs *guest_cpu_user_regs(void);
#else
struct pt_regs {
diff -r 4b1efe4c9e0b -r ef88c2db00ad
xen/include/asm-ia64/linux-xen/linux/interrupt.h
--- a/xen/include/asm-ia64/linux-xen/linux/interrupt.h Sat Jan 14 09:35:39 2006
+++ b/xen/include/asm-ia64/linux-xen/linux/interrupt.h Sat Jan 14 09:36:40 2006
@@ -104,6 +104,7 @@
al. should be converted to tasklets, not to softirqs.
*/
+#ifndef XEN
enum
{
HI_SOFTIRQ=0,
@@ -113,6 +114,7 @@
SCSI_SOFTIRQ,
TASKLET_SOFTIRQ
};
+#endif
/* softirq mask and active fields moved to irq_cpustat_t in
* asm/hardirq.h to get better cache usage. KAO
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/include/asm-ia64/mm.h
--- a/xen/include/asm-ia64/mm.h Sat Jan 14 09:35:39 2006
+++ b/xen/include/asm-ia64/mm.h Sat Jan 14 09:36:40 2006
@@ -67,10 +67,12 @@
} free;
} u;
+#if 0
// following added for Linux compiling
page_flags_t flags;
atomic_t _count;
struct list_head lru; // is this the same as above "list"?
+#endif
};
#define set_page_count(p,v) atomic_set(&(p)->_count, v - 1)
diff -r 4b1efe4c9e0b -r ef88c2db00ad xen/include/asm-ia64/vmmu.h
--- a/xen/include/asm-ia64/vmmu.h Sat Jan 14 09:35:39 2006
+++ b/xen/include/asm-ia64/vmmu.h Sat Jan 14 09:36:40 2006
@@ -151,8 +151,8 @@
typedef u64 *(THASH_FN)(PTA pta, u64 va);
typedef u64 *(TTAG_FN)(PTA pta, u64 va);
typedef u64 *(GET_MFN_FN)(domid_t d, u64 gpfn, u64 pages);
-typedef void *(REM_NOTIFIER_FN)(struct hash_cb *hcb, thash_data_t *entry);
-typedef void (RECYCLE_FN)(struct hash_cb *hc, u64 para);
+typedef void *(REM_NOTIFIER_FN)(struct thash_cb *hcb, thash_data_t *entry);
+typedef void (RECYCLE_FN)(struct thash_cb *hc, u64 para);
typedef ia64_rr (GET_RR_FN)(struct vcpu *vcpu, u64 reg);
typedef thash_data_t *(FIND_OVERLAP_FN)(struct thash_cb *hcb,
u64 va, u64 ps, int rid, char cl, search_section_t s_sect);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|