Magellan Linux

Diff of /trunk/kernel26-xen/patches-2.6.25-r1/1020-2.6.25-xen-patch-2.6.19.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 610 by niro, Fri May 23 17:35:37 2008 UTC revision 611 by niro, Fri May 23 18:49:01 2008 UTC
# Line 1  Line 1 
1  From: www.kernel.org  diff -Naur linux-2.6.25/arch/x86/ia32/ia32entry-xen.S linux-2.6.25-xen/arch/x86/ia32/ia32entry-xen.S
2  Subject: Linux 2.6.19  --- linux-2.6.25/arch/x86/ia32/ia32entry-xen.S 2008-05-23 20:51:11.000000000 +0200
3  Patch-mainline: 2.6.19  +++ linux-2.6.25-xen/arch/x86/ia32/ia32entry-xen.S 2008-05-23 20:39:03.000000000 +0200
   
 Automatically created from "patches.kernel.org/patch-2.6.19" by xen-port-patches.py  
   
 Acked-by: jbeulich@novell.com  
   
 ---  
  arch/x86/Kconfig                              |    1  
  arch/x86/ia32/ia32entry-xen.S                 |    9  
  arch/x86/kernel/Makefile                      |    5  
  arch/x86/kernel/apic_32-xen.c                 |    9  
  arch/x86/kernel/apic_64-xen.c                 |   20  
  arch/x86/kernel/cpu/common-xen.c              |   20  
  arch/x86/kernel/e820_64-xen.c                 |  320 +++---  
  arch/x86/kernel/early_printk-xen.c            |   20  
  arch/x86/kernel/entry_32-xen.S                |  139 +-  
  arch/x86/kernel/entry_64-xen.S                |  106 --  
  arch/x86/kernel/genapic_xen_64.c              |    9  
  arch/x86/kernel/head64-xen.c                  |   44  
  arch/x86/kernel/head_32-xen.S                 |    2  
  arch/x86/kernel/head_64-xen.S                 |    5  
  arch/x86/kernel/io_apic_32-xen.c              |  750 +++++++++------  
  arch/x86/kernel/io_apic_64-xen.c              | 1250 +++++++++++---------------  
  arch/x86/kernel/ioport_64-xen.c               |    1  
  arch/x86/kernel/irq_32-xen.c                  |   19  
  arch/x86/kernel/irq_64-xen.c                  |   35  
  arch/x86/kernel/ldt_32-xen.c                  |    2  
  arch/x86/kernel/microcode-xen.c               |   85 +  
  arch/x86/kernel/mpparse_32-xen.c              |   70 -  
  arch/x86/kernel/mpparse_64-xen.c              |  313 +-----  
  arch/x86/kernel/pci-dma_32-xen.c              |   16  
  arch/x86/kernel/pci-swiotlb_64-xen.c          |    3  
  arch/x86/kernel/process_32-xen.c              |   29  
  arch/x86/kernel/process_64-xen.c              |   90 +  
  arch/x86/kernel/setup64-xen.c                 |   41  
  arch/x86/kernel/setup_32-xen.c                |  430 +++-----  
  arch/x86/kernel/setup_64-xen.c                |  271 +----  
  arch/x86/kernel/smp_32-xen.c                  |   75 +  
  arch/x86/kernel/smp_64-xen.c                  |   35  
  arch/x86/kernel/time_32-xen.c                 |   86 -  
  arch/x86/kernel/traps_32-xen.c                |  238 +++-  
  arch/x86/kernel/traps_64-xen.c                |  220 +++-  
  arch/x86/kernel/vsyscall_64-xen.c             |  117 ++  
  arch/x86/mach-xen/setup.c                     |    6  
  arch/x86/mm/fault_32-xen.c                    |   29  
  arch/x86/mm/fault_64-xen.c                    |   34  
  arch/x86/mm/highmem_32-xen.c                  |   31  
  arch/x86/mm/hypervisor.c                      |    9  
  arch/x86/mm/init_32-xen.c                     |   89 +  
  arch/x86/mm/init_64-xen.c                     |  184 +--  
  arch/x86/mm/ioremap_32-xen.c                  |   10  
  arch/x86/mm/pageattr_64-xen.c                 |   24  
  arch/x86/mm/pgtable_32-xen.c                  |   31  
  arch/x86/pci/irq-xen.c                        |   38  
  drivers/char/tpm/tpm_xen.c                    |    5  
  drivers/pci/Kconfig                           |    2  
  drivers/xen/Kconfig                           |    3  
  drivers/xen/balloon/balloon.c                 |    2  
  drivers/xen/blkback/blkback.c                 |    2  
  drivers/xen/blkback/common.h                  |    2  
  drivers/xen/blkfront/blkfront.c               |    4  
  drivers/xen/blktap/blktap.c                   |    2  
  drivers/xen/blktap/common.h                   |    2  
  drivers/xen/console/console.c                 |   10  
  drivers/xen/console/xencons_ring.c            |    4  
  drivers/xen/core/evtchn.c                     |   50 -  
  drivers/xen/core/reboot.c                     |    3  
  drivers/xen/core/smpboot.c                    |    6  
  drivers/xen/fbfront/xenfb.c                   |    3  
  drivers/xen/fbfront/xenkbd.c                  |    2  
  drivers/xen/gntdev/gntdev.c                   |   11  
  drivers/xen/netback/accel.c                   |    2  
  drivers/xen/netback/common.h                  |    2  
  drivers/xen/netback/loopback.c                |    2  
  drivers/xen/netback/netback.c                 |    6  
  drivers/xen/netfront/netfront.c               |    8  
  drivers/xen/pciback/pciback.h                 |    2  
  drivers/xen/pciback/pciback_ops.c             |    2  
  drivers/xen/pcifront/pci_op.c                 |    8  
  drivers/xen/privcmd/compat_privcmd.c          |    1  
  drivers/xen/privcmd/privcmd.c                 |    2  
  drivers/xen/sfc_netback/accel_xenbus.c        |    6  
  drivers/xen/sfc_netfront/accel.h              |    6  
  drivers/xen/sfc_netfront/accel_msg.c          |    6  
  drivers/xen/sfc_netfront/accel_tso.c          |    2  
  drivers/xen/sfc_netfront/accel_vi.c           |    4  
  drivers/xen/tpmback/common.h                  |    2  
  drivers/xen/tpmback/tpmback.c                 |    4  
  drivers/xen/xenbus/xenbus_comms.c             |    2  
  drivers/xen/xenoprof/xenoprofile.c            |    2  
  include/asm-generic/pgtable.h                 |    2  
  include/asm-x86/mach-xen/asm/desc_32.h        |  127 +-  
  include/asm-x86/mach-xen/asm/dma-mapping_64.h |    7  
  include/asm-x86/mach-xen/asm/e820_64.h        |   15  
  include/asm-x86/mach-xen/asm/fixmap_32.h      |    5  
  include/asm-x86/mach-xen/asm/fixmap_64.h      |    2  
  include/asm-x86/mach-xen/asm/hw_irq_32.h      |    8  
  include/asm-x86/mach-xen/asm/hw_irq_64.h      |   10  
  include/asm-x86/mach-xen/asm/io_32.h          |   27  
  include/asm-x86/mach-xen/asm/io_64.h          |   27  
  include/asm-x86/mach-xen/asm/pgtable-2level.h |   12  
  include/asm-x86/mach-xen/asm/pgtable-3level.h |   14  
  include/asm-x86/mach-xen/asm/pgtable_32.h     |  143 +-  
  include/asm-x86/mach-xen/asm/pgtable_64.h     |   86 +  
  include/asm-x86/mach-xen/asm/processor_32.h   |   62 -  
  include/asm-x86/mach-xen/asm/processor_64.h   |    2  
  include/asm-x86/mach-xen/asm/segment_32.h     |   19  
  include/asm-x86/mach-xen/asm/smp_32.h         |   25  
  include/asm-x86/mach-xen/asm/smp_64.h         |   27  
  include/asm-x86/mach-xen/asm/system_32.h      |   36  
  include/asm-x86/mach-xen/asm/system_64.h      |    1  
  include/asm-x86/mach-xen/asm/tlbflush_32.h    |    2  
  include/asm-x86/mach-xen/asm/tlbflush_64.h    |    3  
  include/asm-x86/thread_info_64.h              |    4  
  include/linux/skbuff.h                        |    7  
  include/xen/evtchn.h                          |   10  
  include/xen/xencons.h                         |    2  
  mm/mprotect.c                                 |    2  
  net/core/dev.c                                |    8  
  112 files changed, 3102 insertions(+), 3145 deletions(-)  
   
 --- a/arch/x86/Kconfig  
 +++ b/arch/x86/Kconfig  
 @@ -390,6 +390,7 @@  
   
  menuconfig PARAVIRT_GUEST  
  bool "Paravirtualized guest support"  
 + depends on !X86_XEN && !X86_64_XEN  
  help  
   Say Y here to get to see options related to running Linux under  
   various hypervisors.  This option alone does not add any kernel code.  
 --- a/arch/x86/ia32/ia32entry-xen.S  
 +++ b/arch/x86/ia32/ia32entry-xen.S  
4  @@ -83,6 +83,7 @@  @@ -83,6 +83,7 @@
5    */    */
6   ENTRY(ia32_sysenter_target)   ENTRY(ia32_sysenter_target)
# Line 182  Acked-by: jbeulich@novell.com Line 50  Acked-by: jbeulich@novell.com
50   .quad compat_sys_move_pages   .quad compat_sys_move_pages
51  + .quad sys_getcpu  + .quad sys_getcpu
52   ia32_syscall_end:   ia32_syscall_end:
53  --- a/arch/x86/kernel/Makefile  diff -Naur linux-2.6.25/arch/x86/Kconfig linux-2.6.25-xen/arch/x86/Kconfig
54  +++ b/arch/x86/kernel/Makefile  --- linux-2.6.25/arch/x86/Kconfig 2008-05-23 20:51:22.000000000 +0200
55  @@ -91,7 +91,7 @@  +++ linux-2.6.25-xen/arch/x86/Kconfig 2008-05-23 20:39:03.000000000 +0200
56   ###  @@ -390,6 +390,7 @@
  # 64 bit specific files  
  ifeq ($(CONFIG_X86_64),y)  
 -        obj-y += genapic_64.o genapic_flat_64.o  
 +        obj-$(CONFIG_X86_LOCAL_APIC) += genapic_64.o genapic_flat_64.o  
          obj-$(CONFIG_X86_XEN_GENAPIC) += genapic_64.o genapic_xen_64.o  
          obj-$(CONFIG_X86_PM_TIMER) += pmtimer_64.o  
          obj-$(CONFIG_AUDIT) += audit_64.o  
 @@ -104,5 +104,6 @@  
  pci-dma_64-$(CONFIG_XEN) += pci-dma_32.o  
  endif  
57    
58  -disabled-obj-$(CONFIG_XEN) := i8253.o i8259_$(BITS).o reboot.o smpboot_$(BITS).o tsc_$(BITS).o   menuconfig PARAVIRT_GUEST
59  +disabled-obj-$(CONFIG_XEN) := early-quirks.o i8253.o i8259_$(BITS).o reboot.o \   bool "Paravirtualized guest support"
60  + smpboot_$(BITS).o tsc_$(BITS).o  + depends on !X86_XEN && !X86_64_XEN
61   %/head_$(BITS).o %/head_$(BITS).s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) :=   help
62  --- a/arch/x86/kernel/apic_32-xen.c    Say Y here to get to see options related to running Linux under
63  +++ b/arch/x86/kernel/apic_32-xen.c    various hypervisors.  This option alone does not add any kernel code.
64    diff -Naur linux-2.6.25/arch/x86/kernel/apic_32-xen.c linux-2.6.25-xen/arch/x86/kernel/apic_32-xen.c
65    --- linux-2.6.25/arch/x86/kernel/apic_32-xen.c 2008-05-23 20:51:11.000000000 +0200
66    +++ linux-2.6.25-xen/arch/x86/kernel/apic_32-xen.c 2008-05-23 20:39:03.000000000 +0200
67  @@ -54,7 +54,6 @@  @@ -54,7 +54,6 @@
68   /*   /*
69    * Knob to control our willingness to enable the local APIC.    * Knob to control our willingness to enable the local APIC.
# Line 243  Acked-by: jbeulich@novell.com Line 104  Acked-by: jbeulich@novell.com
104   #endif   #endif
105   }   }
106   }   }
107  --- a/arch/x86/kernel/apic_64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/apic_64-xen.c linux-2.6.25-xen/arch/x86/kernel/apic_64-xen.c
108  +++ b/arch/x86/kernel/apic_64-xen.c  --- linux-2.6.25/arch/x86/kernel/apic_64-xen.c 2008-05-23 20:51:11.000000000 +0200
109    +++ linux-2.6.25-xen/arch/x86/kernel/apic_64-xen.c 2008-05-23 20:39:03.000000000 +0200
110  @@ -43,7 +43,7 @@  @@ -43,7 +43,7 @@
111    */    */
112   void ack_bad_irq(unsigned int irq)   void ack_bad_irq(unsigned int irq)
# Line 310  Acked-by: jbeulich@novell.com Line 172  Acked-by: jbeulich@novell.com
172   #endif   #endif
173    
174   return 1;   return 1;
175  --- a/arch/x86/kernel/cpu/common-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/cpu/common-xen.c linux-2.6.25-xen/arch/x86/kernel/cpu/common-xen.c
176  +++ b/arch/x86/kernel/cpu/common-xen.c  --- linux-2.6.25/arch/x86/kernel/cpu/common-xen.c 2008-05-23 20:51:11.000000000 +0200
177    +++ linux-2.6.25-xen/arch/x86/kernel/cpu/common-xen.c 2008-05-23 20:39:03.000000000 +0200
178  @@ -43,7 +43,7 @@  @@ -43,7 +43,7 @@
179    
180   extern int disable_pse;   extern int disable_pse;
# Line 375  Acked-by: jbeulich@novell.com Line 238  Acked-by: jbeulich@novell.com
238    
239   /* Clear all 6 debug registers: */   /* Clear all 6 debug registers: */
240   set_debugreg(0, 0);   set_debugreg(0, 0);
241  --- a/arch/x86/kernel/e820_64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/e820_64-xen.c linux-2.6.25-xen/arch/x86/kernel/e820_64-xen.c
242  +++ b/arch/x86/kernel/e820_64-xen.c  --- linux-2.6.25/arch/x86/kernel/e820_64-xen.c 2008-05-23 20:51:11.000000000 +0200
243    +++ linux-2.6.25-xen/arch/x86/kernel/e820_64-xen.c 2008-05-23 20:39:03.000000000 +0200
244  @@ -16,6 +16,7 @@  @@ -16,6 +16,7 @@
245   #include <linux/string.h>   #include <linux/string.h>
246   #include <linux/kexec.h>   #include <linux/kexec.h>
# Line 857  Acked-by: jbeulich@novell.com Line 721  Acked-by: jbeulich@novell.com
721   }   }
722    
723   unsigned long pci_mem_start = 0xaeedbabe;   unsigned long pci_mem_start = 0xaeedbabe;
724  --- a/arch/x86/kernel/early_printk-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/early_printk-xen.c linux-2.6.25-xen/arch/x86/kernel/early_printk-xen.c
725  +++ b/arch/x86/kernel/early_printk-xen.c  --- linux-2.6.25/arch/x86/kernel/early_printk-xen.c 2008-05-23 20:51:11.000000000 +0200
726    +++ linux-2.6.25-xen/arch/x86/kernel/early_printk-xen.c 2008-05-23 20:39:03.000000000 +0200
727  @@ -244,20 +244,16 @@  @@ -244,20 +244,16 @@
728    
729   static int __initdata keep_early;   static int __initdata keep_early;
# Line 905  Acked-by: jbeulich@novell.com Line 770  Acked-by: jbeulich@novell.com
770   }   }
771    
772  -__setup("earlyprintk=", setup_early_printk);  -__setup("earlyprintk=", setup_early_printk);
773  --- a/arch/x86/kernel/entry_32-xen.S  diff -Naur linux-2.6.25/arch/x86/kernel/entry_32-xen.S linux-2.6.25-xen/arch/x86/kernel/entry_32-xen.S
774  +++ b/arch/x86/kernel/entry_32-xen.S  --- linux-2.6.25/arch/x86/kernel/entry_32-xen.S 2008-05-23 20:51:22.000000000 +0200
775    +++ linux-2.6.25-xen/arch/x86/kernel/entry_32-xen.S 2008-05-23 20:39:03.000000000 +0200
776  @@ -80,8 +80,12 @@  @@ -80,8 +80,12 @@
777   NMI_MASK = 0x80000000   NMI_MASK = 0x80000000
778    
# Line 1279  Acked-by: jbeulich@novell.com Line 1145  Acked-by: jbeulich@novell.com
1145   .section .rodata,"a"   .section .rodata,"a"
1146   #include "syscall_table.S"   #include "syscall_table.S"
1147    
1148  --- a/arch/x86/kernel/entry_64-xen.S  diff -Naur linux-2.6.25/arch/x86/kernel/entry_64-xen.S linux-2.6.25-xen/arch/x86/kernel/entry_64-xen.S
1149  +++ b/arch/x86/kernel/entry_64-xen.S  --- linux-2.6.25/arch/x86/kernel/entry_64-xen.S 2008-05-23 20:51:11.000000000 +0200
1150    +++ linux-2.6.25-xen/arch/x86/kernel/entry_64-xen.S 2008-05-23 20:47:55.000000000 +0200
1151  @@ -4,9 +4,6 @@  @@ -4,9 +4,6 @@
1152    *  Copyright (C) 1991, 1992  Linus Torvalds    *  Copyright (C) 1991, 1992  Linus Torvalds
1153    *  Copyright (C) 2000, 2001, 2002  Andi Kleen SuSE Labs    *  Copyright (C) 2000, 2001, 2002  Andi Kleen SuSE Labs
1154    *  Copyright (C) 2000  Pavel Machek <pavel@suse.cz>    *  Copyright (C) 2000  Pavel Machek <pavel@suse.cz>
1155  - *  - *
1156  - *  $Id: 1020-2.6.25-xen-patch-2.6.19.patch,v 1.1 2008-05-23 17:35:36 niro Exp $  - *  $Id: 1020-2.6.25-xen-patch-2.6.19.patch,v 1.2 2008-05-23 18:49:01 niro Exp $
1157  - *  - *
1158    *  Jun Nakajima <jun.nakajima@intel.com>    *  Jun Nakajima <jun.nakajima@intel.com>
1159    *  Asit Mallick <asit.k.mallick@intel.com>    *  Asit Mallick <asit.k.mallick@intel.com>
# Line 1338  Acked-by: jbeulich@novell.com Line 1205  Acked-by: jbeulich@novell.com
1205   CFI_DEF_CFA rsp,SS+8-\ref   CFI_DEF_CFA rsp,SS+8-\ref
1206   /*CFI_REL_OFFSET ss,SS-\ref*/   /*CFI_REL_OFFSET ss,SS-\ref*/
1207   CFI_REL_OFFSET rsp,RSP-\ref   CFI_REL_OFFSET rsp,RSP-\ref
1208  @@ -334,6 +343,8 @@  @@ -255,6 +264,8 @@
1209   LOAD_ARGS ARGOFFSET  /* reload args from stack in case ptrace changed it */   CFI_REMEMBER_STATE
1210   RESTORE_REST   jnz tracesys
1211   cmpq $__NR_syscall_max,%rax   cmpq $__NR_syscall_max,%rax
1212  + movq $-ENOSYS,%rcx  + movq $-ENOSYS,%rcx
1213  + cmova %rcx,%rax  + cmova %rcx,%rax
1214   ja  1f   ja badsys
1215   movq %r10,%rcx /* fixup for C */   movq %r10,%rcx
1216   call *sys_call_table(,%rax,8)   call *sys_call_table(,%rax,8)  # XXX: rip relative
1217  @@ -349,6 +360,7 @@  @@ -349,6 +360,7 @@
1218    */    */
1219   ENTRY(int_ret_from_sys_call)   ENTRY(int_ret_from_sys_call)
# Line 1523  Acked-by: jbeulich@novell.com Line 1390  Acked-by: jbeulich@novell.com
1390    
1391   ENTRY(alignment_check)   ENTRY(alignment_check)
1392   errorentry do_alignment_check   errorentry do_alignment_check
1393  --- a/arch/x86/kernel/genapic_xen_64.c  diff -Naur linux-2.6.25/arch/x86/kernel/genapic_xen_64.c linux-2.6.25-xen/arch/x86/kernel/genapic_xen_64.c
1394  +++ b/arch/x86/kernel/genapic_xen_64.c  --- linux-2.6.25/arch/x86/kernel/genapic_xen_64.c 2008-05-23 20:51:11.000000000 +0200
1395    +++ linux-2.6.25-xen/arch/x86/kernel/genapic_xen_64.c 2008-05-23 20:39:03.000000000 +0200
1396  @@ -71,6 +71,13 @@  @@ -71,6 +71,13 @@
1397   return cpu_online_map;   return cpu_online_map;
1398   }   }
# Line 1549  Acked-by: jbeulich@novell.com Line 1417  Acked-by: jbeulich@novell.com
1417   #ifdef CONFIG_XEN_PRIVILEGED_GUEST   #ifdef CONFIG_XEN_PRIVILEGED_GUEST
1418   .apic_id_registered = xen_apic_id_registered,   .apic_id_registered = xen_apic_id_registered,
1419   #endif   #endif
1420  --- a/arch/x86/kernel/head64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/head_32-xen.S linux-2.6.25-xen/arch/x86/kernel/head_32-xen.S
1421  +++ b/arch/x86/kernel/head64-xen.c  --- linux-2.6.25/arch/x86/kernel/head_32-xen.S 2008-05-23 20:51:11.000000000 +0200
1422    +++ linux-2.6.25-xen/arch/x86/kernel/head_32-xen.S 2008-05-23 20:39:03.000000000 +0200
1423    @@ -62,7 +62,7 @@
1424     movl %eax,%gs
1425     cld # gcc2 wants the direction flag cleared at all times
1426    
1427    - pushl %eax # fake return address
1428    + pushl $0 # fake return address for unwinder
1429     jmp start_kernel
1430    
1431     #define HYPERCALL_PAGE_OFFSET 0x1000
1432    diff -Naur linux-2.6.25/arch/x86/kernel/head64-xen.c linux-2.6.25-xen/arch/x86/kernel/head64-xen.c
1433    --- linux-2.6.25/arch/x86/kernel/head64-xen.c 2008-05-23 20:51:11.000000000 +0200
1434    +++ linux-2.6.25-xen/arch/x86/kernel/head64-xen.c 2008-05-23 20:39:03.000000000 +0200
1435  @@ -54,11 +54,9 @@  @@ -54,11 +54,9 @@
1436   new_data = *(int *) (x86_boot_params + NEW_CL_POINTER);   new_data = *(int *) (x86_boot_params + NEW_CL_POINTER);
1437   if (!new_data) {   if (!new_data) {
# Line 1632  Acked-by: jbeulich@novell.com Line 1513  Acked-by: jbeulich@novell.com
1513  - setup_boot_cpu_data();  - setup_boot_cpu_data();
1514   start_kernel();   start_kernel();
1515   }   }
1516  --- a/arch/x86/kernel/head_32-xen.S  diff -Naur linux-2.6.25/arch/x86/kernel/head_64-xen.S linux-2.6.25-xen/arch/x86/kernel/head_64-xen.S
1517  +++ b/arch/x86/kernel/head_32-xen.S  --- linux-2.6.25/arch/x86/kernel/head_64-xen.S 2008-05-23 20:51:11.000000000 +0200
1518  @@ -62,7 +62,7 @@  +++ linux-2.6.25-xen/arch/x86/kernel/head_64-xen.S 2008-05-23 20:49:19.000000000 +0200
  movl %eax,%gs  
  cld # gcc2 wants the direction flag cleared at all times  
   
 - pushl %eax # fake return address  
 + pushl $0 # fake return address for unwinder  
  jmp start_kernel  
   
  #define HYPERCALL_PAGE_OFFSET 0x1000  
 --- a/arch/x86/kernel/head_64-xen.S  
 +++ b/arch/x86/kernel/head_64-xen.S  
1519  @@ -5,9 +5,6 @@  @@ -5,9 +5,6 @@
1520    *  Copyright (C) 2000 Pavel Machek <pavel@suse.cz>    *  Copyright (C) 2000 Pavel Machek <pavel@suse.cz>
1521    *  Copyright (C) 2000 Karsten Keil <kkeil@suse.de>    *  Copyright (C) 2000 Karsten Keil <kkeil@suse.de>
1522    *  Copyright (C) 2001,2002 Andi Kleen <ak@suse.de>    *  Copyright (C) 2001,2002 Andi Kleen <ak@suse.de>
1523  - *  - *
1524  - *  $Id: 1020-2.6.25-xen-patch-2.6.19.patch,v 1.1 2008-05-23 17:35:36 niro Exp $  - *  $Id: 1020-2.6.25-xen-patch-2.6.19.patch,v 1.2 2008-05-23 18:49:01 niro Exp $
1525  - *  - *
1526    *  Jun Nakajima <jun.nakajima@intel.com>    *  Jun Nakajima <jun.nakajima@intel.com>
1527    *    Modified for Xen                                    *    Modified for Xen                                
# Line 1664  Acked-by: jbeulich@novell.com Line 1535  Acked-by: jbeulich@novell.com
1535   gdt_end:   gdt_end:
1536   /* asm/segment.h:GDT_ENTRIES must match this */   /* asm/segment.h:GDT_ENTRIES must match this */
1537   /* This should be a multiple of the cache line size */   /* This should be a multiple of the cache line size */
1538  --- a/arch/x86/kernel/io_apic_32-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/io_apic_32-xen.c linux-2.6.25-xen/arch/x86/kernel/io_apic_32-xen.c
1539  +++ b/arch/x86/kernel/io_apic_32-xen.c  --- linux-2.6.25/arch/x86/kernel/io_apic_32-xen.c 2008-05-23 20:51:11.000000000 +0200
1540    +++ linux-2.6.25-xen/arch/x86/kernel/io_apic_32-xen.c 2008-05-23 20:39:03.000000000 +0200
1541  @@ -31,6 +31,9 @@  @@ -31,6 +31,9 @@
1542   #include <linux/acpi.h>   #include <linux/acpi.h>
1543   #include <linux/module.h>   #include <linux/module.h>
# Line 2740  Acked-by: jbeulich@novell.com Line 2612  Acked-by: jbeulich@novell.com
2612  + return 0;  + return 0;
2613  +}  +}
2614  +early_param("noapic", parse_noapic);  +early_param("noapic", parse_noapic);
2615  --- a/arch/x86/kernel/io_apic_64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/io_apic_64-xen.c linux-2.6.25-xen/arch/x86/kernel/io_apic_64-xen.c
2616  +++ b/arch/x86/kernel/io_apic_64-xen.c  --- linux-2.6.25/arch/x86/kernel/io_apic_64-xen.c 2008-05-23 20:51:11.000000000 +0200
2617    +++ linux-2.6.25-xen/arch/x86/kernel/io_apic_64-xen.c 2008-05-23 20:39:03.000000000 +0200
2618  @@ -26,9 +26,12 @@  @@ -26,9 +26,12 @@
2619   #include <linux/delay.h>   #include <linux/delay.h>
2620   #include <linux/sched.h>   #include <linux/sched.h>
# Line 2869  Acked-by: jbeulich@novell.com Line 2742  Acked-by: jbeulich@novell.com
2742   apic_op.value = value;   apic_op.value = value;
2743   WARN_ON(HYPERVISOR_physdev_op(PHYSDEVOP_apic_write, &apic_op));   WARN_ON(HYPERVISOR_physdev_op(PHYSDEVOP_apic_write, &apic_op));
2744  +#endif  +#endif
2745   }  +}
2746    +
 -#define io_apic_read(a,r)    xen_io_apic_read(a,r)  
 -#define io_apic_write(a,r,v) xen_io_apic_write(a,r,v)  
2747  +#ifndef CONFIG_XEN  +#ifndef CONFIG_XEN
2748  +/*  +/*
2749  + * Re-write a value: to be used for read-modify-write  + * Re-write a value: to be used for read-modify-write
# Line 2882  Acked-by: jbeulich@novell.com Line 2753  Acked-by: jbeulich@novell.com
2753  +{  +{
2754  + struct io_apic __iomem *io_apic = io_apic_base(apic);  + struct io_apic __iomem *io_apic = io_apic_base(apic);
2755  + writel(value, &io_apic->data);  + writel(value, &io_apic->data);
2756  +}   }
2757  +#else  +#else
2758  +#define io_apic_modify io_apic_write  +#define io_apic_modify io_apic_write
2759  +#endif  +#endif
2760    
2761  -#define clear_IO_APIC() ((void)0)  -#define io_apic_read(a,r)    xen_io_apic_read(a,r)
2762    -#define io_apic_write(a,r,v) xen_io_apic_write(a,r,v)
2763  +/*  +/*
2764  + * Synchronize the IO-APIC and the CPU by doing  + * Synchronize the IO-APIC and the CPU by doing
2765  + * a dummy read from the IO-APIC  + * a dummy read from the IO-APIC
# Line 2900  Acked-by: jbeulich@novell.com Line 2772  Acked-by: jbeulich@novell.com
2772  +#endif  +#endif
2773  +}  +}
2774    
2775  -#else  -#define clear_IO_APIC() ((void)0)
2776  +union entry_union {  +union entry_union {
2777  + struct { u32 w1, w2; };  + struct { u32 w1, w2; };
2778  + struct IO_APIC_route_entry entry;  + struct IO_APIC_route_entry entry;
2779  +};  +};
2780  +  
2781    -#else
2782  +static struct IO_APIC_route_entry ioapic_read_entry(int apic, int pin)  +static struct IO_APIC_route_entry ioapic_read_entry(int apic, int pin)
2783  +{  +{
2784  + union entry_union eu;  + union entry_union eu;
# Line 4433  Acked-by: jbeulich@novell.com Line 4306  Acked-by: jbeulich@novell.com
4306   spin_unlock_irqrestore(&ioapic_lock, flags);   spin_unlock_irqrestore(&ioapic_lock, flags);
4307    
4308   return 0;   return 0;
4309  --- a/arch/x86/kernel/ioport_64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/ioport_64-xen.c linux-2.6.25-xen/arch/x86/kernel/ioport_64-xen.c
4310  +++ b/arch/x86/kernel/ioport_64-xen.c  --- linux-2.6.25/arch/x86/kernel/ioport_64-xen.c 2008-05-23 20:51:11.000000000 +0200
4311    +++ linux-2.6.25-xen/arch/x86/kernel/ioport_64-xen.c 2008-05-23 20:39:03.000000000 +0200
4312  @@ -58,6 +58,7 @@  @@ -58,6 +58,7 @@
4313    
4314   memset(bitmap, 0xff, IO_BITMAP_BYTES);   memset(bitmap, 0xff, IO_BITMAP_BYTES);
# Line 4443  Acked-by: jbeulich@novell.com Line 4317  Acked-by: jbeulich@novell.com
4317    
4318   set_xen_guest_handle(set_iobitmap.bitmap, (char *)bitmap);   set_xen_guest_handle(set_iobitmap.bitmap, (char *)bitmap);
4319   set_iobitmap.nr_ports = IO_BITMAP_BITS;   set_iobitmap.nr_ports = IO_BITMAP_BITS;
4320  --- a/arch/x86/kernel/irq_32-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/irq_32-xen.c linux-2.6.25-xen/arch/x86/kernel/irq_32-xen.c
4321  +++ b/arch/x86/kernel/irq_32-xen.c  --- linux-2.6.25/arch/x86/kernel/irq_32-xen.c 2008-05-23 20:51:11.000000000 +0200
4322    +++ linux-2.6.25-xen/arch/x86/kernel/irq_32-xen.c 2008-05-23 20:39:03.000000000 +0200
4323  @@ -53,8 +53,10 @@  @@ -53,8 +53,10 @@
4324    */    */
4325   fastcall unsigned int do_IRQ(struct pt_regs *regs)   fastcall unsigned int do_IRQ(struct pt_regs *regs)
# Line 4501  Acked-by: jbeulich@novell.com Line 4376  Acked-by: jbeulich@novell.com
4376   seq_printf(p, "  %s", action->name);   seq_printf(p, "  %s", action->name);
4377    
4378   for (action=action->next; action; action = action->next)   for (action=action->next; action; action = action->next)
4379  --- a/arch/x86/kernel/irq_64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/irq_64-xen.c linux-2.6.25-xen/arch/x86/kernel/irq_64-xen.c
4380  +++ b/arch/x86/kernel/irq_64-xen.c  --- linux-2.6.25/arch/x86/kernel/irq_64-xen.c 2008-05-23 20:51:11.000000000 +0200
4381    +++ linux-2.6.25-xen/arch/x86/kernel/irq_64-xen.c 2008-05-23 20:39:03.000000000 +0200
4382  @@ -20,11 +20,6 @@  @@ -20,11 +20,6 @@
4383   #include <asm/idle.h>   #include <asm/idle.h>
4384    
# Line 4582  Acked-by: jbeulich@novell.com Line 4458  Acked-by: jbeulich@novell.com
4458  +        printk("unexpected IRQ trap at irq %02x\n", irq);  +        printk("unexpected IRQ trap at irq %02x\n", irq);
4459   }   }
4460   #endif   #endif
4461  --- a/arch/x86/kernel/ldt_32-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/ldt_32-xen.c linux-2.6.25-xen/arch/x86/kernel/ldt_32-xen.c
4462  +++ b/arch/x86/kernel/ldt_32-xen.c  --- linux-2.6.25/arch/x86/kernel/ldt_32-xen.c 2008-05-23 20:51:11.000000000 +0200
4463    +++ linux-2.6.25-xen/arch/x86/kernel/ldt_32-xen.c 2008-05-23 20:39:03.000000000 +0200
4464  @@ -1,5 +1,5 @@  @@ -1,5 +1,5 @@
4465   /*   /*
4466  - * linux/kernel/ldt.c  - * linux/kernel/ldt.c
# Line 4591  Acked-by: jbeulich@novell.com Line 4468  Acked-by: jbeulich@novell.com
4468    *    *
4469    * Copyright (C) 1992 Krishna Balasubramanian and Linus Torvalds    * Copyright (C) 1992 Krishna Balasubramanian and Linus Torvalds
4470    * Copyright (C) 1999 Ingo Molnar <mingo@redhat.com>    * Copyright (C) 1999 Ingo Molnar <mingo@redhat.com>
4471  --- a/arch/x86/kernel/microcode-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/Makefile linux-2.6.25-xen/arch/x86/kernel/Makefile
4472  +++ b/arch/x86/kernel/microcode-xen.c  --- linux-2.6.25/arch/x86/kernel/Makefile 2008-05-23 20:51:22.000000000 +0200
4473    +++ linux-2.6.25-xen/arch/x86/kernel/Makefile 2008-05-23 20:39:03.000000000 +0200
4474    @@ -91,7 +91,7 @@
4475     ###
4476     # 64 bit specific files
4477     ifeq ($(CONFIG_X86_64),y)
4478    -        obj-y += genapic_64.o genapic_flat_64.o
4479    +        obj-$(CONFIG_X86_LOCAL_APIC) += genapic_64.o genapic_flat_64.o
4480             obj-$(CONFIG_X86_XEN_GENAPIC) += genapic_64.o genapic_xen_64.o
4481             obj-$(CONFIG_X86_PM_TIMER) += pmtimer_64.o
4482             obj-$(CONFIG_AUDIT) += audit_64.o
4483    @@ -104,5 +104,6 @@
4484     pci-dma_64-$(CONFIG_XEN) += pci-dma_32.o
4485     endif
4486    
4487    -disabled-obj-$(CONFIG_XEN) := i8253.o i8259_$(BITS).o reboot.o smpboot_$(BITS).o tsc_$(BITS).o
4488    +disabled-obj-$(CONFIG_XEN) := early-quirks.o i8253.o i8259_$(BITS).o reboot.o \
4489    + smpboot_$(BITS).o tsc_$(BITS).o
4490     %/head_$(BITS).o %/head_$(BITS).s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) :=
4491    diff -Naur linux-2.6.25/arch/x86/kernel/microcode-xen.c linux-2.6.25-xen/arch/x86/kernel/microcode-xen.c
4492    --- linux-2.6.25/arch/x86/kernel/microcode-xen.c 2008-05-23 20:51:11.000000000 +0200
4493    +++ linux-2.6.25-xen/arch/x86/kernel/microcode-xen.c 2008-05-23 20:39:03.000000000 +0200
4494  @@ -2,6 +2,7 @@  @@ -2,6 +2,7 @@
4495    * Intel CPU Microcode Update Driver for Linux    * Intel CPU Microcode Update Driver for Linux
4496    *    *
# Line 4728  Acked-by: jbeulich@novell.com Line 4626  Acked-by: jbeulich@novell.com
4626   module_init(microcode_init)   module_init(microcode_init)
4627   module_exit(microcode_exit)   module_exit(microcode_exit)
4628  -MODULE_ALIAS_MISCDEV(MICROCODE_MINOR);  -MODULE_ALIAS_MISCDEV(MICROCODE_MINOR);
4629  --- a/arch/x86/kernel/mpparse_32-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/mpparse_32-xen.c linux-2.6.25-xen/arch/x86/kernel/mpparse_32-xen.c
4630  +++ b/arch/x86/kernel/mpparse_32-xen.c  --- linux-2.6.25/arch/x86/kernel/mpparse_32-xen.c 2008-05-23 20:51:11.000000000 +0200
4631    +++ linux-2.6.25-xen/arch/x86/kernel/mpparse_32-xen.c 2008-05-23 20:39:03.000000000 +0200
4632  @@ -30,6 +30,7 @@  @@ -30,6 +30,7 @@
4633   #include <asm/io_apic.h>   #include <asm/io_apic.h>
4634    
# Line 4896  Acked-by: jbeulich@novell.com Line 4795  Acked-by: jbeulich@novell.com
4795   /*   /*
4796   * Mapping between Global System Interrups, which   * Mapping between Global System Interrups, which
4797   * represent all possible interrupts, and IRQs   * represent all possible interrupts, and IRQs
4798  --- a/arch/x86/kernel/mpparse_64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/mpparse_64-xen.c linux-2.6.25-xen/arch/x86/kernel/mpparse_64-xen.c
4799  +++ b/arch/x86/kernel/mpparse_64-xen.c  --- linux-2.6.25/arch/x86/kernel/mpparse_64-xen.c 2008-05-23 20:51:11.000000000 +0200
4800    +++ linux-2.6.25-xen/arch/x86/kernel/mpparse_64-xen.c 2008-05-23 20:39:03.000000000 +0200
4801  @@ -41,8 +41,7 @@  @@ -41,8 +41,7 @@
4802    * Various Linux-internal data structures created from the    * Various Linux-internal data structures created from the
4803    * MP-table.    * MP-table.
# Line 5511  Acked-by: jbeulich@novell.com Line 5411  Acked-by: jbeulich@novell.com
5411  -  -
5412  -#endif /*CONFIG_X86_IO_APIC*/  -#endif /*CONFIG_X86_IO_APIC*/
5413   #endif /*CONFIG_ACPI*/   #endif /*CONFIG_ACPI*/
5414  --- a/arch/x86/kernel/pci-dma_32-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/pci-dma_32-xen.c linux-2.6.25-xen/arch/x86/kernel/pci-dma_32-xen.c
5415  +++ b/arch/x86/kernel/pci-dma_32-xen.c  --- linux-2.6.25/arch/x86/kernel/pci-dma_32-xen.c 2008-05-23 20:51:11.000000000 +0200
5416    +++ linux-2.6.25-xen/arch/x86/kernel/pci-dma_32-xen.c 2008-05-23 20:39:03.000000000 +0200
5417  @@ -116,8 +116,7 @@  @@ -116,8 +116,7 @@
5418   {   {
5419   int i, rc;   int i, rc;
# Line 5571  Acked-by: jbeulich@novell.com Line 5472  Acked-by: jbeulich@novell.com
5472   if (swiotlb)   if (swiotlb)
5473   swiotlb_unmap_single(dev, dma_addr, size, direction);   swiotlb_unmap_single(dev, dma_addr, size, direction);
5474   else   else
5475  --- a/arch/x86/kernel/pci-swiotlb_64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/pci-swiotlb_64-xen.c linux-2.6.25-xen/arch/x86/kernel/pci-swiotlb_64-xen.c
5476  +++ b/arch/x86/kernel/pci-swiotlb_64-xen.c  --- linux-2.6.25/arch/x86/kernel/pci-swiotlb_64-xen.c 2008-05-23 20:51:21.000000000 +0200
5477    +++ linux-2.6.25-xen/arch/x86/kernel/pci-swiotlb_64-xen.c 2008-05-23 20:39:03.000000000 +0200
5478  @@ -3,7 +3,8 @@  @@ -3,7 +3,8 @@
5479   #include <linux/pci.h>   #include <linux/pci.h>
5480   #include <linux/cache.h>   #include <linux/cache.h>
# Line 5583  Acked-by: jbeulich@novell.com Line 5485  Acked-by: jbeulich@novell.com
5485   #include <asm/proto.h>   #include <asm/proto.h>
5486   #include <asm/swiotlb.h>   #include <asm/swiotlb.h>
5487   #include <asm/dma.h>   #include <asm/dma.h>
5488  --- a/arch/x86/kernel/process_32-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/process_32-xen.c linux-2.6.25-xen/arch/x86/kernel/process_32-xen.c
5489  +++ b/arch/x86/kernel/process_32-xen.c  --- linux-2.6.25/arch/x86/kernel/process_32-xen.c 2008-05-23 20:51:11.000000000 +0200
5490    +++ linux-2.6.25-xen/arch/x86/kernel/process_32-xen.c 2008-05-23 20:39:03.000000000 +0200
5491  @@ -37,6 +37,7 @@  @@ -37,6 +37,7 @@
5492   #include <linux/kallsyms.h>   #include <linux/kallsyms.h>
5493   #include <linux/ptrace.h>   #include <linux/ptrace.h>
# Line 5674  Acked-by: jbeulich@novell.com Line 5577  Acked-by: jbeulich@novell.com
5577   sp -= get_random_int() % 8192;   sp -= get_random_int() % 8192;
5578   return sp & ~0xf;   return sp & ~0xf;
5579   }   }
5580  --- a/arch/x86/kernel/process_64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/process_64-xen.c linux-2.6.25-xen/arch/x86/kernel/process_64-xen.c
5581  +++ b/arch/x86/kernel/process_64-xen.c  --- linux-2.6.25/arch/x86/kernel/process_64-xen.c 2008-05-23 20:51:11.000000000 +0200
5582    +++ linux-2.6.25-xen/arch/x86/kernel/process_64-xen.c 2008-05-23 20:39:03.000000000 +0200
5583  @@ -89,25 +89,24 @@  @@ -89,25 +89,24 @@
5584   }   }
5585   EXPORT_SYMBOL(idle_notifier_unregister);   EXPORT_SYMBOL(idle_notifier_unregister);
# Line 5882  Acked-by: jbeulich@novell.com Line 5786  Acked-by: jbeulich@novell.com
5786   sp -= get_random_int() % 8192;   sp -= get_random_int() % 8192;
5787   return sp & ~0xf;   return sp & ~0xf;
5788   }   }
5789  --- a/arch/x86/kernel/setup64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/setup_32-xen.c linux-2.6.25-xen/arch/x86/kernel/setup_32-xen.c
5790  +++ b/arch/x86/kernel/setup64-xen.c  --- linux-2.6.25/arch/x86/kernel/setup_32-xen.c 2008-05-23 20:51:11.000000000 +0200
5791  @@ -31,7 +31,7 @@  +++ linux-2.6.25-xen/arch/x86/kernel/setup_32-xen.c 2008-05-23 20:39:03.000000000 +0200
  #include <asm/hypervisor.h>  
  #endif  
   
 -char x86_boot_params[BOOT_PARAM_SIZE] __initdata = {0,};  
 +char x86_boot_params[BOOT_PARAM_SIZE] __initdata;  
   
  cpumask_t cpu_initialized __cpuinitdata = CPU_MASK_NONE;  
   
 @@ -55,8 +55,10 @@  
  on Enable(default)  
  off Disable  
  */  
 -int __init nonx_setup(char *str)  
 +static int __init nonx_setup(char *str)  
  {  
 + if (!str)  
 + return -EINVAL;  
  if (!strncmp(str, "on", 2)) {  
                  __supported_pte_mask |= _PAGE_NX;  
    do_not_nx = 0;  
 @@ -64,9 +66,9 @@  
  do_not_nx = 1;  
  __supported_pte_mask &= ~_PAGE_NX;  
          }  
 - return 1;  
 + return 0;  
  }  
 -__setup("noexec=", nonx_setup); /* parsed early actually */  
 +early_param("noexec", nonx_setup);  
   
  int force_personality32 = 0;  
   
 @@ -102,12 +104,9 @@  
  #endif  
   
  /* Copy section for each CPU (we discard the original) */  
 - size = ALIGN(__per_cpu_end - __per_cpu_start, SMP_CACHE_BYTES);  
 -#ifdef CONFIG_MODULES  
 - if (size < PERCPU_ENOUGH_ROOM)  
 - size = PERCPU_ENOUGH_ROOM;  
 -#endif  
 + size = PERCPU_ENOUGH_ROOM;  
   
 + printk(KERN_INFO "PERCPU: Allocating %lu bytes of per cpu data\n", size);  
  for_each_cpu_mask (i, cpu_possible_map) {  
  char *ptr;  
   
 @@ -169,7 +168,10 @@  
  /* Setup up data that may be needed in __get_free_pages early */  
  asm volatile("movl %0,%%fs ; movl %0,%%gs" :: "r" (0));  
  #ifndef CONFIG_XEN  
 + /* Memory clobbers used to order PDA accessed */  
 + mb();  
  wrmsrl(MSR_GS_BASE, pda);  
 + mb();  
  #else  
  if (HYPERVISOR_set_segment_base(SEGBASE_GS_KERNEL,  
  (unsigned long)pda))  
 @@ -302,28 +304,17 @@  
  * set up and load the per-CPU TSS  
  */  
  for (v = 0; v < N_EXCEPTION_STACKS; v++) {  
 + static const unsigned int order[N_EXCEPTION_STACKS] = {  
 + [0 ... N_EXCEPTION_STACKS - 1] = EXCEPTION_STACK_ORDER,  
 + [DEBUG_STACK - 1] = DEBUG_STACK_ORDER  
 + };  
  if (cpu) {  
 - static const unsigned int order[N_EXCEPTION_STACKS] = {  
 - [0 ... N_EXCEPTION_STACKS - 1] = EXCEPTION_STACK_ORDER,  
 - [DEBUG_STACK - 1] = DEBUG_STACK_ORDER  
 - };  
 -  
  estacks = (char *)__get_free_pages(GFP_ATOMIC, order[v]);  
  if (!estacks)  
  panic("Cannot allocate exception stack %ld %d\n",  
       v, cpu);  
  }  
 - switch (v + 1) {  
 -#if DEBUG_STKSZ > EXCEPTION_STKSZ  
 - case DEBUG_STACK:  
 - cpu_pda(cpu)->debugstack = (unsigned long)estacks;  
 - estacks += DEBUG_STKSZ;  
 - break;  
 -#endif  
 - default:  
 - estacks += EXCEPTION_STKSZ;  
 - break;  
 - }  
 + estacks += PAGE_SIZE << order[v];  
  orig_ist->ist[v] = t->ist[v] = (unsigned long)estacks;  
  }  
   
 --- a/arch/x86/kernel/setup_32-xen.c  
 +++ b/arch/x86/kernel/setup_32-xen.c  
5792  @@ -56,6 +56,7 @@  @@ -56,6 +56,7 @@
5793   #include <asm/apic.h>   #include <asm/apic.h>
5794   #include <asm/e820.h>   #include <asm/e820.h>
# Line 6260  Acked-by: jbeulich@novell.com Line 6070  Acked-by: jbeulich@novell.com
6070    
6071  - else if (!memcmp(from, "acpi_sci=edge", 13))  - else if (!memcmp(from, "acpi_sci=edge", 13))
6072  - acpi_sci_flags.trigger =  1;  - acpi_sci_flags.trigger =  1;
6073    -
6074    - else if (!memcmp(from, "acpi_sci=level", 14))
6075    - acpi_sci_flags.trigger = 3;
6076  +#ifdef CONFIG_PROC_VMCORE  +#ifdef CONFIG_PROC_VMCORE
6077  +/* elfcorehdr= specifies the location of elf core header  +/* elfcorehdr= specifies the location of elf core header
6078  + * stored by the crashed kernel.  + * stored by the crashed kernel.
# Line 6269  Acked-by: jbeulich@novell.com Line 6082  Acked-by: jbeulich@novell.com
6082  + if (!arg)  + if (!arg)
6083  + return -EINVAL;  + return -EINVAL;
6084    
6085  - else if (!memcmp(from, "acpi_sci=level", 14))  - else if (!memcmp(from, "acpi_sci=high", 13))
6086  - acpi_sci_flags.trigger = 3;  - acpi_sci_flags.polarity = 1;
6087  + elfcorehdr_addr = memparse(arg, &arg);  + elfcorehdr_addr = memparse(arg, &arg);
6088  + return 0;  + return 0;
6089  +}  +}
6090  +early_param("elfcorehdr", parse_elfcorehdr);  +early_param("elfcorehdr", parse_elfcorehdr);
6091  +#endif /* CONFIG_PROC_VMCORE */  +#endif /* CONFIG_PROC_VMCORE */
6092    
6093  - else if (!memcmp(from, "acpi_sci=high", 13))  - else if (!memcmp(from, "acpi_sci=low", 12))
6094  - acpi_sci_flags.polarity = 1;  - acpi_sci_flags.polarity = 3;
6095  +/*  +/*
6096  + * highmem=size forces highmem to be exactly 'size' bytes.  + * highmem=size forces highmem to be exactly 'size' bytes.
6097  + * This works even on boxes that have no highmem otherwise.  + * This works even on boxes that have no highmem otherwise.
# Line 6289  Acked-by: jbeulich@novell.com Line 6102  Acked-by: jbeulich@novell.com
6102  + if (!arg)  + if (!arg)
6103  + return -EINVAL;  + return -EINVAL;
6104    
6105  - else if (!memcmp(from, "acpi_sci=low", 12))  -#ifdef CONFIG_X86_IO_APIC
6106  - acpi_sci_flags.polarity = 3;  - else if (!memcmp(from, "acpi_skip_timer_override", 24))
6107    - acpi_skip_timer_override = 1;
6108  + highmem_pages = memparse(arg, &arg) >> PAGE_SHIFT;  + highmem_pages = memparse(arg, &arg) >> PAGE_SHIFT;
6109  + return 0;  + return 0;
6110  +}  +}
6111  +early_param("highmem", parse_highmem);  +early_param("highmem", parse_highmem);
6112    
 -#ifdef CONFIG_X86_IO_APIC  
 - else if (!memcmp(from, "acpi_skip_timer_override", 24))  
 - acpi_skip_timer_override = 1;  
 +/*  
 + * vmalloc=size forces the vmalloc area to be exactly 'size'  
 + * bytes. This can be used to increase (or decrease) the  
 + * vmalloc area - the default is 128m.  
 + */  
 +static int __init parse_vmalloc(char *arg)  
 +{  
 + if (!arg)  
 + return -EINVAL;  
   
6113  - if (!memcmp(from, "disable_timer_pin_1", 19))  - if (!memcmp(from, "disable_timer_pin_1", 19))
6114  - disable_timer_pin_1 = 1;  - disable_timer_pin_1 = 1;
6115  - if (!memcmp(from, "enable_timer_pin_1", 18))  - if (!memcmp(from, "enable_timer_pin_1", 18))
# Line 6319  Acked-by: jbeulich@novell.com Line 6120  Acked-by: jbeulich@novell.com
6120  - disable_ioapic_setup();  - disable_ioapic_setup();
6121  -#endif /* CONFIG_X86_IO_APIC */  -#endif /* CONFIG_X86_IO_APIC */
6122  -#endif /* CONFIG_ACPI */  -#endif /* CONFIG_ACPI */
6123  -  +/*
6124    + * vmalloc=size forces the vmalloc area to be exactly 'size'
6125    + * bytes. This can be used to increase (or decrease) the
6126    + * vmalloc area - the default is 128m.
6127    + */
6128    +static int __init parse_vmalloc(char *arg)
6129    +{
6130    + if (!arg)
6131    + return -EINVAL;
6132    
6133  -#ifdef CONFIG_X86_LOCAL_APIC  -#ifdef CONFIG_X86_LOCAL_APIC
6134  - /* enable local APIC */  - /* enable local APIC */
6135  - else if (!memcmp(from, "lapic", 5))  - else if (!memcmp(from, "lapic", 5))
# Line 6541  Acked-by: jbeulich@novell.com Line 6351  Acked-by: jbeulich@novell.com
6351    
6352   #ifdef CONFIG_ACPI   #ifdef CONFIG_ACPI
6353   acpi_boot_init();   acpi_boot_init();
6354  --- a/arch/x86/kernel/setup_64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/setup64-xen.c linux-2.6.25-xen/arch/x86/kernel/setup64-xen.c
6355  +++ b/arch/x86/kernel/setup_64-xen.c  --- linux-2.6.25/arch/x86/kernel/setup64-xen.c 2008-05-23 20:51:11.000000000 +0200
6356    +++ linux-2.6.25-xen/arch/x86/kernel/setup64-xen.c 2008-05-23 20:39:03.000000000 +0200
6357    @@ -31,7 +31,7 @@
6358     #include <asm/hypervisor.h>
6359     #endif
6360    
6361    -char x86_boot_params[BOOT_PARAM_SIZE] __initdata = {0,};
6362    +char x86_boot_params[BOOT_PARAM_SIZE] __initdata;
6363    
6364     cpumask_t cpu_initialized __cpuinitdata = CPU_MASK_NONE;
6365    
6366    @@ -55,8 +55,10 @@
6367     on Enable(default)
6368     off Disable
6369     */
6370    -int __init nonx_setup(char *str)
6371    +static int __init nonx_setup(char *str)
6372     {
6373    + if (!str)
6374    + return -EINVAL;
6375     if (!strncmp(str, "on", 2)) {
6376                     __supported_pte_mask |= _PAGE_NX;
6377       do_not_nx = 0;
6378    @@ -64,9 +66,9 @@
6379     do_not_nx = 1;
6380     __supported_pte_mask &= ~_PAGE_NX;
6381             }
6382    - return 1;
6383    + return 0;
6384     }
6385    -__setup("noexec=", nonx_setup); /* parsed early actually */
6386    +early_param("noexec", nonx_setup);
6387    
6388     int force_personality32 = 0;
6389    
6390    @@ -102,12 +104,9 @@
6391     #endif
6392    
6393     /* Copy section for each CPU (we discard the original) */
6394    - size = ALIGN(__per_cpu_end - __per_cpu_start, SMP_CACHE_BYTES);
6395    -#ifdef CONFIG_MODULES
6396    - if (size < PERCPU_ENOUGH_ROOM)
6397    - size = PERCPU_ENOUGH_ROOM;
6398    -#endif
6399    + size = PERCPU_ENOUGH_ROOM;
6400    
6401    + printk(KERN_INFO "PERCPU: Allocating %lu bytes of per cpu data\n", size);
6402     for_each_cpu_mask (i, cpu_possible_map) {
6403     char *ptr;
6404    
6405    @@ -169,7 +168,10 @@
6406     /* Setup up data that may be needed in __get_free_pages early */
6407     asm volatile("movl %0,%%fs ; movl %0,%%gs" :: "r" (0));
6408     #ifndef CONFIG_XEN
6409    + /* Memory clobbers used to order PDA accessed */
6410    + mb();
6411     wrmsrl(MSR_GS_BASE, pda);
6412    + mb();
6413     #else
6414     if (HYPERVISOR_set_segment_base(SEGBASE_GS_KERNEL,
6415     (unsigned long)pda))
6416    @@ -302,28 +304,17 @@
6417     * set up and load the per-CPU TSS
6418     */
6419     for (v = 0; v < N_EXCEPTION_STACKS; v++) {
6420    + static const unsigned int order[N_EXCEPTION_STACKS] = {
6421    + [0 ... N_EXCEPTION_STACKS - 1] = EXCEPTION_STACK_ORDER,
6422    + [DEBUG_STACK - 1] = DEBUG_STACK_ORDER
6423    + };
6424     if (cpu) {
6425    - static const unsigned int order[N_EXCEPTION_STACKS] = {
6426    - [0 ... N_EXCEPTION_STACKS - 1] = EXCEPTION_STACK_ORDER,
6427    - [DEBUG_STACK - 1] = DEBUG_STACK_ORDER
6428    - };
6429    -
6430     estacks = (char *)__get_free_pages(GFP_ATOMIC, order[v]);
6431     if (!estacks)
6432     panic("Cannot allocate exception stack %ld %d\n",
6433          v, cpu);
6434     }
6435    - switch (v + 1) {
6436    -#if DEBUG_STKSZ > EXCEPTION_STKSZ
6437    - case DEBUG_STACK:
6438    - cpu_pda(cpu)->debugstack = (unsigned long)estacks;
6439    - estacks += DEBUG_STKSZ;
6440    - break;
6441    -#endif
6442    - default:
6443    - estacks += EXCEPTION_STKSZ;
6444    - break;
6445    - }
6446    + estacks += PAGE_SIZE << order[v];
6447     orig_ist->ist[v] = t->ist[v] = (unsigned long)estacks;
6448     }
6449    
6450    diff -Naur linux-2.6.25/arch/x86/kernel/setup_64-xen.c linux-2.6.25-xen/arch/x86/kernel/setup_64-xen.c
6451    --- linux-2.6.25/arch/x86/kernel/setup_64-xen.c 2008-05-23 20:51:11.000000000 +0200
6452    +++ linux-2.6.25-xen/arch/x86/kernel/setup_64-xen.c 2008-05-23 20:39:03.000000000 +0200
6453  @@ -118,16 +118,6 @@  @@ -118,16 +118,6 @@
6454    
6455   unsigned long mmu_cr4_features;   unsigned long mmu_cr4_features;
# Line 6966  Acked-by: jbeulich@novell.com Line 6873  Acked-by: jbeulich@novell.com
6873   NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,   NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
6874    
6875   /* VIA/Cyrix/Centaur-defined */   /* VIA/Cyrix/Centaur-defined */
6876  --- a/arch/x86/kernel/smp_32-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/smp_32-xen.c linux-2.6.25-xen/arch/x86/kernel/smp_32-xen.c
6877  +++ b/arch/x86/kernel/smp_32-xen.c  --- linux-2.6.25/arch/x86/kernel/smp_32-xen.c 2008-05-23 20:51:11.000000000 +0200
6878    +++ linux-2.6.25-xen/arch/x86/kernel/smp_32-xen.c 2008-05-23 20:39:03.000000000 +0200
6879  @@ -279,8 +279,7 @@  @@ -279,8 +279,7 @@
6880    * 2) Leave the mm if we are in the lazy tlb mode.    * 2) Leave the mm if we are in the lazy tlb mode.
6881    */    */
# Line 7067  Acked-by: jbeulich@novell.com Line 6975  Acked-by: jbeulich@novell.com
6975  + return 0;  + return 0;
6976  +}  +}
6977  +EXPORT_SYMBOL(smp_call_function_single);  +EXPORT_SYMBOL(smp_call_function_single);
6978  --- a/arch/x86/kernel/smp_64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/smp_64-xen.c linux-2.6.25-xen/arch/x86/kernel/smp_64-xen.c
6979  +++ b/arch/x86/kernel/smp_64-xen.c  --- linux-2.6.25/arch/x86/kernel/smp_64-xen.c 2008-05-23 20:51:11.000000000 +0200
6980    +++ linux-2.6.25-xen/arch/x86/kernel/smp_64-xen.c 2008-05-23 20:39:03.000000000 +0200
6981  @@ -381,9 +381,8 @@  @@ -381,9 +381,8 @@
6982   /* prevent preemption and reschedule on another processor */   /* prevent preemption and reschedule on another processor */
6983   int me = get_cpu();   int me = get_cpu();
# Line 7130  Acked-by: jbeulich@novell.com Line 7039  Acked-by: jbeulich@novell.com
7039  - return 0; /* Should not happen */  - return 0; /* Should not happen */
7040  -#endif  -#endif
7041  -}  -}
7042  --- a/arch/x86/kernel/time_32-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/time_32-xen.c linux-2.6.25-xen/arch/x86/kernel/time_32-xen.c
7043  +++ b/arch/x86/kernel/time_32-xen.c  --- linux-2.6.25/arch/x86/kernel/time_32-xen.c 2008-05-23 20:51:22.000000000 +0200
7044    +++ linux-2.6.25-xen/arch/x86/kernel/time_32-xen.c 2008-05-23 20:39:03.000000000 +0200
7045  @@ -89,7 +89,6 @@  @@ -89,7 +89,6 @@
7046   unsigned long vxtime_hz = PIT_TICK_RATE;   unsigned long vxtime_hz = PIT_TICK_RATE;
7047   struct vxtime_data __vxtime __section_vxtime;   /* for vsyscalls */   struct vxtime_data __vxtime __section_vxtime;   /* for vsyscalls */
# Line 7314  Acked-by: jbeulich@novell.com Line 7224  Acked-by: jbeulich@novell.com
7224    
7225   if ((hpet_enable() >= 0) && hpet_use_timer) {   if ((hpet_enable() >= 0) && hpet_use_timer) {
7226   printk("Using HPET for base-timer\n");   printk("Using HPET for base-timer\n");
7227  --- a/arch/x86/kernel/traps_32-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/traps_32-xen.c linux-2.6.25-xen/arch/x86/kernel/traps_32-xen.c
7228  +++ b/arch/x86/kernel/traps_32-xen.c  --- linux-2.6.25/arch/x86/kernel/traps_32-xen.c 2008-05-23 20:51:11.000000000 +0200
7229    +++ linux-2.6.25-xen/arch/x86/kernel/traps_32-xen.c 2008-05-23 20:39:03.000000000 +0200
7230  @@ -28,6 +28,7 @@  @@ -28,6 +28,7 @@
7231   #include <linux/kprobes.h>   #include <linux/kprobes.h>
7232   #include <linux/kexec.h>   #include <linux/kexec.h>
# Line 7518  Acked-by: jbeulich@novell.com Line 7429  Acked-by: jbeulich@novell.com
7429   }   }
7430   }   }
7431  +EXPORT_SYMBOL(dump_trace);  +EXPORT_SYMBOL(dump_trace);
7432    +
 -void show_trace(struct task_struct *task, struct pt_regs *regs, unsigned long * stack)  
7433  +static void  +static void
7434  +print_trace_warning_symbol(void *data, char *msg, unsigned long symbol)  +print_trace_warning_symbol(void *data, char *msg, unsigned long symbol)
7435  +{  +{
# Line 7532  Acked-by: jbeulich@novell.com Line 7442  Acked-by: jbeulich@novell.com
7442  +{  +{
7443  + printk("%s%s\n", (char *)data, msg);  + printk("%s%s\n", (char *)data, msg);
7444  +}  +}
7445  +  
7446    -void show_trace(struct task_struct *task, struct pt_regs *regs, unsigned long * stack)
7447  +static int print_trace_stack(void *data, char *name)  +static int print_trace_stack(void *data, char *name)
7448  +{  +{
7449  + return 0;  + return 0;
# Line 7762  Acked-by: jbeulich@novell.com Line 7673  Acked-by: jbeulich@novell.com
7673   #ifdef CONFIG_KPROBES   #ifdef CONFIG_KPROBES
7674   fastcall void __kprobes do_int3(struct pt_regs *regs, long error_code)   fastcall void __kprobes do_int3(struct pt_regs *regs, long error_code)
7675   {   {
7676  --- a/arch/x86/kernel/traps_64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/traps_64-xen.c linux-2.6.25-xen/arch/x86/kernel/traps_64-xen.c
7677  +++ b/arch/x86/kernel/traps_64-xen.c  --- linux-2.6.25/arch/x86/kernel/traps_64-xen.c 2008-05-23 20:51:11.000000000 +0200
7678    +++ linux-2.6.25-xen/arch/x86/kernel/traps_64-xen.c 2008-05-23 20:39:03.000000000 +0200
7679  @@ -23,6 +23,7 @@  @@ -23,6 +23,7 @@
7680   #include <linux/delay.h>   #include <linux/delay.h>
7681   #include <linux/spinlock.h>   #include <linux/spinlock.h>
# Line 8217  Acked-by: jbeulich@novell.com Line 8129  Acked-by: jbeulich@novell.com
8129  -__setup("call_trace=", call_trace_setup);  -__setup("call_trace=", call_trace_setup);
8130  +early_param("call_trace", call_trace_setup);  +early_param("call_trace", call_trace_setup);
8131   #endif   #endif
8132  --- a/arch/x86/kernel/vsyscall_64-xen.c  diff -Naur linux-2.6.25/arch/x86/kernel/vsyscall_64-xen.c linux-2.6.25-xen/arch/x86/kernel/vsyscall_64-xen.c
8133  +++ b/arch/x86/kernel/vsyscall_64-xen.c  --- linux-2.6.25/arch/x86/kernel/vsyscall_64-xen.c 2008-05-23 20:51:11.000000000 +0200
8134    +++ linux-2.6.25-xen/arch/x86/kernel/vsyscall_64-xen.c 2008-05-23 20:39:03.000000000 +0200
8135  @@ -26,6 +26,10 @@  @@ -26,6 +26,10 @@
8136   #include <linux/seqlock.h>   #include <linux/seqlock.h>
8137   #include <linux/jiffies.h>   #include <linux/jiffies.h>
# Line 8412  Acked-by: jbeulich@novell.com Line 8325  Acked-by: jbeulich@novell.com
8325   return 0;   return 0;
8326   }   }
8327    
8328  --- a/arch/x86/mach-xen/setup.c  diff -Naur linux-2.6.25/arch/x86/mach-xen/setup.c linux-2.6.25-xen/arch/x86/mach-xen/setup.c
8329  +++ b/arch/x86/mach-xen/setup.c  --- linux-2.6.25/arch/x86/mach-xen/setup.c 2008-05-23 20:51:11.000000000 +0200
8330    +++ linux-2.6.25-xen/arch/x86/mach-xen/setup.c 2008-05-23 20:39:03.000000000 +0200
8331  @@ -103,8 +103,10 @@  @@ -103,8 +103,10 @@
8332    
8333   setup_xen_features();   setup_xen_features();
# Line 8427  Acked-by: jbeulich@novell.com Line 8341  Acked-by: jbeulich@novell.com
8341    
8342   if (HYPERVISOR_memory_op(XENMEM_machphys_mapping, &mapping) == 0) {   if (HYPERVISOR_memory_op(XENMEM_machphys_mapping, &mapping) == 0) {
8343   machine_to_phys_mapping = (unsigned long *)mapping.v_start;   machine_to_phys_mapping = (unsigned long *)mapping.v_start;
8344  --- a/arch/x86/mm/fault_32-xen.c  diff -Naur linux-2.6.25/arch/x86/mm/fault_32-xen.c linux-2.6.25-xen/arch/x86/mm/fault_32-xen.c
8345  +++ b/arch/x86/mm/fault_32-xen.c  --- linux-2.6.25/arch/x86/mm/fault_32-xen.c 2008-05-23 20:51:11.000000000 +0200
8346    +++ linux-2.6.25-xen/arch/x86/mm/fault_32-xen.c 2008-05-23 20:39:03.000000000 +0200
8347  @@ -27,21 +27,24 @@  @@ -27,21 +27,24 @@
8348   #include <asm/uaccess.h>   #include <asm/uaccess.h>
8349   #include <asm/desc.h>   #include <asm/desc.h>
# Line 8515  Acked-by: jbeulich@novell.com Line 8430  Acked-by: jbeulich@novell.com
8430   yield();   yield();
8431   down_read(&mm->mmap_sem);   down_read(&mm->mmap_sem);
8432   goto survive;   goto survive;
8433  --- a/arch/x86/mm/fault_64-xen.c  diff -Naur linux-2.6.25/arch/x86/mm/fault_64-xen.c linux-2.6.25-xen/arch/x86/mm/fault_64-xen.c
8434  +++ b/arch/x86/mm/fault_64-xen.c  --- linux-2.6.25/arch/x86/mm/fault_64-xen.c 2008-05-23 20:51:11.000000000 +0200
8435    +++ linux-2.6.25-xen/arch/x86/mm/fault_64-xen.c 2008-05-23 20:39:03.000000000 +0200
8436  @@ -40,8 +40,7 @@  @@ -40,8 +40,7 @@
8437   #define PF_RSVD (1<<3)   #define PF_RSVD (1<<3)
8438   #define PF_INSTR (1<<4)   #define PF_INSTR (1<<4)
# Line 8654  Acked-by: jbeulich@novell.com Line 8570  Acked-by: jbeulich@novell.com
8570   }   }
8571   spin_unlock(&pgd_lock);   spin_unlock(&pgd_lock);
8572   set_bit(pgd_index(address), insync);   set_bit(pgd_index(address), insync);
8573  --- a/arch/x86/mm/highmem_32-xen.c  diff -Naur linux-2.6.25/arch/x86/mm/highmem_32-xen.c linux-2.6.25-xen/arch/x86/mm/highmem_32-xen.c
8574  +++ b/arch/x86/mm/highmem_32-xen.c  --- linux-2.6.25/arch/x86/mm/highmem_32-xen.c 2008-05-23 20:51:11.000000000 +0200
8575    +++ linux-2.6.25-xen/arch/x86/mm/highmem_32-xen.c 2008-05-23 20:39:03.000000000 +0200
8576  @@ -38,11 +38,9 @@  @@ -38,11 +38,9 @@
8577    
8578   idx = type + KM_TYPE_NR*smp_processor_id();   idx = type + KM_TYPE_NR*smp_processor_id();
# Line 8722  Acked-by: jbeulich@novell.com Line 8639  Acked-by: jbeulich@novell.com
8639    
8640   return (void*) vaddr;   return (void*) vaddr;
8641   }   }
8642  --- a/arch/x86/mm/hypervisor.c  diff -Naur linux-2.6.25/arch/x86/mm/hypervisor.c linux-2.6.25-xen/arch/x86/mm/hypervisor.c
8643  +++ b/arch/x86/mm/hypervisor.c  --- linux-2.6.25/arch/x86/mm/hypervisor.c 2008-05-23 20:51:11.000000000 +0200
8644    +++ linux-2.6.25-xen/arch/x86/mm/hypervisor.c 2008-05-23 20:39:03.000000000 +0200
8645  @@ -569,7 +569,8 @@  @@ -569,7 +569,8 @@
8646   #define MAX_BATCHED_FULL_PTES 32   #define MAX_BATCHED_FULL_PTES 32
8647    
# Line 8750  Acked-by: jbeulich@novell.com Line 8668  Acked-by: jbeulich@novell.com
8668   if (++i == MAX_BATCHED_FULL_PTES) {   if (++i == MAX_BATCHED_FULL_PTES) {
8669   if ((rc = HYPERVISOR_mmu_update(   if ((rc = HYPERVISOR_mmu_update(
8670   &u[0], i, NULL, DOMID_SELF)) != 0)   &u[0], i, NULL, DOMID_SELF)) != 0)
8671  --- a/arch/x86/mm/init_32-xen.c  diff -Naur linux-2.6.25/arch/x86/mm/init_32-xen.c linux-2.6.25-xen/arch/x86/mm/init_32-xen.c
8672  +++ b/arch/x86/mm/init_32-xen.c  --- linux-2.6.25/arch/x86/mm/init_32-xen.c 2008-05-23 20:51:11.000000000 +0200
8673    +++ linux-2.6.25-xen/arch/x86/mm/init_32-xen.c 2008-05-23 20:39:03.000000000 +0200
8674  @@ -464,16 +464,22 @@  @@ -464,16 +464,22 @@
8675    * on      Enable    * on      Enable
8676    * off     Disable    * off     Disable
# Line 8894  Acked-by: jbeulich@novell.com Line 8813  Acked-by: jbeulich@novell.com
8813   unsigned long start_pfn = start >> PAGE_SHIFT;   unsigned long start_pfn = start >> PAGE_SHIFT;
8814   unsigned long nr_pages = size >> PAGE_SHIFT;   unsigned long nr_pages = size >> PAGE_SHIFT;
8815    
8816  --- a/arch/x86/mm/init_64-xen.c  diff -Naur linux-2.6.25/arch/x86/mm/init_64-xen.c linux-2.6.25-xen/arch/x86/mm/init_64-xen.c
8817  +++ b/arch/x86/mm/init_64-xen.c  --- linux-2.6.25/arch/x86/mm/init_64-xen.c 2008-05-23 20:51:11.000000000 +0200
8818    +++ linux-2.6.25-xen/arch/x86/mm/init_64-xen.c 2008-05-23 20:39:03.000000000 +0200
8819  @@ -61,8 +61,6 @@  @@ -61,8 +61,6 @@
8820    
8821   extern unsigned long *contiguous_bitmap;   extern unsigned long *contiguous_bitmap;
# Line 9207  Acked-by: jbeulich@novell.com Line 9127  Acked-by: jbeulich@novell.com
9127   }   }
9128    
9129   int kern_addr_valid(unsigned long addr)   int kern_addr_valid(unsigned long addr)
9130  --- a/arch/x86/mm/ioremap_32-xen.c  diff -Naur linux-2.6.25/arch/x86/mm/ioremap_32-xen.c linux-2.6.25-xen/arch/x86/mm/ioremap_32-xen.c
9131  +++ b/arch/x86/mm/ioremap_32-xen.c  --- linux-2.6.25/arch/x86/mm/ioremap_32-xen.c 2008-05-23 20:51:11.000000000 +0200
9132    +++ linux-2.6.25-xen/arch/x86/mm/ioremap_32-xen.c 2008-05-23 20:39:03.000000000 +0200
9133  @@ -12,7 +12,7 @@  @@ -12,7 +12,7 @@
9134   #include <linux/init.h>   #include <linux/init.h>
9135   #include <linux/slab.h>   #include <linux/slab.h>
# Line 9256  Acked-by: jbeulich@novell.com Line 9177  Acked-by: jbeulich@novell.com
9177   vunmap((void __force *) addr);   vunmap((void __force *) addr);
9178   return NULL;   return NULL;
9179   }   }
9180  --- a/arch/x86/mm/pageattr_64-xen.c  diff -Naur linux-2.6.25/arch/x86/mm/pageattr_64-xen.c linux-2.6.25-xen/arch/x86/mm/pageattr_64-xen.c
9181  +++ b/arch/x86/mm/pageattr_64-xen.c  --- linux-2.6.25/arch/x86/mm/pageattr_64-xen.c 2008-05-23 20:51:11.000000000 +0200
9182    +++ linux-2.6.25-xen/arch/x86/mm/pageattr_64-xen.c 2008-05-23 20:39:03.000000000 +0200
9183  @@ -371,8 +371,8 @@  @@ -371,8 +371,8 @@
9184   BUG_ON(pud_none(*pud));   BUG_ON(pud_none(*pud));
9185   pmd = pmd_offset(pud, address);   pmd = pmd_offset(pud, address);
# Line 9322  Acked-by: jbeulich@novell.com Line 9244  Acked-by: jbeulich@novell.com
9244   }   }
9245   }   }
9246   up_write(&init_mm.mmap_sem);   up_write(&init_mm.mmap_sem);
9247  --- a/arch/x86/mm/pgtable_32-xen.c  diff -Naur linux-2.6.25/arch/x86/mm/pgtable_32-xen.c linux-2.6.25-xen/arch/x86/mm/pgtable_32-xen.c
9248  +++ b/arch/x86/mm/pgtable_32-xen.c  --- linux-2.6.25/arch/x86/mm/pgtable_32-xen.c 2008-05-23 20:51:11.000000000 +0200
9249    +++ linux-2.6.25-xen/arch/x86/mm/pgtable_32-xen.c 2008-05-23 20:39:03.000000000 +0200
9250  @@ -68,7 +68,9 @@  @@ -68,7 +68,9 @@
9251   printk(KERN_INFO "%lu pages writeback\n",   printk(KERN_INFO "%lu pages writeback\n",
9252   global_page_state(NR_WRITEBACK));   global_page_state(NR_WRITEBACK));
# Line 9379  Acked-by: jbeulich@novell.com Line 9302  Acked-by: jbeulich@novell.com
9302   }   }
9303    
9304   pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)   pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
9305  --- a/arch/x86/pci/irq-xen.c  diff -Naur linux-2.6.25/arch/x86/pci/irq-xen.c linux-2.6.25-xen/arch/x86/pci/irq-xen.c
9306  +++ b/arch/x86/pci/irq-xen.c  --- linux-2.6.25/arch/x86/pci/irq-xen.c 2008-05-23 20:51:11.000000000 +0200
9307    +++ linux-2.6.25-xen/arch/x86/pci/irq-xen.c 2008-05-23 20:39:03.000000000 +0200
9308  @@ -991,10 +991,6 @@  @@ -991,10 +991,6 @@
9309   pci_name(bridge), 'A' + pin, irq);   pci_name(bridge), 'A' + pin, irq);
9310   }   }
# Line 9437  Acked-by: jbeulich@novell.com Line 9361  Acked-by: jbeulich@novell.com
9361  -  -
9362  - return count;  - return count;
9363  -}  -}
9364  --- a/drivers/char/tpm/tpm_xen.c  diff -Naur linux-2.6.25/drivers/char/tpm/tpm_xen.c linux-2.6.25-xen/drivers/char/tpm/tpm_xen.c
9365  +++ b/drivers/char/tpm/tpm_xen.c  --- linux-2.6.25/drivers/char/tpm/tpm_xen.c 2008-05-23 20:51:15.000000000 +0200
9366    +++ linux-2.6.25-xen/drivers/char/tpm/tpm_xen.c 2008-05-23 20:39:03.000000000 +0200
9367  @@ -85,8 +85,7 @@  @@ -85,8 +85,7 @@
9368    
9369   /* local function prototypes */   /* local function prototypes */
# Line 9458  Acked-by: jbeulich@novell.com Line 9383  Acked-by: jbeulich@novell.com
9383   {   {
9384   struct tpm_private *tp = tpm_priv;   struct tpm_private *tp = tpm_priv;
9385   unsigned long flags;   unsigned long flags;
9386  --- a/drivers/pci/Kconfig  diff -Naur linux-2.6.25/drivers/pci/Kconfig linux-2.6.25-xen/drivers/pci/Kconfig
9387  +++ b/drivers/pci/Kconfig  --- linux-2.6.25/drivers/pci/Kconfig 2008-04-17 04:49:44.000000000 +0200
9388    +++ linux-2.6.25-xen/drivers/pci/Kconfig 2008-05-23 20:39:03.000000000 +0200
9389  @@ -45,7 +45,7 @@  @@ -45,7 +45,7 @@
9390   config HT_IRQ   config HT_IRQ
9391   bool "Interrupts on hypertransport devices"   bool "Interrupts on hypertransport devices"
# Line 9469  Acked-by: jbeulich@novell.com Line 9395  Acked-by: jbeulich@novell.com
9395   help   help
9396     This allows native hypertransport devices to use interrupts.     This allows native hypertransport devices to use interrupts.
9397    
9398  --- a/drivers/xen/Kconfig  diff -Naur linux-2.6.25/drivers/xen/balloon/balloon.c linux-2.6.25-xen/drivers/xen/balloon/balloon.c
9399  +++ b/drivers/xen/Kconfig  --- linux-2.6.25/drivers/xen/balloon/balloon.c 2008-05-23 20:51:11.000000000 +0200
9400  @@ -278,6 +278,9 @@  +++ linux-2.6.25-xen/drivers/xen/balloon/balloon.c 2008-05-23 20:39:03.000000000 +0200
  config HAVE_IRQ_IGNORE_UNHANDLED  
  def_bool y  
   
 +config GENERIC_HARDIRQS_NO__DO_IRQ  
 + def_bool y  
 +  
  config NO_IDLE_HZ  
  def_bool y  
   
 --- a/drivers/xen/balloon/balloon.c  
 +++ b/drivers/xen/balloon/balloon.c  
9401  @@ -84,7 +84,7 @@  @@ -84,7 +84,7 @@
9402   /* VM /proc information for memory */   /* VM /proc information for memory */
9403   extern unsigned long totalram_pages;   extern unsigned long totalram_pages;
# Line 9492  Acked-by: jbeulich@novell.com Line 9407  Acked-by: jbeulich@novell.com
9407   extern unsigned long totalhigh_pages;   extern unsigned long totalhigh_pages;
9408   #define inc_totalhigh_pages() (totalhigh_pages++)   #define inc_totalhigh_pages() (totalhigh_pages++)
9409   #define dec_totalhigh_pages() (totalhigh_pages--)   #define dec_totalhigh_pages() (totalhigh_pages--)
9410  --- a/drivers/xen/blkback/blkback.c  diff -Naur linux-2.6.25/drivers/xen/blkback/blkback.c linux-2.6.25-xen/drivers/xen/blkback/blkback.c
9411  +++ b/drivers/xen/blkback/blkback.c  --- linux-2.6.25/drivers/xen/blkback/blkback.c 2008-05-23 20:51:11.000000000 +0200
9412    +++ linux-2.6.25-xen/drivers/xen/blkback/blkback.c 2008-05-23 20:39:03.000000000 +0200
9413  @@ -288,7 +288,7 @@  @@ -288,7 +288,7 @@
9414   wake_up(&blkif->wq);   wake_up(&blkif->wq);
9415   }   }
# Line 9503  Acked-by: jbeulich@novell.com Line 9419  Acked-by: jbeulich@novell.com
9419   {   {
9420   blkif_notify_work(dev_id);   blkif_notify_work(dev_id);
9421   return IRQ_HANDLED;   return IRQ_HANDLED;
9422  --- a/drivers/xen/blkback/common.h  diff -Naur linux-2.6.25/drivers/xen/blkback/common.h linux-2.6.25-xen/drivers/xen/blkback/common.h
9423  +++ b/drivers/xen/blkback/common.h  --- linux-2.6.25/drivers/xen/blkback/common.h 2008-05-23 20:51:11.000000000 +0200
9424    +++ linux-2.6.25-xen/drivers/xen/blkback/common.h 2008-05-23 20:39:03.000000000 +0200
9425  @@ -130,7 +130,7 @@  @@ -130,7 +130,7 @@
9426    
9427   void blkif_xenbus_init(void);   void blkif_xenbus_init(void);
# Line 9514  Acked-by: jbeulich@novell.com Line 9431  Acked-by: jbeulich@novell.com
9431   int blkif_schedule(void *arg);   int blkif_schedule(void *arg);
9432    
9433   int blkback_barrier(struct xenbus_transaction xbt,   int blkback_barrier(struct xenbus_transaction xbt,
9434  --- a/drivers/xen/blkfront/blkfront.c  diff -Naur linux-2.6.25/drivers/xen/blkfront/blkfront.c linux-2.6.25-xen/drivers/xen/blkfront/blkfront.c
9435  +++ b/drivers/xen/blkfront/blkfront.c  --- linux-2.6.25/drivers/xen/blkfront/blkfront.c 2008-05-23 20:51:11.000000000 +0200
9436    +++ linux-2.6.25-xen/drivers/xen/blkfront/blkfront.c 2008-05-23 20:39:03.000000000 +0200
9437  @@ -69,7 +69,7 @@  @@ -69,7 +69,7 @@
9438    
9439   static void kick_pending_request_queues(struct blkfront_info *);   static void kick_pending_request_queues(struct blkfront_info *);
# Line 9534  Acked-by: jbeulich@novell.com Line 9452  Acked-by: jbeulich@novell.com
9452   {   {
9453   struct request *req;   struct request *req;
9454   blkif_response_t *bret;   blkif_response_t *bret;
9455  --- a/drivers/xen/blktap/blktap.c  diff -Naur linux-2.6.25/drivers/xen/blktap/blktap.c linux-2.6.25-xen/drivers/xen/blktap/blktap.c
9456  +++ b/drivers/xen/blktap/blktap.c  --- linux-2.6.25/drivers/xen/blktap/blktap.c 2008-05-23 20:51:11.000000000 +0200
9457    +++ linux-2.6.25-xen/drivers/xen/blktap/blktap.c 2008-05-23 20:39:03.000000000 +0200
9458  @@ -1175,7 +1175,7 @@  @@ -1175,7 +1175,7 @@
9459   wake_up(&blkif->wq);   wake_up(&blkif->wq);
9460   }   }
# Line 9545  Acked-by: jbeulich@novell.com Line 9464  Acked-by: jbeulich@novell.com
9464   {   {
9465   blkif_notify_work(dev_id);   blkif_notify_work(dev_id);
9466   return IRQ_HANDLED;   return IRQ_HANDLED;
9467  --- a/drivers/xen/blktap/common.h  diff -Naur linux-2.6.25/drivers/xen/blktap/common.h linux-2.6.25-xen/drivers/xen/blktap/common.h
9468  +++ b/drivers/xen/blktap/common.h  --- linux-2.6.25/drivers/xen/blktap/common.h 2008-05-23 20:51:11.000000000 +0200
9469    +++ linux-2.6.25-xen/drivers/xen/blktap/common.h 2008-05-23 20:39:03.000000000 +0200
9470  @@ -112,7 +112,7 @@  @@ -112,7 +112,7 @@
9471    
9472   void tap_blkif_xenbus_init(void);   void tap_blkif_xenbus_init(void);
# Line 9556  Acked-by: jbeulich@novell.com Line 9476  Acked-by: jbeulich@novell.com
9476   int tap_blkif_schedule(void *arg);   int tap_blkif_schedule(void *arg);
9477    
9478   int dom_to_devid(domid_t domid, int xenbus_id, blkif_t *blkif);   int dom_to_devid(domid_t domid, int xenbus_id, blkif_t *blkif);
9479  --- a/drivers/xen/console/console.c  diff -Naur linux-2.6.25/drivers/xen/console/console.c linux-2.6.25-xen/drivers/xen/console/console.c
9480  +++ b/drivers/xen/console/console.c  --- linux-2.6.25/drivers/xen/console/console.c 2008-05-23 20:51:11.000000000 +0200
9481    +++ linux-2.6.25-xen/drivers/xen/console/console.c 2008-05-23 20:39:03.000000000 +0200
9482  @@ -345,7 +345,7 @@  @@ -345,7 +345,7 @@
9483   static int xencons_priv_irq;   static int xencons_priv_irq;
9484   static char x_char;   static char x_char;
# Line 9594  Acked-by: jbeulich@novell.com Line 9515  Acked-by: jbeulich@novell.com
9515    
9516   xencons_tx();   xencons_tx();
9517    
9518  --- a/drivers/xen/console/xencons_ring.c  diff -Naur linux-2.6.25/drivers/xen/console/xencons_ring.c linux-2.6.25-xen/drivers/xen/console/xencons_ring.c
9519  +++ b/drivers/xen/console/xencons_ring.c  --- linux-2.6.25/drivers/xen/console/xencons_ring.c 2008-05-23 20:51:11.000000000 +0200
9520    +++ linux-2.6.25-xen/drivers/xen/console/xencons_ring.c 2008-05-23 20:39:03.000000000 +0200
9521  @@ -83,7 +83,7 @@  @@ -83,7 +83,7 @@
9522   return sent;   return sent;
9523   }   }
# Line 9614  Acked-by: jbeulich@novell.com Line 9536  Acked-by: jbeulich@novell.com
9536   cons++;   cons++;
9537   }   }
9538    
9539  --- a/drivers/xen/core/evtchn.c  diff -Naur linux-2.6.25/drivers/xen/core/evtchn.c linux-2.6.25-xen/drivers/xen/core/evtchn.c
9540  +++ b/drivers/xen/core/evtchn.c  --- linux-2.6.25/drivers/xen/core/evtchn.c 2008-05-23 20:51:11.000000000 +0200
9541    +++ linux-2.6.25-xen/drivers/xen/core/evtchn.c 2008-05-23 20:39:03.000000000 +0200
9542  @@ -507,7 +507,7 @@  @@ -507,7 +507,7 @@
9543    
9544   int bind_caller_port_to_irqhandler(   int bind_caller_port_to_irqhandler(
# Line 9757  Acked-by: jbeulich@novell.com Line 9680  Acked-by: jbeulich@novell.com
9680  +                              handle_level_irq, "level");  +                              handle_level_irq, "level");
9681   }   }
9682   }   }
9683  --- a/drivers/xen/core/reboot.c  diff -Naur linux-2.6.25/drivers/xen/core/reboot.c linux-2.6.25-xen/drivers/xen/core/reboot.c
9684  +++ b/drivers/xen/core/reboot.c  --- linux-2.6.25/drivers/xen/core/reboot.c 2008-05-23 20:51:11.000000000 +0200
9685    +++ linux-2.6.25-xen/drivers/xen/core/reboot.c 2008-05-23 20:39:03.000000000 +0200
9686  @@ -13,6 +13,7 @@  @@ -13,6 +13,7 @@
9687    
9688   #ifdef HAVE_XEN_PLATFORM_COMPAT_H   #ifdef HAVE_XEN_PLATFORM_COMPAT_H
# Line 9776  Acked-by: jbeulich@novell.com Line 9700  Acked-by: jbeulich@novell.com
9700   #endif   #endif
9701   }   }
9702    
9703  --- a/drivers/xen/core/smpboot.c  diff -Naur linux-2.6.25/drivers/xen/core/smpboot.c linux-2.6.25-xen/drivers/xen/core/smpboot.c
9704  +++ b/drivers/xen/core/smpboot.c  --- linux-2.6.25/drivers/xen/core/smpboot.c 2008-05-23 20:51:11.000000000 +0200
9705    +++ linux-2.6.25-xen/drivers/xen/core/smpboot.c 2008-05-23 20:39:03.000000000 +0200
9706  @@ -25,8 +25,8 @@  @@ -25,8 +25,8 @@
9707   #include <xen/cpu_hotplug.h>   #include <xen/cpu_hotplug.h>
9708   #include <xen/xenbus.h>   #include <xen/xenbus.h>
# Line 9798  Acked-by: jbeulich@novell.com Line 9723  Acked-by: jbeulich@novell.com
9723   #endif   #endif
9724    
9725   void __init prefill_possible_map(void)   void __init prefill_possible_map(void)
9726  --- a/drivers/xen/fbfront/xenfb.c  diff -Naur linux-2.6.25/drivers/xen/fbfront/xenfb.c linux-2.6.25-xen/drivers/xen/fbfront/xenfb.c
9727  +++ b/drivers/xen/fbfront/xenfb.c  --- linux-2.6.25/drivers/xen/fbfront/xenfb.c 2008-05-23 20:51:11.000000000 +0200
9728    +++ linux-2.6.25-xen/drivers/xen/fbfront/xenfb.c 2008-05-23 20:39:03.000000000 +0200
9729  @@ -523,8 +523,7 @@  @@ -523,8 +523,7 @@
9730   .fb_set_par     = xenfb_set_par,   .fb_set_par     = xenfb_set_par,
9731   };   };
# Line 9810  Acked-by: jbeulich@novell.com Line 9736  Acked-by: jbeulich@novell.com
9736   {   {
9737   /*   /*
9738   * No in events recognized, simply ignore them all.   * No in events recognized, simply ignore them all.
9739  --- a/drivers/xen/fbfront/xenkbd.c  diff -Naur linux-2.6.25/drivers/xen/fbfront/xenkbd.c linux-2.6.25-xen/drivers/xen/fbfront/xenkbd.c
9740  +++ b/drivers/xen/fbfront/xenkbd.c  --- linux-2.6.25/drivers/xen/fbfront/xenkbd.c 2008-05-23 20:51:11.000000000 +0200
9741    +++ linux-2.6.25-xen/drivers/xen/fbfront/xenkbd.c 2008-05-23 20:39:03.000000000 +0200
9742  @@ -46,7 +46,7 @@  @@ -46,7 +46,7 @@
9743    * to do that.    * to do that.
9744    */    */
# Line 9821  Acked-by: jbeulich@novell.com Line 9748  Acked-by: jbeulich@novell.com
9748   {   {
9749   struct xenkbd_info *info = dev_id;   struct xenkbd_info *info = dev_id;
9750   struct xenkbd_page *page = info->page;   struct xenkbd_page *page = info->page;
9751  --- a/drivers/xen/gntdev/gntdev.c  diff -Naur linux-2.6.25/drivers/xen/gntdev/gntdev.c linux-2.6.25-xen/drivers/xen/gntdev/gntdev.c
9752  +++ b/drivers/xen/gntdev/gntdev.c  --- linux-2.6.25/drivers/xen/gntdev/gntdev.c 2008-05-23 20:51:11.000000000 +0200
9753    +++ linux-2.6.25-xen/drivers/xen/gntdev/gntdev.c 2008-05-23 20:39:03.000000000 +0200
9754  @@ -755,9 +755,6 @@  @@ -755,9 +755,6 @@
9755   BUG();   BUG();
9756   }   }
# Line 9862  Acked-by: jbeulich@novell.com Line 9790  Acked-by: jbeulich@novell.com
9790   }   }
9791    
9792   return copy;   return copy;
9793  --- a/drivers/xen/netback/accel.c  diff -Naur linux-2.6.25/drivers/xen/Kconfig linux-2.6.25-xen/drivers/xen/Kconfig
9794  +++ b/drivers/xen/netback/accel.c  --- linux-2.6.25/drivers/xen/Kconfig 2008-05-23 20:51:14.000000000 +0200
9795    +++ linux-2.6.25-xen/drivers/xen/Kconfig 2008-05-23 20:39:03.000000000 +0200
9796    @@ -278,6 +278,9 @@
9797     config HAVE_IRQ_IGNORE_UNHANDLED
9798     def_bool y
9799    
9800    +config GENERIC_HARDIRQS_NO__DO_IRQ
9801    + def_bool y
9802    +
9803     config NO_IDLE_HZ
9804     def_bool y
9805    
9806    diff -Naur linux-2.6.25/drivers/xen/netback/accel.c linux-2.6.25-xen/drivers/xen/netback/accel.c
9807    --- linux-2.6.25/drivers/xen/netback/accel.c 2008-05-23 20:51:11.000000000 +0200
9808    +++ linux-2.6.25-xen/drivers/xen/netback/accel.c 2008-05-23 20:39:03.000000000 +0200
9809  @@ -65,7 +65,7 @@  @@ -65,7 +65,7 @@
9810    
9811   if (IS_ERR(eth_name)) {   if (IS_ERR(eth_name)) {
# Line 9873  Acked-by: jbeulich@novell.com Line 9815  Acked-by: jbeulich@novell.com
9815   __FUNCTION__, PTR_ERR(eth_name));   __FUNCTION__, PTR_ERR(eth_name));
9816   return 0;   return 0;
9817   } else {   } else {
9818  --- a/drivers/xen/netback/common.h  diff -Naur linux-2.6.25/drivers/xen/netback/common.h linux-2.6.25-xen/drivers/xen/netback/common.h
9819  +++ b/drivers/xen/netback/common.h  --- linux-2.6.25/drivers/xen/netback/common.h 2008-05-23 20:51:11.000000000 +0200
9820    +++ linux-2.6.25-xen/drivers/xen/netback/common.h 2008-05-23 20:39:03.000000000 +0200
9821  @@ -200,7 +200,7 @@  @@ -200,7 +200,7 @@
9822    
9823   int netif_be_start_xmit(struct sk_buff *skb, struct net_device *dev);   int netif_be_start_xmit(struct sk_buff *skb, struct net_device *dev);
# Line 9884  Acked-by: jbeulich@novell.com Line 9827  Acked-by: jbeulich@novell.com
9827    
9828   static inline int netbk_can_queue(struct net_device *dev)   static inline int netbk_can_queue(struct net_device *dev)
9829   {   {
9830  --- a/drivers/xen/netback/loopback.c  diff -Naur linux-2.6.25/drivers/xen/netback/loopback.c linux-2.6.25-xen/drivers/xen/netback/loopback.c
9831  +++ b/drivers/xen/netback/loopback.c  --- linux-2.6.25/drivers/xen/netback/loopback.c 2008-05-23 20:51:11.000000000 +0200
9832    +++ linux-2.6.25-xen/drivers/xen/netback/loopback.c 2008-05-23 20:39:03.000000000 +0200
9833  @@ -151,7 +151,7 @@  @@ -151,7 +151,7 @@
9834   np->stats.rx_bytes += skb->len;   np->stats.rx_bytes += skb->len;
9835   np->stats.rx_packets++;   np->stats.rx_packets++;
# Line 9895  Acked-by: jbeulich@novell.com Line 9839  Acked-by: jbeulich@novell.com
9839   /* Defer checksum calculation. */   /* Defer checksum calculation. */
9840   skb->proto_csum_blank = 1;   skb->proto_csum_blank = 1;
9841   /* Must be a local packet: assert its integrity. */   /* Must be a local packet: assert its integrity. */
9842  --- a/drivers/xen/netback/netback.c  diff -Naur linux-2.6.25/drivers/xen/netback/netback.c linux-2.6.25-xen/drivers/xen/netback/netback.c
9843  +++ b/drivers/xen/netback/netback.c  --- linux-2.6.25/drivers/xen/netback/netback.c 2008-05-23 20:51:11.000000000 +0200
9844    +++ linux-2.6.25-xen/drivers/xen/netback/netback.c 2008-05-23 20:39:03.000000000 +0200
9845  @@ -677,7 +677,7 @@  @@ -677,7 +677,7 @@
9846   id = meta[npo.meta_cons].id;   id = meta[npo.meta_cons].id;
9847   flags = nr_frags ? NETRXF_more_data : 0;   flags = nr_frags ? NETRXF_more_data : 0;
# Line 9924  Acked-by: jbeulich@novell.com Line 9869  Acked-by: jbeulich@novell.com
9869   {   {
9870   struct list_head *ent;   struct list_head *ent;
9871   netif_t *netif;   netif_t *netif;
9872  --- a/drivers/xen/netfront/netfront.c  diff -Naur linux-2.6.25/drivers/xen/netfront/netfront.c linux-2.6.25-xen/drivers/xen/netfront/netfront.c
9873  +++ b/drivers/xen/netfront/netfront.c  --- linux-2.6.25/drivers/xen/netfront/netfront.c 2008-05-23 20:51:11.000000000 +0200
9874    +++ linux-2.6.25-xen/drivers/xen/netfront/netfront.c 2008-05-23 20:39:03.000000000 +0200
9875  @@ -136,7 +136,7 @@  @@ -136,7 +136,7 @@
9876   {   {
9877           return skb_is_gso(skb) &&           return skb_is_gso(skb) &&
# Line 9962  Acked-by: jbeulich@novell.com Line 9908  Acked-by: jbeulich@novell.com
9908   {   {
9909   struct net_device *dev = dev_id;   struct net_device *dev = dev_id;
9910   struct netfront_info *np = netdev_priv(dev);   struct netfront_info *np = netdev_priv(dev);
9911  --- a/drivers/xen/pciback/pciback.h  diff -Naur linux-2.6.25/drivers/xen/pciback/pciback.h linux-2.6.25-xen/drivers/xen/pciback/pciback.h
9912  +++ b/drivers/xen/pciback/pciback.h  --- linux-2.6.25/drivers/xen/pciback/pciback.h 2008-05-23 20:51:11.000000000 +0200
9913    +++ linux-2.6.25-xen/drivers/xen/pciback/pciback.h 2008-05-23 20:39:03.000000000 +0200
9914  @@ -87,7 +87,7 @@  @@ -87,7 +87,7 @@
9915   void pciback_release_devices(struct pciback_device *pdev);   void pciback_release_devices(struct pciback_device *pdev);
9916    
# Line 9973  Acked-by: jbeulich@novell.com Line 9920  Acked-by: jbeulich@novell.com
9920   void pciback_do_op(void *data);   void pciback_do_op(void *data);
9921    
9922   int pciback_xenbus_register(void);   int pciback_xenbus_register(void);
9923  --- a/drivers/xen/pciback/pciback_ops.c  diff -Naur linux-2.6.25/drivers/xen/pciback/pciback_ops.c linux-2.6.25-xen/drivers/xen/pciback/pciback_ops.c
9924  +++ b/drivers/xen/pciback/pciback_ops.c  --- linux-2.6.25/drivers/xen/pciback/pciback_ops.c 2008-05-23 20:51:11.000000000 +0200
9925    +++ linux-2.6.25-xen/drivers/xen/pciback/pciback_ops.c 2008-05-23 20:39:03.000000000 +0200
9926  @@ -85,7 +85,7 @@  @@ -85,7 +85,7 @@
9927   test_and_schedule_op(pdev);   test_and_schedule_op(pdev);
9928   }   }
# Line 9984  Acked-by: jbeulich@novell.com Line 9932  Acked-by: jbeulich@novell.com
9932   {   {
9933   struct pciback_device *pdev = dev_id;   struct pciback_device *pdev = dev_id;
9934    
9935  --- a/drivers/xen/pcifront/pci_op.c  diff -Naur linux-2.6.25/drivers/xen/pcifront/pci_op.c linux-2.6.25-xen/drivers/xen/pcifront/pci_op.c
9936  +++ b/drivers/xen/pcifront/pci_op.c  --- linux-2.6.25/drivers/xen/pcifront/pci_op.c 2008-05-23 20:51:11.000000000 +0200
9937    +++ linux-2.6.25-xen/drivers/xen/pcifront/pci_op.c 2008-05-23 20:39:03.000000000 +0200
9938  @@ -392,10 +392,16 @@  @@ -392,10 +392,16 @@
9939    
9940   d = pci_scan_single_device(b, devfn);   d = pci_scan_single_device(b, devfn);
# Line 10004  Acked-by: jbeulich@novell.com Line 9953  Acked-by: jbeulich@novell.com
9953   }   }
9954   }   }
9955    
9956  --- a/drivers/xen/privcmd/compat_privcmd.c  diff -Naur linux-2.6.25/drivers/xen/privcmd/compat_privcmd.c linux-2.6.25-xen/drivers/xen/privcmd/compat_privcmd.c
9957  +++ b/drivers/xen/privcmd/compat_privcmd.c  --- linux-2.6.25/drivers/xen/privcmd/compat_privcmd.c 2008-05-23 20:51:11.000000000 +0200
9958    +++ linux-2.6.25-xen/drivers/xen/privcmd/compat_privcmd.c 2008-05-23 20:39:03.000000000 +0200
9959  @@ -18,7 +18,6 @@  @@ -18,7 +18,6 @@
9960    * Authors: Jimi Xenidis <jimix@watson.ibm.com>    * Authors: Jimi Xenidis <jimix@watson.ibm.com>
9961    */    */
# Line 10014  Acked-by: jbeulich@novell.com Line 9964  Acked-by: jbeulich@novell.com
9964   #include <linux/compat.h>   #include <linux/compat.h>
9965   #include <linux/ioctl.h>   #include <linux/ioctl.h>
9966   #include <linux/syscalls.h>   #include <linux/syscalls.h>
9967  --- a/drivers/xen/privcmd/privcmd.c  diff -Naur linux-2.6.25/drivers/xen/privcmd/privcmd.c linux-2.6.25-xen/drivers/xen/privcmd/privcmd.c
9968  +++ b/drivers/xen/privcmd/privcmd.c  --- linux-2.6.25/drivers/xen/privcmd/privcmd.c 2008-05-23 20:51:11.000000000 +0200
9969    +++ linux-2.6.25-xen/drivers/xen/privcmd/privcmd.c 2008-05-23 20:39:03.000000000 +0200
9970  @@ -236,7 +236,7 @@  @@ -236,7 +236,7 @@
9971   #endif   #endif
9972    
# Line 10025  Acked-by: jbeulich@novell.com Line 9976  Acked-by: jbeulich@novell.com
9976   vma->vm_ops = &privcmd_vm_ops;   vma->vm_ops = &privcmd_vm_ops;
9977   vma->vm_private_data = NULL;   vma->vm_private_data = NULL;
9978    
9979  --- a/drivers/xen/sfc_netback/accel_xenbus.c  diff -Naur linux-2.6.25/drivers/xen/sfc_netback/accel_xenbus.c linux-2.6.25-xen/drivers/xen/sfc_netback/accel_xenbus.c
9980  +++ b/drivers/xen/sfc_netback/accel_xenbus.c  --- linux-2.6.25/drivers/xen/sfc_netback/accel_xenbus.c 2008-05-23 20:51:11.000000000 +0200
9981    +++ linux-2.6.25-xen/drivers/xen/sfc_netback/accel_xenbus.c 2008-05-23 20:39:03.000000000 +0200
9982  @@ -68,8 +68,7 @@  @@ -68,8 +68,7 @@
9983    
9984    
# Line 10047  Acked-by: jbeulich@novell.com Line 9999  Acked-by: jbeulich@novell.com
9999   {   {
10000   VPRINTK("netirq %d from device %s\n", irq,   VPRINTK("netirq %d from device %s\n", irq,
10001   ((struct xenbus_device *)context)->nodename);   ((struct xenbus_device *)context)->nodename);
10002  --- a/drivers/xen/sfc_netfront/accel.h  diff -Naur linux-2.6.25/drivers/xen/sfc_netfront/accel.h linux-2.6.25-xen/drivers/xen/sfc_netfront/accel.h
10003  +++ b/drivers/xen/sfc_netfront/accel.h  --- linux-2.6.25/drivers/xen/sfc_netfront/accel.h 2008-05-23 20:51:11.000000000 +0200
10004    +++ linux-2.6.25-xen/drivers/xen/sfc_netfront/accel.h 2008-05-23 20:39:03.000000000 +0200
10005  @@ -449,10 +449,8 @@  @@ -449,10 +449,8 @@
10006      u32 ip, u16 port, u8 protocol);      u32 ip, u16 port, u8 protocol);
10007    
# Line 10062  Acked-by: jbeulich@novell.com Line 10015  Acked-by: jbeulich@novell.com
10015    
10016   #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)   #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)
10017   extern void netfront_accel_msg_from_bend(struct work_struct *context);   extern void netfront_accel_msg_from_bend(struct work_struct *context);
10018  --- a/drivers/xen/sfc_netfront/accel_msg.c  diff -Naur linux-2.6.25/drivers/xen/sfc_netfront/accel_msg.c linux-2.6.25-xen/drivers/xen/sfc_netfront/accel_msg.c
10019  +++ b/drivers/xen/sfc_netfront/accel_msg.c  --- linux-2.6.25/drivers/xen/sfc_netfront/accel_msg.c 2008-05-23 20:51:11.000000000 +0200
10020    +++ linux-2.6.25-xen/drivers/xen/sfc_netfront/accel_msg.c 2008-05-23 20:39:03.000000000 +0200
10021  @@ -490,8 +490,7 @@  @@ -490,8 +490,7 @@
10022   }   }
10023    
# Line 10084  Acked-by: jbeulich@novell.com Line 10038  Acked-by: jbeulich@novell.com
10038   {   {
10039   netfront_accel_vnic *vnic = (netfront_accel_vnic *)context;   netfront_accel_vnic *vnic = (netfront_accel_vnic *)context;
10040   struct net_device *net_dev = vnic->net_dev;   struct net_device *net_dev = vnic->net_dev;
10041  --- a/drivers/xen/sfc_netfront/accel_tso.c  diff -Naur linux-2.6.25/drivers/xen/sfc_netfront/accel_tso.c linux-2.6.25-xen/drivers/xen/sfc_netfront/accel_tso.c
10042  +++ b/drivers/xen/sfc_netfront/accel_tso.c  --- linux-2.6.25/drivers/xen/sfc_netfront/accel_tso.c 2008-05-23 20:51:11.000000000 +0200
10043    +++ linux-2.6.25-xen/drivers/xen/sfc_netfront/accel_tso.c 2008-05-23 20:39:03.000000000 +0200
10044  @@ -363,7 +363,7 @@  @@ -363,7 +363,7 @@
10045    
10046   tso_check_safe(skb);   tso_check_safe(skb);
# Line 10095  Acked-by: jbeulich@novell.com Line 10050  Acked-by: jbeulich@novell.com
10050   EPRINTK("Trying to TSO send a packet without HW checksum\n");   EPRINTK("Trying to TSO send a packet without HW checksum\n");
10051    
10052   tso_start(&state, skb);   tso_start(&state, skb);
10053  --- a/drivers/xen/sfc_netfront/accel_vi.c  diff -Naur linux-2.6.25/drivers/xen/sfc_netfront/accel_vi.c linux-2.6.25-xen/drivers/xen/sfc_netfront/accel_vi.c
10054  +++ b/drivers/xen/sfc_netfront/accel_vi.c  --- linux-2.6.25/drivers/xen/sfc_netfront/accel_vi.c 2008-05-23 20:51:11.000000000 +0200
10055    +++ linux-2.6.25-xen/drivers/xen/sfc_netfront/accel_vi.c 2008-05-23 20:39:03.000000000 +0200
10056  @@ -461,7 +461,7 @@  @@ -461,7 +461,7 @@
10057    
10058   frag_i = -1;   frag_i = -1;
# Line 10115  Acked-by: jbeulich@novell.com Line 10071  Acked-by: jbeulich@novell.com
10071   /* Set to zero to encourage falcon to work it out for us */   /* Set to zero to encourage falcon to work it out for us */
10072   *(u16*)(skb->h.raw + skb->csum) = 0;   *(u16*)(skb->h.raw + skb->csum) = 0;
10073   }   }
10074  --- a/drivers/xen/tpmback/common.h  diff -Naur linux-2.6.25/drivers/xen/tpmback/common.h linux-2.6.25-xen/drivers/xen/tpmback/common.h
10075  +++ b/drivers/xen/tpmback/common.h  --- linux-2.6.25/drivers/xen/tpmback/common.h 2008-05-23 20:51:11.000000000 +0200
10076    +++ linux-2.6.25-xen/drivers/xen/tpmback/common.h 2008-05-23 20:39:03.000000000 +0200
10077  @@ -61,7 +61,7 @@  @@ -61,7 +61,7 @@
10078   void tpmif_xenbus_init(void);   void tpmif_xenbus_init(void);
10079   void tpmif_xenbus_exit(void);   void tpmif_xenbus_exit(void);
# Line 10126  Acked-by: jbeulich@novell.com Line 10083  Acked-by: jbeulich@novell.com
10083    
10084   long int tpmback_get_instance(struct backend_info *bi);   long int tpmback_get_instance(struct backend_info *bi);
10085    
10086  --- a/drivers/xen/tpmback/tpmback.c  diff -Naur linux-2.6.25/drivers/xen/tpmback/tpmback.c linux-2.6.25-xen/drivers/xen/tpmback/tpmback.c
10087  +++ b/drivers/xen/tpmback/tpmback.c  --- linux-2.6.25/drivers/xen/tpmback/tpmback.c 2008-05-23 20:51:11.000000000 +0200
10088    +++ linux-2.6.25-xen/drivers/xen/tpmback/tpmback.c 2008-05-23 20:39:03.000000000 +0200
10089  @@ -502,7 +502,7 @@  @@ -502,7 +502,7 @@
10090   list_del(&pak->next);   list_del(&pak->next);
10091   write_unlock_irqrestore(&dataex.pak_lock, flags);   write_unlock_irqrestore(&dataex.pak_lock, flags);
# Line 10146  Acked-by: jbeulich@novell.com Line 10104  Acked-by: jbeulich@novell.com
10104   {   {
10105   tpmif_t *tpmif = (tpmif_t *) dev_id;   tpmif_t *tpmif = (tpmif_t *) dev_id;
10106    
10107  --- a/drivers/xen/xenbus/xenbus_comms.c  diff -Naur linux-2.6.25/drivers/xen/xenbus/xenbus_comms.c linux-2.6.25-xen/drivers/xen/xenbus/xenbus_comms.c
10108  +++ b/drivers/xen/xenbus/xenbus_comms.c  --- linux-2.6.25/drivers/xen/xenbus/xenbus_comms.c 2008-05-23 20:51:19.000000000 +0200
10109    +++ linux-2.6.25-xen/drivers/xen/xenbus/xenbus_comms.c 2008-05-23 20:39:03.000000000 +0200
10110  @@ -55,7 +55,7 @@  @@ -55,7 +55,7 @@
10111    
10112   static DECLARE_WAIT_QUEUE_HEAD(xb_waitq);   static DECLARE_WAIT_QUEUE_HEAD(xb_waitq);
# Line 10157  Acked-by: jbeulich@novell.com Line 10116  Acked-by: jbeulich@novell.com
10116   {   {
10117   if (unlikely(xenstored_ready == 0)) {   if (unlikely(xenstored_ready == 0)) {
10118   xenstored_ready = 1;   xenstored_ready = 1;
10119  --- a/drivers/xen/xenoprof/xenoprofile.c  diff -Naur linux-2.6.25/drivers/xen/xenoprof/xenoprofile.c linux-2.6.25-xen/drivers/xen/xenoprof/xenoprofile.c
10120  +++ b/drivers/xen/xenoprof/xenoprofile.c  --- linux-2.6.25/drivers/xen/xenoprof/xenoprofile.c 2008-05-23 20:51:11.000000000 +0200
10121    +++ linux-2.6.25-xen/drivers/xen/xenoprof/xenoprofile.c 2008-05-23 20:39:03.000000000 +0200
10122  @@ -195,7 +195,7 @@  @@ -195,7 +195,7 @@
10123   }   }
10124    
# Line 10168  Acked-by: jbeulich@novell.com Line 10128  Acked-by: jbeulich@novell.com
10128   {   {
10129   struct xenoprof_buf * buf;   struct xenoprof_buf * buf;
10130   static unsigned long flag;   static unsigned long flag;
10131  --- a/include/asm-generic/pgtable.h  diff -Naur linux-2.6.25/include/asm-generic/pgtable.h linux-2.6.25-xen/include/asm-generic/pgtable.h
10132  +++ b/include/asm-generic/pgtable.h  --- linux-2.6.25/include/asm-generic/pgtable.h 2008-05-23 20:51:15.000000000 +0200
10133    +++ linux-2.6.25-xen/include/asm-generic/pgtable.h 2008-05-23 20:39:03.000000000 +0200
10134  @@ -100,7 +100,7 @@  @@ -100,7 +100,7 @@
10135   #endif   #endif
10136    
# Line 10179  Acked-by: jbeulich@novell.com Line 10140  Acked-by: jbeulich@novell.com
10140   #endif   #endif
10141    
10142   #ifndef __HAVE_ARCH_PTE_SAME   #ifndef __HAVE_ARCH_PTE_SAME
10143  --- a/include/asm-x86/mach-xen/asm/desc_32.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/desc_32.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/desc_32.h
10144  +++ b/include/asm-x86/mach-xen/asm/desc_32.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/desc_32.h 2008-05-23 20:51:11.000000000 +0200
10145    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/desc_32.h 2008-05-23 20:39:03.000000000 +0200
10146  @@ -32,52 +32,110 @@  @@ -32,52 +32,110 @@
10147   return (struct desc_struct *)per_cpu(cpu_gdt_descr, cpu).address;   return (struct desc_struct *)per_cpu(cpu_gdt_descr, cpu).address;
10148   }   }
# Line 10341  Acked-by: jbeulich@novell.com Line 10303  Acked-by: jbeulich@novell.com
10303   static inline void clear_LDT(void)   static inline void clear_LDT(void)
10304   {   {
10305   int cpu = get_cpu();   int cpu = get_cpu();
10306  --- a/include/asm-x86/mach-xen/asm/dma-mapping_64.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/dma-mapping_64.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/dma-mapping_64.h
10307  +++ b/include/asm-x86/mach-xen/asm/dma-mapping_64.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/dma-mapping_64.h 2008-05-23 20:51:11.000000000 +0200
10308    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/dma-mapping_64.h 2008-05-23 20:39:03.000000000 +0200
10309  @@ -55,13 +55,6 @@  @@ -55,13 +55,6 @@
10310   extern struct dma_mapping_ops* dma_ops;   extern struct dma_mapping_ops* dma_ops;
10311   extern int iommu_merge;   extern int iommu_merge;
# Line 10357  Acked-by: jbeulich@novell.com Line 10320  Acked-by: jbeulich@novell.com
10320   #if 0   #if 0
10321   static inline int dma_mapping_error(dma_addr_t dma_addr)   static inline int dma_mapping_error(dma_addr_t dma_addr)
10322   {   {
10323  --- a/include/asm-x86/mach-xen/asm/e820_64.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/e820_64.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/e820_64.h
10324  +++ b/include/asm-x86/mach-xen/asm/e820_64.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/e820_64.h 2008-05-23 20:51:11.000000000 +0200
10325    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/e820_64.h 2008-05-23 20:39:03.000000000 +0200
10326  @@ -19,13 +19,9 @@  @@ -19,13 +19,9 @@
10327    
10328   #define E820_RAM 1   #define E820_RAM 1
# Line 10396  Acked-by: jbeulich@novell.com Line 10360  Acked-by: jbeulich@novell.com
10360    
10361   extern struct e820map e820;   extern struct e820map e820;
10362    
10363  --- a/include/asm-x86/mach-xen/asm/fixmap_32.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/fixmap_32.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/fixmap_32.h
10364  +++ b/include/asm-x86/mach-xen/asm/fixmap_32.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/fixmap_32.h 2008-05-23 20:51:11.000000000 +0200
10365    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/fixmap_32.h 2008-05-23 20:39:03.000000000 +0200
10366  @@ -55,7 +55,7 @@  @@ -55,7 +55,7 @@
10367   #ifdef CONFIG_X86_LOCAL_APIC   #ifdef CONFIG_X86_LOCAL_APIC
10368   FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */   FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */
# Line 10419  Acked-by: jbeulich@novell.com Line 10384  Acked-by: jbeulich@novell.com
10384    
10385   #define set_fixmap(idx, phys) \   #define set_fixmap(idx, phys) \
10386   __set_fixmap(idx, phys, PAGE_KERNEL)   __set_fixmap(idx, phys, PAGE_KERNEL)
10387  --- a/include/asm-x86/mach-xen/asm/fixmap_64.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/fixmap_64.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/fixmap_64.h
10388  +++ b/include/asm-x86/mach-xen/asm/fixmap_64.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/fixmap_64.h 2008-05-23 20:51:11.000000000 +0200
10389    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/fixmap_64.h 2008-05-23 20:39:03.000000000 +0200
10390  @@ -41,7 +41,7 @@  @@ -41,7 +41,7 @@
10391   #ifdef CONFIG_X86_LOCAL_APIC   #ifdef CONFIG_X86_LOCAL_APIC
10392   FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */   FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */
# Line 10430  Acked-by: jbeulich@novell.com Line 10396  Acked-by: jbeulich@novell.com
10396   FIX_IO_APIC_BASE_0,   FIX_IO_APIC_BASE_0,
10397   FIX_IO_APIC_BASE_END = FIX_IO_APIC_BASE_0 + MAX_IO_APICS-1,   FIX_IO_APIC_BASE_END = FIX_IO_APIC_BASE_0 + MAX_IO_APICS-1,
10398   #endif   #endif
10399  --- a/include/asm-x86/mach-xen/asm/hw_irq_32.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/hw_irq_32.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/hw_irq_32.h
10400  +++ b/include/asm-x86/mach-xen/asm/hw_irq_32.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/hw_irq_32.h 2008-05-23 20:51:11.000000000 +0200
10401    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/hw_irq_32.h 2008-05-23 20:39:03.000000000 +0200
10402  @@ -17,8 +17,6 @@  @@ -17,8 +17,6 @@
10403   #include <asm/irq.h>   #include <asm/irq.h>
10404   #include <asm/sections.h>   #include <asm/sections.h>
# Line 10461  Acked-by: jbeulich@novell.com Line 10428  Acked-by: jbeulich@novell.com
10428   #define platform_legacy_irq(irq) ((irq) < 16)   #define platform_legacy_irq(irq) ((irq) < 16)
10429   #endif   #endif
10430    
10431  --- a/include/asm-x86/mach-xen/asm/hw_irq_64.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/hw_irq_64.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/hw_irq_64.h
10432  +++ b/include/asm-x86/mach-xen/asm/hw_irq_64.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/hw_irq_64.h 2008-05-23 20:51:11.000000000 +0200
10433    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/hw_irq_64.h 2008-05-23 20:39:03.000000000 +0200
10434  @@ -19,8 +19,7 @@  @@ -19,8 +19,7 @@
10435   #include <asm/irq.h>   #include <asm/irq.h>
10436   #include <linux/profile.h>   #include <linux/profile.h>
# Line 10487  Acked-by: jbeulich@novell.com Line 10455  Acked-by: jbeulich@novell.com
10455    
10456   /*   /*
10457    * Various low-level irq details needed by irq.c, process.c,    * Various low-level irq details needed by irq.c, process.c,
10458  --- a/include/asm-x86/mach-xen/asm/io_32.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/io_32.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/io_32.h
10459  +++ b/include/asm-x86/mach-xen/asm/io_32.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/io_32.h 2008-05-23 20:51:11.000000000 +0200
10460    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/io_32.h 2008-05-23 20:39:03.000000000 +0200
10461  @@ -237,33 +237,6 @@  @@ -237,33 +237,6 @@
10462    
10463   #define eth_io_copy_and_sum(a,b,c,d) eth_copy_and_sum((a),(void __force *)(b),(c),(d))   #define eth_io_copy_and_sum(a,b,c,d) eth_copy_and_sum((a),(void __force *)(b),(c),(d))
# Line 10523  Acked-by: jbeulich@novell.com Line 10492  Acked-by: jbeulich@novell.com
10492   /*   /*
10493    * Cache management    * Cache management
10494    *    *
10495  --- a/include/asm-x86/mach-xen/asm/io_64.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/io_64.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/io_64.h
10496  +++ b/include/asm-x86/mach-xen/asm/io_64.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/io_64.h 2008-05-23 20:51:11.000000000 +0200
10497    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/io_64.h 2008-05-23 20:39:03.000000000 +0200
10498  @@ -273,33 +273,6 @@  @@ -273,33 +273,6 @@
10499    
10500   #define eth_io_copy_and_sum(a,b,c,d) eth_copy_and_sum((a),(void *)(b),(c),(d))   #define eth_io_copy_and_sum(a,b,c,d) eth_copy_and_sum((a),(void *)(b),(c),(d))
# Line 10559  Acked-by: jbeulich@novell.com Line 10529  Acked-by: jbeulich@novell.com
10529   /* Nothing to do */   /* Nothing to do */
10530    
10531   #define dma_cache_inv(_start,_size) do { } while (0)   #define dma_cache_inv(_start,_size) do { } while (0)
10532  --- a/include/asm-x86/mach-xen/asm/pgtable-2level.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/pgtable-2level.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/pgtable-2level.h
10533  +++ b/include/asm-x86/mach-xen/asm/pgtable-2level.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/pgtable-2level.h 2008-05-23 20:51:11.000000000 +0200
10534    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/pgtable-2level.h 2008-05-23 20:39:03.000000000 +0200
10535  @@ -23,14 +23,6 @@  @@ -23,14 +23,6 @@
10536   set_pte((ptep), (pteval)); \   set_pte((ptep), (pteval)); \
10537   } while (0)   } while (0)
# Line 10601  Acked-by: jbeulich@novell.com Line 10572  Acked-by: jbeulich@novell.com
10572   #define __pte_mfn(_pte) ((_pte).pte_low >> PAGE_SHIFT)   #define __pte_mfn(_pte) ((_pte).pte_low >> PAGE_SHIFT)
10573   #define pte_mfn(_pte) ((_pte).pte_low & _PAGE_PRESENT ? \   #define pte_mfn(_pte) ((_pte).pte_low & _PAGE_PRESENT ? \
10574   __pte_mfn(_pte) : pfn_to_mfn(__pte_mfn(_pte)))   __pte_mfn(_pte) : pfn_to_mfn(__pte_mfn(_pte)))
10575  --- a/include/asm-x86/mach-xen/asm/pgtable-3level.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/pgtable_32.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/pgtable_32.h
10576  +++ b/include/asm-x86/mach-xen/asm/pgtable-3level.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/pgtable_32.h 2008-05-23 20:51:11.000000000 +0200
10577  @@ -53,7 +53,6 @@  +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/pgtable_32.h 2008-05-23 20:39:03.000000000 +0200
   * not possible, use pte_get_and_clear to obtain the old pte  
   * value and then use set_pte to update it.  -ben  
   */  
 -#define __HAVE_ARCH_SET_PTE_ATOMIC  
   
  static inline void set_pte(pte_t *ptep, pte_t pte)  
  {  
 @@ -70,14 +69,6 @@  
  set_pte((ptep), (pteval)); \  
  } while (0)  
   
 -#define set_pte_at_sync(_mm,addr,ptep,pteval) do { \  
 - if (((_mm) != current->mm && (_mm) != &init_mm) || \  
 -    HYPERVISOR_update_va_mapping((addr), (pteval), UVMF_INVLPG)) { \  
 - set_pte((ptep), (pteval)); \  
 - xen_invlpg((addr)); \  
 - } \  
 -} while (0)  
 -  
  #define set_pmd(pmdptr,pmdval) \  
  xen_l2_entry_update((pmdptr), (pmdval))  
  #define set_pud(pudptr,pudval) \  
 @@ -94,7 +85,7 @@  
  #define pud_page(pud) \  
  ((struct page *) __va(pud_val(pud) & PAGE_MASK))  
   
 -#define pud_page_kernel(pud) \  
 +#define pud_page_vaddr(pud) \  
  ((unsigned long) __va(pud_val(pud) & PAGE_MASK))  
   
   
 @@ -124,6 +115,7 @@  
   
  #define pmd_clear(xp) do { set_pmd(xp, __pmd(0)); } while (0)  
   
 +#define __HAVE_ARCH_PTEP_GET_AND_CLEAR  
  static inline pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep)  
  {  
  pte_t pte = *ptep;  
 @@ -142,6 +134,7 @@  
  return pte;  
  }  
   
 +#define __HAVE_ARCH_PTEP_CLEAR_FLUSH  
  #define ptep_clear_flush(vma, addr, ptep) \  
  ({ \  
  pte_t *__ptep = (ptep); \  
 @@ -159,6 +152,7 @@  
  __res; \  
  })  
   
 +#define __HAVE_ARCH_PTE_SAME  
  static inline int pte_same(pte_t a, pte_t b)  
  {  
  return a.pte_low == b.pte_low && a.pte_high == b.pte_high;  
 --- a/include/asm-x86/mach-xen/asm/pgtable_32.h  
 +++ b/include/asm-x86/mach-xen/asm/pgtable_32.h  
10578  @@ -260,31 +260,89 @@  @@ -260,31 +260,89 @@
10579   # include <asm/pgtable-2level.h>   # include <asm/pgtable-2level.h>
10580   #endif   #endif
# Line 10871  Acked-by: jbeulich@novell.com Line 10785  Acked-by: jbeulich@novell.com
10785   #include <asm-generic/pgtable.h>   #include <asm-generic/pgtable.h>
10786    
10787   #endif /* _I386_PGTABLE_H */   #endif /* _I386_PGTABLE_H */
10788  --- a/include/asm-x86/mach-xen/asm/pgtable_64.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/pgtable-3level.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/pgtable-3level.h
10789  +++ b/include/asm-x86/mach-xen/asm/pgtable_64.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/pgtable-3level.h 2008-05-23 20:51:11.000000000 +0200
10790    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/pgtable-3level.h 2008-05-23 20:39:03.000000000 +0200
10791    @@ -53,7 +53,6 @@
10792      * not possible, use pte_get_and_clear to obtain the old pte
10793      * value and then use set_pte to update it.  -ben
10794      */
10795    -#define __HAVE_ARCH_SET_PTE_ATOMIC
10796    
10797     static inline void set_pte(pte_t *ptep, pte_t pte)
10798     {
10799    @@ -70,14 +69,6 @@
10800     set_pte((ptep), (pteval)); \
10801     } while (0)
10802    
10803    -#define set_pte_at_sync(_mm,addr,ptep,pteval) do { \
10804    - if (((_mm) != current->mm && (_mm) != &init_mm) || \
10805    -    HYPERVISOR_update_va_mapping((addr), (pteval), UVMF_INVLPG)) { \
10806    - set_pte((ptep), (pteval)); \
10807    - xen_invlpg((addr)); \
10808    - } \
10809    -} while (0)
10810    -
10811     #define set_pmd(pmdptr,pmdval) \
10812     xen_l2_entry_update((pmdptr), (pmdval))
10813     #define set_pud(pudptr,pudval) \
10814    @@ -94,7 +85,7 @@
10815     #define pud_page(pud) \
10816     ((struct page *) __va(pud_val(pud) & PAGE_MASK))
10817    
10818    -#define pud_page_kernel(pud) \
10819    +#define pud_page_vaddr(pud) \
10820     ((unsigned long) __va(pud_val(pud) & PAGE_MASK))
10821    
10822    
10823    @@ -124,6 +115,7 @@
10824    
10825     #define pmd_clear(xp) do { set_pmd(xp, __pmd(0)); } while (0)
10826    
10827    +#define __HAVE_ARCH_PTEP_GET_AND_CLEAR
10828     static inline pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
10829     {
10830     pte_t pte = *ptep;
10831    @@ -142,6 +134,7 @@
10832     return pte;
10833     }
10834    
10835    +#define __HAVE_ARCH_PTEP_CLEAR_FLUSH
10836     #define ptep_clear_flush(vma, addr, ptep) \
10837     ({ \
10838     pte_t *__ptep = (ptep); \
10839    @@ -159,6 +152,7 @@
10840     __res; \
10841     })
10842    
10843    +#define __HAVE_ARCH_PTE_SAME
10844     static inline int pte_same(pte_t a, pte_t b)
10845     {
10846     return a.pte_low == b.pte_low && a.pte_high == b.pte_high;
10847    diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/pgtable_64.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/pgtable_64.h
10848    --- linux-2.6.25/include/asm-x86/mach-xen/asm/pgtable_64.h 2008-05-23 20:51:11.000000000 +0200
10849    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/pgtable_64.h 2008-05-23 20:39:03.000000000 +0200
10850  @@ -43,12 +43,9 @@  @@ -43,12 +43,9 @@
10851    
10852   #define swapper_pg_dir init_level4_pgt   #define swapper_pg_dir init_level4_pgt
# Line 11051  Acked-by: jbeulich@novell.com Line 11025  Acked-by: jbeulich@novell.com
11025   #define __HAVE_ARCH_PTEP_GET_AND_CLEAR   #define __HAVE_ARCH_PTEP_GET_AND_CLEAR
11026   #define __HAVE_ARCH_PTEP_GET_AND_CLEAR_FULL   #define __HAVE_ARCH_PTEP_GET_AND_CLEAR_FULL
11027   #define __HAVE_ARCH_PTEP_CLEAR_FLUSH   #define __HAVE_ARCH_PTEP_CLEAR_FLUSH
11028  --- a/include/asm-x86/mach-xen/asm/processor_32.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/processor_32.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/processor_32.h
11029  +++ b/include/asm-x86/mach-xen/asm/processor_32.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/processor_32.h 2008-05-23 20:51:22.000000000 +0200
11030    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/processor_32.h 2008-05-23 20:39:03.000000000 +0200
11031  @@ -146,6 +146,18 @@  @@ -146,6 +146,18 @@
11032   #define X86_EFLAGS_VIP 0x00100000 /* Virtual Interrupt Pending */   #define X86_EFLAGS_VIP 0x00100000 /* Virtual Interrupt Pending */
11033   #define X86_EFLAGS_ID 0x00200000 /* CPUID detection flag */   #define X86_EFLAGS_ID 0x00200000 /* CPUID detection flag */
# Line 11164  Acked-by: jbeulich@novell.com Line 11139  Acked-by: jbeulich@novell.com
11139   /* from system description table in BIOS.  Mostly for MCA use, but   /* from system description table in BIOS.  Mostly for MCA use, but
11140   others may find it useful. */   others may find it useful. */
11141   extern unsigned int machine_id;   extern unsigned int machine_id;
11142  --- a/include/asm-x86/mach-xen/asm/processor_64.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/processor_64.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/processor_64.h
11143  +++ b/include/asm-x86/mach-xen/asm/processor_64.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/processor_64.h 2008-05-23 20:51:11.000000000 +0200
11144    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/processor_64.h 2008-05-23 20:39:03.000000000 +0200
11145  @@ -484,6 +484,8 @@  @@ -484,6 +484,8 @@
11146   : :"a" (eax), "c" (ecx));   : :"a" (eax), "c" (ecx));
11147   }   }
# Line 11175  Acked-by: jbeulich@novell.com Line 11151  Acked-by: jbeulich@novell.com
11151   #define stack_current() \   #define stack_current() \
11152   ({ \   ({ \
11153   struct thread_info *ti; \   struct thread_info *ti; \
11154  --- a/include/asm-x86/mach-xen/asm/segment_32.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/segment_32.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/segment_32.h
11155  +++ b/include/asm-x86/mach-xen/asm/segment_32.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/segment_32.h 2008-05-23 20:51:11.000000000 +0200
11156    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/segment_32.h 2008-05-23 20:39:03.000000000 +0200
11157  @@ -61,11 +61,9 @@  @@ -61,11 +61,9 @@
11158    
11159   #define GDT_ENTRY_KERNEL_CS (GDT_ENTRY_KERNEL_BASE + 0)   #define GDT_ENTRY_KERNEL_CS (GDT_ENTRY_KERNEL_BASE + 0)
# Line 11218  Acked-by: jbeulich@novell.com Line 11195  Acked-by: jbeulich@novell.com
11195  +  +
11196  +#define get_kernel_rpl()  (xen_feature(XENFEAT_supervisor_mode_kernel)?0:1)  +#define get_kernel_rpl()  (xen_feature(XENFEAT_supervisor_mode_kernel)?0:1)
11197   #endif   #endif
11198  --- a/include/asm-x86/mach-xen/asm/smp_32.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/smp_32.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/smp_32.h
11199  +++ b/include/asm-x86/mach-xen/asm/smp_32.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/smp_32.h 2008-05-23 20:51:11.000000000 +0200
11200    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/smp_32.h 2008-05-23 20:39:03.000000000 +0200
11201  @@ -79,25 +79,36 @@  @@ -79,25 +79,36 @@
11202   return GET_APIC_ID(*(unsigned long *)(APIC_BASE+APIC_ID));   return GET_APIC_ID(*(unsigned long *)(APIC_BASE+APIC_ID));
11203   }   }
# Line 11264  Acked-by: jbeulich@novell.com Line 11242  Acked-by: jbeulich@novell.com
11242  +#endif  +#endif
11243  +  +
11244   #endif   #endif
11245  --- a/include/asm-x86/mach-xen/asm/smp_64.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/smp_64.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/smp_64.h
11246  +++ b/include/asm-x86/mach-xen/asm/smp_64.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/smp_64.h 2008-05-23 20:51:11.000000000 +0200
11247    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/smp_64.h 2008-05-23 20:39:03.000000000 +0200
11248  @@ -4,15 +4,12 @@  @@ -4,15 +4,12 @@
11249   /*   /*
11250    * We need the APIC definitions automatically as part of 'smp.h'    * We need the APIC definitions automatically as part of 'smp.h'
# Line 11371  Acked-by: jbeulich@novell.com Line 11350  Acked-by: jbeulich@novell.com
11350  +#endif /* !CONFIG_SMP */  +#endif /* !CONFIG_SMP */
11351   #endif   #endif
11352    
11353  --- a/include/asm-x86/mach-xen/asm/system_32.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/system_32.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/system_32.h
11354  +++ b/include/asm-x86/mach-xen/asm/system_32.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/system_32.h 2008-05-23 20:51:11.000000000 +0200
11355    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/system_32.h 2008-05-23 20:39:03.000000000 +0200
11356  @@ -267,6 +267,9 @@  @@ -267,6 +267,9 @@
11357   #define cmpxchg(ptr,o,n)\   #define cmpxchg(ptr,o,n)\
11358   ((__typeof__(*(ptr)))__cmpxchg((ptr),(unsigned long)(o),\   ((__typeof__(*(ptr)))__cmpxchg((ptr),(unsigned long)(o),\
# Line 11383  Acked-by: jbeulich@novell.com Line 11363  Acked-by: jbeulich@novell.com
11363   #endif   #endif
11364    
11365   static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,   static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
11366  @@ -291,6 +294,39 @@  @@ -296,6 +299,39 @@
11367       : "=a"(prev)   return old;
11368       : "r"(new), "m"(*__xg(ptr)), "0"(old)   }
11369       : "memory");  
 + return prev;  
 + }  
 + return old;  
 +}  
 +  
11370  +/*  +/*
11371  + * Always use locked operations when touching memory shared with a  + * Always use locked operations when touching memory shared with a
11372  + * hypervisor, since the system may be SMP even if the guest kernel  + * hypervisor, since the system may be SMP even if the guest kernel
# Line 11420  Acked-by: jbeulich@novell.com Line 11395  Acked-by: jbeulich@novell.com
11395  +     : "=a"(prev)  +     : "=a"(prev)
11396  +     : "r"(new), "m"(*__xg(ptr)), "0"(old)  +     : "r"(new), "m"(*__xg(ptr)), "0"(old)
11397  +     : "memory");  +     : "memory");
11398   return prev;  + return prev;
11399   }  + }
11400   return old;  + return old;
11401  --- a/include/asm-x86/mach-xen/asm/system_64.h  +}
11402  +++ b/include/asm-x86/mach-xen/asm/system_64.h  +
11403     #ifndef CONFIG_X86_CMPXCHG
11404     /*
11405      * Building a kernel capable running on 80386. It may be necessary to
11406    diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/system_64.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/system_64.h
11407    --- linux-2.6.25/include/asm-x86/mach-xen/asm/system_64.h 2008-05-23 20:51:11.000000000 +0200
11408    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/system_64.h 2008-05-23 20:39:03.000000000 +0200
11409  @@ -24,6 +24,7 @@  @@ -24,6 +24,7 @@
11410   #define __EXTRA_CLOBBER  \   #define __EXTRA_CLOBBER  \
11411   ,"rcx","rbx","rdx","r8","r9","r10","r11","r12","r13","r14","r15"   ,"rcx","rbx","rdx","r8","r9","r10","r11","r12","r13","r14","r15"
# Line 11433  Acked-by: jbeulich@novell.com Line 11414  Acked-by: jbeulich@novell.com
11414   #define switch_to(prev,next,last) \   #define switch_to(prev,next,last) \
11415   asm volatile(SAVE_CONTEXT    \   asm volatile(SAVE_CONTEXT    \
11416       "movq %%rsp,%P[threadrsp](%[prev])\n\t" /* save RSP */  \       "movq %%rsp,%P[threadrsp](%[prev])\n\t" /* save RSP */  \
11417  --- a/include/asm-x86/mach-xen/asm/tlbflush_32.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/tlbflush_32.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/tlbflush_32.h
11418  +++ b/include/asm-x86/mach-xen/asm/tlbflush_32.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/tlbflush_32.h 2008-05-23 20:51:11.000000000 +0200
11419    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/tlbflush_32.h 2008-05-23 20:39:03.000000000 +0200
11420  @@ -8,8 +8,6 @@  @@ -8,8 +8,6 @@
11421   #define __flush_tlb_global() xen_tlb_flush()   #define __flush_tlb_global() xen_tlb_flush()
11422   #define __flush_tlb_all() xen_tlb_flush()   #define __flush_tlb_all() xen_tlb_flush()
# Line 11444  Acked-by: jbeulich@novell.com Line 11426  Acked-by: jbeulich@novell.com
11426   #define cpu_has_invlpg (boot_cpu_data.x86 > 3)   #define cpu_has_invlpg (boot_cpu_data.x86 > 3)
11427    
11428   #define __flush_tlb_single(addr) xen_invlpg(addr)   #define __flush_tlb_single(addr) xen_invlpg(addr)
11429  --- a/include/asm-x86/mach-xen/asm/tlbflush_64.h  diff -Naur linux-2.6.25/include/asm-x86/mach-xen/asm/tlbflush_64.h linux-2.6.25-xen/include/asm-x86/mach-xen/asm/tlbflush_64.h
11430  +++ b/include/asm-x86/mach-xen/asm/tlbflush_64.h  --- linux-2.6.25/include/asm-x86/mach-xen/asm/tlbflush_64.h 2008-05-23 20:51:11.000000000 +0200
11431    +++ linux-2.6.25-xen/include/asm-x86/mach-xen/asm/tlbflush_64.h 2008-05-23 20:39:03.000000000 +0200
11432  @@ -12,9 +12,6 @@  @@ -12,9 +12,6 @@
11433    */    */
11434   #define __flush_tlb_global() xen_tlb_flush()   #define __flush_tlb_global() xen_tlb_flush()
# Line 11456  Acked-by: jbeulich@novell.com Line 11439  Acked-by: jbeulich@novell.com
11439   #define __flush_tlb_all() __flush_tlb_global()   #define __flush_tlb_all() __flush_tlb_global()
11440    
11441   #define __flush_tlb_one(addr) xen_invlpg((unsigned long)addr)   #define __flush_tlb_one(addr) xen_invlpg((unsigned long)addr)
11442  --- a/include/asm-x86/thread_info_64.h  diff -Naur linux-2.6.25/include/asm-x86/thread_info_64.h linux-2.6.25-xen/include/asm-x86/thread_info_64.h
11443  +++ b/include/asm-x86/thread_info_64.h  --- linux-2.6.25/include/asm-x86/thread_info_64.h 2008-04-17 04:49:44.000000000 +0200
11444    +++ linux-2.6.25-xen/include/asm-x86/thread_info_64.h 2008-05-23 20:39:03.000000000 +0200
11445  @@ -157,10 +157,14 @@  @@ -157,10 +157,14 @@
11446   (_TIF_SIGPENDING|_TIF_SINGLESTEP|_TIF_MCE_NOTIFY|_TIF_HRTICK_RESCHED)   (_TIF_SIGPENDING|_TIF_SINGLESTEP|_TIF_MCE_NOTIFY|_TIF_HRTICK_RESCHED)
11447    
# Line 11473  Acked-by: jbeulich@novell.com Line 11457  Acked-by: jbeulich@novell.com
11457    
11458   #define PREEMPT_ACTIVE     0x10000000   #define PREEMPT_ACTIVE     0x10000000
11459    
11460  --- a/include/linux/skbuff.h  diff -Naur linux-2.6.25/include/linux/skbuff.h linux-2.6.25-xen/include/linux/skbuff.h
11461  +++ b/include/linux/skbuff.h  --- linux-2.6.25/include/linux/skbuff.h 2008-05-23 20:51:15.000000000 +0200
11462    +++ linux-2.6.25-xen/include/linux/skbuff.h 2008-05-23 20:39:03.000000000 +0200
11463  @@ -1821,5 +1821,12 @@  @@ -1821,5 +1821,12 @@
11464   }   }
11465    
# Line 11488  Acked-by: jbeulich@novell.com Line 11473  Acked-by: jbeulich@novell.com
11473  +  +
11474   #endif /* __KERNEL__ */   #endif /* __KERNEL__ */
11475   #endif /* _LINUX_SKBUFF_H */   #endif /* _LINUX_SKBUFF_H */
11476  --- a/include/xen/evtchn.h  diff -Naur linux-2.6.25/include/xen/evtchn.h linux-2.6.25-xen/include/xen/evtchn.h
11477  +++ b/include/xen/evtchn.h  --- linux-2.6.25/include/xen/evtchn.h 2008-05-23 20:51:11.000000000 +0200
11478    +++ linux-2.6.25-xen/include/xen/evtchn.h 2008-05-23 20:39:03.000000000 +0200
11479  @@ -54,34 +54,34 @@  @@ -54,34 +54,34 @@
11480    */    */
11481   int bind_caller_port_to_irqhandler(   int bind_caller_port_to_irqhandler(
# Line 11530  Acked-by: jbeulich@novell.com Line 11516  Acked-by: jbeulich@novell.com
11516   unsigned long irqflags,   unsigned long irqflags,
11517   const char *devname,   const char *devname,
11518   void *dev_id);   void *dev_id);
11519  --- a/include/xen/xencons.h  diff -Naur linux-2.6.25/include/xen/xencons.h linux-2.6.25-xen/include/xen/xencons.h
11520  +++ b/include/xen/xencons.h  --- linux-2.6.25/include/xen/xencons.h 2008-05-23 20:51:11.000000000 +0200
11521    +++ linux-2.6.25-xen/include/xen/xencons.h 2008-05-23 20:39:03.000000000 +0200
11522  @@ -8,7 +8,7 @@  @@ -8,7 +8,7 @@
11523   void xencons_resume(void);   void xencons_resume(void);
11524    
# Line 11541  Acked-by: jbeulich@novell.com Line 11528  Acked-by: jbeulich@novell.com
11528   void xencons_tx(void);   void xencons_tx(void);
11529    
11530   int xencons_ring_init(void);   int xencons_ring_init(void);
11531  --- a/mm/mprotect.c  diff -Naur linux-2.6.25/mm/mprotect.c linux-2.6.25-xen/mm/mprotect.c
11532  +++ b/mm/mprotect.c  --- linux-2.6.25/mm/mprotect.c 2008-05-23 20:51:15.000000000 +0200
11533    +++ linux-2.6.25-xen/mm/mprotect.c 2008-05-23 20:39:03.000000000 +0200
11534  @@ -86,7 +86,7 @@  @@ -86,7 +86,7 @@
11535   next = pmd_addr_end(addr, end);   next = pmd_addr_end(addr, end);
11536   if (pmd_none_or_clear_bad(pmd))   if (pmd_none_or_clear_bad(pmd))
# Line 11552  Acked-by: jbeulich@novell.com Line 11540  Acked-by: jbeulich@novell.com
11540   continue;   continue;
11541   change_pte_range(mm, pmd, addr, next, newprot, dirty_accountable);   change_pte_range(mm, pmd, addr, next, newprot, dirty_accountable);
11542   } while (pmd++, addr = next, addr != end);   } while (pmd++, addr = next, addr != end);
11543  --- a/net/core/dev.c  diff -Naur linux-2.6.25/net/core/dev.c linux-2.6.25-xen/net/core/dev.c
11544  +++ b/net/core/dev.c  --- linux-2.6.25/net/core/dev.c 2008-05-23 20:51:15.000000000 +0200
11545  @@ -1611,15 +1611,14 @@  +++ linux-2.6.25-xen/net/core/dev.c 2008-05-23 20:39:03.000000000 +0200
11546    @@ -1607,15 +1607,14 @@
11547   }   }
11548   if ((skb->h.raw + skb->csum + 2) > skb->tail)   if ((skb->h.raw + skb->csum + 2) > skb->tail)
11549   goto out;   goto out;
# Line 11572  Acked-by: jbeulich@novell.com Line 11561  Acked-by: jbeulich@novell.com
11561   #endif   #endif
11562    
11563   /**   /**
11564  @@ -2115,7 +2114,7 @@  @@ -2111,7 +2110,7 @@
11565   case CHECKSUM_UNNECESSARY:   case CHECKSUM_UNNECESSARY:
11566   skb->proto_data_valid = 1;   skb->proto_data_valid = 1;
11567   break;   break;
# Line 11581  Acked-by: jbeulich@novell.com Line 11570  Acked-by: jbeulich@novell.com
11570   /* XXX Implement me. */   /* XXX Implement me. */
11571   default:   default:
11572   skb->proto_data_valid = 0;   skb->proto_data_valid = 0;
11573  @@ -4648,7 +4647,6 @@  @@ -4644,7 +4643,6 @@
11574   EXPORT_SYMBOL(net_enable_timestamp);   EXPORT_SYMBOL(net_enable_timestamp);
11575   EXPORT_SYMBOL(net_disable_timestamp);   EXPORT_SYMBOL(net_disable_timestamp);
11576   EXPORT_SYMBOL(dev_get_flags);   EXPORT_SYMBOL(dev_get_flags);

Legend:
Removed from v.610  
changed lines
  Added in v.611