ia64/xen-unstable

changeset 8606:ef88c2db00ad

merge
author kaf24@firebug.cl.cam.ac.uk
date Sat Jan 14 10:36:40 2006 +0100 (2006-01-14)
parents 4b1efe4c9e0b 9d72a5b18107
children 1b839e1b1de1
files
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_ia64	Sat Jan 14 10:35:39 2006 +0100
     1.2 +++ b/linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_ia64	Sat Jan 14 10:36:40 2006 +0100
     1.3 @@ -91,8 +91,7 @@ CONFIG_IA64_PAGE_SIZE_16KB=y
     1.4  # CONFIG_IA64_PAGE_SIZE_64KB is not set
     1.5  CONFIG_IA64_L1_CACHE_SHIFT=7
     1.6  # CONFIG_NUMA is not set
     1.7 -CONFIG_VIRTUAL_MEM_MAP=y
     1.8 -CONFIG_HOLES_IN_ZONE=y
     1.9 +CONFIG_VIRTUAL_MEM_MAP=n
    1.10  CONFIG_IA64_CYCLONE=y
    1.11  CONFIG_IOSAPIC=y
    1.12  CONFIG_FORCE_MAX_ZONEORDER=18
     2.1 --- a/tools/examples/xmexample.vti	Sat Jan 14 10:35:39 2006 +0100
     2.2 +++ b/tools/examples/xmexample.vti	Sat Jan 14 10:36:40 2006 +0100
     2.3 @@ -21,7 +21,7 @@ builder='vmx'
     2.4  memory = 256
     2.5  
     2.6  # A name for your domain. All domains must have different names.
     2.7 -name = "ExampleVMXDomain"
     2.8 +name = "ExampleVTIDomain"
     2.9  
    2.10  # List of which CPUS this domain is allowed to use, default Xen picks
    2.11  #cpus = ""         # leave to Xen to pick
    2.12 @@ -30,7 +30,11 @@ name = "ExampleVMXDomain"
    2.13  
    2.14  # Optionally define mac and/or bridge for the network interfaces.
    2.15  # Random MACs are assigned if not given.
    2.16 -#vif = [ 'mac=00:16:3e:00:00:11, bridge=xen-br0' ]
    2.17 +#vif = [ 'type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0' ]
    2.18 +# type=ioemu specify the NIC is an ioemu device not netfront
    2.19 +vif = [ 'type=ioemu, bridge=xenbr0' ]
    2.20 +# for multiple NICs in device model, 3 in this example
    2.21 +#vif = [ 'type=ioemu, bridge=xenbr0', 'type=ioemu', 'type=ioemu']
    2.22  
    2.23  #----------------------------------------------------------------------------
    2.24  # Define the disk devices you want the domain to have access to, and
    2.25 @@ -53,7 +57,7 @@ disk = [ 'file:/var/images/xenia64.img,i
    2.26  #============================================================================
    2.27  
    2.28  # New stuff
    2.29 -device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm.debug'
    2.30 +device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
    2.31  
    2.32  # Advanced users only. Don't touch if you don't know what you're doing
    2.33  memmap = '/usr/lib/xen/boot/mem-map.sxp'
     3.1 --- a/xen/arch/ia64/Rules.mk	Sat Jan 14 10:35:39 2006 +0100
     3.2 +++ b/xen/arch/ia64/Rules.mk	Sat Jan 14 10:36:40 2006 +0100
     3.3 @@ -23,10 +23,10 @@ CFLAGS  += -I$(BASEDIR)/include/asm-ia64
     3.4             -I$(BASEDIR)/include/asm-ia64/linux-xen 			\
     3.5  	   -I$(BASEDIR)/include/asm-ia64/linux-null 			\
     3.6             -I$(BASEDIR)/arch/ia64/linux -I$(BASEDIR)/arch/ia64/linux-xen
     3.7 -CFLAGS  += -Wno-pointer-arith -Wredundant-decls
     3.8 +#CFLAGS  += -Wno-pointer-arith -Wredundant-decls
     3.9  CFLAGS  += -DIA64 -DXEN -DLINUX_2_6 -DV_IOSAPIC_READY
    3.10  CFLAGS	+= -ffixed-r13 -mfixed-range=f12-f15,f32-f127
    3.11 -CFLAGS	+= -w -g
    3.12 +CFLAGS	+= -g
    3.13  #CFLAGS  += -DVTI_DEBUG
    3.14  ifeq ($(VALIDATE_VT),y)
    3.15  CFLAGS  += -DVALIDATE_VT
     4.1 --- a/xen/arch/ia64/asm-offsets.c	Sat Jan 14 10:35:39 2006 +0100
     4.2 +++ b/xen/arch/ia64/asm-offsets.c	Sat Jan 14 10:36:40 2006 +0100
     4.3 @@ -15,7 +15,7 @@
     4.4  #define task_struct vcpu
     4.5  
     4.6  #define DEFINE(sym, val) \
     4.7 -        asm volatile("\n->" #sym " %0 " #val : : "i" (val))
     4.8 +        asm volatile("\n->" #sym " (%0) " #val : : "i" (val))
     4.9  
    4.10  #define BLANK() asm volatile("\n->" : : )
    4.11  
     5.1 --- a/xen/arch/ia64/asm-xsi-offsets.c	Sat Jan 14 10:35:39 2006 +0100
     5.2 +++ b/xen/arch/ia64/asm-xsi-offsets.c	Sat Jan 14 10:36:40 2006 +0100
     5.3 @@ -38,7 +38,7 @@
     5.4  #define task_struct vcpu
     5.5  
     5.6  #define DEFINE(sym, val) \
     5.7 -        asm volatile("\n->" #sym " %0 " #val : : "i" (val))
     5.8 +        asm volatile("\n->" #sym " (%0) " #val : : "i" (val))
     5.9  
    5.10  #define BLANK() asm volatile("\n->" : : )
    5.11  
     6.1 --- a/xen/arch/ia64/linux-xen/sal.c	Sat Jan 14 10:35:39 2006 +0100
     6.2 +++ b/xen/arch/ia64/linux-xen/sal.c	Sat Jan 14 10:36:40 2006 +0100
     6.3 @@ -16,6 +16,7 @@
     6.4  
     6.5  #ifdef XEN
     6.6  #include <linux/smp.h>
     6.7 +#include <xen/lib.h>
     6.8  #endif
     6.9  #include <asm/page.h>
    6.10  #include <asm/sal.h>
     7.1 --- a/xen/arch/ia64/linux-xen/smp.c	Sat Jan 14 10:35:39 2006 +0100
     7.2 +++ b/xen/arch/ia64/linux-xen/smp.c	Sat Jan 14 10:36:40 2006 +0100
     7.3 @@ -57,8 +57,21 @@
     7.4  void flush_tlb_mask(cpumask_t mask)
     7.5  {
     7.6  #ifdef CONFIG_SMP
     7.7 -    printf("flush_tlb_mask called, not implemented for SMP\n");
     7.8 -	dummy();
     7.9 +    int cpu;
    7.10 +
    7.11 +    cpu = smp_processor_id();
    7.12 +    if (cpu_isset (cpu, mask)) {
    7.13 +        cpu_clear(cpu, mask);
    7.14 +	local_flush_tlb_all ();
    7.15 +    }
    7.16 +
    7.17 +    if (cpus_empty(mask))
    7.18 +        return;
    7.19 +
    7.20 +    for (cpu = 0; cpu < NR_CPUS; ++cpu)
    7.21 +        if (cpu_isset(cpu, mask))
    7.22 +	   smp_call_function_single
    7.23 +	     (cpu, (void (*)(void *))local_flush_tlb_all, NULL, 1, 1);
    7.24  #endif
    7.25  }
    7.26  //#if CONFIG_SMP || IA64
     8.1 --- a/xen/arch/ia64/linux-xen/smpboot.c	Sat Jan 14 10:35:39 2006 +0100
     8.2 +++ b/xen/arch/ia64/linux-xen/smpboot.c	Sat Jan 14 10:36:40 2006 +0100
     8.3 @@ -64,6 +64,10 @@
     8.4  #ifdef XEN
     8.5  #include <asm/hw_irq.h>
     8.6  int ht_per_core = 1;
     8.7 +#ifndef CONFIG_SMP
     8.8 +cpumask_t cpu_online_map = CPU_MASK_CPU0;
     8.9 +EXPORT_SYMBOL(cpu_online_map);
    8.10 +#endif
    8.11  #endif
    8.12  
    8.13  #ifdef CONFIG_SMP /* ifdef XEN */
     9.1 --- a/xen/arch/ia64/xen/mm_init.c	Sat Jan 14 10:35:39 2006 +0100
     9.2 +++ b/xen/arch/ia64/xen/mm_init.c	Sat Jan 14 10:36:40 2006 +0100
     9.3 @@ -502,6 +502,7 @@ find_largest_hole (u64 start, u64 end, v
     9.4  }
     9.5  #endif /* CONFIG_VIRTUAL_MEM_MAP */
     9.6  
     9.7 +#ifndef XEN
     9.8  static int
     9.9  count_reserved_pages (u64 start, u64 end, void *arg)
    9.10  {
    9.11 @@ -514,6 +515,7 @@ count_reserved_pages (u64 start, u64 end
    9.12  	*count += num_reserved;
    9.13  	return 0;
    9.14  }
    9.15 +#endif
    9.16  
    9.17  /*
    9.18   * Boot command-line option "nolwsys" can be used to disable the use of any light-weight
    10.1 --- a/xen/arch/ia64/xen/sn_console.c	Sat Jan 14 10:35:39 2006 +0100
    10.2 +++ b/xen/arch/ia64/xen/sn_console.c	Sat Jan 14 10:36:40 2006 +0100
    10.3 @@ -4,6 +4,7 @@
    10.4   * Copyright (c) 2005 Silicon Graphics, Inc.  All Rights Reserved.
    10.5   */
    10.6  
    10.7 +#include <xen/lib.h>
    10.8  #include <asm/acpi.h>
    10.9  #include <asm/sn/sn_sal.h>
   10.10  #include <xen/serial.h>
    11.1 --- a/xen/arch/ia64/xen/xenmisc.c	Sat Jan 14 10:35:39 2006 +0100
    11.2 +++ b/xen/arch/ia64/xen/xenmisc.c	Sat Jan 14 10:36:40 2006 +0100
    11.3 @@ -203,6 +203,8 @@ void dump_pageframe_info(struct domain *
    11.4  	printk("dump_pageframe_info not implemented\n");
    11.5  }
    11.6  
    11.7 +int nmi_count(int x) { return x; }
    11.8 +
    11.9  ///////////////////////////////
   11.10  // called from arch/ia64/head.S
   11.11  ///////////////////////////////
    12.1 --- a/xen/arch/ia64/xen/xensetup.c	Sat Jan 14 10:35:39 2006 +0100
    12.2 +++ b/xen/arch/ia64/xen/xensetup.c	Sat Jan 14 10:36:40 2006 +0100
    12.3 @@ -21,6 +21,7 @@
    12.4  #include <asm/page.h>
    12.5  #include <asm/setup.h>
    12.6  #include <xen/string.h>
    12.7 +#include <asm/vmx.h>
    12.8  
    12.9  unsigned long xenheap_phys_end;
   12.10  
   12.11 @@ -436,9 +437,10 @@ void arch_get_xen_caps(xen_capabilities_
   12.12  {
   12.13      char *p=info;
   12.14  
   12.15 -    *p=0;
   12.16 +    p += sprintf(p,"xen-%d.%d-ia64 ", XEN_VERSION, XEN_SUBVERSION);
   12.17  
   12.18 -    p+=sprintf(p,"xen_%d.%d_ia64 ",XEN_VERSION,XEN_SUBVERSION);
   12.19 +    if (vmx_enabled)
   12.20 +        p += sprintf(p,"hvm-%d.%d-ia64 ", XEN_VERSION, XEN_SUBVERSION);
   12.21  
   12.22      *(p-1) = 0;
   12.23  
    13.1 --- a/xen/include/asm-ia64/config.h	Sat Jan 14 10:35:39 2006 +0100
    13.2 +++ b/xen/include/asm-ia64/config.h	Sat Jan 14 10:36:40 2006 +0100
    13.3 @@ -92,7 +92,7 @@ extern char _end[]; /* standard ELF symb
    13.4  //#define __acquire(x) (void)0
    13.5  //#define __release(x) (void)0
    13.6  //#define __cond_lock(x) (x)
    13.7 -#define __must_check
    13.8 +//#define __must_check
    13.9  #define __deprecated
   13.10  #ifndef RELOC_HIDE
   13.11  # define RELOC_HIDE(ptr, off)					\
   13.12 @@ -121,7 +121,7 @@ extern char _end[]; /* standard ELF symb
   13.13  
   13.14  // from include/asm-ia64/smp.h
   13.15  #ifdef CONFIG_SMP
   13.16 -#warning "Lots of things to fix to enable CONFIG_SMP!"
   13.17 +//#warning "Lots of things to fix to enable CONFIG_SMP!"
   13.18  #endif
   13.19  #define	get_cpu()	smp_processor_id()
   13.20  #define put_cpu()	do {} while(0)
   13.21 @@ -183,7 +183,9 @@ void sort_extable(struct exception_table
   13.22  		  struct exception_table_entry *finish);
   13.23  void sort_main_extable(void);
   13.24  
   13.25 +#if 0 /* Already defined in xen/lib.h */
   13.26  #define printk printf
   13.27 +#endif
   13.28  
   13.29  #undef  __ARCH_IRQ_STAT
   13.30  
   13.31 @@ -201,7 +203,6 @@ void sort_main_extable(void);
   13.32  #define	OPT_CONSOLE_STR "com2"
   13.33  #endif
   13.34  
   13.35 -#define __attribute_used__	__attribute__ ((unused))
   13.36  #define __nocast
   13.37  
   13.38  // see include/asm-x86/atomic.h (different from standard linux)
   13.39 @@ -251,9 +252,6 @@ struct screen_info { };
   13.40  #define seq_printf(a,b...) printf(b)
   13.41  #define CONFIG_BLK_DEV_INITRD // needed to reserve memory for domain0
   13.42  
   13.43 -// needed for newer ACPI code
   13.44 -#define asmlinkage
   13.45 -
   13.46  #define FORCE_CRASH()	asm("break 0;;");
   13.47  
   13.48  void dummy_called(char *function);
   13.49 @@ -302,13 +300,8 @@ extern int ht_per_core;
   13.50  #endif
   13.51  
   13.52  
   13.53 -// FOLLOWING ADDED FOR XEN POST-NGIO and/or LINUX 2.6.7
   13.54 +#ifndef __ASSEMBLY__
   13.55 +#include <linux/linkage.h>
   13.56 +#endif
   13.57  
   13.58 -// following derived from linux/include/linux/compiler-gcc3.h
   13.59 -// problem because xen (over?)simplifies include/xen/compiler.h
   13.60 -#if __GNUC_MAJOR < 3 || __GNUC_MINOR__ >= 3
   13.61 -# define __attribute_used__	__attribute__((__used__))
   13.62 -#else
   13.63 -# define __attribute_used__	__attribute__((__unused__))
   13.64 -#endif
   13.65  #endif	/* _IA64_CONFIG_H_ */
    14.1 --- a/xen/include/asm-ia64/linux-xen/asm/ptrace.h	Sat Jan 14 10:35:39 2006 +0100
    14.2 +++ b/xen/include/asm-ia64/linux-xen/asm/ptrace.h	Sat Jan 14 10:36:40 2006 +0100
    14.3 @@ -110,6 +110,7 @@ vcpu_regs (struct vcpu *v)
    14.4    return (struct cpu_user_regs *) ((unsigned long) v + IA64_STK_OFFSET) - 1;
    14.5  }
    14.6  
    14.7 +struct pt_regs *guest_cpu_user_regs(void);
    14.8  
    14.9  #else
   14.10  struct pt_regs {
    15.1 --- a/xen/include/asm-ia64/linux-xen/linux/interrupt.h	Sat Jan 14 10:35:39 2006 +0100
    15.2 +++ b/xen/include/asm-ia64/linux-xen/linux/interrupt.h	Sat Jan 14 10:36:40 2006 +0100
    15.3 @@ -104,6 +104,7 @@ extern void local_bh_enable(void);
    15.4     al. should be converted to tasklets, not to softirqs.
    15.5   */
    15.6  
    15.7 +#ifndef XEN
    15.8  enum
    15.9  {
   15.10  	HI_SOFTIRQ=0,
   15.11 @@ -113,6 +114,7 @@ enum
   15.12  	SCSI_SOFTIRQ,
   15.13  	TASKLET_SOFTIRQ
   15.14  };
   15.15 +#endif
   15.16  
   15.17  /* softirq mask and active fields moved to irq_cpustat_t in
   15.18   * asm/hardirq.h to get better cache usage.  KAO
    16.1 --- a/xen/include/asm-ia64/mm.h	Sat Jan 14 10:35:39 2006 +0100
    16.2 +++ b/xen/include/asm-ia64/mm.h	Sat Jan 14 10:36:40 2006 +0100
    16.3 @@ -67,10 +67,12 @@ struct page
    16.4          } free;
    16.5  
    16.6      } u;
    16.7 +#if 0
    16.8  // following added for Linux compiling
    16.9      page_flags_t flags;
   16.10      atomic_t _count;
   16.11      struct list_head lru;	// is this the same as above "list"?
   16.12 +#endif
   16.13  };
   16.14  
   16.15  #define set_page_count(p,v) 	atomic_set(&(p)->_count, v - 1)
    17.1 --- a/xen/include/asm-ia64/vmmu.h	Sat Jan 14 10:35:39 2006 +0100
    17.2 +++ b/xen/include/asm-ia64/vmmu.h	Sat Jan 14 10:36:40 2006 +0100
    17.3 @@ -151,8 +151,8 @@ typedef union thash_cch_mem {
    17.4  typedef u64 *(THASH_FN)(PTA pta, u64 va);
    17.5  typedef u64 *(TTAG_FN)(PTA pta, u64 va);
    17.6  typedef u64 *(GET_MFN_FN)(domid_t d, u64 gpfn, u64 pages);
    17.7 -typedef void *(REM_NOTIFIER_FN)(struct hash_cb *hcb, thash_data_t *entry);
    17.8 -typedef void (RECYCLE_FN)(struct hash_cb *hc, u64 para);
    17.9 +typedef void *(REM_NOTIFIER_FN)(struct thash_cb *hcb, thash_data_t *entry);
   17.10 +typedef void (RECYCLE_FN)(struct thash_cb *hc, u64 para);
   17.11  typedef ia64_rr (GET_RR_FN)(struct vcpu *vcpu, u64 reg);
   17.12  typedef thash_data_t *(FIND_OVERLAP_FN)(struct thash_cb *hcb, 
   17.13          u64 va, u64 ps, int rid, char cl, search_section_t s_sect);