Custom Search
|
Date: December 31, 2006
From: Bastian Blank <waldi@xxxxxxxxxxxxxxxxx>
Author: waldi Date: Sun Dec 31 22:38:56 2006 New Revision: 8066 Modified: dists/sid/linux-2.6/debian/changelog Log: debian/changelog: Update. Modified: dists/sid/linux-2.6/debian/changelog ============================================================================== --- dists/sid/linux-2.6/debian/changelog (original) +++ dists/sid/linux-2.6/debian/changelog Sun Dec 31 22:38:56 2006 @@ -16,7 +16,7 @@ * Bump ABI to 4. * Update vserver patch to 2.0.2.2-rc9. * Update xen patch to changeset 36186 from Fedora 2.6.18 branch. - * Build only the pae version of xen. (closes: #390862) + * i386/xen: Build only the pae version. (closes: #390862) * xen: Don't disable serial drivers. [ dann frazier ]
Date: December 31, 2006
From: Bastian Blank <waldi@xxxxxxxxxxxxxxxxx>
Author: waldi
Date: Sun Dec 31 22:33:43 2006
New Revision: 8065
Modified:
dists/sid/linux-2.6/debian/arch/_xen/config
dists/sid/linux-2.6/debian/changelog
Log:
xen: Don't disable serial drivers.
debian/arch/_xen/config, debian/changelog: Update.
Modified: dists/sid/linux-2.6/debian/arch/_xen/config
==============================================================================
--- dists/sid/linux-2.6/debian/arch/_xen/config (original)
+++ dists/sid/linux-2.6/debian/arch/_xen/config Sun Dec 31 22:33:43 2006
@@ -17,7 +17,7 @@
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_XEN_NETDEV_FRONTEND=y
CONFIG_XEN_SCRUB_PAGES=y
-CONFIG_XEN_DISABLE_SERIAL=y
+# CONFIG_XEN_DISABLE_SERIAL is not set
CONFIG_XEN_SYSFS=y
CONFIG_XEN_COMPAT_030002_AND_LATER=y
# CONFIG_XEN_COMPAT_LATEST_ONLY is not set
Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog (original)
+++ dists/sid/linux-2.6/debian/changelog Sun Dec 31 22:33:43 2006
@@ -17,6 +17,7 @@
* Update vserver patch to 2.0.2.2-rc9.
* Update xen patch to changeset 36186 from Fedora 2.6.18 branch.
* Build only the pae version of xen. (closes: #390862)
+ * xen: Don't disable serial drivers.
[ dann frazier ]
* Fix potential fragmentation attacks in ip6_tables (CVE-2006-4572)
@@ -124,7 +125,7 @@
memory accesses in ehci-hub-control() by adding an alignment attribute
to the tbuf array declaration. Thanks to David Miller for the patch.
- -- Bastian Blank <waldi@xxxxxxxxxx> Sun, 31 Dec 2006 22:26:47 +0100
+ -- Bastian Blank <waldi@xxxxxxxxxx> Sun, 31 Dec 2006 22:28:11 +0100
linux-2.6 (2.6.18-8) unstable; urgency=low
Date: December 31, 2006
From: Bastian Blank <waldi@xxxxxxxxxxxxxxxxx>
Author: waldi
Date: Sun Dec 31 22:28:20 2006
New Revision: 8064
Added:
dists/sid/linux-2.6/debian/patches/features/all/xen/fedora-2.6.18-36186.patch
- copied, changed from r8013,
dists/sid/linux-2.6/debian/patches/features/all/xen/fedora-2.6.18-36156.patch
Removed:
dists/sid/linux-2.6/debian/patches/features/all/xen/fedora-2.6.18-36156.patch
Modified:
dists/sid/linux-2.6/debian/changelog
dists/sid/linux-2.6/debian/patches/series/9-extra
Log:
Update xen patch to changeset 36186 from Fedora 2.6.18 branch.
* debian/changelog: Update.
* debian/patches/features/all/xen/fedora-2.6.18-36156.patch: Remove.
* debian/patches/features/all/xen/fedora-2.6.18-36186.patch: Add.
* debian/patches/series/9-extra: Update.
Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog (original)
+++ dists/sid/linux-2.6/debian/changelog Sun Dec 31 22:28:20 2006
@@ -15,7 +15,7 @@
[ Bastian Blank ]
* Bump ABI to 4.
* Update vserver patch to 2.0.2.2-rc9.
- * Update xen patch to changeset 36156 from Fedora 2.6.18 branch.
+ * Update xen patch to changeset 36186 from Fedora 2.6.18 branch.
* Build only the pae version of xen. (closes: #390862)
[ dann frazier ]
@@ -124,7 +124,7 @@
memory accesses in ehci-hub-control() by adding an alignment attribute
to the tbuf array declaration. Thanks to David Miller for the patch.
- -- Christian T. Steigies <cts@xxxxxxxxxx> Sun, 31 Dec 2006 17:29:17 +0100
+ -- Bastian Blank <waldi@xxxxxxxxxx> Sun, 31 Dec 2006 22:26:47 +0100
linux-2.6 (2.6.18-8) unstable; urgency=low
Copied:
dists/sid/linux-2.6/debian/patches/features/all/xen/fedora-2.6.18-36186.patch
(from r8013,
dists/sid/linux-2.6/debian/patches/features/all/xen/fedora-2.6.18-36156.patch)
==============================================================================
---
dists/sid/linux-2.6/debian/patches/features/all/xen/fedora-2.6.18-36156.patch
(original)
+++
dists/sid/linux-2.6/debian/patches/features/all/xen/fedora-2.6.18-36186.patch
Sun Dec 31 22:28:20 2006
@@ -1,5 +1,5 @@
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/boot-xen/Makefile
linux-2.6.18-xen/arch/i386/boot-xen/Makefile
---- linux-2.6.18/arch/i386/boot-xen/Makefile 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/boot-xen/Makefile
linux-2.6.18-xen/arch/i386/boot-xen/Makefile
+--- linux-2.6.18.3/arch/i386/boot-xen/Makefile 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/boot-xen/Makefile 2006-11-19
14:26:21.000000000 +0100
@@ -0,0 +1,21 @@
+
@@ -23,10 +23,10 @@
+ install -m0664 .config
$(INSTALL_ROOT)/boot/config-$(XINSTALL_NAME)$(INSTALL_SUFFIX)
+ install -m0664 System.map
$(INSTALL_ROOT)/boot/System.map-$(XINSTALL_NAME)$(INSTALL_SUFFIX)
+ ln -f -s vmlinuz-$(XINSTALL_NAME)$(INSTALL_SUFFIX)
$(INSTALL_ROOT)/boot/vmlinuz-$(VERSION).$(PATCHLEVEL)$(XENGUEST)$(INSTALL_SUFFIX)
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/Kconfig
linux-2.6.18-xen/arch/i386/Kconfig
---- linux-2.6.18/arch/i386/Kconfig 2006-09-20 05:42:06.000000000 +0200
-+++ linux-2.6.18-xen/arch/i386/Kconfig 2006-11-19 14:26:21.000000000 +0100
-@@ -16,10 +16,12 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/Kconfig
linux-2.6.18-xen/arch/i386/Kconfig
+--- linux-2.6.18.3/arch/i386/Kconfig 2006-09-20 05:42:06.000000000 +0200
++++ linux-2.6.18-xen/arch/i386/Kconfig 2006-12-05 18:42:36.000000000 +0100
+@@ -16,6 +16,7 @@
config GENERIC_TIME
bool
@@ -34,12 +34,7 @@
default y
config LOCKDEP_SUPPORT
- bool
-+ depends on !X86_XEN
- default y
-
- config STACKTRACE_SUPPORT
-@@ -103,6 +105,15 @@
+@@ -103,6 +104,15 @@
help
Choose this option if your computer is a standard PC or compatible.
@@ -55,7 +50,7 @@
config X86_ELAN
bool "AMD Elan"
help
-@@ -213,6 +224,7 @@
+@@ -213,6 +223,7 @@
config HPET_TIMER
bool "HPET Timer Support"
@@ -63,7 +58,7 @@
help
This enables the use of the HPET for the kernel's internal timer.
HPET is the next generation timer replacing legacy 8254s.
-@@ -263,7 +275,7 @@
+@@ -263,7 +274,7 @@
config X86_UP_APIC
bool "Local APIC support on uniprocessors"
@@ -72,7 +67,7 @@
help
A local APIC (Advanced Programmable Interrupt Controller) is an
integrated interrupt controller in the CPU. If you have a single-CPU
-@@ -288,12 +300,12 @@
+@@ -288,12 +299,12 @@
config X86_LOCAL_APIC
bool
@@ -87,7 +82,7 @@
default y
config X86_VISWS_APIC
-@@ -303,7 +315,7 @@
+@@ -303,7 +314,7 @@
config X86_MCE
bool "Machine Check Exception"
@@ -96,7 +91,7 @@
---help---
Machine Check Exception support allows the processor to notify the
kernel if it detects a problem (e.g. overheating, component failure).
-@@ -402,6 +414,7 @@
+@@ -402,6 +413,7 @@
config MICROCODE
tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support"
@@ -104,7 +99,7 @@
---help---
If you say Y here and also to "/dev file system support" in the
'File systems' section, you will be able to update the microcode on
-@@ -419,6 +432,7 @@
+@@ -419,6 +431,7 @@
config X86_MSR
tristate "/dev/cpu/*/msr - Model-specific register support"
@@ -112,7 +107,7 @@
help
This device gives privileged processes access to the x86
Model-Specific Registers (MSRs). It is a character device with
-@@ -434,6 +448,10 @@
+@@ -434,6 +447,10 @@
with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
/dev/cpu/31/cpuid.
@@ -123,7 +118,7 @@
source "drivers/firmware/Kconfig"
choice
-@@ -607,7 +625,7 @@
+@@ -607,7 +624,7 @@
config HIGHPTE
bool "Allocate 3rd-level pagetables from highmem"
@@ -132,7 +127,7 @@
help
The VM uses one page table entry for each page of physical memory.
For systems with a lot of RAM, this can be wasteful of precious
-@@ -616,6 +634,7 @@
+@@ -616,6 +633,7 @@
config MATH_EMULATION
bool "Math emulation"
@@ -140,7 +135,7 @@
---help---
Linux can emulate a math coprocessor (used for floating point
operations) if you don't have one. 486DX and Pentium processors have
-@@ -641,6 +660,8 @@
+@@ -641,6 +659,8 @@
config MTRR
bool "MTRR (Memory Type Range Register) support"
@@ -149,7 +144,7 @@
---help---
On Intel P6 family processors (Pentium Pro, Pentium II and later)
the Memory Type Range Registers (MTRRs) may be used to control
-@@ -675,7 +696,7 @@
+@@ -675,7 +695,7 @@
config EFI
bool "Boot from EFI support"
@@ -158,7 +153,7 @@
default n
---help---
This enables the the kernel to boot on EFI platforms using
-@@ -693,7 +714,7 @@
+@@ -693,7 +713,7 @@
config IRQBALANCE
bool "Enable kernel irq balancing"
@@ -167,7 +162,7 @@
default y
help
The default yes will allow the kernel to do irq load balancing.
-@@ -741,7 +762,7 @@
+@@ -741,7 +761,7 @@
config KEXEC
bool "kexec system call (EXPERIMENTAL)"
@@ -176,7 +171,7 @@
help
kexec is a system call that implements the ability to shutdown your
current kernel, and to start another kernel. It is like a reboot
-@@ -794,6 +815,7 @@
+@@ -794,6 +814,7 @@
config COMPAT_VDSO
bool "Compat VDSO support"
default y
@@ -184,7 +179,7 @@
help
Map the VDSO to the predictable old-style address too.
---help---
-@@ -810,18 +832,20 @@
+@@ -810,18 +831,20 @@
depends on HIGHMEM
menu "Power management options (ACPI, APM)"
@@ -208,7 +203,7 @@
---help---
APM is a BIOS specification for saving power using several different
techniques. This is mostly useful for battery powered laptops with
-@@ -1006,6 +1030,7 @@
+@@ -1006,6 +1029,7 @@
config PCI_GOBIOS
bool "BIOS"
@@ -216,7 +211,7 @@
config PCI_GOMMCONFIG
bool "MMConfig"
-@@ -1013,6 +1038,13 @@
+@@ -1013,6 +1037,13 @@
config PCI_GODIRECT
bool "Direct"
@@ -230,7 +225,7 @@
config PCI_GOANY
bool "Any"
-@@ -1020,7 +1052,7 @@
+@@ -1020,7 +1051,7 @@
config PCI_BIOS
bool
@@ -239,7 +234,7 @@
default y
config PCI_DIRECT
-@@ -1033,6 +1065,18 @@
+@@ -1033,6 +1064,18 @@
depends on PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY)
default y
@@ -258,7 +253,7 @@
source "drivers/pci/pcie/Kconfig"
source "drivers/pci/Kconfig"
-@@ -1043,7 +1087,7 @@
+@@ -1043,7 +1086,7 @@
config ISA
bool "ISA support"
@@ -267,7 +262,7 @@
help
Find out whether you have ISA slots on your motherboard. ISA is the
name of a bus system, i.e. the way the CPU talks to the other stuff
-@@ -1070,7 +1114,7 @@
+@@ -1070,7 +1113,7 @@
source "drivers/eisa/Kconfig"
config MCA
@@ -276,7 +271,7 @@
default y if X86_VOYAGER
help
MicroChannel Architecture is found in some IBM PS/2 machines and
-@@ -1146,6 +1190,8 @@
+@@ -1146,6 +1189,8 @@
source "crypto/Kconfig"
@@ -285,7 +280,7 @@
source "lib/Kconfig"
#
-@@ -1171,7 +1217,7 @@
+@@ -1171,7 +1216,7 @@
config X86_HT
bool
@@ -294,7 +289,7 @@
default y
config X86_BIOS_REBOOT
-@@ -1184,6 +1230,16 @@
+@@ -1184,6 +1229,16 @@
depends on X86_SMP || (X86_VOYAGER && SMP)
default y
@@ -311,10 +306,10 @@
config KTIME_SCALAR
bool
default y
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/Kconfig.cpu
linux-2.6.18-xen/arch/i386/Kconfig.cpu
---- linux-2.6.18/arch/i386/Kconfig.cpu 2006-09-20 05:42:06.000000000 +0200
-+++ linux-2.6.18-xen/arch/i386/Kconfig.cpu 2006-11-19 14:26:21.000000000
+0100
-@@ -251,7 +251,7 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/Kconfig.cpu
linux-2.6.18-xen/arch/i386/Kconfig.cpu
+--- linux-2.6.18.3/arch/i386/Kconfig.cpu 2006-12-06 09:06:08.000000000
+0100
++++ linux-2.6.18-xen/arch/i386/Kconfig.cpu 2006-12-05 18:42:36.000000000
+0100
+@@ -252,7 +252,7 @@
config X86_F00F_BUG
bool
@@ -323,25 +318,17 @@
default y
config X86_WP_WORKS_OK
-@@ -311,5 +311,5 @@
+@@ -312,5 +312,5 @@
config X86_TSC
bool
- depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON ||
MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII
|| M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MGEODEGX1 || MGEODE_LX) &&
!X86_NUMAQ
+ depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON ||
MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII
|| M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MGEODEGX1 || MGEODE_LX) &&
!X86_NUMAQ && !X86_XEN
default y
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/Kconfig.debug
linux-2.6.18-xen/arch/i386/Kconfig.debug
---- linux-2.6.18/arch/i386/Kconfig.debug 2006-09-20 05:42:06.000000000
+0200
-+++ linux-2.6.18-xen/arch/i386/Kconfig.debug 2006-11-19 14:26:21.000000000
+0100
-@@ -2,6 +2,7 @@
-
- config TRACE_IRQFLAGS_SUPPORT
- bool
-+ depends on !X86_XEN
- default y
-
- source "lib/Kconfig.debug"
-@@ -79,6 +80,7 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/Kconfig.debug
linux-2.6.18-xen/arch/i386/Kconfig.debug
+--- linux-2.6.18.3/arch/i386/Kconfig.debug 2006-09-20 05:42:06.000000000
+0200
++++ linux-2.6.18-xen/arch/i386/Kconfig.debug 2006-12-05 18:42:36.000000000
+0100
+@@ -79,6 +79,7 @@
config DOUBLEFAULT
default y
bool "Enable doublefault exception handler" if EMBEDDED
@@ -349,9 +336,9 @@
help
This option allows trapping of rare doublefault exceptions that
would otherwise cause a system to silently reboot. Disabling this
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/acpi/boot-xen.c
linux-2.6.18-xen/arch/i386/kernel/acpi/boot-xen.c
---- linux-2.6.18/arch/i386/kernel/acpi/boot-xen.c 1970-01-01
01:00:00.000000000 +0100
-+++ linux-2.6.18-xen/arch/i386/kernel/acpi/boot-xen.c 2006-11-19
14:26:21.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/acpi/boot-xen.c
linux-2.6.18-xen/arch/i386/kernel/acpi/boot-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/acpi/boot-xen.c 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/i386/kernel/acpi/boot-xen.c 2006-12-05
18:42:36.000000000 +0100
@@ -0,0 +1,1168 @@
+/*
+ * boot.c - Architecture-Specific Low-Level ACPI Boot Support
@@ -524,7 +511,7 @@
+ unsigned long i;
+ int config_size;
+
-+ if (!phys_addr || !size || !cpu_has_apic)
++ if (!phys_addr || !size)
+ return -EINVAL;
+
+ mcfg = (struct acpi_table_mcfg *)__acpi_map_table(phys_addr, size);
@@ -573,7 +560,7 @@
+{
+ struct acpi_table_madt *madt = NULL;
+
-+ if (!phys_addr || !size)
++ if (!phys_addr || !size || !cpu_has_apic)
+ return -EINVAL;
+
+ madt = (struct acpi_table_madt *)__acpi_map_table(phys_addr, size);
@@ -1113,7 +1100,7 @@
+ return -ENODEV;
+ }
+
-+ if (!cpu_has_apic)
++ if (!cpu_has_apic)
+ return -ENODEV;
+
+ /*
@@ -1521,8 +1508,8 @@
+
+ return 0;
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/acpi/Makefile
linux-2.6.18-xen/arch/i386/kernel/acpi/Makefile
---- linux-2.6.18/arch/i386/kernel/acpi/Makefile 2006-09-20
05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/acpi/Makefile
linux-2.6.18-xen/arch/i386/kernel/acpi/Makefile
+--- linux-2.6.18.3/arch/i386/kernel/acpi/Makefile 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/i386/kernel/acpi/Makefile 2006-11-19
14:26:21.000000000 +0100
@@ -6,3 +6,7 @@
obj-y += cstate.o processor.o
@@ -1532,9 +1519,9 @@
+include $(srctree)/scripts/Makefile.xen
+obj-y := $(call cherrypickxen, $(obj-y), $(src))
+endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/alternative.c
linux-2.6.18-xen/arch/i386/kernel/alternative.c
---- linux-2.6.18/arch/i386/kernel/alternative.c 2006-09-20
05:42:06.000000000 +0200
-+++ linux-2.6.18-xen/arch/i386/kernel/alternative.c 2006-11-19
14:26:21.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/alternative.c
linux-2.6.18-xen/arch/i386/kernel/alternative.c
+--- linux-2.6.18.3/arch/i386/kernel/alternative.c 2006-12-06
09:06:08.000000000 +0100
++++ linux-2.6.18-xen/arch/i386/kernel/alternative.c 2006-12-05
18:42:36.000000000 +0100
@@ -4,7 +4,11 @@
#include <asm/alternative.h>
#include <asm/sections.h>
@@ -1559,8 +1546,8 @@
DPRINTK("%s: vsyscall fixup: %p => %p\n",
__FUNCTION__, a->instr, instr);
}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/apic-xen.c
linux-2.6.18-xen/arch/i386/kernel/apic-xen.c
---- linux-2.6.18/arch/i386/kernel/apic-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/apic-xen.c
linux-2.6.18-xen/arch/i386/kernel/apic-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/apic-xen.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/kernel/apic-xen.c 2006-11-19
14:26:21.000000000 +0100
@@ -0,0 +1,160 @@
+/*
@@ -1723,8 +1710,8 @@
+
+ return 0;
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/asm-offsets.c
linux-2.6.18-xen/arch/i386/kernel/asm-offsets.c
---- linux-2.6.18/arch/i386/kernel/asm-offsets.c 2006-09-20
05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/asm-offsets.c
linux-2.6.18-xen/arch/i386/kernel/asm-offsets.c
+--- linux-2.6.18.3/arch/i386/kernel/asm-offsets.c 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/i386/kernel/asm-offsets.c 2006-11-19
14:26:21.000000000 +0100
@@ -66,9 +66,14 @@
OFFSET(pbe_orig_address, pbe, orig_address);
@@ -1742,10 +1729,10 @@
DEFINE(PAGE_SIZE_asm, PAGE_SIZE);
DEFINE(VDSO_PRELINK, VDSO_PRELINK);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/cpu/common-xen.c
linux-2.6.18-xen/arch/i386/kernel/cpu/common-xen.c
---- linux-2.6.18/arch/i386/kernel/cpu/common-xen.c 1970-01-01
01:00:00.000000000 +0100
-+++ linux-2.6.18-xen/arch/i386/kernel/cpu/common-xen.c 2006-11-19
14:26:21.000000000 +0100
-@@ -0,0 +1,740 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/cpu/common-xen.c
linux-2.6.18-xen/arch/i386/kernel/cpu/common-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/cpu/common-xen.c 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/i386/kernel/cpu/common-xen.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,739 @@
+#include <linux/init.h>
+#include <linux/string.h>
+#include <linux/delay.h>
@@ -2045,7 +2032,7 @@
+ if (c->x86 >= 0x6)
+ c->x86_model += ((tfms >> 16) & 0xF) << 4;
+ c->x86_mask = tfms & 15;
-+#if defined(CONFIG_X86_HT)
++#ifdef CONFIG_X86_HT
+ c->apicid = phys_pkg_id((ebx >> 24) & 0xFF, 0);
+#else
+ c->apicid = (ebx >> 24) & 0xFF;
@@ -2242,7 +2229,7 @@
+
+ if (smp_num_siblings > NR_CPUS) {
+ printk(KERN_WARNING "CPU: Unsupported number of the "
-+ "siblings %d", smp_num_siblings);
++ "siblings %d", smp_num_siblings);
+ smp_num_siblings = 1;
+ return;
+ }
@@ -2373,7 +2360,7 @@
+ }
+ printk(KERN_INFO "Initializing CPU#%d\n", cpu);
+
-+ if (cpu_has_vme || cpu_has_de)
++ if (cpu_has_vme || cpu_has_tsc || cpu_has_de)
+ clear_in_cr4(X86_CR4_VME|X86_CR4_PVI|X86_CR4_TSD|X86_CR4_DE);
+ if (tsc_disable && cpu_has_tsc) {
+ printk(KERN_NOTICE "Disabling TSC...\n");
@@ -2407,7 +2394,6 @@
+ local_irq_enable();
+ }
+ }
-+
+old_gdt:
+ /*
+ * Initialize the per-CPU GDT with the boot GDT,
@@ -2486,8 +2472,8 @@
+ per_cpu(cpu_tlbstate, cpu).active_mm = &init_mm;
+}
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/cpu/Makefile
linux-2.6.18-xen/arch/i386/kernel/cpu/Makefile
---- linux-2.6.18/arch/i386/kernel/cpu/Makefile 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/cpu/Makefile
linux-2.6.18-xen/arch/i386/kernel/cpu/Makefile
+--- linux-2.6.18.3/arch/i386/kernel/cpu/Makefile 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/i386/kernel/cpu/Makefile 2006-11-19
14:26:21.000000000 +0100
@@ -17,3 +17,8 @@
@@ -2498,8 +2484,8 @@
+include $(srctree)/scripts/Makefile.xen
+obj-y := $(call cherrypickxen, $(obj-y), $(src))
+endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/cpu/mtrr/main-xen.c
linux-2.6.18-xen/arch/i386/kernel/cpu/mtrr/main-xen.c
---- linux-2.6.18/arch/i386/kernel/cpu/mtrr/main-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags
linux-2.6.18.3/arch/i386/kernel/cpu/mtrr/main-xen.c
linux-2.6.18-xen/arch/i386/kernel/cpu/mtrr/main-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/cpu/mtrr/main-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/i386/kernel/cpu/mtrr/main-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,197 @@
+#include <linux/init.h>
@@ -2699,8 +2685,8 @@
+}
+
+subsys_initcall(mtrr_init);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/cpu/mtrr/Makefile
linux-2.6.18-xen/arch/i386/kernel/cpu/mtrr/Makefile
---- linux-2.6.18/arch/i386/kernel/cpu/mtrr/Makefile 2006-09-20
05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/cpu/mtrr/Makefile
linux-2.6.18-xen/arch/i386/kernel/cpu/mtrr/Makefile
+--- linux-2.6.18.3/arch/i386/kernel/cpu/mtrr/Makefile 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/i386/kernel/cpu/mtrr/Makefile 2006-11-19
14:26:22.000000000 +0100
@@ -3,3 +3,10 @@
obj-y += cyrix.o
@@ -2713,14 +2699,14 @@
+obj-y := $(call filterxen, $(obj-y), $(n-obj-xen))
+obj-y := $(call cherrypickxen, $(obj-y))
+endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/early_printk-xen.c
linux-2.6.18-xen/arch/i386/kernel/early_printk-xen.c
---- linux-2.6.18/arch/i386/kernel/early_printk-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/early_printk-xen.c
linux-2.6.18-xen/arch/i386/kernel/early_printk-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/early_printk-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/i386/kernel/early_printk-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,2 @@
+
+#include "../../x86_64/kernel/early_printk-xen.c"
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/entry.S
linux-2.6.18-xen/arch/i386/kernel/entry.S
---- linux-2.6.18/arch/i386/kernel/entry.S 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/entry.S
linux-2.6.18-xen/arch/i386/kernel/entry.S
+--- linux-2.6.18.3/arch/i386/kernel/entry.S 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/i386/kernel/entry.S 2006-11-19 14:26:22.000000000
+0100
@@ -269,7 +269,7 @@
CFI_STARTPROC simple
@@ -2749,8 +2735,8 @@
pushfl; \
pushl $__KERNEL_CS; \
pushl $sysenter_past_esp
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/entry-xen.S
linux-2.6.18-xen/arch/i386/kernel/entry-xen.S
---- linux-2.6.18/arch/i386/kernel/entry-xen.S 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/entry-xen.S
linux-2.6.18-xen/arch/i386/kernel/entry-xen.S
+--- linux-2.6.18.3/arch/i386/kernel/entry-xen.S 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/i386/kernel/entry-xen.S 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,1213 @@
+/*
@@ -3966,8 +3952,8 @@
+#include "syscall_table.S"
+
+syscall_table_size=(.-sys_call_table)
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/fixup.c
linux-2.6.18-xen/arch/i386/kernel/fixup.c
---- linux-2.6.18/arch/i386/kernel/fixup.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/fixup.c
linux-2.6.18-xen/arch/i386/kernel/fixup.c
+--- linux-2.6.18.3/arch/i386/kernel/fixup.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/kernel/fixup.c 2006-11-19 14:26:22.000000000
+0100
@@ -0,0 +1,92 @@
+/******************************************************************************
@@ -4062,8 +4048,8 @@
+ return 0;
+}
+__initcall(fixup_init);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/head-xen.S
linux-2.6.18-xen/arch/i386/kernel/head-xen.S
---- linux-2.6.18/arch/i386/kernel/head-xen.S 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/head-xen.S
linux-2.6.18-xen/arch/i386/kernel/head-xen.S
+--- linux-2.6.18.3/arch/i386/kernel/head-xen.S 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/kernel/head-xen.S 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,200 @@
+
@@ -4266,8 +4252,8 @@
+ ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz, "no")
+#endif
+ ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz, "generic")
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/init_task-xen.c
linux-2.6.18-xen/arch/i386/kernel/init_task-xen.c
---- linux-2.6.18/arch/i386/kernel/init_task-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/init_task-xen.c
linux-2.6.18-xen/arch/i386/kernel/init_task-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/init_task-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/i386/kernel/init_task-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,51 @@
+#include <linux/mm.h>
@@ -4321,10 +4307,10 @@
+DEFINE_PER_CPU(struct tss_struct, init_tss)
____cacheline_internodealigned_in_smp = INIT_TSS;
+#endif
+
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/io_apic-xen.c
linux-2.6.18-xen/arch/i386/kernel/io_apic-xen.c
---- linux-2.6.18/arch/i386/kernel/io_apic-xen.c 1970-01-01
01:00:00.000000000 +0100
-+++ linux-2.6.18-xen/arch/i386/kernel/io_apic-xen.c 2006-11-19
14:26:22.000000000 +0100
-@@ -0,0 +1,2772 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/io_apic-xen.c
linux-2.6.18-xen/arch/i386/kernel/io_apic-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/io_apic-xen.c 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/i386/kernel/io_apic-xen.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,2771 @@
+/*
+ * Intel IO-APIC support for multi-Pentium hosts.
+ *
@@ -6528,6 +6514,8 @@
+ }
+}
+
++int timer_uses_ioapic_pin_0;
++
+#ifndef CONFIG_XEN
+static void enable_lapic_irq (unsigned int irq)
+{
@@ -6643,8 +6631,6 @@
+ spin_unlock_irqrestore(&ioapic_lock, flags);
+}
+
-+int timer_uses_ioapic_pin_0;
-+
+/*
+ * This code may look a bit paranoid, but it's supposed to cooperate with
+ * a wide range of boards and BIOS bugs. Fortunately only the timer IRQ
@@ -6769,7 +6755,6 @@
+ "report. Then try booting with the 'noapic' option");
+}
+#else
-+int timer_uses_ioapic_pin_0;
+#define check_timer() ((void)0)
+#endif
+
@@ -7097,8 +7082,8 @@
+}
+
+#endif /* CONFIG_ACPI */
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/ioport-xen.c
linux-2.6.18-xen/arch/i386/kernel/ioport-xen.c
---- linux-2.6.18/arch/i386/kernel/ioport-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/ioport-xen.c
linux-2.6.18-xen/arch/i386/kernel/ioport-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/ioport-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/i386/kernel/ioport-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,121 @@
+/*
@@ -7222,8 +7207,8 @@
+ set_iopl_mask(t->iopl);
+ return 0;
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/irq-xen.c
linux-2.6.18-xen/arch/i386/kernel/irq-xen.c
---- linux-2.6.18/arch/i386/kernel/irq-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/irq-xen.c
linux-2.6.18-xen/arch/i386/kernel/irq-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/irq-xen.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/kernel/irq-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,324 @@
+/*
@@ -7550,8 +7535,8 @@
+}
+#endif
+
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/ldt-xen.c
linux-2.6.18-xen/arch/i386/kernel/ldt-xen.c
---- linux-2.6.18/arch/i386/kernel/ldt-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/ldt-xen.c
linux-2.6.18-xen/arch/i386/kernel/ldt-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/ldt-xen.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/kernel/ldt-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,270 @@
+/*
@@ -7824,8 +7809,8 @@
+ }
+ return ret;
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/Makefile
linux-2.6.18-xen/arch/i386/kernel/Makefile
---- linux-2.6.18/arch/i386/kernel/Makefile 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/Makefile
linux-2.6.18-xen/arch/i386/kernel/Makefile
+--- linux-2.6.18.3/arch/i386/kernel/Makefile 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/i386/kernel/Makefile 2006-11-19 14:26:21.000000000
+0100
@@ -44,6 +44,12 @@
@@ -7870,8 +7855,8 @@
+obj-y := $(call cherrypickxen, $(obj-y))
+extra-y := $(call cherrypickxen, $(extra-y))
+endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/microcode-xen.c
linux-2.6.18-xen/arch/i386/kernel/microcode-xen.c
---- linux-2.6.18/arch/i386/kernel/microcode-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/microcode-xen.c
linux-2.6.18-xen/arch/i386/kernel/microcode-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/microcode-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/i386/kernel/microcode-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,147 @@
+/*
@@ -8021,8 +8006,8 @@
+module_init(microcode_init)
+module_exit(microcode_exit)
+MODULE_ALIAS_MISCDEV(MICROCODE_MINOR);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/mpparse-xen.c
linux-2.6.18-xen/arch/i386/kernel/mpparse-xen.c
---- linux-2.6.18/arch/i386/kernel/mpparse-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/mpparse-xen.c
linux-2.6.18-xen/arch/i386/kernel/mpparse-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/mpparse-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/i386/kernel/mpparse-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,1185 @@
+/*
@@ -9210,8 +9195,8 @@
+
+#endif /* CONFIG_X86_IO_APIC */
+#endif /* CONFIG_ACPI */
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/pci-dma-xen.c
linux-2.6.18-xen/arch/i386/kernel/pci-dma-xen.c
---- linux-2.6.18/arch/i386/kernel/pci-dma-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/pci-dma-xen.c
linux-2.6.18-xen/arch/i386/kernel/pci-dma-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/pci-dma-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/i386/kernel/pci-dma-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,379 @@
+/*
@@ -9593,10 +9578,10 @@
+ swiotlb_sync_single_for_device(dev, dma_handle, size,
direction);
+}
+EXPORT_SYMBOL(dma_sync_single_for_device);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/process-xen.c
linux-2.6.18-xen/arch/i386/kernel/process-xen.c
---- linux-2.6.18/arch/i386/kernel/process-xen.c 1970-01-01
01:00:00.000000000 +0100
-+++ linux-2.6.18-xen/arch/i386/kernel/process-xen.c 2006-11-19
14:26:22.000000000 +0100
-@@ -0,0 +1,815 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/process-xen.c
linux-2.6.18-xen/arch/i386/kernel/process-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/process-xen.c 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/i386/kernel/process-xen.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,812 @@
+/*
+ * linux/arch/i386/kernel/process.c
+ *
@@ -9659,9 +9644,6 @@
+#include <asm/tlbflush.h>
+#include <asm/cpu.h>
+
-+#include <asm/tlbflush.h>
-+#include <asm/cpu.h>
-+
+asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
+
+static int hlt_counter;
@@ -10412,8 +10394,8 @@
+ sp -= get_random_int() % 8192;
+ return sp & ~0xf;
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/quirks-xen.c
linux-2.6.18-xen/arch/i386/kernel/quirks-xen.c
---- linux-2.6.18/arch/i386/kernel/quirks-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/quirks-xen.c
linux-2.6.18-xen/arch/i386/kernel/quirks-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/quirks-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/i386/kernel/quirks-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,47 @@
+/*
@@ -10463,10 +10445,10 @@
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7525_MCH,
quirk_intel_irqbalance);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7520_MCH,
quirk_intel_irqbalance);
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/setup-xen.c
linux-2.6.18-xen/arch/i386/kernel/setup-xen.c
---- linux-2.6.18/arch/i386/kernel/setup-xen.c 1970-01-01 01:00:00.000000000
+0100
-+++ linux-2.6.18-xen/arch/i386/kernel/setup-xen.c 2006-11-19
14:26:22.000000000 +0100
-@@ -0,0 +1,1836 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/setup-xen.c
linux-2.6.18-xen/arch/i386/kernel/setup-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/setup-xen.c 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/i386/kernel/setup-xen.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,1835 @@
+/*
+ * linux/arch/i386/kernel/setup.c
+ *
@@ -11858,13 +11840,15 @@
+#ifdef CONFIG_XEN_PRIVILEGED_GUEST
+ struct xen_memory_map memmap;
+
-+ map = (struct e820entry *)__get_free_page(GFP_ATOMIC);
-+ nr_map = E820MAX;
-+
++ map = machine_e820.map;
+ memmap.nr_entries = E820MAX;
++
+ set_xen_guest_handle(memmap.buffer, map);
+
-+ BUG_ON(HYPERVISOR_memory_op(XENMEM_machine_memory_map, &memmap));
++ if(HYPERVISOR_memory_op(XENMEM_machine_memory_map, &memmap))
++ BUG();
++ machine_e820.nr_map = memmap.nr_entries;
++ nr_map = memmap.nr_entries;
+ e820_setup_gap(map, memmap.nr_entries);
+#endif
+
@@ -11903,9 +11887,6 @@
+#endif
+ }
+ }
-+#ifdef CONFIG_XEN
-+ free_page((unsigned long)map);
-+#endif
+}
+
+/*
@@ -12303,8 +12284,8 @@
+ * c-basic-offset:8
+ * End:
+ */
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/smp-xen.c
linux-2.6.18-xen/arch/i386/kernel/smp-xen.c
---- linux-2.6.18/arch/i386/kernel/smp-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/smp-xen.c
linux-2.6.18-xen/arch/i386/kernel/smp-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/smp-xen.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/kernel/smp-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,624 @@
+/*
@@ -12931,8 +12912,8 @@
+ return IRQ_HANDLED;
+}
+
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/swiotlb.c
linux-2.6.18-xen/arch/i386/kernel/swiotlb.c
---- linux-2.6.18/arch/i386/kernel/swiotlb.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/swiotlb.c
linux-2.6.18-xen/arch/i386/kernel/swiotlb.c
+--- linux-2.6.18.3/arch/i386/kernel/swiotlb.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/kernel/swiotlb.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,672 @@
+/*
@@ -13607,8 +13588,8 @@
+EXPORT_SYMBOL(swiotlb_unmap_page);
+EXPORT_SYMBOL(swiotlb_dma_mapping_error);
+EXPORT_SYMBOL(swiotlb_dma_supported);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/sysenter.c
linux-2.6.18-xen/arch/i386/kernel/sysenter.c
---- linux-2.6.18/arch/i386/kernel/sysenter.c 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/sysenter.c
linux-2.6.18-xen/arch/i386/kernel/sysenter.c
+--- linux-2.6.18.3/arch/i386/kernel/sysenter.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/i386/kernel/sysenter.c 2006-11-19
14:26:22.000000000 +0100
@@ -23,6 +23,10 @@
#include <asm/pgtable.h>
@@ -13669,9 +13650,9 @@
if (!boot_cpu_has(X86_FEATURE_SEP)) {
memcpy(syscall_page,
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/time-xen.c
linux-2.6.18-xen/arch/i386/kernel/time-xen.c
---- linux-2.6.18/arch/i386/kernel/time-xen.c 1970-01-01 01:00:00.000000000
+0100
-+++ linux-2.6.18-xen/arch/i386/kernel/time-xen.c 2006-11-19
14:26:22.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/time-xen.c
linux-2.6.18-xen/arch/i386/kernel/time-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/time-xen.c 1970-01-01 01:00:00.000000000
+0100
++++ linux-2.6.18-xen/arch/i386/kernel/time-xen.c 2006-12-05
18:42:36.000000000 +0100
@@ -0,0 +1,1101 @@
+/*
+ * linux/arch/i386/kernel/time.c
@@ -14671,14 +14652,14 @@
+ cpu_clear(smp_processor_id(), nohz_cpu_mask);
+}
+
-+void safe_halt(void)
++void raw_safe_halt(void)
+{
+ stop_hz_timer();
+ /* Blocking includes an implicit local_irq_enable(). */
+ HYPERVISOR_block();
+ start_hz_timer();
+}
-+EXPORT_SYMBOL(safe_halt);
++EXPORT_SYMBOL(raw_safe_halt);
+
+void halt(void)
+{
@@ -14774,8 +14755,8 @@
+ return 0;
+}
+__initcall(xen_sysctl_init);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/traps.c
linux-2.6.18-xen/arch/i386/kernel/traps.c
---- linux-2.6.18/arch/i386/kernel/traps.c 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/traps.c
linux-2.6.18-xen/arch/i386/kernel/traps.c
+--- linux-2.6.18.3/arch/i386/kernel/traps.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/i386/kernel/traps.c 2006-11-19 14:26:22.000000000
+0100
@@ -642,18 +642,11 @@
@@ -14797,10 +14778,10 @@
}
static void unknown_nmi_error(unsigned char reason, struct pt_regs * regs)
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/traps-xen.c
linux-2.6.18-xen/arch/i386/kernel/traps-xen.c
---- linux-2.6.18/arch/i386/kernel/traps-xen.c 1970-01-01 01:00:00.000000000
+0100
-+++ linux-2.6.18-xen/arch/i386/kernel/traps-xen.c 2006-11-19
14:26:22.000000000 +0100
-@@ -0,0 +1,1186 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/traps-xen.c
linux-2.6.18-xen/arch/i386/kernel/traps-xen.c
+--- linux-2.6.18.3/arch/i386/kernel/traps-xen.c 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/i386/kernel/traps-xen.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,1185 @@
+/*
+ * linux/arch/i386/traps.c
+ *
@@ -15986,9 +15967,8 @@
+}
+__setup("call_trace=", call_trace_setup);
+#endif
-+
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/tsc.c
linux-2.6.18-xen/arch/i386/kernel/tsc.c
---- linux-2.6.18/arch/i386/kernel/tsc.c 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/tsc.c
linux-2.6.18-xen/arch/i386/kernel/tsc.c
+--- linux-2.6.18.3/arch/i386/kernel/tsc.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/i386/kernel/tsc.c 2006-11-19 14:26:22.000000000
+0100
@@ -101,6 +101,7 @@
return (cyc * cyc2ns_scale) >> CYC2NS_SCALE_FACTOR;
@@ -16006,8 +15986,8 @@
static unsigned long calculate_cpu_khz(void)
{
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/vm86.c
linux-2.6.18-xen/arch/i386/kernel/vm86.c
---- linux-2.6.18/arch/i386/kernel/vm86.c 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/vm86.c
linux-2.6.18-xen/arch/i386/kernel/vm86.c
+--- linux-2.6.18.3/arch/i386/kernel/vm86.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/i386/kernel/vm86.c 2006-11-19 14:26:22.000000000
+0100
@@ -97,7 +97,9 @@
struct pt_regs * FASTCALL(save_v86_state(struct kernel_vm86_regs * regs));
@@ -16063,8 +16043,8 @@
tsk->thread.screen_bitmap = info->screen_bitmap;
if (info->flags & VM86_SCREEN_BITMAP)
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/vmlinux.lds.S
linux-2.6.18-xen/arch/i386/kernel/vmlinux.lds.S
---- linux-2.6.18/arch/i386/kernel/vmlinux.lds.S 2006-09-20
05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/kernel/vmlinux.lds.S
linux-2.6.18-xen/arch/i386/kernel/vmlinux.lds.S
+--- linux-2.6.18.3/arch/i386/kernel/vmlinux.lds.S 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/i386/kernel/vmlinux.lds.S 2006-11-19
14:26:22.000000000 +0100
@@ -13,6 +13,12 @@
OUTPUT_ARCH(i386)
@@ -16104,8 +16084,8 @@
+
+ NOTES
}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/kernel/vsyscall-note-xen.S
linux-2.6.18-xen/arch/i386/kernel/vsyscall-note-xen.S
---- linux-2.6.18/arch/i386/kernel/vsyscall-note-xen.S 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags
linux-2.6.18.3/arch/i386/kernel/vsyscall-note-xen.S
linux-2.6.18-xen/arch/i386/kernel/vsyscall-note-xen.S
+--- linux-2.6.18.3/arch/i386/kernel/vsyscall-note-xen.S 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/i386/kernel/vsyscall-note-xen.S 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,32 @@
+/*
@@ -16140,8 +16120,8 @@
+NOTE_KERNELCAP_BEGIN(1, 1)
+NOTE_KERNELCAP(1, "nosegneg") /* Change 1 back to 0 when glibc is fixed! */
+NOTE_KERNELCAP_END
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/lib/delay.c
linux-2.6.18-xen/arch/i386/lib/delay.c
---- linux-2.6.18/arch/i386/lib/delay.c 2006-09-20 05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/lib/delay.c
linux-2.6.18-xen/arch/i386/lib/delay.c
+--- linux-2.6.18.3/arch/i386/lib/delay.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/i386/lib/delay.c 2006-11-19 14:26:22.000000000
+0100
@@ -61,6 +61,7 @@
delay_fn = delay_tsc;
@@ -16160,19 +16140,122 @@
void __delay(unsigned long loops)
{
delay_fn(loops);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/mach-xen/Makefile
linux-2.6.18-xen/arch/i386/mach-xen/Makefile
---- linux-2.6.18/arch/i386/mach-xen/Makefile 1970-01-01 01:00:00.000000000
+0100
-+++ linux-2.6.18-xen/arch/i386/mach-xen/Makefile 2006-11-19
14:26:22.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/mach-xen/irqflags.c
linux-2.6.18-xen/arch/i386/mach-xen/irqflags.c
+--- linux-2.6.18.3/arch/i386/mach-xen/irqflags.c 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/i386/mach-xen/irqflags.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,99 @@
++#include <linux/module.h>
++#include <linux/smp.h>
++#include <asm/irqflags.h>
++#include <asm/hypervisor.h>
++
++/* interrupt control.. */
++
++/*
++ * The use of 'barrier' in the following reflects their use as local-lock
++ * operations. Reentrancy must be prevented (e.g., __cli()) /before/ following
++ * critical operations are executed. All critical operations must complete
++ * /before/ reentrancy is permitted (e.g., __sti()). Alpha architecture also
++ * includes these barriers, for example.
++ */
++
++unsigned long __raw_local_save_flags(void)
++{
++ struct vcpu_info *_vcpu;
++ unsigned long flags;
++
++ preempt_disable();
++ _vcpu = &HYPERVISOR_shared_info->vcpu_info[__vcpu_id];
++ flags = _vcpu->evtchn_upcall_mask;
++ preempt_enable();
++
++ return flags;
++}
++EXPORT_SYMBOL(__raw_local_save_flags);
++
++void raw_local_irq_restore(unsigned long flags)
++{
++ struct vcpu_info *_vcpu;
++
++ preempt_disable();
++ _vcpu = &HYPERVISOR_shared_info->vcpu_info[__vcpu_id];
++ if ((_vcpu->evtchn_upcall_mask = flags) == 0) {
++ barrier(); /* unmask then check (avoid races) */
++ if (unlikely(_vcpu->evtchn_upcall_pending))
++ force_evtchn_callback();
++ preempt_enable();
++ } else
++ preempt_enable_no_resched();
++
++}
++EXPORT_SYMBOL(raw_local_irq_restore);
++
++void raw_local_irq_disable(void)
++{
++ struct vcpu_info *_vcpu;
++
++ preempt_disable();
++ _vcpu = &HYPERVISOR_shared_info->vcpu_info[__vcpu_id];
++ _vcpu->evtchn_upcall_mask = 1;
++ preempt_enable_no_resched();
++}
++EXPORT_SYMBOL(raw_local_irq_disable);
++
++void raw_local_irq_enable(void)
++{
++ struct vcpu_info *_vcpu;
++
++ preempt_disable();
++ _vcpu = &HYPERVISOR_shared_info->vcpu_info[__vcpu_id];
++ _vcpu->evtchn_upcall_mask = 0;
++ barrier(); /* unmask then check (avoid races) */
++ if (unlikely(_vcpu->evtchn_upcall_pending))
++ force_evtchn_callback();
++ preempt_enable();
++}
++EXPORT_SYMBOL(raw_local_irq_enable);
++
++/* Cannot use preempt_enable() here as we would recurse in preempt_sched(). */
++int raw_irqs_disabled(void)
++{
++ struct vcpu_info *_vcpu;
++ int disabled;
++
++ preempt_disable();
++ _vcpu = &HYPERVISOR_shared_info->vcpu_info[__vcpu_id];
++ disabled = (_vcpu->evtchn_upcall_mask != 0);
++ preempt_enable_no_resched();
++ return disabled;
++}
++EXPORT_SYMBOL(raw_irqs_disabled);
++
++unsigned long __raw_local_irq_save(void)
++{
++ struct vcpu_info *_vcpu;
++ unsigned long flags;
++
++ preempt_disable();
++ _vcpu = &HYPERVISOR_shared_info->vcpu_info[__vcpu_id];
++ flags = _vcpu->evtchn_upcall_mask;
++ _vcpu->evtchn_upcall_mask = 1;
++ preempt_enable_no_resched();
++
++ return flags;
++}
++EXPORT_SYMBOL(__raw_local_irq_save);
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/mach-xen/Makefile
linux-2.6.18-xen/arch/i386/mach-xen/Makefile
+--- linux-2.6.18.3/arch/i386/mach-xen/Makefile 1970-01-01 01:00:00.000000000
+0100
++++ linux-2.6.18-xen/arch/i386/mach-xen/Makefile 2006-12-05
18:42:36.000000000 +0100
@@ -0,0 +1,5 @@
+#
+# Makefile for the linux kernel.
+#
+
-+obj-y := setup.o
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/mach-xen/setup.c
linux-2.6.18-xen/arch/i386/mach-xen/setup.c
---- linux-2.6.18/arch/i386/mach-xen/setup.c 1970-01-01 01:00:00.000000000
+0100
-+++ linux-2.6.18-xen/arch/i386/mach-xen/setup.c 2006-11-19
14:26:22.000000000 +0100
-@@ -0,0 +1,153 @@
++obj-y := setup.o irqflags.o
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/mach-xen/setup.c
linux-2.6.18-xen/arch/i386/mach-xen/setup.c
+--- linux-2.6.18.3/arch/i386/mach-xen/setup.c 1970-01-01 01:00:00.000000000
+0100
++++ linux-2.6.18-xen/arch/i386/mach-xen/setup.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,154 @@
+/*
+ * Machine specific setup for generic
+ */
@@ -16185,6 +16268,7 @@
+#include <asm/arch_hooks.h>
+#include <asm/e820.h>
+#include <asm/setup.h>
++#include <asm/fixmap.h>
+
+#include <xen/interface/callback.h>
+#include <xen/interface/memory.h>
@@ -16326,8 +16410,8 @@
+void __init pre_setup_arch_hook(void)
+{
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/Makefile
linux-2.6.18-xen/arch/i386/Makefile
---- linux-2.6.18/arch/i386/Makefile 2006-09-20 05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/Makefile
linux-2.6.18-xen/arch/i386/Makefile
+--- linux-2.6.18.3/arch/i386/Makefile 2006-09-20 05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/i386/Makefile 2006-11-19 14:26:21.000000000
+0100
@@ -48,6 +48,11 @@
@@ -16385,8 +16469,8 @@
arch/$(ARCH)/boot/image.iso \
arch/$(ARCH)/boot/mtools.conf
+CLEAN_FILES += vmlinuz vmlinux-stripped
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/mm/fault-xen.c
linux-2.6.18-xen/arch/i386/mm/fault-xen.c
---- linux-2.6.18/arch/i386/mm/fault-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/mm/fault-xen.c
linux-2.6.18-xen/arch/i386/mm/fault-xen.c
+--- linux-2.6.18.3/arch/i386/mm/fault-xen.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/mm/fault-xen.c 2006-11-19 14:26:22.000000000
+0100
@@ -0,0 +1,770 @@
+/*
@@ -17159,8 +17243,8 @@
+ }
+}
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/mm/highmem-xen.c
linux-2.6.18-xen/arch/i386/mm/highmem-xen.c
---- linux-2.6.18/arch/i386/mm/highmem-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/mm/highmem-xen.c
linux-2.6.18-xen/arch/i386/mm/highmem-xen.c
+--- linux-2.6.18.3/arch/i386/mm/highmem-xen.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/mm/highmem-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,133 @@
+#include <linux/highmem.h>
@@ -17296,8 +17380,8 @@
+EXPORT_SYMBOL(kmap_atomic);
+EXPORT_SYMBOL(kunmap_atomic);
+EXPORT_SYMBOL(kmap_atomic_to_page);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/mm/hypervisor.c
linux-2.6.18-xen/arch/i386/mm/hypervisor.c
---- linux-2.6.18/arch/i386/mm/hypervisor.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/mm/hypervisor.c
linux-2.6.18-xen/arch/i386/mm/hypervisor.c
+--- linux-2.6.18.3/arch/i386/mm/hypervisor.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/mm/hypervisor.c 2006-11-19 14:26:22.000000000
+0100
@@ -0,0 +1,457 @@
+/******************************************************************************
@@ -17757,8 +17841,8 @@
+ mach_lp, (u64)entry_a | ((u64)entry_b<<32));
+}
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/mm/init-xen.c
linux-2.6.18-xen/arch/i386/mm/init-xen.c
---- linux-2.6.18/arch/i386/mm/init-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/mm/init-xen.c
linux-2.6.18-xen/arch/i386/mm/init-xen.c
+--- linux-2.6.18.3/arch/i386/mm/init-xen.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/mm/init-xen.c 2006-11-19 14:26:22.000000000
+0100
@@ -0,0 +1,851 @@
+/*
@@ -18612,8 +18696,8 @@
+}
+#endif
+
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/mm/ioremap-xen.c
linux-2.6.18-xen/arch/i386/mm/ioremap-xen.c
---- linux-2.6.18/arch/i386/mm/ioremap-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/mm/ioremap-xen.c
linux-2.6.18-xen/arch/i386/mm/ioremap-xen.c
+--- linux-2.6.18.3/arch/i386/mm/ioremap-xen.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/mm/ioremap-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,443 @@
+/*
@@ -19059,8 +19143,8 @@
+ --nrpages;
+ }
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/mm/Makefile
linux-2.6.18-xen/arch/i386/mm/Makefile
---- linux-2.6.18/arch/i386/mm/Makefile 2006-09-20 05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/mm/Makefile
linux-2.6.18-xen/arch/i386/mm/Makefile
+--- linux-2.6.18.3/arch/i386/mm/Makefile 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/i386/mm/Makefile 2006-11-19 14:26:22.000000000
+0100
@@ -8,3 +8,11 @@
obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
@@ -19074,8 +19158,8 @@
+
+obj-y := $(call cherrypickxen, $(obj-y))
+endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/mm/pageattr.c
linux-2.6.18-xen/arch/i386/mm/pageattr.c
---- linux-2.6.18/arch/i386/mm/pageattr.c 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/mm/pageattr.c
linux-2.6.18-xen/arch/i386/mm/pageattr.c
+--- linux-2.6.18.3/arch/i386/mm/pageattr.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/i386/mm/pageattr.c 2006-11-19 14:26:22.000000000
+0100
@@ -84,7 +84,7 @@
unsigned long flags;
@@ -19086,44 +19170,8 @@
return;
spin_lock_irqsave(&pgd_lock, flags);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/mm/pgtable.c
linux-2.6.18-xen/arch/i386/mm/pgtable.c
---- linux-2.6.18/arch/i386/mm/pgtable.c 2006-09-20 05:42:06.000000000
+0200
-+++ linux-2.6.18-xen/arch/i386/mm/pgtable.c 2006-11-19 14:26:22.000000000
+0100
-@@ -12,6 +12,7 @@
- #include <linux/slab.h>
- #include <linux/pagemap.h>
- #include <linux/spinlock.h>
-+#include <linux/module.h>
-
- #include <asm/system.h>
- #include <asm/pgtable.h>
-@@ -137,6 +138,10 @@
- __flush_tlb_one(vaddr);
- }
-
-+static int nr_fixmaps = 0;
-+unsigned long __FIXADDR_TOP = 0xfffff000;
-+EXPORT_SYMBOL(__FIXADDR_TOP);
-+
- void __set_fixmap (enum fixed_addresses idx, unsigned long phys, pgprot_t
flags)
- {
- unsigned long address = __fix_to_virt(idx);
-@@ -146,6 +151,13 @@
- return;
- }
- set_pte_pfn(address, phys >> PAGE_SHIFT, flags);
-+ nr_fixmaps++;
-+}
-+
-+void set_fixaddr_top(unsigned long top)
-+{
-+ BUG_ON(nr_fixmaps > 0);
-+ __FIXADDR_TOP = top - PAGE_SIZE;
- }
-
- pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/mm/pgtable-xen.c
linux-2.6.18-xen/arch/i386/mm/pgtable-xen.c
---- linux-2.6.18/arch/i386/mm/pgtable-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/mm/pgtable-xen.c
linux-2.6.18-xen/arch/i386/mm/pgtable-xen.c
+--- linux-2.6.18.3/arch/i386/mm/pgtable-xen.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/mm/pgtable-xen.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,699 @@
+/*
@@ -19825,8 +19873,8 @@
+ !mm->context.has_foreign_mappings)
+ mm_unpin(mm);
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/oprofile/Makefile
linux-2.6.18-xen/arch/i386/oprofile/Makefile
---- linux-2.6.18/arch/i386/oprofile/Makefile 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/oprofile/Makefile
linux-2.6.18-xen/arch/i386/oprofile/Makefile
+--- linux-2.6.18.3/arch/i386/oprofile/Makefile 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/i386/oprofile/Makefile 2006-11-19
14:26:22.000000000 +0100
@@ -6,7 +6,11 @@
oprofilefs.o oprofile_stats.o \
@@ -19840,8 +19888,8 @@
op_model_ppro.o op_model_p4.o
oprofile-$(CONFIG_X86_IO_APIC) += nmi_timer_int.o
+endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/oprofile/xenoprof.c
linux-2.6.18-xen/arch/i386/oprofile/xenoprof.c
---- linux-2.6.18/arch/i386/oprofile/xenoprof.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/oprofile/xenoprof.c
linux-2.6.18-xen/arch/i386/oprofile/xenoprof.c
+--- linux-2.6.18.3/arch/i386/oprofile/xenoprof.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/i386/oprofile/xenoprof.c 2006-11-19
14:26:22.000000000 +0100
@@ -0,0 +1,584 @@
+/**
@@ -20428,9 +20476,9 @@
+ }
+
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/pci/irq-xen.c
linux-2.6.18-xen/arch/i386/pci/irq-xen.c
---- linux-2.6.18/arch/i386/pci/irq-xen.c 1970-01-01 01:00:00.000000000
+0100
-+++ linux-2.6.18-xen/arch/i386/pci/irq-xen.c 2006-11-19 14:26:22.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/pci/irq-xen.c
linux-2.6.18-xen/arch/i386/pci/irq-xen.c
+--- linux-2.6.18.3/arch/i386/pci/irq-xen.c 1970-01-01 01:00:00.000000000
+0100
++++ linux-2.6.18-xen/arch/i386/pci/irq-xen.c 2006-12-05 18:42:36.000000000
+0100
@@ -0,0 +1,1206 @@
+/*
+ * Low-Level PCI Support for PC -- Routing of Interrupts
@@ -20694,13 +20742,13 @@
+ */
+static int pirq_via586_get(struct pci_dev *router, struct pci_dev *dev, int
pirq)
+{
-+ static const unsigned int pirqmap[4] = { 3, 2, 5, 1 };
++ static const unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 };
+ return read_config_nybble(router, 0x55, pirqmap[pirq-1]);
+}
+
+static int pirq_via586_set(struct pci_dev *router, struct pci_dev *dev, int
pirq, int irq)
+{
-+ static const unsigned int pirqmap[4] = { 3, 2, 5, 1 };
++ static const unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 };
+ write_config_nybble(router, 0x55, pirqmap[pirq-1], irq);
+ return 1;
+}
@@ -21638,8 +21686,8 @@
+
+ return count;
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/pci/Makefile
linux-2.6.18-xen/arch/i386/pci/Makefile
---- linux-2.6.18/arch/i386/pci/Makefile 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/pci/Makefile
linux-2.6.18-xen/arch/i386/pci/Makefile
+--- linux-2.6.18.3/arch/i386/pci/Makefile 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/i386/pci/Makefile 2006-11-19 14:26:22.000000000
+0100
@@ -4,6 +4,10 @@
obj-$(CONFIG_PCI_MMCONFIG) += mmconfig.o direct.o
@@ -21661,8 +21709,8 @@
+include $(srctree)/scripts/Makefile.xen
+obj-y := $(call cherrypickxen, $(obj-y))
+endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/pci/pcifront.c
linux-2.6.18-xen/arch/i386/pci/pcifront.c
---- linux-2.6.18/arch/i386/pci/pcifront.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/pci/pcifront.c
linux-2.6.18-xen/arch/i386/pci/pcifront.c
+--- linux-2.6.18.3/arch/i386/pci/pcifront.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/i386/pci/pcifront.c 2006-11-19 14:26:22.000000000
+0100
@@ -0,0 +1,55 @@
+/*
@@ -21720,8 +21768,8 @@
+}
+
+arch_initcall(pcifront_x86_stub_init);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/i386/power/Makefile
linux-2.6.18-xen/arch/i386/power/Makefile
---- linux-2.6.18/arch/i386/power/Makefile 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/i386/power/Makefile
linux-2.6.18-xen/arch/i386/power/Makefile
+--- linux-2.6.18.3/arch/i386/power/Makefile 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/i386/power/Makefile 2006-11-19 14:26:22.000000000
+0100
@@ -1,2 +1,4 @@
-obj-$(CONFIG_PM) += cpu.o
@@ -21729,8 +21777,8 @@
+obj-$(CONFIG_SOFTWARE_SUSPEND) += cpu.o
+obj-$(CONFIG_ACPI_SLEEP) += cpu.o
obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/dig/setup.c
linux-2.6.18-xen/arch/ia64/dig/setup.c
---- linux-2.6.18/arch/ia64/dig/setup.c 2006-09-20 05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/dig/setup.c
linux-2.6.18-xen/arch/ia64/dig/setup.c
+--- linux-2.6.18.3/arch/ia64/dig/setup.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/ia64/dig/setup.c 2006-11-19 14:26:22.000000000
+0100
@@ -24,6 +24,8 @@
#include <asm/machvec.h>
@@ -21761,8 +21809,8 @@
+ xen_start_info->console.domU.evtchn = 0;
+#endif
}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/hp/sim/Makefile
linux-2.6.18-xen/arch/ia64/hp/sim/Makefile
---- linux-2.6.18/arch/ia64/hp/sim/Makefile 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/hp/sim/Makefile
linux-2.6.18-xen/arch/ia64/hp/sim/Makefile
+--- linux-2.6.18.3/arch/ia64/hp/sim/Makefile 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/ia64/hp/sim/Makefile 2006-11-19 14:26:22.000000000
+0100
@@ -14,3 +14,5 @@
obj-$(CONFIG_HP_SIMSERIAL) += simserial.o
@@ -21770,8 +21818,8 @@
obj-$(CONFIG_HP_SIMSCSI) += simscsi.o
+obj-$(CONFIG_XEN) += simserial.o
+obj-$(CONFIG_XEN) += hpsim_console.o
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/Kconfig
linux-2.6.18-xen/arch/ia64/Kconfig
---- linux-2.6.18/arch/ia64/Kconfig 2006-09-20 05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/Kconfig
linux-2.6.18-xen/arch/ia64/Kconfig
+--- linux-2.6.18.3/arch/ia64/Kconfig 2006-09-20 05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/ia64/Kconfig 2006-11-19 14:26:22.000000000 +0100
@@ -58,6 +58,20 @@
bool
@@ -21851,8 +21899,8 @@
+endif
+
+source "drivers/xen/Kconfig"
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/kernel/asm-offsets.c
linux-2.6.18-xen/arch/ia64/kernel/asm-offsets.c
---- linux-2.6.18/arch/ia64/kernel/asm-offsets.c 2006-09-20
05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/kernel/asm-offsets.c
linux-2.6.18-xen/arch/ia64/kernel/asm-offsets.c
+--- linux-2.6.18.3/arch/ia64/kernel/asm-offsets.c 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/ia64/kernel/asm-offsets.c 2006-11-19
14:26:22.000000000 +0100
@@ -268,4 +268,29 @@
DEFINE(IA64_TIME_SOURCE_MMIO64, TIME_SOURCE_MMIO64);
@@ -21884,8 +21932,8 @@
+ DEFINE_MAPPED_REG_OFS(XSI_BANK1_R16_OFS, bank1_regs[0]);
+#endif /* CONFIG_XEN */
}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/kernel/entry.S
linux-2.6.18-xen/arch/ia64/kernel/entry.S
---- linux-2.6.18/arch/ia64/kernel/entry.S 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/kernel/entry.S
linux-2.6.18-xen/arch/ia64/kernel/entry.S
+--- linux-2.6.18.3/arch/ia64/kernel/entry.S 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/ia64/kernel/entry.S 2006-11-19 14:26:22.000000000
+0100
@@ -180,7 +180,7 @@
* called. The code starting at .map relies on this. The rest of the code
@@ -22006,8 +22054,8 @@
;;
mov ar.unat=r9
br.many b7
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/kernel/gate.lds.S
linux-2.6.18-xen/arch/ia64/kernel/gate.lds.S
---- linux-2.6.18/arch/ia64/kernel/gate.lds.S 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/kernel/gate.lds.S
linux-2.6.18-xen/arch/ia64/kernel/gate.lds.S
+--- linux-2.6.18.3/arch/ia64/kernel/gate.lds.S 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/ia64/kernel/gate.lds.S 2006-11-19
14:26:22.000000000 +0100
@@ -43,6 +43,28 @@
__start_gate_brl_fsys_bubble_down_patchlist
= .;
@@ -22038,8 +22086,8 @@
}
:readable
.IA_64.unwind_info : { *(.IA_64.unwind_info*) }
.IA_64.unwind : { *(.IA_64.unwind*) }
:readable :unwind
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/kernel/gate.S
linux-2.6.18-xen/arch/ia64/kernel/gate.S
---- linux-2.6.18/arch/ia64/kernel/gate.S 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/kernel/gate.S
linux-2.6.18-xen/arch/ia64/kernel/gate.S
+--- linux-2.6.18.3/arch/ia64/kernel/gate.S 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/ia64/kernel/gate.S 2006-11-19 14:26:22.000000000
+0100
@@ -6,13 +6,15 @@
* David Mosberger-Tang <davidm@xxxxxxxxxx>
@@ -22210,8 +22258,8 @@
(p9) mov r8=ENOSYS
FSYS_RETURN
END(__kernel_syscall_via_epc)
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/kernel/head.S
linux-2.6.18-xen/arch/ia64/kernel/head.S
---- linux-2.6.18/arch/ia64/kernel/head.S 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/kernel/head.S
linux-2.6.18-xen/arch/ia64/kernel/head.S
+--- linux-2.6.18.3/arch/ia64/kernel/head.S 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/ia64/kernel/head.S 2006-11-19 14:26:22.000000000
+0100
@@ -367,6 +367,12 @@
;;
@@ -22226,8 +22274,8 @@
#ifdef CONFIG_SMP
(isAP) br.call.sptk.many rp=start_secondary
.ret0:
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/kernel/iosapic.c
linux-2.6.18-xen/arch/ia64/kernel/iosapic.c
---- linux-2.6.18/arch/ia64/kernel/iosapic.c 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/kernel/iosapic.c
linux-2.6.18-xen/arch/ia64/kernel/iosapic.c
+--- linux-2.6.18.3/arch/ia64/kernel/iosapic.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/ia64/kernel/iosapic.c 2006-11-19
14:26:22.000000000 +0100
@@ -159,6 +159,65 @@
static int iosapic_kmalloc_ok;
@@ -22315,8 +22363,8 @@
if (pcat_compat) {
/*
* Disable the compatibility mode interrupts (8259 style),
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/kernel/irq_ia64.c
linux-2.6.18-xen/arch/ia64/kernel/irq_ia64.c
---- linux-2.6.18/arch/ia64/kernel/irq_ia64.c 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/kernel/irq_ia64.c
linux-2.6.18-xen/arch/ia64/kernel/irq_ia64.c
+--- linux-2.6.18.3/arch/ia64/kernel/irq_ia64.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/ia64/kernel/irq_ia64.c 2006-11-19
14:26:22.000000000 +0100
@@ -30,6 +30,9 @@
#include <linux/smp_lock.h>
@@ -22620,8 +22668,8 @@
#ifdef CONFIG_SMP
phys_cpu_id = cpu_physical_id(cpu);
#else
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/kernel/pal.S
linux-2.6.18-xen/arch/ia64/kernel/pal.S
---- linux-2.6.18/arch/ia64/kernel/pal.S 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/kernel/pal.S
linux-2.6.18-xen/arch/ia64/kernel/pal.S
+--- linux-2.6.18.3/arch/ia64/kernel/pal.S 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/ia64/kernel/pal.S 2006-11-19 14:26:23.000000000
+0100
@@ -16,6 +16,7 @@
#include <asm/processor.h>
@@ -22649,8 +22697,8 @@
/*
* Make a PAL call using the stacked registers calling convention.
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/kernel/patch.c
linux-2.6.18-xen/arch/ia64/kernel/patch.c
---- linux-2.6.18/arch/ia64/kernel/patch.c 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/kernel/patch.c
linux-2.6.18-xen/arch/ia64/kernel/patch.c
+--- linux-2.6.18.3/arch/ia64/kernel/patch.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/ia64/kernel/patch.c 2006-11-19 14:26:23.000000000
+0100
@@ -184,6 +184,73 @@
ia64_srlz_i();
@@ -22737,8 +22785,8 @@
ia64_patch_vtop(START(vtop), END(vtop));
ia64_patch_mckinley_e9(START(mckinley_e9), END(mckinley_e9));
}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/kernel/setup.c
linux-2.6.18-xen/arch/ia64/kernel/setup.c
---- linux-2.6.18/arch/ia64/kernel/setup.c 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/kernel/setup.c
linux-2.6.18-xen/arch/ia64/kernel/setup.c
+--- linux-2.6.18.3/arch/ia64/kernel/setup.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/ia64/kernel/setup.c 2006-11-19 14:26:23.000000000
+0100
@@ -60,6 +60,10 @@
#include <asm/system.h>
@@ -22943,8 +22991,8 @@
pm_idle = default_idle;
}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/Makefile
linux-2.6.18-xen/arch/ia64/Makefile
---- linux-2.6.18/arch/ia64/Makefile 2006-09-20 05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/Makefile
linux-2.6.18-xen/arch/ia64/Makefile
+--- linux-2.6.18.3/arch/ia64/Makefile 2006-09-20 05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/ia64/Makefile 2006-11-19 14:26:22.000000000
+0100
@@ -45,6 +45,12 @@
endif
@@ -22986,8 +23034,8 @@
define archhelp
echo '* compressed - Build compressed kernel image'
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/mm/ioremap.c
linux-2.6.18-xen/arch/ia64/mm/ioremap.c
---- linux-2.6.18/arch/ia64/mm/ioremap.c 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/mm/ioremap.c
linux-2.6.18-xen/arch/ia64/mm/ioremap.c
+--- linux-2.6.18.3/arch/ia64/mm/ioremap.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/ia64/mm/ioremap.c 2006-11-19 14:26:23.000000000
+0100
@@ -16,6 +16,9 @@
static inline void __iomem *
@@ -22999,14 +23047,14 @@
return (void __iomem *) (__IA64_UNCACHED_OFFSET | offset);
}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/xen/drivers/README
linux-2.6.18-xen/arch/ia64/xen/drivers/README
---- linux-2.6.18/arch/ia64/xen/drivers/README 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/xen/drivers/README
linux-2.6.18-xen/arch/ia64/xen/drivers/README
+--- linux-2.6.18.3/arch/ia64/xen/drivers/README 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/ia64/xen/drivers/README 2006-11-19
14:26:23.000000000 +0100
@@ -0,0 +1,2 @@
+This is a temporary location for source/Makefiles that need to be
+patched/reworked in drivers/xen to work with xenlinux/ia64.
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/xen/hypercall.S
linux-2.6.18-xen/arch/ia64/xen/hypercall.S
---- linux-2.6.18/arch/ia64/xen/hypercall.S 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/xen/hypercall.S
linux-2.6.18-xen/arch/ia64/xen/hypercall.S
+--- linux-2.6.18.3/arch/ia64/xen/hypercall.S 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/ia64/xen/hypercall.S 2006-11-19 14:26:23.000000000
+0100
@@ -0,0 +1,413 @@
+/*
@@ -23422,10 +23470,10 @@
+ ;;
+END(xen_ssm_i_1)
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/xen/hypervisor.c
linux-2.6.18-xen/arch/ia64/xen/hypervisor.c
---- linux-2.6.18/arch/ia64/xen/hypervisor.c 1970-01-01 01:00:00.000000000
+0100
-+++ linux-2.6.18-xen/arch/ia64/xen/hypervisor.c 2006-11-19
14:26:23.000000000 +0100
-@@ -0,0 +1,833 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/xen/hypervisor.c
linux-2.6.18-xen/arch/ia64/xen/hypervisor.c
+--- linux-2.6.18.3/arch/ia64/xen/hypervisor.c 1970-01-01 01:00:00.000000000
+0100
++++ linux-2.6.18-xen/arch/ia64/xen/hypervisor.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,847 @@
+/******************************************************************************
+ * include/asm-ia64/shadow.h
+ *
@@ -23974,6 +24022,7 @@
+};
+
+struct xen_ia64_privcmd_vma {
++ int is_privcmd_mmapped;
+ struct xen_ia64_privcmd_range* range;
+
+ unsigned long num_entries;
@@ -24112,12 +24161,15 @@
+static void
+xen_ia64_privcmd_vma_open(struct vm_area_struct* vma)
+{
++ struct xen_ia64_privcmd_vma* old_privcmd_vma = (struct
xen_ia64_privcmd_vma*)vma->vm_private_data;
+ struct xen_ia64_privcmd_vma* privcmd_vma = (struct
xen_ia64_privcmd_vma*)vma->vm_private_data;
+ struct xen_ia64_privcmd_range* privcmd_range = privcmd_vma->range;
+
+ atomic_inc(&privcmd_range->ref_count);
+ // vm_op->open() can't fail.
+ privcmd_vma = kmalloc(sizeof(*privcmd_vma), GFP_KERNEL | __GFP_NOFAIL);
++ // copy original value if necessary
++ privcmd_vma->is_privcmd_mmapped = old_privcmd_vma->is_privcmd_mmapped;
+
+ __xen_ia64_privcmd_vma_open(vma, privcmd_vma, privcmd_range);
+}
@@ -24153,6 +24205,14 @@
+}
+
+int
++privcmd_enforce_singleshot_mapping(struct vm_area_struct *vma)
++{
++ struct xen_ia64_privcmd_vma* privcmd_vma =
++ (struct xen_ia64_privcmd_vma *)vma->vm_private_data;
++ return (xchg(&privcmd_vma->is_privcmd_mmapped, 1) == 0);
++}
++
++int
+privcmd_mmap(struct file * file, struct vm_area_struct * vma)
+{
+ int error;
@@ -24177,6 +24237,8 @@
+ if (privcmd_vma == NULL) {
+ goto out_enomem1;
+ }
++ privcmd_vma->is_privcmd_mmapped = 0;
++
+ res = kzalloc(sizeof(*res), GFP_KERNEL);
+ if (res == NULL) {
+ goto out_enomem1;
@@ -24259,8 +24321,8 @@
+ /* Just trigger a tick. */
+ ia64_cpu_local_tick();
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/xen/Makefile
linux-2.6.18-xen/arch/ia64/xen/Makefile
---- linux-2.6.18/arch/ia64/xen/Makefile 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/xen/Makefile
linux-2.6.18-xen/arch/ia64/xen/Makefile
+--- linux-2.6.18.3/arch/ia64/xen/Makefile 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/ia64/xen/Makefile 2006-11-19 14:26:23.000000000
+0100
@@ -0,0 +1,8 @@
+#
@@ -24271,8 +24333,8 @@
+ hypervisor.o pci-dma-xen.o util.o
+
+pci-dma-xen-y := ../../i386/kernel/pci-dma-xen.o
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/xen/util.c
linux-2.6.18-xen/arch/ia64/xen/util.c
---- linux-2.6.18/arch/ia64/xen/util.c 1970-01-01 01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/xen/util.c
linux-2.6.18-xen/arch/ia64/xen/util.c
+--- linux-2.6.18.3/arch/ia64/xen/util.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/ia64/xen/util.c 2006-11-19 14:26:23.000000000
+0100
@@ -0,0 +1,115 @@
+/******************************************************************************
@@ -24390,8 +24452,8 @@
+ * tab-width: 8
+ * End:
+ */
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/xen/xenentry.S
linux-2.6.18-xen/arch/ia64/xen/xenentry.S
---- linux-2.6.18/arch/ia64/xen/xenentry.S 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/xen/xenentry.S
linux-2.6.18-xen/arch/ia64/xen/xenentry.S
+--- linux-2.6.18.3/arch/ia64/xen/xenentry.S 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/ia64/xen/xenentry.S 2006-11-19 14:26:23.000000000
+0100
@@ -0,0 +1,867 @@
+/*
@@ -25261,8 +25323,8 @@
+#else
+END(ia64_leave_kernel)
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/xen/xenhpski.c
linux-2.6.18-xen/arch/ia64/xen/xenhpski.c
---- linux-2.6.18/arch/ia64/xen/xenhpski.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/xen/xenhpski.c
linux-2.6.18-xen/arch/ia64/xen/xenhpski.c
+--- linux-2.6.18.3/arch/ia64/xen/xenhpski.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/ia64/xen/xenhpski.c 2006-11-19 14:26:23.000000000
+0100
@@ -0,0 +1,19 @@
+
@@ -25284,8 +25346,8 @@
+ return 1;
+}
+
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/xen/xenivt.S
linux-2.6.18-xen/arch/ia64/xen/xenivt.S
---- linux-2.6.18/arch/ia64/xen/xenivt.S 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/xen/xenivt.S
linux-2.6.18-xen/arch/ia64/xen/xenivt.S
+--- linux-2.6.18.3/arch/ia64/xen/xenivt.S 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/ia64/xen/xenivt.S 2006-11-19 14:26:23.000000000
+0100
@@ -0,0 +1,2169 @@
+/*
@@ -27457,8 +27519,8 @@
+ br.call.sptk.many b6=evtchn_do_upcall
+END(xen_event_callback)
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/xen/xenminstate.h
linux-2.6.18-xen/arch/ia64/xen/xenminstate.h
---- linux-2.6.18/arch/ia64/xen/xenminstate.h 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/xen/xenminstate.h
linux-2.6.18-xen/arch/ia64/xen/xenminstate.h
+--- linux-2.6.18.3/arch/ia64/xen/xenminstate.h 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/ia64/xen/xenminstate.h 2006-11-19
14:26:23.000000000 +0100
@@ -0,0 +1,368 @@
+
@@ -27829,8 +27891,8 @@
+#else
+#define SAVE_MIN DO_SAVE_MIN( , mov r30=r0, )
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/xen/xenpal.S
linux-2.6.18-xen/arch/ia64/xen/xenpal.S
---- linux-2.6.18/arch/ia64/xen/xenpal.S 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/xen/xenpal.S
linux-2.6.18-xen/arch/ia64/xen/xenpal.S
+--- linux-2.6.18.3/arch/ia64/xen/xenpal.S 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/ia64/xen/xenpal.S 2006-11-19 14:26:23.000000000
+0100
@@ -0,0 +1,76 @@
+/*
@@ -27909,8 +27971,8 @@
+ srlz.d // seralize restoration of psr.l
+ br.ret.sptk.many b0
+END(xen_pal_call_static)
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/ia64/xen/xensetup.S
linux-2.6.18-xen/arch/ia64/xen/xensetup.S
---- linux-2.6.18/arch/ia64/xen/xensetup.S 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/ia64/xen/xensetup.S
linux-2.6.18-xen/arch/ia64/xen/xensetup.S
+--- linux-2.6.18.3/arch/ia64/xen/xensetup.S 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/ia64/xen/xensetup.S 2006-11-19 14:26:23.000000000
+0100
@@ -0,0 +1,54 @@
+/*
@@ -27967,8 +28029,8 @@
+ mov ar.pfs=r20
+ br.ret.sptk.many b0
+END(HYPERVISOR_suspend)
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/um/kernel/physmem.c
linux-2.6.18-xen/arch/um/kernel/physmem.c
---- linux-2.6.18/arch/um/kernel/physmem.c 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/um/kernel/physmem.c
linux-2.6.18-xen/arch/um/kernel/physmem.c
+--- linux-2.6.18.3/arch/um/kernel/physmem.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/um/kernel/physmem.c 2006-11-19 14:26:32.000000000
+0100
@@ -226,7 +226,7 @@
EXPORT_SYMBOL(physmem_remove_mapping);
@@ -27988,8 +28050,8 @@
}
int is_remapped(void *virt)
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/ia32/ia32entry-xen.S
linux-2.6.18-xen/arch/x86_64/ia32/ia32entry-xen.S
---- linux-2.6.18/arch/x86_64/ia32/ia32entry-xen.S 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/ia32/ia32entry-xen.S
linux-2.6.18-xen/arch/x86_64/ia32/ia32entry-xen.S
+--- linux-2.6.18.3/arch/x86_64/ia32/ia32entry-xen.S 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/ia32/ia32entry-xen.S 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,743 @@
+/*
@@ -28735,8 +28797,8 @@
+ .quad compat_sys_vmsplice
+ .quad compat_sys_move_pages
+ia32_syscall_end:
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/ia32/Makefile
linux-2.6.18-xen/arch/x86_64/ia32/Makefile
---- linux-2.6.18/arch/x86_64/ia32/Makefile 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/ia32/Makefile
linux-2.6.18-xen/arch/x86_64/ia32/Makefile
+--- linux-2.6.18.3/arch/x86_64/ia32/Makefile 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/x86_64/ia32/Makefile 2006-11-19 14:26:33.000000000
+0100
@@ -27,9 +27,25 @@
-Wl,-soname=linux-gate.so.1 -o $@ \
@@ -28766,8 +28828,8 @@
+
+obj-y := $(call cherrypickxen, $(obj-y))
+endif
-diff -urN -x .hg -x .hgtags
linux-2.6.18/arch/x86_64/ia32/syscall32_syscall-xen.S
linux-2.6.18-xen/arch/x86_64/ia32/syscall32_syscall-xen.S
---- linux-2.6.18/arch/x86_64/ia32/syscall32_syscall-xen.S 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags
linux-2.6.18.3/arch/x86_64/ia32/syscall32_syscall-xen.S
linux-2.6.18-xen/arch/x86_64/ia32/syscall32_syscall-xen.S
+--- linux-2.6.18.3/arch/x86_64/ia32/syscall32_syscall-xen.S 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/ia32/syscall32_syscall-xen.S 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,28 @@
+/* 32bit VDSOs mapped into user space. */
@@ -28798,8 +28860,8 @@
+syscall32_sysenter:
+ .incbin "arch/x86_64/ia32/vsyscall-sysenter.so"
+syscall32_sysenter_end:
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/ia32/syscall32-xen.c
linux-2.6.18-xen/arch/x86_64/ia32/syscall32-xen.c
---- linux-2.6.18/arch/x86_64/ia32/syscall32-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/ia32/syscall32-xen.c
linux-2.6.18-xen/arch/x86_64/ia32/syscall32-xen.c
+--- linux-2.6.18.3/arch/x86_64/ia32/syscall32-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/ia32/syscall32-xen.c 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,128 @@
+/* Copyright 2002,2003 Andi Kleen, SuSE Labs */
@@ -28930,8 +28992,8 @@
+ wrmsrl(MSR_CSTAR, ia32_cstar_target);
+#endif
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/ia32/vsyscall-int80.S
linux-2.6.18-xen/arch/x86_64/ia32/vsyscall-int80.S
---- linux-2.6.18/arch/x86_64/ia32/vsyscall-int80.S 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/ia32/vsyscall-int80.S
linux-2.6.18-xen/arch/x86_64/ia32/vsyscall-int80.S
+--- linux-2.6.18.3/arch/x86_64/ia32/vsyscall-int80.S 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/ia32/vsyscall-int80.S 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,58 @@
+/*
@@ -28992,8 +29054,8 @@
+ */
+#define SYSCALL_ENTER_KERNEL int $0x80
+#include "vsyscall-sigreturn.S"
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/ia32/vsyscall-sigreturn.S
linux-2.6.18-xen/arch/x86_64/ia32/vsyscall-sigreturn.S
---- linux-2.6.18/arch/x86_64/ia32/vsyscall-sigreturn.S 2006-09-20
05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags
linux-2.6.18.3/arch/x86_64/ia32/vsyscall-sigreturn.S
linux-2.6.18-xen/arch/x86_64/ia32/vsyscall-sigreturn.S
+--- linux-2.6.18.3/arch/x86_64/ia32/vsyscall-sigreturn.S 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/x86_64/ia32/vsyscall-sigreturn.S 2006-11-19
14:26:33.000000000 +0100
@@ -139,5 +139,5 @@
.align 4
@@ -29002,17 +29064,17 @@
-#include "../../i386/kernel/vsyscall-note.S"
+#include <vsyscall-note.S>
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/Kconfig
linux-2.6.18-xen/arch/x86_64/Kconfig
---- linux-2.6.18/arch/x86_64/Kconfig 2006-09-20 05:42:06.000000000 +0200
-+++ linux-2.6.18-xen/arch/x86_64/Kconfig 2006-11-19 14:26:33.000000000
+0100
-@@ -26,6 +26,7 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/Kconfig
linux-2.6.18-xen/arch/x86_64/Kconfig
+--- linux-2.6.18.3/arch/x86_64/Kconfig 2006-09-20 05:42:06.000000000 +0200
++++ linux-2.6.18-xen/arch/x86_64/Kconfig 2006-12-05 18:42:36.000000000
+0100
+@@ -30,6 +30,7 @@
- config LOCKDEP_SUPPORT
+ config STACKTRACE_SUPPORT
bool
+ depends on !X86_64_XEN
default y
- config STACKTRACE_SUPPORT
+ config SEMAPHORE_SLEEPERS
@@ -135,6 +136,22 @@
endchoice
@@ -29195,27 +29257,16 @@
+source "drivers/xen/Kconfig"
+
source "lib/Kconfig"
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/Kconfig.debug
linux-2.6.18-xen/arch/x86_64/Kconfig.debug
---- linux-2.6.18/arch/x86_64/Kconfig.debug 2006-09-20 05:42:06.000000000
+0200
-+++ linux-2.6.18-xen/arch/x86_64/Kconfig.debug 2006-11-19 14:26:33.000000000
+0100
-@@ -2,6 +2,7 @@
-
- config TRACE_IRQFLAGS_SUPPORT
- bool
-+ depends on !X86_64_XEN
- default y
-
- source "lib/Kconfig.debug"
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/acpi/Makefile
linux-2.6.18-xen/arch/x86_64/kernel/acpi/Makefile
---- linux-2.6.18/arch/x86_64/kernel/acpi/Makefile 2006-09-20
05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/acpi/Makefile
linux-2.6.18-xen/arch/x86_64/kernel/acpi/Makefile
+--- linux-2.6.18.3/arch/x86_64/kernel/acpi/Makefile 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/x86_64/kernel/acpi/Makefile 2006-11-19
14:26:33.000000000 +0100
@@ -7,3 +7,4 @@
processor-y := ../../../i386/kernel/acpi/processor.o
../../../i386/kernel/acpi/cstate.o
endif
+boot-$(CONFIG_XEN) := ../../../i386/kernel/acpi/boot-xen.o
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/apic-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/apic-xen.c
---- linux-2.6.18/arch/x86_64/kernel/apic-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/apic-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/apic-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/apic-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/apic-xen.c 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,197 @@
+/*
@@ -29415,8 +29466,8 @@
+
+ return 1;
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/asm-offsets.c
linux-2.6.18-xen/arch/x86_64/kernel/asm-offsets.c
---- linux-2.6.18/arch/x86_64/kernel/asm-offsets.c 2006-09-20
05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/asm-offsets.c
linux-2.6.18-xen/arch/x86_64/kernel/asm-offsets.c
+--- linux-2.6.18.3/arch/x86_64/kernel/asm-offsets.c 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/x86_64/kernel/asm-offsets.c 2006-11-19
14:26:33.000000000 +0100
@@ -67,8 +67,10 @@
DEFINE(pbe_address, offsetof(struct pbe, address));
@@ -29429,10 +29480,10 @@
BLANK();
DEFINE(crypto_tfm_ctx_offset, offsetof(struct crypto_tfm, __crt_ctx));
return 0;
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/e820-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/e820-xen.c
---- linux-2.6.18/arch/x86_64/kernel/e820-xen.c 1970-01-01 01:00:00.000000000
+0100
-+++ linux-2.6.18-xen/arch/x86_64/kernel/e820-xen.c 2006-11-19
14:26:33.000000000 +0100
-@@ -0,0 +1,758 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/e820-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/e820-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/e820-xen.c 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/x86_64/kernel/e820-xen.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,757 @@
+/*
+ * Handle the memory map.
+ * The functions here do the job until bootmem takes over.
@@ -29482,7 +29533,6 @@
+
+/* Check for some hardcoded bad areas that early boot is not allowed to touch
*/
+static inline int bad_addr(unsigned long *addrp, unsigned long size)
-+
+{
+ unsigned long addr = *addrp, last = addr + size;
+
@@ -30191,8 +30241,8 @@
+ printk(KERN_INFO "Allocating PCI resources starting at %lx (gap:
%lx:%lx)\n",
+ pci_mem_start, gapstart, gapsize);
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/early_printk-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/early_printk-xen.c
---- linux-2.6.18/arch/x86_64/kernel/early_printk-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags
linux-2.6.18.3/arch/x86_64/kernel/early_printk-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/early_printk-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/early_printk-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/early_printk-xen.c 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,304 @@
+
@@ -30499,10 +30549,10 @@
+}
+
+__setup("earlyprintk=", setup_early_printk);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/entry-xen.S
linux-2.6.18-xen/arch/x86_64/kernel/entry-xen.S
---- linux-2.6.18/arch/x86_64/kernel/entry-xen.S 1970-01-01
01:00:00.000000000 +0100
-+++ linux-2.6.18-xen/arch/x86_64/kernel/entry-xen.S 2006-11-19
14:26:33.000000000 +0100
-@@ -0,0 +1,1212 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/entry-xen.S
linux-2.6.18-xen/arch/x86_64/kernel/entry-xen.S
+--- linux-2.6.18.3/arch/x86_64/kernel/entry-xen.S 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/x86_64/kernel/entry-xen.S 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,1213 @@
+/*
+ * linux/arch/x86_64/entry.S
+ *
@@ -30845,7 +30895,8 @@
+ movq %r10,%rcx /* fixup for C */
+ call *sys_call_table(,%rax,8)
+1: movq %rax,RAX-ARGOFFSET(%rsp)
-+ jmp ret_from_sys_call
++ /* Use IRET because user could have changed frame */
++ jmp int_ret_from_sys_call
+ CFI_ENDPROC
+END(system_call)
+
@@ -31715,10 +31766,10 @@
+ CFI_ENDPROC
+ENDPROC(arch_unwind_init_running)
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/genapic_xen.c
linux-2.6.18-xen/arch/x86_64/kernel/genapic_xen.c
---- linux-2.6.18/arch/x86_64/kernel/genapic_xen.c 1970-01-01
01:00:00.000000000 +0100
-+++ linux-2.6.18-xen/arch/x86_64/kernel/genapic_xen.c 2006-11-19
14:26:33.000000000 +0100
-@@ -0,0 +1,174 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/genapic_xen.c
linux-2.6.18-xen/arch/x86_64/kernel/genapic_xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/genapic_xen.c 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/x86_64/kernel/genapic_xen.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,176 @@
+/*
+ * Copyright 2004 James Cleverdon, IBM.
+ * Subject to the GNU Public License, v.2
@@ -31854,12 +31905,14 @@
+ xen_send_IPI_shortcut(APIC_DEST_ALLINC, vector,
APIC_DEST_LOGICAL);
+}
+
++#ifdef CONFIG_XEN_PRIVILEGED_GUEST
+static int xen_apic_id_registered(void)
+{
+ /* better be set */
+ Dprintk("%s\n", __FUNCTION__);
+ return physid_isset(smp_processor_id(), phys_cpu_present_map);
+}
++#endif
+
+static unsigned int xen_cpu_mask_to_apicid(cpumask_t cpumask)
+{
@@ -31893,8 +31946,8 @@
+ .cpu_mask_to_apicid = xen_cpu_mask_to_apicid,
+ .phys_pkg_id = phys_pkg_id,
+};
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/genapic-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/genapic-xen.c
---- linux-2.6.18/arch/x86_64/kernel/genapic-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/genapic-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/genapic-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/genapic-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/genapic-xen.c 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,143 @@
+/*
@@ -32040,8 +32093,8 @@
+ xen_send_IPI_shortcut(APIC_DEST_SELF, vector, APIC_DEST_PHYSICAL);
+#endif
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/head64-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/head64-xen.c
---- linux-2.6.18/arch/x86_64/kernel/head64-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/head64-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/head64-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/head64-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/head64-xen.c 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,161 @@
+/*
@@ -32205,8 +32258,8 @@
+ setup_boot_cpu_data();
+ start_kernel();
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/head-xen.S
linux-2.6.18-xen/arch/x86_64/kernel/head-xen.S
---- linux-2.6.18/arch/x86_64/kernel/head-xen.S 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/head-xen.S
linux-2.6.18-xen/arch/x86_64/kernel/head-xen.S
+--- linux-2.6.18.3/arch/x86_64/kernel/head-xen.S 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/head-xen.S 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,191 @@
+/*
@@ -32400,8 +32453,8 @@
+ ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .quad, hypercall_page)
+ ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz,
"writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel")
+ ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz, "generic")
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/init_task.c
linux-2.6.18-xen/arch/x86_64/kernel/init_task.c
---- linux-2.6.18/arch/x86_64/kernel/init_task.c 2006-09-20
05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/init_task.c
linux-2.6.18-xen/arch/x86_64/kernel/init_task.c
+--- linux-2.6.18.3/arch/x86_64/kernel/init_task.c 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/x86_64/kernel/init_task.c 2006-11-19
14:26:33.000000000 +0100
@@ -37,6 +37,8 @@
struct task_struct init_task = INIT_TASK(init_task);
@@ -32420,8 +32473,8 @@
/* Copies of the original ist values from the tss are only accessed during
* debugging, no special alignment required.
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/io_apic-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/io_apic-xen.c
---- linux-2.6.18/arch/x86_64/kernel/io_apic-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/io_apic-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/io_apic-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/io_apic-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/io_apic-xen.c 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,2263 @@
+/*
@@ -34687,8 +34740,8 @@
+}
+#endif
+#endif /* !CONFIG_XEN */
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/ioport-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/ioport-xen.c
---- linux-2.6.18/arch/x86_64/kernel/ioport-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/ioport-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/ioport-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/ioport-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/ioport-xen.c 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,99 @@
+/*
@@ -34790,8 +34843,112 @@
+
+ return 0;
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/irq-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/irq-xen.c
---- linux-2.6.18/arch/x86_64/kernel/irq-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/irqflags-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/irqflags-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/irqflags-xen.c 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/x86_64/kernel/irqflags-xen.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,100 @@
++#include <linux/module.h>
++#include <linux/smp.h>
++#include <asm/irqflags.h>
++#include <asm/hypervisor.h>
++
++/*
++ * The use of 'barrier' in the following reflects their use as local-lock
++ * operations. Reentrancy must be prevented (e.g., __cli()) /before/ following
++ * critical operations are executed. All critical operations must complete
++ * /before/ reentrancy is permitted (e.g., __sti()). Alpha architecture also
++ * includes these barriers, for example.
++ */
++
++unsigned long __raw_local_save_flags(void)
++{
++ struct vcpu_info *_vcpu;
++ unsigned long flags;
++
++ preempt_disable();
++ _vcpu = &HYPERVISOR_shared_info->vcpu_info[__vcpu_id];
++ flags = _vcpu->evtchn_upcall_mask;
++ preempt_enable();
++
++ return flags;
++}
++EXPORT_SYMBOL(__raw_local_save_flags);
++
++void raw_local_irq_restore(unsigned long flags)
++{
++ struct vcpu_info *_vcpu;
++ preempt_disable();
++ _vcpu = &HYPERVISOR_shared_info->vcpu_info[__vcpu_id];
++ if ((_vcpu->evtchn_upcall_mask = flags) == 0) {
++ barrier(); /* unmask then check (avoid races) */
++ if ( unlikely(_vcpu->evtchn_upcall_pending) )
++ force_evtchn_callback();
++ preempt_enable();
++ } else
++ preempt_enable_no_resched();
++}
++EXPORT_SYMBOL(raw_local_irq_restore);
++
++void raw_local_irq_disable(void)
++{
++ struct vcpu_info *_vcpu;
++
++ preempt_disable();
++ _vcpu = &HYPERVISOR_shared_info->vcpu_info[__vcpu_id];
++ _vcpu->evtchn_upcall_mask = 1;
++ preempt_enable_no_resched();
++}
++EXPORT_SYMBOL(raw_local_irq_disable);
++
++void raw_local_irq_enable(void)
++{
++ struct vcpu_info *_vcpu;
++
++ preempt_disable();
++ _vcpu = &HYPERVISOR_shared_info->vcpu_info[__vcpu_id];
++ _vcpu->evtchn_upcall_mask = 0;
++ barrier(); /* unmask then check (avoid races) */
++ if ( unlikely(_vcpu->evtchn_upcall_pending) )
++ force_evtchn_callback();
++ preempt_enable();
++}
++EXPORT_SYMBOL(raw_local_irq_enable);
++
++/*
++ * For spinlocks, etc.:
++ */
++
++unsigned long __raw_local_irq_save(void)
++{
++ struct vcpu_info *_vcpu;
++ unsigned long flags;
++
++ preempt_disable();
++ _vcpu = &HYPERVISOR_shared_info->vcpu_info[__vcpu_id];
++ flags = _vcpu->evtchn_upcall_mask;
++ _vcpu->evtchn_upcall_mask = 1;
++ preempt_enable_no_resched();
++
++ return flags;
++}
++EXPORT_SYMBOL(__raw_local_irq_save);
++
++/* Cannot use preempt_enable() here as we would recurse in preempt_sched(). */
++int raw_irqs_disabled(void)
++{
++ struct vcpu_info *_vcpu;
++ int disabled;
++
++ preempt_disable();
++ _vcpu = &HYPERVISOR_shared_info->vcpu_info[__vcpu_id];
++ disabled = (_vcpu->evtchn_upcall_mask != 0);
++ preempt_enable_no_resched();
++
++ return disabled;
++}
++EXPORT_SYMBOL(raw_irqs_disabled);
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/irq-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/irq-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/irq-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/irq-xen.c 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,198 @@
+/*
@@ -34992,8 +35149,8 @@
+ printk("unexpected IRQ trap at vector %02x\n", irq);
+}
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/ldt-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/ldt-xen.c
---- linux-2.6.18/arch/x86_64/kernel/ldt-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/ldt-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/ldt-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/ldt-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/ldt-xen.c 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,282 @@
+/*
@@ -35278,9 +35435,9 @@
+ }
+ return ret;
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/Makefile
linux-2.6.18-xen/arch/x86_64/kernel/Makefile
---- linux-2.6.18/arch/x86_64/kernel/Makefile 2006-09-20 05:42:06.000000000
+0200
-+++ linux-2.6.18-xen/arch/x86_64/kernel/Makefile 2006-11-19
14:26:33.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/Makefile
linux-2.6.18-xen/arch/x86_64/kernel/Makefile
+--- linux-2.6.18.3/arch/x86_64/kernel/Makefile 2006-09-20 05:42:06.000000000
+0200
++++ linux-2.6.18-xen/arch/x86_64/kernel/Makefile 2006-12-05
18:42:36.000000000 +0100
@@ -21,11 +21,13 @@
obj-$(CONFIG_X86_CPUID) += cpuid.o
obj-$(CONFIG_SMP) += smp.o smpboot.o trampoline.o
@@ -35296,11 +35453,12 @@
obj-$(CONFIG_SOFTWARE_SUSPEND) += suspend_asm.o
obj-$(CONFIG_CPU_FREQ) += cpufreq/
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
-@@ -55,3 +57,17 @@
+@@ -55,3 +57,18 @@
msr-$(subst m,y,$(CONFIG_X86_MSR)) += ../../i386/kernel/msr.o
alternative-y += ../../i386/kernel/alternative.o
+ifdef CONFIG_XEN
++obj-y += irqflags.o
+time-y += ../../i386/kernel/time-xen.o
+pci-dma-y += ../../i386/kernel/pci-dma-xen.o
+microcode-$(subst m,y,$(CONFIG_MICROCODE)) :=
../../i386/kernel/microcode-xen.o
@@ -35314,8 +35472,8 @@
+obj-y := $(call cherrypickxen, $(obj-y))
+extra-y := $(call cherrypickxen, $(extra-y))
+endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/mpparse-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/mpparse-xen.c
---- linux-2.6.18/arch/x86_64/kernel/mpparse-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/mpparse-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/mpparse-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/mpparse-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/mpparse-xen.c 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,1011 @@
+/*
@@ -36329,8 +36487,8 @@
+
+#endif /*CONFIG_X86_IO_APIC*/
+#endif /*CONFIG_ACPI*/
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/pci-swiotlb-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/pci-swiotlb-xen.c
---- linux-2.6.18/arch/x86_64/kernel/pci-swiotlb-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags
linux-2.6.18.3/arch/x86_64/kernel/pci-swiotlb-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/pci-swiotlb-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/pci-swiotlb-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/pci-swiotlb-xen.c 2006-11-19
14:26:33.000000000 +0100
@@ -0,0 +1,54 @@
+/* Glue code to lib/swiotlb.c */
@@ -36387,10 +36545,10 @@
+ }
+#endif
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/process-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/process-xen.c
---- linux-2.6.18/arch/x86_64/kernel/process-xen.c 1970-01-01
01:00:00.000000000 +0100
-+++ linux-2.6.18-xen/arch/x86_64/kernel/process-xen.c 2006-11-19
14:26:33.000000000 +0100
-@@ -0,0 +1,792 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/process-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/process-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/process-xen.c 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/x86_64/kernel/process-xen.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,787 @@
+/*
+ * linux/arch/x86-64/kernel/process.c
+ *
@@ -36854,18 +37012,6 @@
+ multicall_entry_t _mcl[8], *mcl = _mcl;
+
+ /*
-+ * This is basically '__unlazy_fpu', except that we queue a
-+ * multicall to indicate FPU task switch, rather than
-+ * synchronously trapping to Xen.
-+ */
-+ if (prev_p->thread_info->status & TS_USEDFPU) {
-+ __save_init_fpu(prev_p); /* _not_ save_init_fpu() */
-+ mcl->op = __HYPERVISOR_fpu_taskswitch;
-+ mcl->args[0] = 1;
-+ mcl++;
-+ }
-+
-+ /*
+ * Reload esp0, LDT and the page table pointer:
+ */
+ mcl->op = __HYPERVISOR_stack_switch;
@@ -36932,12 +37078,19 @@
+ if (next->gs)
+ HYPERVISOR_set_segment_base(SEGBASE_GS_USER, next->gs);
+
++ /* Must be after DS reload */
++ if (prev_p->thread_info->status & TS_USEDFPU) {
++ __save_init_fpu(prev_p); /* _not_ save_init_fpu() */
++ HYPERVISOR_fpu_taskswitch(1);
++ }
++
+ /*
-+ * Switch the PDA.
++ * Switch the PDA and FPU contexts.
+ */
+ prev->userrsp = read_pda(oldrsp);
+ write_pda(oldrsp, next->userrsp);
+ write_pda(pcurrent, next_p);
++
+ write_pda(kernelstack,
+ task_stack_page(next_p) + THREAD_SIZE - PDA_STACKOFFSET);
+
@@ -37183,8 +37336,8 @@
+{
+}
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/setup64-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/setup64-xen.c
---- linux-2.6.18/arch/x86_64/kernel/setup64-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/setup64-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/setup64-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/setup64-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/setup64-xen.c 2006-11-19
14:26:34.000000000 +0100
@@ -0,0 +1,361 @@
+/*
@@ -37548,10 +37701,10 @@
+
+ fpu_init();
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/setup-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/setup-xen.c
---- linux-2.6.18/arch/x86_64/kernel/setup-xen.c 1970-01-01
01:00:00.000000000 +0100
-+++ linux-2.6.18-xen/arch/x86_64/kernel/setup-xen.c 2006-11-19
14:26:33.000000000 +0100
-@@ -0,0 +1,1638 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/setup-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/setup-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/setup-xen.c 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/x86_64/kernel/setup-xen.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,1637 @@
+/*
+ * linux/arch/x86-64/kernel/setup.c
+ *
@@ -37620,14 +37773,13 @@
+#include <asm/dmi.h>
+#ifdef CONFIG_XEN
+#include <linux/percpu.h>
++#include <linux/pfn.h>
+#include <xen/interface/physdev.h>
+#include "setup_arch_pre.h"
+#include <asm/hypervisor.h>
+#include <xen/interface/nmi.h>
+#include <xen/features.h>
+#include <xen/xencons.h>
-+#define PFN_UP(x) (((x) + PAGE_SIZE-1) >> PAGE_SHIFT)
-+#define PFN_PHYS(x) ((x) << PAGE_SHIFT)
+#include <asm/mach-xen/setup_arch_post.h>
+#include <xen/interface/memory.h>
+
@@ -39190,8 +39342,8 @@
+}
+device_initcall(add_pcspkr);
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/smp-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/smp-xen.c
---- linux-2.6.18/arch/x86_64/kernel/smp-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/smp-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/smp-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/smp-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/smp-xen.c 2006-11-19
14:26:34.000000000 +0100
@@ -0,0 +1,600 @@
+/*
@@ -39794,8 +39946,8 @@
+ return 0; /* Should not happen */
+#endif
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/traps-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/traps-xen.c
---- linux-2.6.18/arch/x86_64/kernel/traps-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/traps-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/traps-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/traps-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/traps-xen.c 2006-11-19
14:26:34.000000000 +0100
@@ -0,0 +1,1172 @@
+/*
@@ -40970,8 +41122,8 @@
+}
+__setup("call_trace=", call_trace_setup);
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/vmlinux.lds.S
linux-2.6.18-xen/arch/x86_64/kernel/vmlinux.lds.S
---- linux-2.6.18/arch/x86_64/kernel/vmlinux.lds.S 2006-09-20
05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/vmlinux.lds.S
linux-2.6.18-xen/arch/x86_64/kernel/vmlinux.lds.S
+--- linux-2.6.18.3/arch/x86_64/kernel/vmlinux.lds.S 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/x86_64/kernel/vmlinux.lds.S 2006-11-19
14:26:34.000000000 +0100
@@ -13,6 +13,12 @@
OUTPUT_ARCH(i386:x86-64)
@@ -41054,8 +41206,8 @@
+
+ NOTES
}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/vsyscall-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/vsyscall-xen.c
---- linux-2.6.18/arch/x86_64/kernel/vsyscall-xen.c 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/vsyscall-xen.c
linux-2.6.18-xen/arch/x86_64/kernel/vsyscall-xen.c
+--- linux-2.6.18.3/arch/x86_64/kernel/vsyscall-xen.c 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/vsyscall-xen.c 2006-11-19
14:26:34.000000000 +0100
@@ -0,0 +1,239 @@
+/*
@@ -41297,8 +41449,8 @@
+}
+
+__initcall(vsyscall_init);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/kernel/xen_entry.S
linux-2.6.18-xen/arch/x86_64/kernel/xen_entry.S
---- linux-2.6.18/arch/x86_64/kernel/xen_entry.S 1970-01-01
01:00:00.000000000 +0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/kernel/xen_entry.S
linux-2.6.18-xen/arch/x86_64/kernel/xen_entry.S
+--- linux-2.6.18.3/arch/x86_64/kernel/xen_entry.S 1970-01-01
01:00:00.000000000 +0100
+++ linux-2.6.18-xen/arch/x86_64/kernel/xen_entry.S 2006-11-19
14:26:34.000000000 +0100
@@ -0,0 +1,40 @@
+/*
@@ -41341,8 +41493,8 @@
+VGCF_IN_SYSCALL = (1<<8)
+
+
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/Makefile
linux-2.6.18-xen/arch/x86_64/Makefile
---- linux-2.6.18/arch/x86_64/Makefile 2006-09-20 05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/Makefile
linux-2.6.18-xen/arch/x86_64/Makefile
+--- linux-2.6.18.3/arch/x86_64/Makefile 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/x86_64/Makefile 2006-11-19 14:26:33.000000000
+0100
@@ -32,6 +32,10 @@
cflags-$(CONFIG_MPSC) += $(call cc-option,-march=nocona)
@@ -41385,8 +41537,8 @@
archclean:
$(Q)$(MAKE) $(clean)=$(boot)
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/mm/fault-xen.c
linux-2.6.18-xen/arch/x86_64/mm/fault-xen.c
---- linux-2.6.18/arch/x86_64/mm/fault-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/mm/fault-xen.c
linux-2.6.18-xen/arch/x86_64/mm/fault-xen.c
+--- linux-2.6.18.3/arch/x86_64/mm/fault-xen.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/x86_64/mm/fault-xen.c 2006-11-19
14:26:34.000000000 +0100
@@ -0,0 +1,723 @@
+/*
@@ -42112,8 +42264,8 @@
+ return 1;
+}
+__setup("pagefaulttrace", enable_pagefaulttrace);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/mm/init-xen.c
linux-2.6.18-xen/arch/x86_64/mm/init-xen.c
---- linux-2.6.18/arch/x86_64/mm/init-xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/mm/init-xen.c
linux-2.6.18-xen/arch/x86_64/mm/init-xen.c
+--- linux-2.6.18.3/arch/x86_64/mm/init-xen.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/arch/x86_64/mm/init-xen.c 2006-11-19 14:26:34.000000000
+0100
@@ -0,0 +1,1200 @@
+/*
@@ -43316,8 +43468,8 @@
+{
+ return (addr >= VSYSCALL_START) && (addr < VSYSCALL_END);
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/mm/Makefile
linux-2.6.18-xen/arch/x86_64/mm/Makefile
---- linux-2.6.18/arch/x86_64/mm/Makefile 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/mm/Makefile
linux-2.6.18-xen/arch/x86_64/mm/Makefile
+--- linux-2.6.18.3/arch/x86_64/mm/Makefile 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/x86_64/mm/Makefile 2006-11-19 14:26:34.000000000
+0100
@@ -9,3 +9,13 @@
obj-$(CONFIG_ACPI_NUMA) += srat.o
@@ -43333,10 +43485,10 @@
+
+obj-y := $(call cherrypickxen, $(obj-y))
+endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/mm/pageattr-xen.c
linux-2.6.18-xen/arch/x86_64/mm/pageattr-xen.c
---- linux-2.6.18/arch/x86_64/mm/pageattr-xen.c 1970-01-01 01:00:00.000000000
+0100
-+++ linux-2.6.18-xen/arch/x86_64/mm/pageattr-xen.c 2006-11-19
14:26:34.000000000 +0100
-@@ -0,0 +1,396 @@
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/mm/pageattr-xen.c
linux-2.6.18-xen/arch/x86_64/mm/pageattr-xen.c
+--- linux-2.6.18.3/arch/x86_64/mm/pageattr-xen.c 1970-01-01
01:00:00.000000000 +0100
++++ linux-2.6.18-xen/arch/x86_64/mm/pageattr-xen.c 2006-12-05
18:42:36.000000000 +0100
+@@ -0,0 +1,398 @@
+/*
+ * Copyright 2002 Andi Kleen, SuSE Labs.
+ * Thanks to Ben LaHaise for precious feedback.
@@ -43660,11 +43812,13 @@
+ */
+#ifndef CONFIG_XEN
+ BUG_ON(PageReserved(kpte_page));
++#else
++ if(!PageReserved(kpte_page))
+#endif
-+ if (page_private(kpte_page) == 0) {
-+ save_page(kpte_page);
-+ revert_page(address, ref_prot);
-+ }
++ if (page_private(kpte_page) == 0) {
++ save_page(kpte_page);
++ revert_page(address, ref_prot);
++ }
+ return 0;
+}
+
@@ -43733,8 +43887,8 @@
+
+EXPORT_SYMBOL(change_page_attr);
+EXPORT_SYMBOL(global_flush_tlb);
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/oprofile/Makefile
linux-2.6.18-xen/arch/x86_64/oprofile/Makefile
---- linux-2.6.18/arch/x86_64/oprofile/Makefile 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/oprofile/Makefile
linux-2.6.18-xen/arch/x86_64/oprofile/Makefile
+--- linux-2.6.18.3/arch/x86_64/oprofile/Makefile 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/arch/x86_64/oprofile/Makefile 2006-11-19
14:26:34.000000000 +0100
@@ -11,9 +11,12 @@
oprofilefs.o oprofile_stats.o \
@@ -43750,8 +43904,8 @@
-
+endif
oprofile-y = $(DRIVER_OBJS) $(addprefix ../../i386/oprofile/, $(OPROFILE-y))
-diff -urN -x .hg -x .hgtags linux-2.6.18/arch/x86_64/pci/Makefile
linux-2.6.18-xen/arch/x86_64/pci/Makefile
---- linux-2.6.18/arch/x86_64/pci/Makefile 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/arch/x86_64/pci/Makefile
linux-2.6.18-xen/arch/x86_64/pci/Makefile
+--- linux-2.6.18.3/arch/x86_64/pci/Makefile 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/arch/x86_64/pci/Makefile 2006-11-19 14:26:34.000000000
+0100
@@ -15,11 +15,23 @@
@@ -43777,8 +43931,8 @@
+
+obj-y := $(call cherrypickxen, $(obj-y))
+endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/acpi/Kconfig
linux-2.6.18-xen/drivers/acpi/Kconfig
---- linux-2.6.18/drivers/acpi/Kconfig 2006-09-20 05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/acpi/Kconfig
linux-2.6.18-xen/drivers/acpi/Kconfig
+--- linux-2.6.18.3/drivers/acpi/Kconfig 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/drivers/acpi/Kconfig 2006-11-19 14:26:34.000000000
+0100
@@ -45,7 +45,7 @@
@@ -43797,8 +43951,8 @@
default y
help
The Power Management Timer is available on all ACPI-capable,
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/char/hangcheck-timer.c
linux-2.6.18-xen/drivers/char/hangcheck-timer.c
---- linux-2.6.18/drivers/char/hangcheck-timer.c 2006-09-20
05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/char/hangcheck-timer.c
linux-2.6.18-xen/drivers/char/hangcheck-timer.c
+--- linux-2.6.18.3/drivers/char/hangcheck-timer.c 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/drivers/char/hangcheck-timer.c 2006-11-19
14:26:36.000000000 +0100
@@ -117,7 +117,7 @@
__setup("hcheck_dump_tasks", hangcheck_parse_dump_tasks);
@@ -43809,8 +43963,8 @@
# define HAVE_MONOTONIC
# define TIMER_FREQ 1000000000ULL
#elif defined(CONFIG_IA64)
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/char/mem.c
linux-2.6.18-xen/drivers/char/mem.c
---- linux-2.6.18/drivers/char/mem.c 2006-09-20 05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/char/mem.c
linux-2.6.18-xen/drivers/char/mem.c
+--- linux-2.6.18.3/drivers/char/mem.c 2006-09-20 05:42:06.000000000 +0200
+++ linux-2.6.18-xen/drivers/char/mem.c 2006-11-19 14:26:36.000000000
+0100
@@ -101,6 +101,7 @@
}
@@ -43846,8 +44000,8 @@
static const struct file_operations kmem_fops = {
.llseek = memory_lseek,
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/char/tpm/Kconfig
linux-2.6.18-xen/drivers/char/tpm/Kconfig
---- linux-2.6.18/drivers/char/tpm/Kconfig 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/char/tpm/Kconfig
linux-2.6.18-xen/drivers/char/tpm/Kconfig
+--- linux-2.6.18.3/drivers/char/tpm/Kconfig 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/drivers/char/tpm/Kconfig 2006-11-19 14:26:36.000000000
+0100
@@ -31,7 +31,7 @@
@@ -43873,8 +44027,8 @@
+ will be called tpm_xenu.
+endmenu
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/char/tpm/Makefile
linux-2.6.18-xen/drivers/char/tpm/Makefile
---- linux-2.6.18/drivers/char/tpm/Makefile 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/char/tpm/Makefile
linux-2.6.18-xen/drivers/char/tpm/Makefile
+--- linux-2.6.18.3/drivers/char/tpm/Makefile 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/drivers/char/tpm/Makefile 2006-11-19 14:26:36.000000000
+0100
@@ -9,3 +9,5 @@
obj-$(CONFIG_TCG_NSC) += tpm_nsc.o
@@ -43882,8 +44036,8 @@
obj-$(CONFIG_TCG_INFINEON) += tpm_infineon.o
+obj-$(CONFIG_TCG_XEN) += tpm_xenu.o
+tpm_xenu-y = tpm_xen.o tpm_vtpm.o
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/char/tpm/tpm.c
linux-2.6.18-xen/drivers/char/tpm/tpm.c
---- linux-2.6.18/drivers/char/tpm/tpm.c 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/char/tpm/tpm.c
linux-2.6.18-xen/drivers/char/tpm/tpm.c
+--- linux-2.6.18.3/drivers/char/tpm/tpm.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/drivers/char/tpm/tpm.c 2006-11-19 14:26:36.000000000
+0100
@@ -30,7 +30,9 @@
@@ -44005,9 +44159,9 @@
return ret_size;
}
EXPORT_SYMBOL_GPL(tpm_read);
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/char/tpm/tpm.h
linux-2.6.18-xen/drivers/char/tpm/tpm.h
---- linux-2.6.18/drivers/char/tpm/tpm.h 2006-09-20 05:42:06.000000000
+0200
-+++ linux-2.6.18-xen/drivers/char/tpm/tpm.h 2006-11-19 14:26:36.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/char/tpm/tpm.h
linux-2.6.18-xen/drivers/char/tpm/tpm.h
+--- linux-2.6.18.3/drivers/char/tpm/tpm.h 2006-09-20 05:42:06.000000000
+0200
++++ linux-2.6.18-xen/drivers/char/tpm/tpm.h 2006-12-05 18:42:36.000000000
+0100
@@ -61,6 +61,7 @@
const u8 req_complete_mask;
const u8 req_complete_val;
@@ -44030,14 +44184,14 @@
+static inline u32 get_chip_buffersize(struct tpm_chip *chip)
+{
-+ return chip->vendor->buffersize;
++ return chip->vendor.buffersize;
+}
+
extern void tpm_get_timeouts(struct tpm_chip *);
extern void tpm_gen_interrupt(struct tpm_chip *);
extern void tpm_continue_selftest(struct tpm_chip *);
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/char/tpm/tpm_vtpm.c
linux-2.6.18-xen/drivers/char/tpm/tpm_vtpm.c
---- linux-2.6.18/drivers/char/tpm/tpm_vtpm.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/char/tpm/tpm_vtpm.c
linux-2.6.18-xen/drivers/char/tpm/tpm_vtpm.c
+--- linux-2.6.18.3/drivers/char/tpm/tpm_vtpm.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/drivers/char/tpm/tpm_vtpm.c 2006-11-19
14:26:36.000000000 +0100
@@ -0,0 +1,547 @@
+/*
@@ -44587,8 +44741,8 @@
+ tpm_remove_hardware(dev);
+ kfree(vtpms);
+}
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/char/tpm/tpm_vtpm.h
linux-2.6.18-xen/drivers/char/tpm/tpm_vtpm.h
---- linux-2.6.18/drivers/char/tpm/tpm_vtpm.h 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/char/tpm/tpm_vtpm.h
linux-2.6.18-xen/drivers/char/tpm/tpm_vtpm.h
+--- linux-2.6.18.3/drivers/char/tpm/tpm_vtpm.h 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/drivers/char/tpm/tpm_vtpm.h 2006-11-19
14:26:36.000000000 +0100
@@ -0,0 +1,68 @@
+#ifndef TPM_VTPM_H
@@ -44659,8 +44813,8 @@
+}
+
+#endif
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/char/tpm/tpm_xen.c
linux-2.6.18-xen/drivers/char/tpm/tpm_xen.c
---- linux-2.6.18/drivers/char/tpm/tpm_xen.c 1970-01-01 01:00:00.000000000
+0100
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/char/tpm/tpm_xen.c
linux-2.6.18-xen/drivers/char/tpm/tpm_xen.c
+--- linux-2.6.18.3/drivers/char/tpm/tpm_xen.c 1970-01-01 01:00:00.000000000
+0100
+++ linux-2.6.18-xen/drivers/char/tpm/tpm_xen.c 2006-11-19
14:26:36.000000000 +0100
@@ -0,0 +1,756 @@
+/*
@@ -45419,8 +45573,8 @@
+module_init(tpmif_init);
+
+MODULE_LICENSE("Dual BSD/GPL");
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/char/tty_io.c
linux-2.6.18-xen/drivers/char/tty_io.c
---- linux-2.6.18/drivers/char/tty_io.c 2006-09-20 05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/char/tty_io.c
linux-2.6.18-xen/drivers/char/tty_io.c
+--- linux-2.6.18.3/drivers/char/tty_io.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/drivers/char/tty_io.c 2006-11-19 14:26:36.000000000
+0100
@@ -130,6 +130,8 @@
vt.c for deeply disgusting hack reasons */
@@ -45457,8 +45611,8 @@
#endif
return 0;
}
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/firmware/Kconfig
linux-2.6.18-xen/drivers/firmware/Kconfig
---- linux-2.6.18/drivers/firmware/Kconfig 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/firmware/Kconfig
linux-2.6.18-xen/drivers/firmware/Kconfig
+--- linux-2.6.18.3/drivers/firmware/Kconfig 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/drivers/firmware/Kconfig 2006-11-19 14:26:37.000000000
+0100
@@ -7,7 +7,7 @@
@@ -45469,8 +45623,8 @@
help
Say Y or M here if you want to enable BIOS Enhanced Disk Drive
Services real mode BIOS calls to determine which disk
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/ide/ide-lib.c
linux-2.6.18-xen/drivers/ide/ide-lib.c
---- linux-2.6.18/drivers/ide/ide-lib.c 2006-09-20 05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/ide/ide-lib.c
linux-2.6.18-xen/drivers/ide/ide-lib.c
+--- linux-2.6.18.3/drivers/ide/ide-lib.c 2006-09-20 05:42:06.000000000
+0200
+++ linux-2.6.18-xen/drivers/ide/ide-lib.c 2006-11-19 14:26:39.000000000
+0100
@@ -408,10 +408,10 @@
{
@@ -45487,8 +45641,8 @@
addr = HWIF(drive)->pci_dev->dma_mask;
}
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/Makefile
linux-2.6.18-xen/drivers/Makefile
---- linux-2.6.18/drivers/Makefile 2006-09-20 05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/Makefile
linux-2.6.18-xen/drivers/Makefile
+--- linux-2.6.18.3/drivers/Makefile 2006-09-20 05:42:06.000000000 +0200
+++ linux-2.6.18-xen/drivers/Makefile 2006-11-19 14:26:34.000000000 +0100
@@ -31,6 +31,7 @@
obj-$(CONFIG_NUBUS) += nubus/
@@ -45498,8 +45652,8 @@
obj-$(CONFIG_IDE) += ide/
obj-$(CONFIG_FC4) += fc4/
obj-$(CONFIG_SCSI) += scsi/
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/oprofile/buffer_sync.c
linux-2.6.18-xen/drivers/oprofile/buffer_sync.c
---- linux-2.6.18/drivers/oprofile/buffer_sync.c 2006-09-20
05:42:06.000000000 +0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/oprofile/buffer_sync.c
linux-2.6.18-xen/drivers/oprofile/buffer_sync.c
+--- linux-2.6.18.3/drivers/oprofile/buffer_sync.c 2006-09-20
05:42:06.000000000 +0200
+++ linux-2.6.18-xen/drivers/oprofile/buffer_sync.c 2006-11-19
14:26:47.000000000 +0100
@@ -6,6 +6,10 @@
*
@@ -45621,8 +45775,8 @@
}
}
}
-diff -urN -x .hg -x .hgtags linux-2.6.18/drivers/oprofile/cpu_buffer.c
linux-2.6.18-xen/drivers/oprofile/cpu_buffer.c
---- linux-2.6.18/drivers/oprofile/cpu_buffer.c 2006-09-20 05:42:06.000000000
+0200
+diff -urN -x .hg -x .hgtags linux-2.6.18.3/drivers/oprofile/cpu_buffer.c
linux-2.6.18-xen/drivers/oprofil