Acked-by: jbeulich@novell.com
-Index: head-2008-12-01/arch/x86/Kconfig
-===================================================================
---- head-2008-12-01.orig/arch/x86/Kconfig 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/arch/x86/Kconfig 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/Kconfig 2009-02-05 10:22:38.000000000 +0100
++++ sle11-2009-05-14/arch/x86/Kconfig 2009-02-16 16:18:36.000000000 +0100
@@ -50,15 +50,16 @@ config GENERIC_CMOS_UPDATE
config CLOCKSOURCE_WATCHDOG
config LOCKDEP_SUPPORT
def_bool y
-@@ -208,12 +209,12 @@ config X86_TRAMPOLINE
+@@ -211,12 +212,12 @@ config X86_TRAMPOLINE
config X86_NO_TSS
bool
default y
config KTIME_SCALAR
-@@ -283,6 +284,7 @@ config X86_PC
+@@ -287,6 +288,7 @@ config X86_PC
config X86_XEN
bool "Xen-compatible"
select XEN
select X86_PAE
select X86_UP_APIC if !SMP && XEN_PRIVILEGED_GUEST
-@@ -361,6 +363,7 @@ endif
+@@ -365,6 +367,7 @@ endif
config X86_64_XEN
bool "Enable Xen compatible kernel"
select XEN
select SWIOTLB
help
-@@ -413,7 +416,7 @@ config SCHED_NO_NO_OMIT_FRAME_POINTER
+@@ -417,7 +420,7 @@ config SCHED_NO_NO_OMIT_FRAME_POINTER
menuconfig PARAVIRT_GUEST
bool "Paravirtualized guest support"
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.
-@@ -507,7 +510,7 @@ source "arch/x86/Kconfig.cpu"
+@@ -511,7 +514,7 @@ source "arch/x86/Kconfig.cpu"
config HPET_TIMER
def_bool X86_64
prompt "HPET Timer Support" if X86_32
help
Use the IA-PC HPET (High Precision Event Timer) to manage
time in preference to the PIT and RTC, if a HPET is
-@@ -827,7 +830,7 @@ config I8K
+@@ -831,7 +834,7 @@ config I8K
config X86_REBOOTFIXUPS
def_bool n
prompt "Enable X86 board specific fixups for reboot"
---help---
This enables chipset and/or board specific fixups to be done
in order to get reboot to work correctly. This is only needed on
-@@ -1160,7 +1163,7 @@ config X86_RESERVE_LOW_64K
+@@ -1164,7 +1167,7 @@ config X86_RESERVE_LOW_64K
config MATH_EMULATION
bool
prompt "Math emulation" if X86_32
---help---
Linux can emulate a math coprocessor (used for floating point
operations) if you don't have one. 486DX and Pentium processors have
-@@ -1268,7 +1271,7 @@ config X86_PAT
+@@ -1272,7 +1275,7 @@ config X86_PAT
config EFI
def_bool n
prompt "EFI runtime service support"
---help---
This enables the kernel to use EFI runtime services that are
available (such as the EFI variable services).
-@@ -1283,7 +1286,7 @@ config EFI
+@@ -1287,7 +1290,7 @@ config EFI
config IRQBALANCE
def_bool y
prompt "Enable kernel irq balancing"
help
The default yes will allow the kernel to do irq load balancing.
Saying no will keep the kernel from doing irq load balancing.
-@@ -1429,7 +1432,7 @@ config PHYSICAL_START
+@@ -1433,7 +1436,7 @@ config PHYSICAL_START
config RELOCATABLE
bool "Build a relocatable kernel (EXPERIMENTAL)"
help
This builds a kernel image that retains relocation information
so it can be loaded someplace besides the default 1MB.
-@@ -1499,6 +1502,7 @@ endmenu
+@@ -1503,6 +1506,7 @@ endmenu
config ARCH_ENABLE_MEMORY_HOTPLUG
def_bool y
depends on X86_64 || (X86_32 && HIGHMEM)
config HAVE_ARCH_EARLY_PFN_TO_NID
def_bool X86_64
-@@ -1689,7 +1693,7 @@ choice
+@@ -1693,7 +1697,7 @@ choice
config PCI_GOBIOS
bool "BIOS"
config PCI_GOMMCONFIG
bool "MMConfig"
-@@ -1740,7 +1744,7 @@ config PCI_MMCONFIG
+@@ -1744,7 +1748,7 @@ config PCI_MMCONFIG
config XEN_PCIDEV_FRONTEND
bool "Xen PCI Frontend" if X86_64
select HOTPLUG
default y
help
-@@ -1757,6 +1761,7 @@ config XEN_PCIDEV_FE_DEBUG
+@@ -1761,6 +1765,7 @@ config XEN_PCIDEV_FE_DEBUG
config DMAR
bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
depends on X86_64 && PCI_MSI && ACPI && EXPERIMENTAL
help
DMA remapping (DMAR) devices support enables independent address
translations for Direct Memory Access (DMA) from devices.
-Index: head-2008-12-01/arch/x86/Makefile
-===================================================================
---- head-2008-12-01.orig/arch/x86/Makefile 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/Makefile 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/Makefile 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/Makefile 2009-02-16 16:18:36.000000000 +0100
@@ -191,8 +191,8 @@ PHONY += zImage bzImage vmlinuz compress
zdisk bzdisk fdimage fdimage144 fdimage288 isoimage install
else
# Default kernel to build
all: bzImage
-Index: head-2008-12-01/arch/x86/ia32/ia32entry-xen.S
-===================================================================
---- head-2008-12-01.orig/arch/x86/ia32/ia32entry-xen.S 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/ia32/ia32entry-xen.S 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/ia32/ia32entry-xen.S 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/ia32/ia32entry-xen.S 2009-02-16 16:18:36.000000000 +0100
@@ -125,20 +125,16 @@ sysenter_do_call:
jmp int_ret_from_sys_call
jmp cstar_do_call
END(ia32_cstar_target)
-Index: head-2008-12-01/arch/x86/kernel/Makefile
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/Makefile 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/Makefile 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/Makefile 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/Makefile 2009-02-16 16:18:36.000000000 +0100
@@ -127,4 +127,4 @@ endif
disabled-obj-$(CONFIG_XEN) := early-quirks.o hpet.o i8253.o i8259_$(BITS).o reboot.o \
smpboot_$(BITS).o tsc_$(BITS).o tsc_sync.o
disabled-obj-$(CONFIG_XEN_UNPRIVILEGED_GUEST) += mpparse_64.o
-%/head_64.o %/head_64.s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) :=
+%/head_64.o %/head_64.s: asflags-$(CONFIG_XEN) :=
-Index: head-2008-12-01/arch/x86/kernel/acpi/sleep_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/acpi/sleep_32-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/acpi/sleep_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/acpi/sleep_32-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/acpi/sleep_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -90,7 +90,7 @@ __setup("acpi_sleep=", acpi_sleep_setup)
/* Ouch, we want to delete this. We already have better version in userspace, in
{
acpi_realmode_flags |= 2;
return 0;
-Index: head-2008-12-01/arch/x86/kernel/acpi/sleep_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/acpi/sleep_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/acpi/sleep_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/acpi/sleep_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/acpi/sleep_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -123,6 +123,3 @@ static int __init acpi_sleep_setup(char
__setup("acpi_sleep=", acpi_sleep_setup);
#endif /* CONFIG_ACPI_PV_SLEEP */
-void acpi_pci_link_exit(void)
-{
-}
-Index: head-2008-12-01/arch/x86/kernel/apic_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/apic_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/apic_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/apic_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/apic_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -63,22 +63,38 @@ int setup_profiling_timer(unsigned int m
void smp_local_timer_interrupt(void)
irq_exit();
}
-Index: head-2008-12-01/arch/x86/kernel/cpu/common-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/cpu/common-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/cpu/common-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/cpu/common-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/cpu/common-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -214,7 +214,7 @@ static void __cpuinit get_cpu_vendor(str
static int __init x86_fxsr_setup(char * s)
disable_x86_fxsr = 1;
/*
-Index: head-2008-12-01/arch/x86/kernel/e820_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/e820_32-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/e820_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/e820_32-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/e820_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -52,6 +52,13 @@ struct resource code_resource = {
.flags = IORESOURCE_BUSY | IORESOURCE_MEM
};
* memory space.
*/
last = 0x100000000ull;
-Index: head-2008-12-01/arch/x86/kernel/e820_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/e820_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/e820_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/e820_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/e820_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -24,7 +24,7 @@
#include <asm/page.h>
#include <asm/e820.h>
+ max_pfn << PAGE_SHIFT) - *addr;
+ return i + 1;
+}
-Index: head-2008-12-01/arch/x86/kernel/early_printk-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/early_printk-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/early_printk-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/early_printk-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/early_printk-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -6,14 +6,9 @@
#include <asm/io.h>
#include <asm/processor.h>
#endif
early_console = &early_vga_console;
} else if (!strncmp(buf, "simnow", 6)) {
-Index: head-2008-12-01/arch/x86/kernel/entry_32-xen.S
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/entry_32-xen.S 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/entry_32-xen.S 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/entry_32-xen.S 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/entry_32-xen.S 2009-05-14 11:18:18.000000000 +0200
@@ -254,6 +254,7 @@ check_userspace:
jb resume_kernel # not returning to v8086 or userspace
DISABLE_INTERRUPTS(CLBR_ANY) # make sure we don't miss an interrupt
# setting need_resched or sigpending
# between sampling and the iret
-@@ -1264,6 +1268,6 @@ ENTRY(kernel_thread_helper)
+@@ -1268,6 +1272,6 @@ ENTRY(kernel_thread_helper)
ENDPROC(kernel_thread_helper)
.section .rodata,"a"
+#include "syscall_table_32.S"
syscall_table_size=(.-sys_call_table)
-Index: head-2008-12-01/arch/x86/kernel/entry_64-xen.S
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/entry_64-xen.S 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/entry_64-xen.S 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/entry_64-xen.S 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/entry_64-xen.S 2009-02-16 16:18:36.000000000 +0100
@@ -57,7 +57,7 @@
#include <xen/interface/arch-x86_64.h>
#include <xen/interface/features.h>
call do_exit
CFI_ENDPROC
ENDPROC(child_rip)
-Index: head-2008-12-01/arch/x86/kernel/genapic_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/genapic_64-xen.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/genapic_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/genapic_64-xen.c 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/genapic_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -24,12 +24,21 @@
#include <acpi/acpi_bus.h>
#endif
#ifndef CONFIG_XEN
struct genapic __read_mostly *genapic = &apic_flat;
-Index: head-2008-12-01/arch/x86/kernel/head64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/head64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/head64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/head64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/head64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,5 +1,5 @@
/*
- * linux/arch/x86_64/kernel/head64.c -- prepare to run common code
#endif
early_printk("Kernel alive\n");
-Index: head-2008-12-01/arch/x86/kernel/init_task-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/init_task-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/init_task-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/init_task-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/init_task-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -14,11 +14,11 @@ static struct fs_struct init_fs = INIT_F
static struct files_struct init_files = INIT_FILES;
static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
DEFINE_PER_CPU_SHARED_ALIGNED(struct tss_struct, init_tss) = INIT_TSS;
#endif
-Index: head-2008-12-01/arch/x86/kernel/io_apic_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/io_apic_32-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/io_apic_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/io_apic_32-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/io_apic_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -427,7 +427,7 @@ static struct irq_cpu_info {
#define IRQ_ALLOWED(cpu, allowed_mask) cpu_isset(cpu, allowed_mask)
#endif /* CONFIG_ACPI */
static int __init parse_disable_timer_pin_1(char *arg)
-Index: head-2008-12-01/arch/x86/kernel/io_apic_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/io_apic_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/io_apic_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/io_apic_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/io_apic_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -31,6 +31,7 @@
#include <linux/sysdev.h>
#include <linux/msi.h>
#endif
#endif /* !CONFIG_XEN */
+
-Index: head-2008-12-01/arch/x86/kernel/ioport_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/ioport_32-xen.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/ioport_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/ioport_32-xen.c 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/ioport_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,6 +1,4 @@
/*
- * linux/arch/i386/kernel/ioport.c
* This contains the io-permission bitmap code - written by obz, with changes
* by Linus.
*/
-Index: head-2008-12-01/arch/x86/kernel/ioport_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/ioport_64-xen.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/ioport_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/ioport_64-xen.c 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/ioport_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,6 +1,4 @@
/*
- * linux/arch/x86_64/kernel/ioport.c
* This contains the io-permission bitmap code - written by obz, with changes
* by Linus.
*/
-Index: head-2008-12-01/arch/x86/kernel/irq_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/irq_32-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/irq_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/irq_32-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/irq_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,6 +1,4 @@
/*
- * linux/arch/i386/kernel/irq.c
#endif
seq_printf(p, "ERR: %10u\n", atomic_read(&irq_err_count));
#if defined(CONFIG_X86_IO_APIC)
-Index: head-2008-12-01/arch/x86/kernel/irq_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/irq_64-xen.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/irq_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/irq_64-xen.c 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/irq_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,6 +1,4 @@
/*
- * linux/arch/x86_64/kernel/irq.c
#ifndef CONFIG_X86_LOCAL_APIC
/*
-Index: head-2008-12-01/arch/x86/kernel/ldt_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/ldt_32-xen.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/ldt_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/ldt_32-xen.c 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/ldt_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,6 +1,4 @@
/*
- * linux/arch/i386/kernel/ldt.c
out:
return error;
}
-Index: head-2008-12-01/arch/x86/kernel/ldt_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/ldt_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/ldt_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/ldt_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/ldt_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,6 +1,4 @@
/*
- * linux/arch/x86_64/kernel/ldt.c
out:
return error;
}
-Index: head-2008-12-01/arch/x86/kernel/mpparse_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/mpparse_32-xen.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/mpparse_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/mpparse_32-xen.c 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/mpparse_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1023,7 +1023,7 @@ void __init mp_config_acpi_legacy_irqs (
/*
*/
for (i = 0; i < 16; i++) {
int idx;
-Index: head-2008-12-01/arch/x86/kernel/mpparse_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/mpparse_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/mpparse_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/mpparse_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/mpparse_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -57,6 +57,8 @@ unsigned long mp_lapic_addr = 0;
/* Processor that is doing the boot up */
{
num_processors++;
}
-Index: head-2008-12-01/arch/x86/kernel/pci-dma-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/pci-dma-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/pci-dma-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/pci-dma-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/pci-dma-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -13,14 +13,13 @@
#include <linux/pci.h>
#include <linux/module.h>
if (mem && vaddr >= mem->virt_base && vaddr < (mem->virt_base + (mem->size << PAGE_SHIFT))) {
int page = (vaddr - mem->virt_base) >> PAGE_SHIFT;
-Index: head-2008-12-01/arch/x86/kernel/process_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/process_32-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/process_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/process_32-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/process_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,6 +1,4 @@
/*
- * linux/arch/i386/kernel/process.c
show_trace(NULL, regs, ®s->esp);
}
-Index: head-2008-12-01/arch/x86/kernel/process_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/process_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/process_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/process_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/process_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,6 +1,4 @@
/*
- * linux/arch/x86-64/kernel/process.c
__switch_to(struct task_struct *prev_p, struct task_struct *next_p)
{
struct thread_struct *prev = &prev_p->thread,
-Index: head-2008-12-01/arch/x86/kernel/quirks-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/quirks-xen.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/quirks-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/quirks-xen.c 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/quirks-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -41,7 +41,353 @@ static void __devinit quirk_intel_irqbal
if (!(config & 0x2))
pci_write_config_byte(dev, 0xf4, config);
+}
+
#endif
-Index: head-2008-12-01/arch/x86/kernel/setup64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/setup64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/setup64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/setup64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/setup64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -15,7 +15,6 @@
#include <linux/bootmem.h>
#include <linux/bitops.h>
/*
* cpu_init() initializes state that is per-CPU. Some data is already
* initialized (naturally) in the bootstrap process, such as the GDT
-Index: head-2008-12-01/arch/x86/kernel/setup_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/setup_32-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/setup_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/setup_32-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/setup_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,6 +1,4 @@
/*
- * linux/arch/i386/kernel/setup.c
#endif
#ifdef CONFIG_ACPI
-Index: head-2008-12-01/arch/x86/kernel/setup_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/setup_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/setup_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/setup_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/setup_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,10 +1,5 @@
/*
- * linux/arch/x86-64/kernel/setup.c
return c_start(m, pos);
}
-Index: head-2008-12-01/arch/x86/kernel/smp_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/smp_32-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/smp_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/smp_32-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/smp_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -72,7 +72,7 @@
*
* B stepping CPUs may hang. There are hardware work arounds
irq_exit();
if (wait) {
-Index: head-2008-12-01/arch/x86/kernel/smp_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/smp_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/smp_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/smp_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/smp_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -167,6 +167,7 @@ asmlinkage void smp_invalidate_interrupt
out:
ack_APIC_irq();
irq_exit();
if (wait) {
mb();
-Index: head-2008-12-01/arch/x86/kernel/time_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/time_32-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/time_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/time_32-xen.c 2009-03-24 10:12:09.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/time_32-xen.c 2009-03-24 10:12:35.000000000 +0100
@@ -1,6 +1,4 @@
/*
- * linux/arch/i386/kernel/time.c
#include <xen/interface/vcpu.h>
#include <asm/i8253.h>
-@@ -546,6 +545,13 @@ irqreturn_t timer_interrupt(int irq, voi
+@@ -544,6 +543,13 @@ irqreturn_t timer_interrupt(int irq, voi
struct shadow_time_info *shadow = &per_cpu(shadow_time, cpu);
struct vcpu_runstate_info runstate;
/*
* Here we are in the timer irq handler. We just have irqs locally
* disabled but we don't know if the timer_bh is running on the other
-@@ -996,7 +1002,7 @@ static int time_cpufreq_notifier(struct
+@@ -994,7 +1000,7 @@ static int time_cpufreq_notifier(struct
struct cpufreq_freqs *freq = data;
struct xen_platform_op op;
return 0;
if (val == CPUFREQ_PRECHANGE)
-@@ -1034,30 +1040,33 @@ core_initcall(cpufreq_time_setup);
+@@ -1032,30 +1038,33 @@ core_initcall(cpufreq_time_setup);
*/
static ctl_table xen_subtable[] = {
{
};
static int __init xen_sysctl_init(void)
{
-Index: head-2008-12-01/arch/x86/kernel/traps_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/traps_32-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/traps_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/traps_32-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/traps_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,6 +1,4 @@
/*
- * linux/arch/i386/traps.c
/*
* NB. All these are "trap gates" (i.e. events_mask isn't set) except
-Index: head-2008-12-01/arch/x86/kernel/traps_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/traps_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/traps_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/traps_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/traps_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,6 +1,4 @@
/*
- * linux/arch/x86-64/traps.c
get_debugreg(condition, 6);
if (notify_die(DIE_DEBUG, "debug", regs, condition, error_code,
-Index: head-2008-12-01/arch/x86/kernel/vsyscall_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/kernel/vsyscall_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/kernel/vsyscall_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/kernel/vsyscall_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/vsyscall_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -1,6 +1,4 @@
/*
- * linux/arch/x86_64/kernel/vsyscall.c
write_rdtscp_aux((node << 12) | cpu);
/* Store cpu number in limit so that it can be loaded quickly
-Index: head-2008-12-01/arch/x86/mm/fault_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/mm/fault_32-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/mm/fault_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/mm/fault_32-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/mm/fault_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -25,6 +25,7 @@
#include <linux/kprobes.h>
#include <linux/uaccess.h>
goto no_context;
do_sigbus:
-Index: head-2008-12-01/arch/x86/mm/fault_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/mm/fault_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/mm/fault_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/mm/fault_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/mm/fault_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -25,6 +25,7 @@
#include <linux/kprobes.h>
#include <linux/uaccess.h>
- return 1;
-}
-__setup("pagefaulttrace", enable_pagefaulttrace);
-Index: head-2008-12-01/arch/x86/mm/init_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/mm/init_32-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/mm/init_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/mm/hypervisor.c 2009-03-04 11:28:34.000000000 +0100
++++ sle11-2009-05-14/arch/x86/mm/hypervisor.c 2009-05-06 10:23:43.000000000 +0200
+@@ -496,6 +496,9 @@ int xen_create_contiguous_region(
+ unsigned long frame, flags;
+ unsigned int i;
+ int rc, success;
++#ifdef CONFIG_64BIT
++ pte_t *ptep = NULL;
++#endif
+ struct xen_memory_exchange exchange = {
+ .in = {
+ .nr_extents = 1UL << order,
+@@ -521,6 +524,27 @@ int xen_create_contiguous_region(
+ if (unlikely(order > MAX_CONTIG_ORDER))
+ return -ENOMEM;
+
++#ifdef CONFIG_64BIT
++ if (unlikely(vstart > PAGE_OFFSET + MAXMEM)) {
++ unsigned int level;
++
++ if (vstart < __START_KERNEL_map
++ || vstart + (PAGE_SIZE << order) > (unsigned long)_end)
++ return -EINVAL;
++ ptep = lookup_address((unsigned long)__va(__pa(vstart)),
++ &level);
++ if (ptep && pte_none(*ptep))
++ ptep = NULL;
++ if (vstart < __START_KERNEL && ptep)
++ return -EINVAL;
++ if (order > MAX_CONTIG_ORDER - 1)
++ return -ENOMEM;
++ }
++#else
++ if (unlikely(vstart + (PAGE_SIZE << order) > (unsigned long)high_memory))
++ return -EINVAL;
++#endif
++
+ set_xen_guest_handle(exchange.in.extent_start, in_frames);
+ set_xen_guest_handle(exchange.out.extent_start, &out_frame);
+
+@@ -533,9 +557,19 @@ int xen_create_contiguous_region(
+ in_frames[i] = pfn_to_mfn((__pa(vstart) >> PAGE_SHIFT) + i);
+ MULTI_update_va_mapping(cr_mcl + i, vstart + (i*PAGE_SIZE),
+ __pte_ma(0), 0);
++#ifdef CONFIG_64BIT
++ if (ptep)
++ MULTI_update_va_mapping(cr_mcl + i + (1U << order),
++ (unsigned long)__va(__pa(vstart)) + (i*PAGE_SIZE),
++ __pte_ma(0), 0);
++#endif
+ set_phys_to_machine((__pa(vstart)>>PAGE_SHIFT)+i,
+ INVALID_P2M_ENTRY);
+ }
++#ifdef CONFIG_64BIT
++ if (ptep)
++ i += i;
++#endif
+ if (HYPERVISOR_multicall_check(cr_mcl, i, NULL))
+ BUG();
+
+@@ -569,9 +603,18 @@ int xen_create_contiguous_region(
+ frame = success ? (out_frame + i) : in_frames[i];
+ MULTI_update_va_mapping(cr_mcl + i, vstart + (i*PAGE_SIZE),
+ pfn_pte_ma(frame, PAGE_KERNEL), 0);
++#ifdef CONFIG_64BIT
++ if (ptep)
++ MULTI_update_va_mapping(cr_mcl + i + (1U << order),
++ (unsigned long)__va(__pa(vstart)) + (i*PAGE_SIZE),
++ pfn_pte_ma(frame, PAGE_KERNEL_RO), 0);
++#endif
+ set_phys_to_machine((__pa(vstart)>>PAGE_SHIFT)+i, frame);
+ }
+-
++#ifdef CONFIG_64BIT
++ if (ptep)
++ i += i;
++#endif
+ cr_mcl[i - 1].args[MULTI_UVMFLAGS_INDEX] = order
+ ? UVMF_TLB_FLUSH|UVMF_ALL
+ : UVMF_INVLPG|UVMF_ALL;
+--- sle11-2009-05-14.orig/arch/x86/mm/init_32-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/mm/init_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -94,7 +94,14 @@ static pte_t * __init one_page_table_ini
#else
if (!(__pmd_val(*pmd) & _PAGE_PRESENT)) {
}
/*
-Index: head-2008-12-01/arch/x86/mm/init_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/mm/init_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/mm/init_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/mm/init_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/mm/init_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -767,7 +767,7 @@ static void xen_finish_init_mapping(void
/* Setup the direct mapping of the physical memory at PAGE_OFFSET.
This runs before bootmem is initialized and gets pages directly from the
#if !defined(CONFIG_ACPI_NUMA) && defined(CONFIG_NUMA)
int memory_add_physaddr_to_nid(u64 start)
{
-@@ -1175,14 +1169,6 @@ int in_gate_area_no_task(unsigned long a
+@@ -1173,14 +1167,6 @@ int in_gate_area_no_task(unsigned long a
return (addr >= VSYSCALL_START) && (addr < VSYSCALL_END);
}
const char *arch_vma_name(struct vm_area_struct *vma)
{
if (vma->vm_mm && vma->vm_start == (long)vma->vm_mm->context.vdso)
-@@ -1191,3 +1177,48 @@ const char *arch_vma_name(struct vm_area
+@@ -1189,3 +1175,48 @@ const char *arch_vma_name(struct vm_area
return "[vsyscall]";
return NULL;
}
+ return 0;
+}
+#endif
-Index: head-2008-12-01/arch/x86/mm/pageattr_64-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/mm/pageattr_64-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/mm/pageattr_64-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/mm/pageattr_64-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/mm/pageattr_64-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -17,9 +17,6 @@
#include <asm/pgalloc.h>
#include <asm/mmu_context.h>
flush_map(&l);
-Index: head-2008-12-01/arch/x86/mm/pgtable_32-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/mm/pgtable_32-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/mm/pgtable_32-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/mm/pgtable_32-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/mm/pgtable_32-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -6,6 +6,7 @@
#include <linux/kernel.h>
#include <linux/errno.h>
{
memset(pmd, 0, PTRS_PER_PMD*sizeof(pmd_t));
}
-Index: head-2008-12-01/arch/x86/pci/irq-xen.c
-===================================================================
---- head-2008-12-01.orig/arch/x86/pci/irq-xen.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/arch/x86/pci/irq-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/arch/x86/pci/irq-xen.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/arch/x86/pci/irq-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -173,7 +173,7 @@ void eisa_set_level_irq(unsigned int irq
}
{
if (!acer_tm360_irqrouting) {
acer_tm360_irqrouting = 1;
-Index: head-2008-12-01/drivers/acpi/processor_idle.c
-===================================================================
---- head-2008-12-01.orig/drivers/acpi/processor_idle.c 2008-12-01 11:11:03.000000000 +0100
-+++ head-2008-12-01/drivers/acpi/processor_idle.c 2008-12-01 11:36:55.000000000 +0100
-@@ -1742,6 +1742,13 @@ int acpi_processor_cst_has_changed(struc
+--- sle11-2009-05-14.orig/drivers/acpi/processor_idle.c 2009-02-16 15:58:14.000000000 +0100
++++ sle11-2009-05-14/drivers/acpi/processor_idle.c 2009-02-16 16:18:36.000000000 +0100
+@@ -1743,6 +1743,13 @@ int acpi_processor_cst_has_changed(struc
if (!pr->flags.power_setup_done)
return -ENODEV;
cpuidle_pause_and_lock();
cpuidle_disable_device(&pr->power.dev);
acpi_processor_get_power_info(pr);
-Index: head-2008-12-01/drivers/cpuidle/Kconfig
-===================================================================
---- head-2008-12-01.orig/drivers/cpuidle/Kconfig 2008-12-01 10:53:14.000000000 +0100
-+++ head-2008-12-01/drivers/cpuidle/Kconfig 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/cpuidle/Kconfig 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/drivers/cpuidle/Kconfig 2009-02-16 16:18:36.000000000 +0100
@@ -1,6 +1,7 @@
config CPU_IDLE
default ACPI
help
CPU idle is a generic framework for supporting software-controlled
-Index: head-2008-12-01/drivers/pci/msi-xen.c
-===================================================================
---- head-2008-12-01.orig/drivers/pci/msi-xen.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/drivers/pci/msi-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/oprofile/cpu_buffer.c 2009-02-16 16:01:39.000000000 +0100
++++ sle11-2009-05-14/drivers/oprofile/cpu_buffer.c 2009-03-12 16:15:32.000000000 +0100
+@@ -308,6 +308,37 @@ void oprofile_add_trace(unsigned long pc
+ }
+
+ #ifdef CONFIG_XEN
++/*
++ * This is basically log_sample(b, ESCAPE_CODE, cpu_mode, CPU_TRACE_BEGIN),
++ * as was previously accessible through oprofile_add_pc().
++ */
++void oprofile_add_mode(int cpu_mode)
++{
++ struct oprofile_cpu_buffer *cpu_buf = &__get_cpu_var(cpu_buffer);
++ struct task_struct *task;
++
++ if (nr_available_slots(cpu_buf) < 3) {
++ cpu_buf->sample_lost_overflow++;
++ return;
++ }
++
++ task = current;
++
++ /* notice a switch from user->kernel or vice versa */
++ if (cpu_buf->last_cpu_mode != cpu_mode) {
++ cpu_buf->last_cpu_mode = cpu_mode;
++ add_code(cpu_buf, cpu_mode);
++ }
++
++ /* notice a task switch */
++ if (cpu_buf->last_task != task) {
++ cpu_buf->last_task = task;
++ add_code(cpu_buf, (unsigned long)task);
++ }
++
++ add_code(cpu_buf, CPU_TRACE_BEGIN);
++}
++
+ int oprofile_add_domain_switch(int32_t domain_id)
+ {
+ struct oprofile_cpu_buffer * cpu_buf = &cpu_buffer[smp_processor_id()];
+--- sle11-2009-05-14.orig/drivers/pci/msi-xen.c 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/drivers/pci/msi-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -264,6 +264,12 @@ static int msi_map_vector(struct pci_dev
return msi_map_pirq_to_vector(dev, -1, entry_nr, table_base);
}
#ifdef CONFIG_PM
static void __pci_restore_msi_state(struct pci_dev *dev)
{
-@@ -276,7 +282,7 @@ static void __pci_restore_msi_state(stru
- if (pirq < 0)
+@@ -272,7 +278,7 @@ static void __pci_restore_msi_state(stru
+ if (!dev->msi_enabled)
return;
- pci_intx(dev, 0); /* disable intx */
+ pci_intx_for_msi(dev, 0);
msi_set_enable(dev, 0);
- }
-@@ -313,7 +319,7 @@ static void __pci_restore_msix_state(str
- }
- spin_unlock_irqrestore(&msi_dev_entry->pirq_list_lock, flags);
+ pirq = msi_map_pirq_to_vector(dev, dev->irq, 0, 0);
+@@ -295,7 +301,7 @@ static void __pci_restore_msix_state(str
+ if (!dev->msix_enabled)
+ return;
- pci_intx(dev, 0); /* disable intx */
+ pci_intx_for_msi(dev, 0);
msix_set_enable(dev, 0);
- }
+ msi_dev_entry = get_msi_dev_pirq_list(dev);
@@ -348,7 +354,7 @@ static int msi_capability_init(struct pc
return -EBUSY;
msix_set_enable(dev, 1);
dev->msix_enabled = 1;
-@@ -562,7 +568,7 @@ void pci_disable_msi(struct pci_dev* dev
+@@ -557,7 +563,7 @@ void pci_disable_msi(struct pci_dev* dev
/* Disable MSI mode */
msi_set_enable(dev, 0);
dev->msi_enabled = 0;
}
EXPORT_SYMBOL(pci_disable_msi);
-@@ -701,7 +707,7 @@ void pci_disable_msix(struct pci_dev* de
+@@ -696,7 +702,7 @@ void pci_disable_msix(struct pci_dev* de
/* Disable MSI mode */
msix_set_enable(dev, 0);
dev->msix_enabled = 0;
}
EXPORT_SYMBOL(pci_disable_msix);
-Index: head-2008-12-01/drivers/xen/blkback/blkback.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/blkback/blkback.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/drivers/xen/blkback/blkback.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/blkback/blkback.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/blkback/blkback.c 2009-02-16 16:18:36.000000000 +0100
@@ -269,13 +269,10 @@ static void __end_block_io_op(pending_re
}
}
}
-Index: head-2008-12-01/drivers/xen/blkfront/blkfront.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/blkfront/blkfront.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/drivers/xen/blkfront/blkfront.c 2008-12-01 11:36:55.000000000 +0100
-@@ -587,9 +587,8 @@ static int blkif_queue_request(struct re
- struct blkfront_info *info = req->rq_disk->private_data;
- unsigned long buffer_mfn;
- blkif_request_t *ring_req;
-- struct bio *bio;
- struct bio_vec *bvec;
-- int idx;
-+ struct req_iterator iter;
- unsigned long id;
- unsigned int fsect, lsect;
- int ref;
-@@ -623,34 +622,32 @@ static int blkif_queue_request(struct re
- ring_req->operation = BLKIF_OP_WRITE_BARRIER;
-
- ring_req->nr_segments = 0;
-- rq_for_each_bio (bio, req) {
-- bio_for_each_segment (bvec, bio, idx) {
-- BUG_ON(ring_req->nr_segments
-- == BLKIF_MAX_SEGMENTS_PER_REQUEST);
-- buffer_mfn = page_to_phys(bvec->bv_page) >> PAGE_SHIFT;
-- fsect = bvec->bv_offset >> 9;
-- lsect = fsect + (bvec->bv_len >> 9) - 1;
-- /* install a grant reference. */
-- ref = gnttab_claim_grant_reference(&gref_head);
-- BUG_ON(ref == -ENOSPC);
-+ rq_for_each_segment(bvec, req, iter) {
-+ BUG_ON(ring_req->nr_segments
-+ == BLKIF_MAX_SEGMENTS_PER_REQUEST);
-+ buffer_mfn = page_to_phys(bvec->bv_page) >> PAGE_SHIFT;
-+ fsect = bvec->bv_offset >> 9;
-+ lsect = fsect + (bvec->bv_len >> 9) - 1;
-+ /* install a grant reference. */
-+ ref = gnttab_claim_grant_reference(&gref_head);
-+ BUG_ON(ref == -ENOSPC);
-+
-+ gnttab_grant_foreign_access_ref(
-+ ref,
-+ info->xbdev->otherend_id,
-+ buffer_mfn,
-+ rq_data_dir(req) ? GTF_readonly : 0 );
-+
-+ info->shadow[id].frame[ring_req->nr_segments] =
-+ mfn_to_pfn(buffer_mfn);
-+
-+ ring_req->seg[ring_req->nr_segments] =
-+ (struct blkif_request_segment) {
-+ .gref = ref,
-+ .first_sect = fsect,
-+ .last_sect = lsect };
-
-- gnttab_grant_foreign_access_ref(
-- ref,
-- info->xbdev->otherend_id,
-- buffer_mfn,
-- rq_data_dir(req) ? GTF_readonly : 0 );
--
-- info->shadow[id].frame[ring_req->nr_segments] =
-- mfn_to_pfn(buffer_mfn);
--
-- ring_req->seg[ring_req->nr_segments] =
-- (struct blkif_request_segment) {
-- .gref = ref,
-- .first_sect = fsect,
-- .last_sect = lsect };
--
-- ring_req->nr_segments++;
-- }
-+ ring_req->nr_segments++;
- }
-
- info->ring.req_prod_pvt++;
-Index: head-2008-12-01/drivers/xen/core/machine_kexec.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/core/machine_kexec.c 2008-10-13 13:43:45.000000000 +0200
-+++ head-2008-12-01/drivers/xen/core/machine_kexec.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/blkfront/blkfront.c 2009-03-24 10:12:03.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/blkfront/blkfront.c 2009-02-16 16:18:36.000000000 +0100
+@@ -233,7 +233,7 @@ static int setup_blkring(struct xenbus_d
+ SHARED_RING_INIT(sring);
+ FRONT_RING_INIT(&info->ring, sring, PAGE_SIZE);
+
+- memset(info->sg, 0, sizeof(info->sg));
++ sg_init_table(info->sg, BLKIF_MAX_SEGMENTS_PER_REQUEST);
+
+ err = xenbus_grant_ring(dev, virt_to_mfn(info->ring.sring));
+ if (err < 0) {
+@@ -625,9 +625,8 @@ static int blkif_queue_request(struct re
+
+ ring_req->nr_segments = blk_rq_map_sg(req->q, req, info->sg);
+ BUG_ON(ring_req->nr_segments > BLKIF_MAX_SEGMENTS_PER_REQUEST);
+- for (i = 0; i < ring_req->nr_segments; ++i) {
+- sg = info->sg + i;
+- buffer_mfn = page_to_phys(sg->page) >> PAGE_SHIFT;
++ for_each_sg(info->sg, sg, ring_req->nr_segments, i) {
++ buffer_mfn = page_to_phys(sg_page(sg)) >> PAGE_SHIFT;
+ fsect = sg->offset >> 9;
+ lsect = fsect + (sg->length >> 9) - 1;
+ /* install a grant reference. */
+--- sle11-2009-05-14.orig/drivers/xen/core/firmware.c 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/drivers/xen/core/firmware.c 2009-03-25 18:10:23.000000000 +0100
+@@ -1,4 +1,5 @@
+ #include <linux/kernel.h>
++#include <linux/string.h>
+ #include <linux/errno.h>
+ #include <linux/init.h>
+ #include <linux/edd.h>
+--- sle11-2009-05-14.orig/drivers/xen/core/machine_kexec.c 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/drivers/xen/core/machine_kexec.c 2009-02-17 11:46:41.000000000 +0100
@@ -29,6 +29,10 @@ void __init xen_machine_kexec_setup_reso
int k = 0;
int rc;
if (!is_initial_xendomain())
return;
-Index: head-2008-12-01/drivers/xen/core/smpboot.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/core/smpboot.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/drivers/xen/core/smpboot.c 2008-12-01 11:36:55.000000000 +0100
+@@ -130,6 +134,13 @@ void __init xen_machine_kexec_setup_reso
+ xen_max_nr_phys_cpus))
+ goto err;
+
++#ifdef CONFIG_X86
++ if (xen_create_contiguous_region((unsigned long)&vmcoreinfo_note,
++ get_order(sizeof(vmcoreinfo_note)),
++ BITS_PER_LONG))
++ goto err;
++#endif
++
+ return;
+
+ err:
+@@ -205,6 +216,13 @@ NORET_TYPE void machine_kexec(struct kim
+ panic("KEXEC_CMD_kexec hypercall should not return\n");
+ }
+
++#ifdef CONFIG_X86
++unsigned long paddr_vmcoreinfo_note(void)
++{
++ return virt_to_machine(&vmcoreinfo_note);
++}
++#endif
++
+ void machine_shutdown(void)
+ {
+ /* do nothing */
+--- sle11-2009-05-14.orig/drivers/xen/core/smpboot.c 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/core/smpboot.c 2009-02-16 16:18:36.000000000 +0100
@@ -45,8 +45,8 @@ cpumask_t cpu_possible_map;
EXPORT_SYMBOL(cpu_possible_map);
cpumask_t cpu_initialized_map;
+DEFINE_PER_CPU(struct cpuinfo_x86, cpu_info);
+EXPORT_PER_CPU_SYMBOL(cpu_info);
- #ifdef CONFIG_HOTPLUG_CPU
- DEFINE_PER_CPU(int, cpu_state) = { 0 };
-@@ -59,13 +59,13 @@ static char callfunc_name[NR_CPUS][15];
+ static DEFINE_PER_CPU(int, resched_irq);
+ static DEFINE_PER_CPU(int, callfunc_irq);
+@@ -55,13 +55,13 @@ static char callfunc_name[NR_CPUS][15];
u8 cpu_2_logical_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID };
#endif
void __init prefill_possible_map(void)
-@@ -90,25 +90,25 @@ void __init smp_alloc_memory(void)
+@@ -86,25 +86,25 @@ void __init smp_alloc_memory(void)
static inline void
set_cpu_sibling_map(unsigned int cpu)
{
}
static int __cpuinit xen_smp_intr_init(unsigned int cpu)
-@@ -167,9 +167,9 @@ void __cpuinit cpu_bringup(void)
+@@ -163,9 +163,9 @@ void __cpuinit cpu_bringup(void)
{
cpu_init();
#ifdef __i386__
#endif
touch_softlockup_watchdog();
preempt_disable();
-@@ -270,16 +270,16 @@ void __init smp_prepare_cpus(unsigned in
+@@ -266,16 +266,16 @@ void __init smp_prepare_cpus(unsigned in
if (HYPERVISOR_vcpu_op(VCPUOP_get_physid, 0, &cpu_id) == 0)
apicid = xen_vcpu_physid_to_x86_apicid(cpu_id.phys_id);
boot_cpu_data.apicid = apicid;
}
set_cpu_sibling_map(0);
-@@ -324,11 +324,12 @@ void __init smp_prepare_cpus(unsigned in
+@@ -320,11 +320,12 @@ void __init smp_prepare_cpus(unsigned in
apicid = cpu;
if (HYPERVISOR_vcpu_op(VCPUOP_get_physid, cpu, &cpu_id) == 0)
apicid = xen_vcpu_physid_to_x86_apicid(cpu_id.phys_id);
#ifdef __x86_64__
cpu_pda(cpu)->pcurrent = idle;
-Index: head-2008-12-01/drivers/xen/netback/loopback.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/netback/loopback.c 2008-12-01 11:32:38.000000000 +0100
-+++ head-2008-12-01/drivers/xen/netback/loopback.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/netback/loopback.c 2008-12-15 11:26:44.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/netback/loopback.c 2009-02-16 16:18:36.000000000 +0100
@@ -285,9 +285,9 @@ static void __exit clean_loopback(int i)
char dev_name[IFNAMSIZ];
if (dev1 && dev2) {
unregister_netdev(dev2);
unregister_netdev(dev1);
-Index: head-2008-12-01/drivers/xen/netback/netback.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/netback/netback.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/drivers/xen/netback/netback.c 2008-12-01 11:36:55.000000000 +0100
-@@ -334,8 +334,8 @@ static void xen_network_done_notify(void
+--- sle11-2009-05-14.orig/drivers/xen/netback/netback.c 2008-12-23 09:33:22.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/netback/netback.c 2009-02-16 16:18:36.000000000 +0100
+@@ -350,8 +350,8 @@ static void xen_network_done_notify(void
{
static struct net_device *eth0_dev = NULL;
if (unlikely(eth0_dev == NULL))
}
/*
* Add following to poll() function in NAPI driver (Tigon3 is example):
-Index: head-2008-12-01/drivers/xen/netback/xenbus.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/netback/xenbus.c 2008-12-01 11:36:07.000000000 +0100
-+++ head-2008-12-01/drivers/xen/netback/xenbus.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/netback/xenbus.c 2009-03-04 11:25:55.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/netback/xenbus.c 2009-02-16 16:18:36.000000000 +0100
@@ -149,12 +149,10 @@ fail:
* and vif variables to the environment, for the benefit of the vif-* hotplug
* scripts.
return 0;
}
-Index: head-2008-12-01/drivers/xen/netfront/accel.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/netfront/accel.c 2008-08-07 12:44:36.000000000 +0200
-+++ head-2008-12-01/drivers/xen/netfront/accel.c 2008-12-01 11:36:55.000000000 +0100
-@@ -325,13 +325,13 @@ accelerator_set_vif_state_hooks(struct n
+--- sle11-2009-05-14.orig/drivers/xen/netfront/accel.c 2009-04-09 14:43:45.000000000 +0200
++++ sle11-2009-05-14/drivers/xen/netfront/accel.c 2009-03-30 16:39:19.000000000 +0200
+@@ -313,7 +313,7 @@ accelerator_set_vif_state_hooks(struct n
DPRINTK("%p\n",vif_state);
/* Make sure there are no data path operations going on */
+ napi_disable(&vif_state->np->napi);
netif_tx_lock_bh(vif_state->np->netdev);
- vif_state->hooks = vif_state->np->accelerator->hooks;
+ accelerator = vif_state->np->accelerator;
+@@ -322,7 +322,7 @@ accelerator_set_vif_state_hooks(struct n
+ spin_unlock_irqrestore(&accelerator->vif_states_lock, flags);
netif_tx_unlock_bh(vif_state->np->netdev);
- netif_poll_enable(vif_state->np->netdev);
}
-@@ -509,7 +509,7 @@ accelerator_remove_single_hook(struct ne
- struct netfront_accel_vif_state *vif_state)
- {
+@@ -496,7 +496,7 @@ accelerator_remove_single_hook(struct ne
+ unsigned long flags;
+
/* Make sure there are no data path operations going on */
- netif_poll_disable(vif_state->np->netdev);
+ napi_disable(&vif_state->np->napi);
netif_tx_lock_bh(vif_state->np->netdev);
- /*
-@@ -521,7 +521,7 @@ accelerator_remove_single_hook(struct ne
- vif_state->hooks = NULL;
-
+ spin_lock_irqsave(&accelerator->vif_states_lock, flags);
+@@ -512,7 +512,7 @@ accelerator_remove_single_hook(struct ne
+ spin_unlock_irqrestore(&accelerator->vif_states_lock, flags);
+
netif_tx_unlock_bh(vif_state->np->netdev);
- netif_poll_enable(vif_state->np->netdev);
+ napi_enable(&vif_state->np->napi);
}
-Index: head-2008-12-01/drivers/xen/netfront/netfront.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/netfront/netfront.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/drivers/xen/netfront/netfront.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/netfront/netfront.c 2009-03-30 16:36:30.000000000 +0200
++++ sle11-2009-05-14/drivers/xen/netfront/netfront.c 2009-03-30 16:39:44.000000000 +0200
@@ -626,6 +626,7 @@ static int network_open(struct net_devic
struct netfront_info *np = netdev_priv(dev);
SET_NETDEV_DEV(netdev, &dev->dev);
np->netdev = netdev;
-Index: head-2008-12-01/drivers/xen/netfront/netfront.h
-===================================================================
---- head-2008-12-01.orig/drivers/xen/netfront/netfront.h 2008-01-07 13:19:18.000000000 +0100
-+++ head-2008-12-01/drivers/xen/netfront/netfront.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/netfront/netfront.h 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/drivers/xen/netfront/netfront.h 2009-02-16 16:18:36.000000000 +0100
@@ -157,6 +157,8 @@ struct netfront_info {
spinlock_t tx_lock;
spinlock_t rx_lock;
unsigned int irq;
unsigned int copying_receiver;
unsigned int carrier;
-Index: head-2008-12-01/drivers/xen/pciback/Makefile
-===================================================================
---- head-2008-12-01.orig/drivers/xen/pciback/Makefile 2008-07-21 11:00:33.000000000 +0200
-+++ head-2008-12-01/drivers/xen/pciback/Makefile 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/pciback/Makefile 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/drivers/xen/pciback/Makefile 2009-02-16 16:18:36.000000000 +0100
@@ -12,6 +12,4 @@ pciback-$(CONFIG_XEN_PCIDEV_BACKEND_SLOT
pciback-$(CONFIG_XEN_PCIDEV_BACKEND_PASS) += passthrough.o
pciback-$(CONFIG_XEN_PCIDEV_BACKEND_CONTROLLER) += controller.o
-EXTRA_CFLAGS += -DDEBUG
-endif
+ccflags-$(CONFIG_XEN_PCIDEV_BE_DEBUG) += -DDEBUG
-Index: head-2008-12-01/drivers/xen/pcifront/Makefile
-===================================================================
---- head-2008-12-01.orig/drivers/xen/pcifront/Makefile 2007-06-12 13:13:45.000000000 +0200
-+++ head-2008-12-01/drivers/xen/pcifront/Makefile 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/pcifront/Makefile 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/drivers/xen/pcifront/Makefile 2009-02-16 16:18:36.000000000 +0100
@@ -2,6 +2,4 @@ obj-y += pcifront.o
pcifront-y := pci_op.o xenbus.o pci.o
-EXTRA_CFLAGS += -DDEBUG
-endif
+ccflags-$(CONFIG_XEN_PCIDEV_FE_DEBUG) += -DDEBUG
-Index: head-2008-12-01/drivers/xen/scsiback/emulate.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/scsiback/emulate.c 2008-08-07 12:44:36.000000000 +0200
-+++ head-2008-12-01/drivers/xen/scsiback/emulate.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/scsiback/emulate.c 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/drivers/xen/scsiback/emulate.c 2009-02-16 16:18:36.000000000 +0100
@@ -104,9 +104,10 @@ static void resp_not_supported_cmd(pendi
}
to += copy_size;
}
-Index: head-2008-12-01/drivers/xen/scsiback/scsiback.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/scsiback/scsiback.c 2008-12-01 11:32:38.000000000 +0100
-+++ head-2008-12-01/drivers/xen/scsiback/scsiback.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/scsiback/scsiback.c 2008-12-15 11:26:44.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/scsiback/scsiback.c 2009-02-16 16:18:36.000000000 +0100
@@ -247,6 +247,8 @@ static int scsiback_gnttab_data_map(vscs
write = (data_dir == DMA_TO_DEVICE);
}
return err;
-Index: head-2008-12-01/drivers/xen/scsifront/scsifront.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/scsifront/scsifront.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/drivers/xen/scsifront/scsifront.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/scsifront/scsifront.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/scsifront/scsifront.c 2009-02-16 16:18:36.000000000 +0100
@@ -246,11 +246,10 @@ static int map_data_for_request(struct v
{
grant_ref_t gref_head;
off = 0;
ref_cnt++;
}
-Index: head-2008-12-01/drivers/xen/sfc_netback/accel_fwd.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/sfc_netback/accel_fwd.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/drivers/xen/sfc_netback/accel_fwd.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/sfc_netback/accel_fwd.c 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/sfc_netback/accel_fwd.c 2009-02-16 16:18:36.000000000 +0100
@@ -181,10 +181,11 @@ int netback_accel_fwd_add(const __u8 *ma
unsigned long flags;
cuckoo_hash_mac_key key = cuckoo_mac_to_key(mac);
spin_lock_irqsave(&fwd_set->fwd_lock, flags);
/*
-Index: head-2008-12-01/drivers/xen/sfc_netback/accel_msg.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/sfc_netback/accel_msg.c 2008-02-20 09:32:49.000000000 +0100
-+++ head-2008-12-01/drivers/xen/sfc_netback/accel_msg.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/sfc_netback/accel_msg.c 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/drivers/xen/sfc_netback/accel_msg.c 2009-02-16 16:18:36.000000000 +0100
@@ -57,11 +57,11 @@ static void netback_accel_msg_tx_localma
{
unsigned long lock_state;
msg = net_accel_msg_start_send(bend->shared_page, &bend->to_domU,
&lock_state);
-Index: head-2008-12-01/drivers/xen/sfc_netfront/accel_msg.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/sfc_netfront/accel_msg.c 2008-12-01 11:29:05.000000000 +0100
-+++ head-2008-12-01/drivers/xen/sfc_netfront/accel_msg.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/sfc_netfront/accel_msg.c 2009-03-04 11:28:34.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/sfc_netfront/accel_msg.c 2009-02-16 16:18:36.000000000 +0100
@@ -41,11 +41,13 @@ static void vnic_start_interrupts(netfro
/* Prime our interrupt */
spin_lock_irqsave(&vnic->irq_enabled_lock, flags);
}
else {
spin_unlock_irqrestore(&vnic->irq_enabled_lock, flags);
-Index: head-2008-12-01/drivers/xen/sfc_netfront/accel_vi.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/sfc_netfront/accel_vi.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/drivers/xen/sfc_netfront/accel_vi.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/sfc_netfront/accel_vi.c 2009-03-30 16:36:26.000000000 +0200
++++ sle11-2009-05-14/drivers/xen/sfc_netfront/accel_vi.c 2009-03-30 16:39:38.000000000 +0200
@@ -641,8 +641,10 @@ netfront_accel_vi_tx_post(netfront_accel
(cuckoo_hash_key *)(&key), &value);
if (ip->protocol == IPPROTO_TCP) {
struct tcphdr *tcp = (struct tcphdr *)
-Index: head-2008-12-01/drivers/xen/sfc_netutil/accel_util.h
-===================================================================
---- head-2008-12-01.orig/drivers/xen/sfc_netutil/accel_util.h 2008-02-20 09:32:49.000000000 +0100
-+++ head-2008-12-01/drivers/xen/sfc_netutil/accel_util.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/sfc_netutil/accel_util.h 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/drivers/xen/sfc_netutil/accel_util.h 2009-02-16 16:18:36.000000000 +0100
@@ -63,9 +63,6 @@
DPRINTK("%s at %s:%d\n", #exp, __FILE__, __LINE__); \
} while(0)
#include <xen/xenbus.h>
/*! Map a set of pages from another domain
-Index: head-2008-12-01/drivers/xen/xenbus/xenbus_probe.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/xenbus/xenbus_probe.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/drivers/xen/xenbus/xenbus_probe.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/xenbus/xenbus_probe.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/xenbus/xenbus_probe.c 2009-02-16 16:18:36.000000000 +0100
@@ -174,11 +174,9 @@ static int read_backend_details(struct x
}
return 0;
}
-Index: head-2008-12-01/drivers/xen/xenbus/xenbus_probe_backend.c
-===================================================================
---- head-2008-12-01.orig/drivers/xen/xenbus/xenbus_probe_backend.c 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/drivers/xen/xenbus/xenbus_probe_backend.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/xenbus/xenbus_probe_backend.c 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/xenbus/xenbus_probe_backend.c 2009-02-16 16:18:36.000000000 +0100
@@ -60,8 +60,7 @@
#include <xen/platform-compat.h>
#endif
}
return 0;
-Index: head-2008-12-01/fs/xfs/linux-2.6/xfs_buf.c
-===================================================================
---- head-2008-12-01.orig/fs/xfs/linux-2.6/xfs_buf.c 2008-12-01 10:53:14.000000000 +0100
-+++ head-2008-12-01/fs/xfs/linux-2.6/xfs_buf.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/drivers/xen/xenoprof/xenoprofile.c 2009-03-04 11:25:55.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/xenoprof/xenoprofile.c 2009-03-11 15:39:38.000000000 +0100
+@@ -29,7 +29,6 @@
+ #include <xen/driver_util.h>
+ #include <xen/interface/xen.h>
+ #include <xen/interface/xenoprof.h>
+-#include "../../../drivers/oprofile/cpu_buffer.h"
+ #include "../../../drivers/oprofile/event_buffer.h"
+
+ #define MAX_XENOPROF_SAMPLES 16
+@@ -142,8 +141,7 @@ static void xenoprof_add_pc(xenoprof_buf
+ if (xenoprof_is_escape(buf, tail) &&
+ xenoprof_get_event(buf, tail) == XENOPROF_TRACE_BEGIN) {
+ tracing=1;
+- oprofile_add_pc(ESCAPE_CODE, buf->event_log[tail].mode,
+- CPU_TRACE_BEGIN);
++ oprofile_add_mode(buf->event_log[tail].mode);
+ if (!is_passive)
+ oprofile_samples++;
+ else
+--- sle11-2009-05-14.orig/fs/xfs/linux-2.6/xfs_buf.c 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/fs/xfs/linux-2.6/xfs_buf.c 2009-02-16 16:18:36.000000000 +0100
@@ -187,7 +187,7 @@ free_address(
{
a_list_t *aentry;
/*
* Xen needs to be able to make sure it can get an exclusive
* RO mapping of pages it wants to turn into a pagetable. If
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/agp.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/agp.h 2007-06-22 09:08:06.000000000 +0200
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/agp.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/agp.h 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/agp.h 2009-02-16 16:18:36.000000000 +0100
@@ -1,20 +1,22 @@
-#ifndef AGP_H
-#define AGP_H 1
#define flush_agp_cache() wbinvd()
/* Convert a physical address to an address suitable for the GART. */
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/desc.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/desc.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/desc.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "desc_32.h"
+#else
+# include "desc_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/desc_64.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/desc_64.h 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/desc_64.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/desc_64.h 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/desc_64.h 2009-02-16 16:18:36.000000000 +0100
@@ -34,6 +34,18 @@ static inline void clear_LDT(void)
put_cpu();
}
#endif
static inline void set_tssldt_descriptor(void *ptr, unsigned long tss, unsigned type,
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/dma-mapping.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/dma-mapping.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/dma-mapping.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "dma-mapping_32.h"
+#else
+# include "dma-mapping_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/dma-mapping_32.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/dma-mapping_32.h 2008-12-01 11:32:38.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/dma-mapping_32.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/dma-mapping_32.h 2008-12-15 11:26:44.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/dma-mapping_32.h 2009-02-16 16:18:36.000000000 +0100
@@ -7,9 +7,9 @@
*/
#include <asm/swiotlb.h>
static inline int
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/dma-mapping_64.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/dma-mapping_64.h 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/dma-mapping_64.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/dma-mapping_64.h 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/dma-mapping_64.h 2009-02-16 16:18:36.000000000 +0100
@@ -6,8 +6,7 @@
* documentation.
*/
-#include <asm-i386/mach-xen/asm/dma-mapping.h>
+#include "dma-mapping_32.h"
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/fixmap.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/fixmap.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/fixmap.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "fixmap_32.h"
+#else
+# include "fixmap_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/hypercall.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/hypercall.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/hypercall.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,404 @@
+/******************************************************************************
+ * hypercall.h
+}
+
+#endif /* __HYPERCALL_H__ */
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/hypercall_32.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/hypercall_32.h 2008-12-01 11:29:05.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/hypercall_32.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/hypercall_32.h 2009-03-04 11:28:34.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/hypercall_32.h 2009-02-16 16:18:36.000000000 +0100
@@ -1,191 +1,10 @@
-/******************************************************************************
- * hypercall.h
-
-
-#endif /* __HYPERCALL_H__ */
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/hypercall_64.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/hypercall_64.h 2008-12-01 11:29:05.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/hypercall_64.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/hypercall_64.h 2009-03-04 11:28:34.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/hypercall_64.h 2009-02-16 16:18:36.000000000 +0100
@@ -1,197 +1,10 @@
-/******************************************************************************
- * hypercall.h
-}
-
-#endif /* __HYPERCALL_H__ */
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/hypervisor.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/hypervisor.h 2008-12-01 11:36:07.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/hypervisor.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/hypervisor.h 2009-03-04 11:28:11.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/hypervisor.h 2009-02-16 16:18:36.000000000 +0100
@@ -194,7 +194,6 @@ static inline void xen_multicall_flush(b
extern char hypercall_page[PAGE_SIZE];
#else
#define is_running_on_xen() (!!hypercall_stubs)
#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/io.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/io.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/io.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "io_32.h"
+#else
+# include "io_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/io_32.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/io_32.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/io_32.h 2008-12-01 11:36:55.000000000 +0100
-@@ -212,17 +212,22 @@ static inline void writel(unsigned int b
-
- #define mmiowb()
-
--static inline void memset_io(volatile void __iomem *addr, unsigned char val, int count)
-+static inline void
-+memset_io(volatile void __iomem *addr, unsigned char val, int count)
- {
-- memset((void __force *) addr, val, count);
-+ memset((void __force *)addr, val, count);
- }
--static inline void memcpy_fromio(void *dst, const volatile void __iomem *src, int count)
-+
-+static inline void
-+memcpy_fromio(void *dst, const volatile void __iomem *src, int count)
- {
-- __memcpy(dst, (void __force *) src, count);
-+ __memcpy(dst, (const void __force *)src, count);
- }
--static inline void memcpy_toio(volatile void __iomem *dst, const void *src, int count)
-+
-+static inline void
-+memcpy_toio(volatile void __iomem *dst, const void *src, int count)
- {
-- __memcpy((void __force *) dst, src, count);
-+ __memcpy((void __force *)dst, src, count);
- }
-
- /*
-@@ -250,18 +255,9 @@ static inline void flush_write_buffers(v
- __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory");
- }
-
--#define dma_cache_inv(_start,_size) flush_write_buffers()
--#define dma_cache_wback(_start,_size) flush_write_buffers()
--#define dma_cache_wback_inv(_start,_size) flush_write_buffers()
--
- #else
-
--/* Nothing to do */
--
--#define dma_cache_inv(_start,_size) do { } while (0)
--#define dma_cache_wback(_start,_size) do { } while (0)
--#define dma_cache_wback_inv(_start,_size) do { } while (0)
--#define flush_write_buffers()
-+#define flush_write_buffers() do { } while (0)
-
- #endif
-
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/io_64.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/io_64.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/io_64.h 2008-12-01 11:36:55.000000000 +0100
-@@ -268,12 +268,6 @@ void memset_io(volatile void __iomem *a,
- */
- #define __ISA_IO_base ((char __iomem *)(fix_to_virt(FIX_ISAMAP_BEGIN)))
-
--/* Nothing to do */
--
--#define dma_cache_inv(_start,_size) do { } while (0)
--#define dma_cache_wback(_start,_size) do { } while (0)
--#define dma_cache_wback_inv(_start,_size) do { } while (0)
--
- #define flush_write_buffers()
-
- extern int iommu_bio_merge;
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/irqflags.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/irqflags.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/irqflags.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "irqflags_32.h"
+#else
+# include "irqflags_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/irqflags_32.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/irqflags_32.h 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/irqflags_32.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/irqflags_32.h 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/irqflags_32.h 2009-02-16 16:18:36.000000000 +0100
@@ -148,6 +148,23 @@ static inline int raw_irqs_disabled_flag
\
raw_irqs_disabled_flags(flags); \
+#endif
+
#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/irqflags_64.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/irqflags_64.h 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/irqflags_64.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/irqflags_64.h 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/irqflags_64.h 2009-02-16 16:18:36.000000000 +0100
@@ -116,6 +116,22 @@ static inline int raw_irqs_disabled_flag
})
#endif
#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/maddr.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/maddr.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/maddr.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "maddr_32.h"
+#else
+# include "maddr_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/mmu_context.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/mmu_context.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/mmu_context.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "mmu_context_32.h"
+#else
+# include "mmu_context_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/page.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/page.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/page.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,13 @@
+#ifdef __KERNEL__
+# ifdef CONFIG_X86_32
+# include "page_64.h"
+# endif
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/page_64.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/page_64.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/page_64.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/page_64.h 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/page_64.h 2009-02-16 16:18:36.000000000 +0100
@@ -207,6 +207,7 @@ static inline unsigned long __phys_addr(
VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
#include <asm-generic/memory_model.h>
#include <asm-generic/page.h>
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/pci.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/pci.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/pci.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,100 @@
+#ifndef __x86_PCI_H
+#define __x86_PCI_H
+
+
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/pci_32.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/pci_32.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/pci_32.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/pci_32.h 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/pci_32.h 2009-02-16 16:18:36.000000000 +0100
@@ -4,52 +4,10 @@
#ifdef __KERNEL__
-#include <asm-generic/pci.h>
#endif /* __i386_PCI_H */
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/pci_64.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/pci_64.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/pci_64.h 2008-12-01 11:36:55.000000000 +0100
-@@ -1,16 +1,9 @@
- #ifndef __x8664_PCI_H
- #define __x8664_PCI_H
-
--#include <asm/io.h>
-
- #ifdef __KERNEL__
-
--struct pci_sysdata {
-- int node; /* NUMA node */
-- void* iommu; /* IOMMU private data */
--};
--
--extern struct pci_bus *pci_scan_bus_with_sysdata(int busno);
-
- #ifdef CONFIG_CALGARY_IOMMU
- static inline void* pci_iommu(struct pci_bus *bus)
-@@ -26,42 +19,11 @@ static inline void set_pci_iommu(struct
- }
- #endif /* CONFIG_CALGARY_IOMMU */
-
--#include <linux/mm.h> /* for struct page */
--
--/* Can be used to override the logic in pci_scan_bus for skipping
-- already-configured bus numbers - to be used for buggy BIOSes
-- or architectures with incomplete PCI setup by the loader */
--
--#ifdef CONFIG_PCI
--extern unsigned int pcibios_assign_all_busses(void);
--#else
--#define pcibios_assign_all_busses() 0
--#endif
--
--#include <asm/hypervisor.h>
--#define pcibios_scan_all_fns(a, b) (!is_initial_xendomain())
--
--extern unsigned long pci_mem_start;
--#define PCIBIOS_MIN_IO 0x1000
--#define PCIBIOS_MIN_MEM (pci_mem_start)
--
--#define PCIBIOS_MIN_CARDBUS_IO 0x4000
-
--void pcibios_config_init(void);
--struct pci_bus * pcibios_scan_root(int bus);
- extern int (*pci_config_read)(int seg, int bus, int dev, int fn, int reg, int len, u32 *value);
- extern int (*pci_config_write)(int seg, int bus, int dev, int fn, int reg, int len, u32 value);
-
--void pcibios_set_master(struct pci_dev *dev);
--void pcibios_penalize_isa_irq(int irq, int active);
--struct irq_routing_table *pcibios_get_irq_routing_table(void);
--int pcibios_set_irq_routing(struct pci_dev *dev, int pin, int irq);
--
--#include <linux/types.h>
--#include <linux/slab.h>
--#include <asm/scatterlist.h>
--#include <linux/string.h>
--#include <asm/page.h>
-+
-
- extern void pci_iommu_alloc(void);
- extern int iommu_setup(char *opt);
-@@ -75,7 +37,7 @@ extern int iommu_setup(char *opt);
- */
- #define PCI_DMA_BUS_IS_PHYS (dma_ops->is_phys)
-
--#if defined(CONFIG_IOMMU) || defined(CONFIG_CALGARY_IOMMU)
-+#if defined(CONFIG_GART_IOMMU) || defined(CONFIG_CALGARY_IOMMU)
-
- #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) \
- dma_addr_t ADDR_NAME;
-@@ -119,27 +81,7 @@ extern int iommu_setup(char *opt);
-
- #endif
-
--#include <asm-generic/pci-dma-compat.h>
--
--#ifdef CONFIG_PCI
--static inline void pci_dma_burst_advice(struct pci_dev *pdev,
-- enum pci_dma_burst_strategy *strat,
-- unsigned long *strategy_parameter)
--{
-- *strat = PCI_DMA_BURST_INFINITY;
-- *strategy_parameter = ~0UL;
--}
--#endif
--
--#define HAVE_PCI_MMAP
--extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
-- enum pci_mmap_state mmap_state, int write_combine);
--
- #endif /* __KERNEL__ */
-
--/* generic pci stuff */
--#ifdef CONFIG_PCI
--#include <asm-generic/pci.h>
--#endif
-
- #endif /* __x8664_PCI_H */
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/pgalloc.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/pgalloc.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/pgalloc.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "pgalloc_32.h"
+#else
+# include "pgalloc_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/pgalloc_64.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/pgalloc_64.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/pgalloc_64.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/pgalloc_64.h 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/pgalloc_64.h 2009-02-16 16:18:36.000000000 +0100
@@ -112,6 +112,8 @@ static inline void pgd_list_del(pgd_t *p
spin_unlock(&pgd_lock);
}
pgd_list_del(pgd);
free_pages((unsigned long)pgd, 1);
}
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/pgtable.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/pgtable.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/pgtable.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "pgtable_32.h"
+#else
+# include "pgtable_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/pgtable_32.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/pgtable_32.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/pgtable_32.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/pgtable_32.h 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/pgtable_32.h 2009-02-16 16:18:36.000000000 +0100
@@ -17,10 +17,7 @@
#include <asm/fixmap.h>
#include <linux/threads.h>
void pgtable_cache_init(void);
void paging_init(void);
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/pgtable_64.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/pgtable_64.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/pgtable_64.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/pgtable_64.h 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/pgtable_64.h 2009-02-16 16:18:36.000000000 +0100
@@ -9,7 +9,7 @@
* the x86-64 page table tree.
*/
#include <linux/threads.h>
#include <linux/sched.h>
#include <asm/pda.h>
-@@ -137,6 +137,7 @@ static inline void pgd_clear (pgd_t * pg
+@@ -139,6 +139,7 @@ static inline void pgd_clear (pgd_t * pg
#define MAXMEM _AC(0x3fffffffffff, UL)
#define VMALLOC_START _AC(0xffffc20000000000, UL)
#define VMALLOC_END _AC(0xffffe1ffffffffff, UL)
#define MODULES_VADDR _AC(0xffffffff88000000, UL)
#define MODULES_END _AC(0xfffffffffff00000, UL)
#define MODULES_LEN (MODULES_END - MODULES_VADDR)
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/processor.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/processor.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/processor.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "processor_32.h"
+#else
+# include "processor_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/processor_32.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/processor_32.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/processor_32.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/processor_32.h 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/processor_32.h 2009-02-16 16:18:36.000000000 +0100
@@ -80,6 +80,7 @@ struct cpuinfo_x86 {
unsigned char booted_cores; /* number of cores as seen by OS */
__u8 phys_proc_id; /* Physical processor id. */
#else
#define ASM_NOP1 GENERIC_NOP1
#define ASM_NOP2 GENERIC_NOP2
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/processor_64.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/processor_64.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/processor_64.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/processor_64.h 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/processor_64.h 2009-02-16 16:18:36.000000000 +0100
@@ -74,6 +74,7 @@ struct cpuinfo_x86 {
__u8 booted_cores; /* number of cores as seen by OS */
__u8 phys_proc_id; /* Physical Processor id. */
static inline void __monitor(const void *eax, unsigned long ecx,
unsigned long edx)
{
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/segment.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/segment.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/segment.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "segment_32.h"
+#else
+# include "../../segment_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/smp.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/smp.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/smp.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "smp_32.h"
+#else
+# include "smp_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/smp_32.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/smp_32.h 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/smp_32.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/smp_32.h 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/smp_32.h 2009-02-16 16:18:36.000000000 +0100
@@ -11,7 +11,7 @@
#endif
#ifdef CONFIG_HOTPLUG_CPU
extern void cpu_exit_clear(void);
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/smp_64.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/smp_64.h 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/smp_64.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/smp_64.h 2008-12-15 11:27:22.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/smp_64.h 2009-02-16 16:18:36.000000000 +0100
@@ -40,10 +40,19 @@ extern void lock_ipi_call_lock(void);
extern void unlock_ipi_call_lock(void);
extern int smp_num_siblings;
#define cpu_physical_id(cpu) boot_cpu_id
#endif /* !CONFIG_SMP */
#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/swiotlb.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/swiotlb.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/swiotlb.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "swiotlb_32.h"
+#else
+# include "../../swiotlb.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/system.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/system.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/system.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "system_32.h"
+#else
+# include "system_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/system_32.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/system_32.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/system_32.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/system_32.h 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/system_32.h 2009-02-16 16:18:36.000000000 +0100
@@ -9,6 +9,7 @@
#include <asm/hypervisor.h>
+void __show_registers(struct pt_regs *, int all);
#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/system_64.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/system_64.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/system_64.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/system_64.h 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/system_64.h 2009-02-16 16:18:36.000000000 +0100
@@ -11,8 +11,12 @@
#ifdef __KERNEL__
#define read_barrier_depends() do {} while(0)
#define set_mb(var, value) do { (void) xchg(&var, value); } while (0)
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/tlbflush.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/tlbflush.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/tlbflush.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "tlbflush_32.h"
+#else
+# include "tlbflush_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/tlbflush_32.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/tlbflush_32.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/tlbflush_32.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/tlbflush_32.h 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/tlbflush_32.h 2009-02-16 16:18:36.000000000 +0100
@@ -23,7 +23,6 @@
* - flush_tlb_page(vma, vmaddr) flushes one page
* - flush_tlb_range(vma, start, end) flushes a range of pages
-}
-
#endif /* _I386_TLBFLUSH_H */
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/tlbflush_64.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/asm/tlbflush_64.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/tlbflush_64.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mach-xen/asm/tlbflush_64.h 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/tlbflush_64.h 2009-02-16 16:18:36.000000000 +0100
@@ -28,7 +28,6 @@
* - flush_tlb_page(vma, vmaddr) flushes one page
* - flush_tlb_range(vma, start, end) flushes a range of pages
-}
-
#endif /* _X8664_TLBFLUSH_H */
-Index: head-2008-12-01/include/asm-x86/mach-xen/asm/xor.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/asm-x86/mach-xen/asm/xor.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/asm-x86/mach-xen/asm/xor.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,5 @@
+#ifdef CONFIG_X86_32
+# include "../../xor_32.h"
+#else
+# include "xor_64.h"
+#endif
-Index: head-2008-12-01/include/asm-x86/mach-xen/mach_time.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/mach_time.h 2007-06-12 13:14:13.000000000 +0200
-+++ head-2008-12-01/include/asm-x86/mach-xen/mach_time.h 2008-12-01 11:36:55.000000000 +0100
-@@ -1,111 +1,2 @@
--/*
-- * include/asm-i386/mach-default/mach_time.h
-- *
-- * Machine specific set RTC function for generic.
-- * Split out from time.c by Osamu Tomita <tomita@cinet.co.jp>
-- */
--#ifndef _MACH_TIME_H
--#define _MACH_TIME_H
--
--#include <asm-i386/mc146818rtc.h>
--
--/* for check timing call set_rtc_mmss() 500ms */
--/* used in arch/i386/time.c::do_timer_interrupt() */
--#define USEC_AFTER 500000
--#define USEC_BEFORE 500000
--
--/*
-- * In order to set the CMOS clock precisely, set_rtc_mmss has to be
-- * called 500 ms after the second nowtime has started, because when
-- * nowtime is written into the registers of the CMOS clock, it will
-- * jump to the next second precisely 500 ms later. Check the Motorola
-- * MC146818A or Dallas DS12887 data sheet for details.
-- *
-- * BUG: This routine does not handle hour overflow properly; it just
-- * sets the minutes. Usually you'll only notice that after reboot!
-- */
--static inline int mach_set_rtc_mmss(unsigned long nowtime)
--{
-- int retval = 0;
-- int real_seconds, real_minutes, cmos_minutes;
-- unsigned char save_control, save_freq_select;
--
-- save_control = CMOS_READ(RTC_CONTROL); /* tell the clock it's being set */
-- CMOS_WRITE((save_control|RTC_SET), RTC_CONTROL);
--
-- save_freq_select = CMOS_READ(RTC_FREQ_SELECT); /* stop and reset prescaler */
-- CMOS_WRITE((save_freq_select|RTC_DIV_RESET2), RTC_FREQ_SELECT);
--
-- cmos_minutes = CMOS_READ(RTC_MINUTES);
-- if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD)
-- BCD_TO_BIN(cmos_minutes);
--
-- /*
-- * since we're only adjusting minutes and seconds,
-- * don't interfere with hour overflow. This avoids
-- * messing with unknown time zones but requires your
-- * RTC not to be off by more than 15 minutes
-- */
-- real_seconds = nowtime % 60;
-- real_minutes = nowtime / 60;
-- if (((abs(real_minutes - cmos_minutes) + 15)/30) & 1)
-- real_minutes += 30; /* correct for half hour time zone */
-- real_minutes %= 60;
--
-- if (abs(real_minutes - cmos_minutes) < 30) {
-- if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD) {
-- BIN_TO_BCD(real_seconds);
-- BIN_TO_BCD(real_minutes);
-- }
-- CMOS_WRITE(real_seconds,RTC_SECONDS);
-- CMOS_WRITE(real_minutes,RTC_MINUTES);
-- } else {
-- printk(KERN_WARNING
-- "set_rtc_mmss: can't update from %d to %d\n",
-- cmos_minutes, real_minutes);
-- retval = -1;
-- }
--
-- /* The following flags have to be released exactly in this order,
-- * otherwise the DS12887 (popular MC146818A clone with integrated
-- * battery and quartz) will not reset the oscillator and will not
-- * update precisely 500 ms later. You won't find this mentioned in
-- * the Dallas Semiconductor data sheets, but who believes data
-- * sheets anyway ... -- Markus Kuhn
-- */
-- CMOS_WRITE(save_control, RTC_CONTROL);
-- CMOS_WRITE(save_freq_select, RTC_FREQ_SELECT);
--
-- return retval;
--}
--
--static inline unsigned long mach_get_cmos_time(void)
--{
-- unsigned int year, mon, day, hour, min, sec;
--
-- do {
-- sec = CMOS_READ(RTC_SECONDS);
-- min = CMOS_READ(RTC_MINUTES);
-- hour = CMOS_READ(RTC_HOURS);
-- day = CMOS_READ(RTC_DAY_OF_MONTH);
-- mon = CMOS_READ(RTC_MONTH);
-- year = CMOS_READ(RTC_YEAR);
-- } while (sec != CMOS_READ(RTC_SECONDS));
--
-- if (!(CMOS_READ(RTC_CONTROL) & RTC_DM_BINARY) || RTC_ALWAYS_BCD) {
-- BCD_TO_BIN(sec);
-- BCD_TO_BIN(min);
-- BCD_TO_BIN(hour);
-- BCD_TO_BIN(day);
-- BCD_TO_BIN(mon);
-- BCD_TO_BIN(year);
-- }
--
-- year += 1900;
-- if (year < 1970)
-- year += 100;
--
-- return mktime(year, mon, day, hour, min, sec);
--}
--
--#endif /* !_MACH_TIME_H */
-+#include "../mc146818rtc_32.h"
-+#include "../mach-default/mach_time.h"
-Index: head-2008-12-01/include/asm-x86/mach-xen/mach_timer.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mach-xen/mach_timer.h 2007-06-12 13:14:13.000000000 +0200
-+++ head-2008-12-01/include/asm-x86/mach-xen/mach_timer.h 2008-12-01 11:36:55.000000000 +0100
-@@ -1,50 +1 @@
--/*
-- * include/asm-i386/mach-default/mach_timer.h
-- *
-- * Machine specific calibrate_tsc() for generic.
-- * Split out from timer_tsc.c by Osamu Tomita <tomita@cinet.co.jp>
-- */
--/* ------ Calibrate the TSC -------
-- * Return 2^32 * (1 / (TSC clocks per usec)) for do_fast_gettimeoffset().
-- * Too much 64-bit arithmetic here to do this cleanly in C, and for
-- * accuracy's sake we want to keep the overhead on the CTC speaker (channel 2)
-- * output busy loop as low as possible. We avoid reading the CTC registers
-- * directly because of the awkward 8-bit access mechanism of the 82C54
-- * device.
-- */
--#ifndef _MACH_TIMER_H
--#define _MACH_TIMER_H
--
--#define CALIBRATE_TIME_MSEC 30 /* 30 msecs */
--#define CALIBRATE_LATCH \
-- ((CLOCK_TICK_RATE * CALIBRATE_TIME_MSEC + 1000/2)/1000)
--
--static inline void mach_prepare_counter(void)
--{
-- /* Set the Gate high, disable speaker */
-- outb((inb(0x61) & ~0x02) | 0x01, 0x61);
--
-- /*
-- * Now let's take care of CTC channel 2
-- *
-- * Set the Gate high, program CTC channel 2 for mode 0,
-- * (interrupt on terminal count mode), binary count,
-- * load 5 * LATCH count, (LSB and MSB) to begin countdown.
-- *
-- * Some devices need a delay here.
-- */
-- outb(0xb0, 0x43); /* binary, mode 0, LSB/MSB, Ch 2 */
-- outb_p(CALIBRATE_LATCH & 0xff, 0x42); /* LSB of count */
-- outb_p(CALIBRATE_LATCH >> 8, 0x42); /* MSB of count */
--}
--
--static inline void mach_countup(unsigned long *count_p)
--{
-- unsigned long count = 0;
-- do {
-- count++;
-- } while ((inb_p(0x61) & 0x20) == 0);
-- *count_p = count;
--}
--
--#endif /* !_MACH_TIMER_H */
-+#include "../mach-default/mach_timer.h"
-Index: head-2008-12-01/include/asm-x86/mmu.h
-===================================================================
---- head-2008-12-01.orig/include/asm-x86/mmu.h 2008-12-01 10:53:14.000000000 +0100
-+++ head-2008-12-01/include/asm-x86/mmu.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/asm-x86/mmu.h 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/include/asm-x86/mmu.h 2009-02-16 16:18:36.000000000 +0100
@@ -16,6 +16,9 @@ typedef struct {
rwlock_t ldtlock;
#endif
struct mutex lock;
void *vdso;
} mm_context_t;
-Index: head-2008-12-01/include/linux/sysctl.h
-===================================================================
---- head-2008-12-01.orig/include/linux/sysctl.h 2008-12-01 10:53:14.000000000 +0100
-+++ head-2008-12-01/include/linux/sysctl.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/linux/kexec.h 2009-02-16 15:58:14.000000000 +0100
++++ sle11-2009-05-14/include/linux/kexec.h 2009-02-17 12:43:57.000000000 +0100
+@@ -202,8 +202,15 @@ extern int dump_after_notifier;
+ #define VMCOREINFO_BYTES (4096)
+ #define VMCOREINFO_NOTE_NAME "VMCOREINFO"
+ #define VMCOREINFO_NOTE_NAME_BYTES ALIGN(sizeof(VMCOREINFO_NOTE_NAME), 4)
++#if !defined(CONFIG_XEN) || !defined(CONFIG_X86)
+ #define VMCOREINFO_NOTE_SIZE (KEXEC_NOTE_HEAD_BYTES*2 + VMCOREINFO_BYTES \
+ + VMCOREINFO_NOTE_NAME_BYTES)
++#else
++#define VMCOREINFO_NOTE_SIZE ALIGN(KEXEC_NOTE_HEAD_BYTES*2 \
++ + VMCOREINFO_BYTES \
++ + VMCOREINFO_NOTE_NAME_BYTES, \
++ PAGE_SIZE)
++#endif
+
+ /* Location of a reserved region to hold the crash kernel.
+ */
+--- sle11-2009-05-14.orig/include/linux/oprofile.h 2009-02-16 16:01:39.000000000 +0100
++++ sle11-2009-05-14/include/linux/oprofile.h 2009-03-12 16:16:07.000000000 +0100
+@@ -116,6 +116,8 @@ void oprofile_add_pc(unsigned long pc, i
+ /* add a backtrace entry, to be called from the ->backtrace callback */
+ void oprofile_add_trace(unsigned long eip);
+
++void oprofile_add_mode(int cpu_mode);
++
+ /* add a domain switch entry */
+ int oprofile_add_domain_switch(int32_t domain_id);
+
+--- sle11-2009-05-14.orig/include/linux/sysctl.h 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/include/linux/sysctl.h 2009-02-16 16:18:36.000000000 +0100
@@ -69,6 +69,7 @@ enum
CTL_BUS=8, /* Busses */
CTL_ABI=9, /* Binary emulation */
CTL_ARLAN=254, /* arlan wireless driver */
CTL_S390DBF=5677, /* s390 debug */
CTL_SUNRPC=7249, /* sunrpc debug */
-Index: head-2008-12-01/include/xen/pcifront.h
-===================================================================
---- head-2008-12-01.orig/include/xen/pcifront.h 2007-06-18 08:38:13.000000000 +0200
-+++ head-2008-12-01/include/xen/pcifront.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/xen/pcifront.h 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/include/xen/pcifront.h 2009-02-16 16:18:36.000000000 +0100
@@ -12,13 +12,11 @@
#ifndef __ia64__
static inline void pcifront_setup_root_resources(struct pci_bus *bus,
struct pcifront_sd *sd)
{
-Index: head-2008-12-01/include/xen/sysctl.h
-===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head-2008-12-01/include/xen/sysctl.h 2008-12-01 11:36:55.000000000 +0100
++++ sle11-2009-05-14/include/xen/sysctl.h 2009-02-16 16:18:36.000000000 +0100
@@ -0,0 +1,11 @@
+#ifndef _XEN_SYSCTL_H
+#define _XEN_SYSCTL_H
+};
+
+#endif /* _XEN_SYSCTL_H */
-Index: head-2008-12-01/include/xen/xenbus.h
-===================================================================
---- head-2008-12-01.orig/include/xen/xenbus.h 2008-12-01 11:36:47.000000000 +0100
-+++ head-2008-12-01/include/xen/xenbus.h 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/include/xen/xenbus.h 2009-02-16 16:17:21.000000000 +0100
++++ sle11-2009-05-14/include/xen/xenbus.h 2009-02-16 16:18:36.000000000 +0100
@@ -107,7 +107,7 @@ struct xenbus_driver {
int (*suspend)(struct xenbus_device *dev);
int (*suspend_cancel)(struct xenbus_device *dev);
struct device_driver driver;
int (*read_otherend_details)(struct xenbus_device *dev);
int (*is_ready)(struct xenbus_device *dev);
-Index: head-2008-12-01/kernel/kexec.c
-===================================================================
---- head-2008-12-01.orig/kernel/kexec.c 2008-12-01 11:32:38.000000000 +0100
-+++ head-2008-12-01/kernel/kexec.c 2008-12-01 11:36:55.000000000 +0100
-@@ -1235,6 +1235,7 @@ static int __init crash_notes_memory_ini
+--- sle11-2009-05-14.orig/kernel/kexec.c 2009-02-17 11:34:22.000000000 +0100
++++ sle11-2009-05-14/kernel/kexec.c 2009-02-17 12:38:20.000000000 +0100
+@@ -52,7 +52,11 @@ int dump_after_notifier;
+
+ /* vmcoreinfo stuff */
+ unsigned char vmcoreinfo_data[VMCOREINFO_BYTES];
+-u32 vmcoreinfo_note[VMCOREINFO_NOTE_SIZE/4];
++u32
++#if defined(CONFIG_XEN) && defined(CONFIG_X86)
++__attribute__((__section__(".bss.page_aligned"), __aligned__(PAGE_SIZE)))
++#endif
++vmcoreinfo_note[VMCOREINFO_NOTE_SIZE/4];
+ size_t vmcoreinfo_size;
+ size_t vmcoreinfo_max_size = sizeof(vmcoreinfo_data);
+
+@@ -1240,6 +1244,7 @@ static int __init crash_notes_memory_ini
module_init(crash_notes_memory_init)
/*
* parsing the "crashkernel" commandline
*
-@@ -1397,7 +1398,7 @@ int __init parse_crashkernel(char *cm
+@@ -1402,7 +1407,7 @@ int __init parse_crashkernel(char *cm
return 0;
}
void crash_save_vmcoreinfo(void)
-@@ -1454,7 +1455,18 @@ static int __init crash_save_vmcoreinfo_
+@@ -1459,7 +1464,18 @@ static int __init crash_save_vmcoreinfo_
VMCOREINFO_SYMBOL(init_uts_ns);
VMCOREINFO_SYMBOL(node_online_map);
+#ifndef CONFIG_X86_XEN
-+ VMCOREINFO_SYMBOL(swapper_pg_dir);
+ VMCOREINFO_SYMBOL(swapper_pg_dir);
+#else
+/*
+ * Since for x86-32 Xen swapper_pg_dir is a pointer rather than an array,
+ * the page directory).
+ */
+# define swapper_pg_dir *swapper_pg_dir
- VMCOREINFO_SYMBOL(swapper_pg_dir);
++ VMCOREINFO_SYMBOL(swapper_pg_dir);
+# undef swapper_pg_dir
+#endif
VMCOREINFO_SYMBOL(_stext);
#ifndef CONFIG_NEED_MULTIPLE_NODES
-Index: head-2008-12-01/kernel/sysctl_check.c
-===================================================================
---- head-2008-12-01.orig/kernel/sysctl_check.c 2008-12-01 10:53:14.000000000 +0100
-+++ head-2008-12-01/kernel/sysctl_check.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/kernel/sysctl_check.c 2009-05-14 10:56:29.000000000 +0200
++++ sle11-2009-05-14/kernel/sysctl_check.c 2009-02-16 16:18:36.000000000 +0100
@@ -4,6 +4,7 @@
#include <linux/sunrpc/debug.h>
#include <linux/string.h>
{ CTL_ARLAN, "arlan", trans_arlan_table },
{ CTL_S390DBF, "s390dbf", trans_s390dbf_table },
{ CTL_SUNRPC, "sunrpc", trans_sunrpc_table },
-Index: head-2008-12-01/lib/swiotlb-xen.c
-===================================================================
---- head-2008-12-01.orig/lib/swiotlb-xen.c 2008-12-01 11:36:13.000000000 +0100
-+++ head-2008-12-01/lib/swiotlb-xen.c 2008-12-01 11:36:55.000000000 +0100
+--- sle11-2009-05-14.orig/lib/swiotlb-xen.c 2009-02-05 11:16:51.000000000 +0100
++++ sle11-2009-05-14/lib/swiotlb-xen.c 2009-02-16 16:18:36.000000000 +0100
@@ -27,7 +27,7 @@
#include <asm/uaccess.h>
#include <xen/gnttab.h>